I'm a solopreneur doing AWS cost optimization tools and services, much like a Pieter Levels in the niche of Corey Quinn.
For many years I've been building self-hosted serverless headless AWS cost optimization tools:
- AutoSpotting.io - for adopting Spot instances in ASGs without configuration changes, no vendor lock-in, and with automated diversification and failover to on-demand - started as OSS alternative to the Spot.io Elastic Group product, still available as OSS at https://github.com/LeanerCloud/AutoSpotting.
(I'm currently working on a few more, for example a NAT Gateway alternative and a tool to automate Savings plans purchases.)
Over the last year I started to offer cost optimization as a service, mainly in order to get more ideas for such tools.
Over multiple customer engagements I built almost a dozen CLI tools that can be used to optimize many of the AWS services at my customers. Using these tools I was able to deliver some 70% cost optimizations in average at my services customers over the supported resources, and sometimes as high as 60% of their entire AWS bill.
I also did a few DevOps engagements, out of which I developed a bunch of Terraform building blocks that can be used to create ECS Fargate or Lambda microservices with persistence on RDS Aurora Serverless v2, with automated CI/CD and other goodies included out of the box.
My main FinOps CLI tool named Optimizer was evolved out of EBS Optimizer over multiple customer engagements, and now does automated conversion to GP3 for EC2 and RDS storage volumes, as well as rightsizing and conversion to Graviton for RDS, ElastiCache and OpenSearch, among other things.
I recently started to offer Optimizer under the ONCE Source-Available license used by 37signals for Campfire, and I will gradually release all my CLI FinOps tools and Terraform building blocks under a large bundle of tools and building blocks.
(The Terraform building blocks scheduled to be released in a couple of days)
If you're looking to optimize cloud costs and/or build serverless microservices on AWS, you may want to check this out.
Those code bases look pretty stale.
Some don't have tests.
How on earth does one reconcile state between their IaC tool of choice once you've run these tools that have moved the world under IaC feet?
This is besides the point, the AutoSpotting and EBS Optimizer tools are not even in the scope of this release, I just mentioned them for a bit of extra context about myself and what I've been building previously.
Feel free to criticize them, but that code saved thousands of customers over $100M over the years in aggregate, and was launching at some point a non-negligible percentage of the total AWS Spot capacity.
Regarding the OSS repos, I said they're also still available as open source, but evolved a lot since in the commercial version as stated in the readme of AutoSpotting.
For EBS Optimizer, the OSS code base evolved into the Optimizer tool released under the ONCE model as part of this bundle and it's been all but rewritten.
Regarding the lack of tests, the code base has seen many changes since, and critical areas have unit tests now.
When it comes to IaC drift, in case of AutoSpotting and EBS Optimizer the ASGs and volumes are expected to be tagged as per the expected tags, and you can do that through IaC to avoid drift.
The instances launched by the ASG can be replaced by AutoSpotting without creating any IaC drift, because the infrastructure code does not have any reference to the instances.
The same is true for EBS Optimizer, it is expected to run against EBS volumes created when launching instances. The IaC will not show drift because it's not keeping track of the underlying EBS volumes, only launching the instances.
But the Optimizer tool part of this ONCE release will indeed cause drift because it's changing the instance type of RDS databases and Elasticache clusters, which is captured in the IaC code. The drift will need to be resolved after the fact, which is what I do as part of my service work when using this tool for my customers.
These tools saved me a lot of time when saving my customers money, and the TF building blocks are just examples of a few patterns that I used for delivering infra for my customers and I've been thinking it may save some people time from building the same from scratch.
If you're not interested in these, fair enough, some people already bought these.
For many years I've been building self-hosted serverless headless AWS cost optimization tools:
- AutoSpotting.io - for adopting Spot instances in ASGs without configuration changes, no vendor lock-in, and with automated diversification and failover to on-demand - started as OSS alternative to the Spot.io Elastic Group product, still available as OSS at https://github.com/LeanerCloud/AutoSpotting.
- EBS Optimizer for GP3 converting EBS volumes to GP3, also available as OSS at https://github.com/LeanerCloud/EBS-Optimizer.
(I'm currently working on a few more, for example a NAT Gateway alternative and a tool to automate Savings plans purchases.)
Over the last year I started to offer cost optimization as a service, mainly in order to get more ideas for such tools.
Over multiple customer engagements I built almost a dozen CLI tools that can be used to optimize many of the AWS services at my customers. Using these tools I was able to deliver some 70% cost optimizations in average at my services customers over the supported resources, and sometimes as high as 60% of their entire AWS bill.
I also did a few DevOps engagements, out of which I developed a bunch of Terraform building blocks that can be used to create ECS Fargate or Lambda microservices with persistence on RDS Aurora Serverless v2, with automated CI/CD and other goodies included out of the box.
My main FinOps CLI tool named Optimizer was evolved out of EBS Optimizer over multiple customer engagements, and now does automated conversion to GP3 for EC2 and RDS storage volumes, as well as rightsizing and conversion to Graviton for RDS, ElastiCache and OpenSearch, among other things.
I recently started to offer Optimizer under the ONCE Source-Available license used by 37signals for Campfire, and I will gradually release all my CLI FinOps tools and Terraform building blocks under a large bundle of tools and building blocks.
(The Terraform building blocks scheduled to be released in a couple of days)
If you're looking to optimize cloud costs and/or build serverless microservices on AWS, you may want to check this out.