Skip to content

Should we exit the cloud?

Published:

This article is originally from my LinkedIn post

We are entering a new era where some teams are moving out of the cloud.

🤔 Should we follow them?

Before we conclude and switch to on-prem, one last time let’s retrospect why we chose cloud in the first place, understand how can we bring down cloud costs further and revaluate whether the switch is worth for all teams.

☁️ Why we chose cloud?

💸 How to optimize operational expenditure?

  1. Reserved instances and spot instances for compute services.

    • RI should be preferred in Production; at least for the capacity that caters usual load.
    • For non-prod environments a mix of RI and spot instances or on-demand instances with scheduled uptimes would be ideal.
    • Note: When opting spot instances, remember to set a price threshold.
  2. Compute architecture and platform: amd64 - Intel/AMD or arm64

    • Intel is costlier than AMD but has a higher base clock speed and so it’s more suitable for single threaded performance especially for Prod. workloads.[1]
    • Yet, AMD can beat Intel in multi-threaded performance when we opt 8 or more vCores depending upon the generation of the underlying platform say AMD Milan.[2]
    • arm64 is much cheaper than AMD.
  3. Containerize and shift to Kubernetes

    • Helps in right-sizing compute resources and ensures less wastage.
    • Saves individual OS disk cost when pooled together as pods instead of running each application in a dedicated VM.
    • Saves internal load-balancer and inter-zone bandwidth costs when aiming for high-availability by leveraging K8s service’s in-built load-balancing features.
    • When using managed K8s by default most CSPs offer CIS compliant OS images out of the box.
  4. Object storage

    • Save disk cost by moving unused data to object storage post compression.
    • Revisit lifecycle policies and configure appropriate policies based on access frequency, archival and expiration requirements.
  5. Golden OS images

    • Create your own OS images based on community distros like AlmaLinux or Ubuntu and harden them to be compliant for CIS, GDPR, HIPAA, etc. as per your needs.
  6. Tag, resize and purge unused resources

    • Tagging will help us in a long way to understand the purpose, criticality and environment of a resource. So, enforce tagging as a policy and practice too.
    • Based on these tags, we can easily narrow down the resources we aim to resize or prune based on their usage.

✨ Conclusion

As suggested by Forrest Brazeal, cloud is still the go-to choice for many startups not only because they are paying a premium for managed services to abstract the need of a DevOps team but also to focus more towards their product development.[3]

References:

  1. https://thenewstack.io/cpu-benchmarks-for-cloud-providers-intel-vs-amd-vs-amazons-arm-based-graviton2/
  2. https://www.cockroachlabs.com/guides/thank-you/?pdf=/pdf/2022-cloud-report.pdf
  3. https://newsletter.goodtechthings.com/p/wait-is-cloud-bad

Next Post
Welcome everyone!