Hey there, fellow tech enthusiasts!
I previously posted an article outlining whether migrating from cloud back to
on-prem was worth the cost. My main opinion is that the decision to undo
migration work should be measured carefully and evaluate if cloud is the
problem, or if an inefficient lift and shift is the problem. In this
article, I share a couple of relatively “simple” ideas on how migrations
to cloud can help an organization save cost and realize better
efficiencies in their workloads.
The cloud has transformed the way we do business, but with great power
comes great responsibility. With so many resources available at our
fingertips, it’s pretty easy to get carried away and overspend. That’s
why I want to share with you a couple of ways to manage your cloud
costs — by using scaling groups and spot instances for virtual
machines and Kubernetes nodes.
Scaling groups allow organizations to automate the process of scaling
their instances based on workload demands. This ensures that resources
are only used when needed, reducing cloud costs. Spot instances, on the
other hand, allow organizations to take advantage of the unused capacity
in the cloud provider’s infrastructure and save money.
Now, let’s get technical for a moment. Workloads using these instance
types must be tolerant, i.e., stateless. This means that the workloads
can be interrupted or terminated without causing any data loss or
service disruption. However, certain workloads, such as ingress
controllers, are not ideal for using spot instances or scaling groups,
as they require persistent resources.
Let me share an example to help illustrate how scaling groups and spot
instances can help organizations save money and increase efficiency.
Suppose you have an app running on Nginx in an oversized VMWare on-prem
environment. The app only receives peak traffic during certain times of
the day, which means that it is underutilized for the rest of the time.
By migrating the app to a Kubernetes deployment on a cloud provider, you
can take advantage of spot instances or scaling groups to scale up or
down based on workload demands.
By using scaling groups and spot instances, you can reduce the cost of
running the app by up to 80% compared to the on-prem environment.
Additionally, by leveraging the scalability and flexibility of
Kubernetes, you can improve the app’s performance and availability. In
contrast, if you move the app in a 1–1 configuration from on-prem to
cloud, I can just about guarantee it will cost more to operate.
In conclusion, I encourage you to explore the benefits of scaling groups
and spot instances for your virtual machines and Kubernetes nodes. By
implementing these efficient scaling and instance management practices,
you can save money while ensuring that your workloads are scalable,
efficient, and highly available. Remember, the cloud is a powerful tool,
but with great power comes great responsibility — so let’s use it