Hey everyone, I always bring you content here, and today I want to briefly talk about FinOps on AWS and how we optimize costs for our clients here at CloudScript.

What is FinOps?

FinOps, or Financial Operations, is the practice of managing financial operations in cloud environments, ensuring a balance between speed, cost, and quality. In the context of AWS (Amazon Web Services), this involves using practices and tools to optimize resource allocation, reduce unnecessary expenses, and improve spending predictability. And, of course, cut some costs whenever possible. Lol

Ilustrative balance and distribute traffic on aws instaces auto-scaling

Kubernetes and Savings on AWS

Kubernetes is an open-source platform for automating deployment, scaling, and operations of applications in containers. When well-managed, Kubernetes can be a powerful ally in cost optimization on AWS. It allows efficient resource management, scaling according to demand, and ensuring there is no waste.

But why does Kubernetes have an undeniable advantage when it comes to container orchestration in cloud environments, especially due to its ability to automate the distribution and scalability of applications? Well, the question answers itself, but let’s go a bit further.

The platform ensures that resources are optimized, reducing operational costs while maintaining service availability and efficiency. And this is a proven fact since major successful players like Netflix, among others, use a Kubernetes approach to run and scale their services.

With Kubernetes, you can implement a highly resilient and self-sufficient microservices architecture that benefits from continuous deployment and simplified management, even in complex production environments.

AWS’s Elastic Kubernetes Service (EKS) is a clear example of how Kubernetes’s portability and flexibility can be maintained even in a managed service. EKS abstracts many of the complicated processes of configuring and maintaining Kubernetes, without sacrificing the essence of what makes Kubernetes such a powerful solution for container orchestration. With EKS, you can still enjoy all the benefits of Kubernetes, such as automatic scaling, configuration management, and self-healing, while also benefiting from deep integration with the AWS ecosystem and enterprise-level security that it offers. Official EKS link: https://aws.amazon.com/eks/

So, using EKS doesn’t mean losing portability? The answer is yes, you don’t lose anything, but on the contrary, you can easily integrate your EKS clusters with on-premises services and infrastructure or with other cloud providers, ensuring that your architecture is resistant to lock-in and adaptable to changing business needs. In addition, AWS provides native integration with its monitoring, security, and compliance services, further simplifying the operation of large-scale workloads.

Let’s understand this more deeply. Essentially, EKS is built on top of open-source Kubernetes, which means that the practices, tools, and skills your team develops are transferable and applicable regardless of where you run your Kubernetes. AWS’s promise with EKS is to deliver a managed service that remains true to the fundamental principles of Kubernetes, while adding the value of ease of use, security, and integration with the broad range of AWS cloud services, supporting an IT strategy that is both agile and robust, ready to respond to market dynamics and technological innovation.

Saving Money with Spot Instances Strategies

Illustrative aws spot and eks architecture

Spot Instances are a purchasing option that allows AWS users to take advantage of unused data center capacity at a price lower than On-Demand Instances. Kubernetes has mechanisms, such as the Kube Autoscaler, that can automatically adjust the number of Spot Instances based on demand and availability, which can significantly reduce costs. You can learn more about AWS’s Spot Instance model and how to use it here: https://ec2spotworkshops.com/

For those who want more predictability or have an essential fixed workload, we can use the strategy of Reserved Instances and Savings Plans. With Reserved Instances, you commit to a specific instance type and contract term (usually one or three years), resulting in considerable savings compared to On-Demand prices. Here the maxim “Time is money” is true.

My advice is not to use just one of the practices, but to combine as many as possible and achieve the maximum savings.

But how do I do this in practice?

Ok, unlike those superficial articles, I’ll give you a step-by-step to apply these saving strategies:

  1. Assessment of Current Use: First of all, it’s crucial to understand your usage pattern. Tools like AWS Cost Explorer can help.
  2. Implementation of Kubernetes: If you’re not using it yet, implement Kubernetes to manage your containers. Use Amazon EKS (Elastic Kubernetes Service) to simplify this step. There’s an AWS project that simplifies deployment for you, called EKSCTL here’s the link: https://eksctl.io/
  3. Autoscaling with Spot Instances: Set up Kubernetes Autoscaling to include Spot Instances. Use policies that define the maximum use of Spot Instances to avoid disruptions. Here I can suggest the AWS Karpenter project for this task: https://karpenter.sh/
  4. Reserved Instances and Savings Plans: Determine if there are consistent workloads that can benefit from Reserved Instances or Savings Plans. Apply for these where it makes sense.
  5. Continuous Monitoring: Use AWS’s native tools or third-party solutions to continuously monitor and adjust your strategies as needed.
  6. Stay Informed: Keep up with AWS updates and new features that may offer additional cost-saving opportunities.

I hope this has been helpful for you to get a better grasp on how to use FinOps strategies, especially on AWS, to maximize your savings.

Remember that every application and environment is unique, so while these strategies are generally applicable, they should be tailored to your specific needs and circumstances.

And finally, if you need a hand with that, CloudScript is here to help. Feel free to reach out to us for a more in-depth conversation about your infrastructure and how we can make it cost-effective.

That’s it for today, I’ll be back with more tips soon. Cheers!

#k8s #kubernetes #cloud #aws #cloudscript #eks #finops

Share this post