News for hackers. Stuff that matters.

alien_

This is the tool I use to generate and prepare for sending the PDF invoices for my freelance work.

It takes a bunch of JSON files that define info about my clients, as well as my own business details.

It then uses some of those JSON files to generates a PDF for the invoice, which it attaches to an email pre-populated with all the details, including the client’s finance email address, etc., which I just need to double check and send.

Might be useful for freelancers having multiple clients billed using various billing methods (hourly, results based, etc.)

Re: on Thursday May 08, 2025 @12:41AM (#43923111)
Sorry about this, I hadn't noticed.

Unfortunately Beehiv added their tracking query strings which will break the site because of the way we host it from a static content bucket.

It's enough if you just delete the beehiiv query string.

I'll try to extend the CloudFlare worker we use for the redirect of / to index.html to also handle this.

Re: on Thursday May 08, 2025 @12:37AM (#43923089)
Thank you for reporting this, I'll have a look ASAP.

Show HN: Resolve AWS SecretManager secrets as env vars

https://github.com/cristim/resolve-aws-secrets

Frustrated by the official way to resolve secretmanager secrets in Lambda functions using the official Lambda extension (https://docs.aws.amazon.com/systems-manager/latest/userguide...), I built a more user-friendly way, which requires no code changes to the Lambda function code.

( Read More... | no comments | 2 points | on HN )
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.

This is the list of changes only available in the commercial version of AutoSpotting: https://github.com/LeanerCloud/AutoSpotting/discussions/489

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.

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.

- 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.

Re:Current OpenTofu contributors vs. pledged FTEs on Friday May 03, 2024 @05:32PM (#40252621)
After the recent layoffs at Google that impacted open source maintainers of some prominent projects, I was curious to see what's the state of other projects where the community had to step up involvement after the initial project ceased their Open Source contributions.

I saw a few people made similar comparisons for other forked projects in the past, and as an infra guy myself, I immediately thought about OpenTofu, now that we're more than half a year after the fork from Terraform, they recently had a massive release, and also had some interesting shenanigans with Hashicorp's lawyers accusing them of stealing their precious IP.

Sharing my rollercoarter ride of monetizing a formerly quite popular AWS cost optimization OSS project I started 8 years ago and venting about my latest MRR drop.

Ask me anything!

Re:Show HN: OSS tool for estimating future AWS IPv4 costs on Monday October 02, 2023 @04:19AM (#37735307)
For sure, I use the AWS APIs to gather the data but there's no single API for all this, I aggregate it from different services and across regions.

AWS also has some dashboard in the AWS console similar to this but it doesn't have cost information for the resources, it's not easy to track the resources that generate the costs, and you can't extract the data out of it for further automated processing.

They also have visibility for this in the Cost Intelligence dashboards, but you need those deployed in the account.

This tool runs from your local machine and you can point it to different accounts with just using a different AWS CLI profile, and you don't need to deploy anything in the target account.

I show it all on a single view across services(looks and feels much like a spreadsheet), each resource with its price tag next to it and also showing some metrics, like load balancer traffic numbers that should inform consolidation decisions.

Data export functionality is not there yet but we may add it soon if there's demand for it or someone contributes it.

Show HN: OSS tool for estimating future AWS IPv4 costs

https://github.com/LeanerCloud/aws-ipv4-cost-viewer

Just released a new Open Source tool for estimating the future IPv4 costs that AWS will introduce from February.It's a CLI application that shows you the projected costs for each resource, as well as metrics for some resources (so far we only have network traffic for load balancers) that should help taking optimization actions.This project was built using ChatGPT GPT4, with very few manual...

( Read More... | 2 comments | 2 points | on HN )
And also why we had to deploy NAT Gateways in our public subnets.

Show HN: ChatGPT plugin for AWS – WIP/broken but looking for contributors

https://github.com/LeanerCloud/ChatGPT-cloud-plugin

I started writing a plugin for ChatGPT that would allow us to query and alter AWS resources (other cloud providers could be done similarly but probably would bloat it too much).It's probably always going to be self-hosted because it requires sensitive credentials, currently sourced from your profiles defined in .aws/config.It doesn't work yet but I'm looking for contributors, so if you have...

( Read More... | 1 comment | on HN )
Re:Why Kubernetes wasn't a good fit for us on Friday June 16, 2023 @09:19AM (#36356104)
Thanks for the comment!

You're right, it's amazing at that, I've had a similar experience.

At small scale you can also do much of that pretty well also with ECS, we use GitHub Actions for driving our deployments using Terraform.

The OP here, thanks for the comment!

It was definitely not about being contrarian but about offering first and foremost a more cost effective but still relatively simple, scalable and robust alternative to their current setup.

They have a single small team of less than a dozen people, all working on a single application, with a single frontend component.

Imagine instead this team managing a K8s setup with DNS, ALB and SSL controllers that each set up a single resource. I personally find that overkill.

The OP here.

What you say may make sense for a large corporation with hundreds of developers from many teams, all sharing a single cluster, but remember this is a pre-revenue startup with a single dev team of less than a dozen people.

But then with a large cluster you will struggle with splitting the costs. In such scenarios I'd rather give each team its own AWS account and have some devops people set up everything from the landing zone.

In this particular case, every service is set up from less than 100 lines of Terraform, which includes Docker image build and push, as well as the task and service definition that deploys that docker image.

yes, they need to handle Terraform, but it's really not so different from the previous Docker-compose YAML file, not to mention the way it would look if converted to K8s YAML.

The OP here, thanks for the comment!

Why does the developer need to care about the certs and ALBs? The devops engineer you need to set up all those controllers could as well deploy those resources from Terraform.

As I showed in the diagrams from the article this application has a single ALB and a single cert per environment and the internal services only talk to each other through the rabbit MQ queue.

DNS, ALB and TLS certs could be easily handled from just a few lines of Terraform, and nobody needs to touch it ever again.

With EKS you would need multiple controllers and multiple annotations controlling them, and then each controller will end up setting up a single resource per environment.

The controllers make sense if you have a ton of distinct applications sharing the same clusters, but this is not the case here, and would be overkill.

The OP here, thanks for your comment.

To be honest I wasn't hired to challenge their entire setup, only to make it more cost effective.

So I chose the most straightforward way I could think of that would allow us to come up with a cost effective setup that will be scalable, fault tolerant and simple to maintain later on.

It all probably started with such a single instance running Docker compose, but then over time it evolved into this setup.

The ideal setup I mentioned would have been also cost effective, scalable and resilient.

This is related to a recent conversation and article on the same topic, also giving a few solutions.
Re:Farewell to the Era of Cheap EC2 Spot Instances on Tuesday May 09, 2023 @10:10AM (#35874570)
Another alternative is to also diversify over multiple On-Demand instances, just like for Spot.

Older »