It's a product we've wanted for a long time
For years we've grappled with the complexity and cost of cloud infrastructure deployment. At previous jobs, we found ourselves regularly bogged down by indecision and bad decisions. Having worked at DigitalOcean, an AI cloud, and a blockchain mirror node service to name a few, we've used everything from bare metal and Kubernetes to platforms including Heroku and Vercel. We've personally felt the good and bad of those tools: the excitement of watching a new service hum along without issue as the traffic grows and the despair of waking up at 3am to a ring tone.
Balancing the need to have ownership over infrastructure with the desire for solid developer experience, we envisioned a product that offered the convenience of a Platform-as-a-Service (PaaS) that allowed us to deploy directly to our own AWS accounts. More importantly, we wanted to do something that we hadn't seen in other platform for AWS products - autoscale architecture.
At each stage of growth in a product, there are cloud architectures best suited for a service in both complexity and price. It's challenging to be the one who notices when this change is occurring, conceive solutions, and handle migrations. Depending on the size and culture company, it can be a stressful and lonely experience. More often than not, for us, it was just that.
FlexStack is in touch with a reality of the universe: everything changes. Nothing is permanent. Codebases grow and shrink (mostly grow 😉). We are striving to build a product that not only appreciates this fact, but actively does something about it. You may grow at a pace that is hard for your small team to keep up with. We want to be there if it happens. We know full well that your new CTO could dislike our platform and ask you to leave us - and that's ok! We want to help you manage that very human, cultural reality, too.
AWS is fantastic if you know what you're doing
AWS offers unparalleled flexibility and power. With great power comes great responsibility. That's not just a SpiderMan quote. Maintaining cloud infrastructure over the lifecycle of a product is extremely challenging. The more users you have, the more you have at stake - legally, financially.
From the moment you provision your VPC, you've made decisions that may as well be permanent. You can't change a VPC's CIDR block once it's provisioned and your subnets are immutable. Knowing how to make these critical early decisions requires great expertise. It's an area where the FlexStack team excels.
And of course, the VPC configuration is just the beginning. Each step requires more decisions, more intricate, esoteric knowledge. More cost implications. We are here to set you up for long-term success and help your team move faster, scale better.
AWS pricing is complicated and all pricing is fluid
Creating systems that functionally scale is a challenge in itself, but it's only one piece of the picture. Cost scaling is another beast, entirely. The cheapest solution today may not be the cheapest tomorrow. AWS adding a charge for public IP addresses is only the latest in a long line of pricing changes to the platform. But we shouldn't think AWS is evil for making these changes. Some are, in fact, pragmatic even if they are annoying - and many changes are actually good for the consumer! Spot pricing, reserve pricing, VPC PrivateLink transfer reductions are all welcome changes.
With FlexStack, we know we are doing our jobs if you feel like you don't have to keep up with every price change that occurs.
Provisioning infrastructure is not challenging. Architecting for agility is.
Anyone with a mouse can provision a VPS or ECS cluster. The challenge for teams is not provisioning their initial infrastructure. Terraform, CDK, and ClickOps all work great for the first steps of a product journey. The real challenge lies in the longterm maintenance and evolution of systems and the revolving door of engineers entering and leaving the team. There's a great John Carmack quote that hits the nail on the head:
Something that many people don't really appreciate until they've been at it for a long time is that: it's not the writing of the programming initially, it's the whole lifespan of the program and that's when it's not necessarily how fast you wrote it or how fast it operates - it's how fast can it bend and adapt as situations change.
It's also how well it hands off between a continuous revolving door of programmers taking over maintenance and how you get people up-to-speed in different areas.
When FlexStack has a permanent office, that quote will be painted on the walls. It is the force that drives us.
Free infrastructure is a lie.
There's an old saying: "if you're not paying for the product, you are the product". Companies subsidize their free tier with their paid tier to encourage growth. Then, when they have enough backlinks, social media followers, and venture capital they rug pull their free users. When this happens to you, it sucks. And it will always happen. Economically speaking, it has to. And migrating projects between cloud services is a pain no matter how much you care about a particular project.
- Cloudflare took down our website after trying to force us to pay $120k within 24h
- In 2011, Google App Engine introduced a new pricing model that increased prices ~10x
- Vercel introduces price changes that affect a large number of users with 3 months notice
Here's a secret though: it's not all that common for companies to migrate between AWS and Azure. The hyperscalers are all reasonably similar. They're an attractive place to call home for that reason (and many others).
It's the right time.
The cloud landscape is evolving rapidly, and companies require agile, cost-effective solutions to stay competitive. With the increasing demand for scalable and maintainable cloud infrastructure, the time is right for a product like FlexStack. It empowers teams to harness the full potential of AWS at a lower cost, without the complexity.
FlexStack is not just another tool; it's the solution we've longed for and now made available for everyone who wants to optimize their cloud architecture effectively.