DEV Community

Tony Metzidis
Tony Metzidis

Posted on • Originally published at tonym.us on

Fighting GCP & Firebase Cloud Client CLI and SDK Bloat

Client CLIs & SDKs for GCP, Firebase and other clouds are terribly bloated. GCP includes a python distro, firebase includes node+npm. This goes unnoticed on overpowered devboxes, but impacts your cloud bill with storage, vcpu, wall-time and transfer fees. If you are trying to downsize your VMs, you will find that the client SDK/ CLI pre-requisites will often hang your machine terminal by exausting vcpu and iops budgets. Cloud container services are often storage-limited to ram-disks--so CLI installs consume what little you have.

To combat the bloat, I've started a few projects to offer lightweight solutions

  • gcloud-lite -- a stripped distro of gcloud cli that is 90% smaller
  • gcloud-go -- a 90% smaller and faster go binary for deploying to firebase and gcloud

Benchmarks

For example, e2-medium VMs using gcloud-lite are 86% faster to install the cli. This means your work can start nearly 90s faster than using the default CLI. You can downsize to x-small VMs which can save up to 75%

Image Install Time Improvement
google-cloud-cli 1m29s -
gcloud-lite 12.6s 86%

For firebase deployments, the image is 92% smaller, and startup is faster, meaning you can downsize VMs and container jobs will execute > 50% faster

docker image size savings
firebase-tools 245mb n/a
gcloud-go 19mb 92%

Reduced Storage

How You Can Help

Please start testing the projects, and file a feature request. Patches are welcome , and please share how the lightweight CLI tools are helping your project

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay