Skip to content

Diddy Devops (WIP)

Cloud Services (Infrastructure-as-a-services) allow for some truly amazing things. Software defined infrastructure that is infinitely configurable. Arrangements that are both scalable and resilient. Systems that are sophisticated and secure.

They also, usually come with a generous free tier to get you ~hooked~ started.

What they do not come with is an excess of free time. The time and effort needed to build the systems that suit your situation. The time needed to fully understand the tools you have at your disposal. Building this sorts of infrastructure is complex and time consuming.

Despite the free tiers you will often soon find that is you are not careful you can easily rack up some pretty unexpectedly hefty bills.

For a small project, or perhaps even an early stage start up that is just trying to prove it's idea has an audience that is time that might be better spent elsewhere. On delivering features.

This is the realm of the Platform and a Server (PaaS) providers. Companies like Heroku and more recently Vercel and Netlify.

Despite it age (14 years!), Heroku absolutely nailed the core tenants of DevOps before the term even existed.

They provided most of the features people want in a cloud hosted application out the box wrapped in an easy to consume interface. Allowing the application developers to be self-service. To gain access to all these fancy scaling and reliability features. All without needing to fully understand how it was all done. Whilst still providing all the hooks and details needed to diagnose issues should they arise.

They also actively encourage web application architecture that are more conducive to scaling and reliability. 12 factor web apps is a term you may have heard of. That was the folks at Heroku.

Despite all the wonderful things I have said about Heroku, and those I could add. It isn't alway a good fit. Even for smaller scale applications that perhaps do not justify the expertise and cost of a full IaaS setup.

One clear example is that Heroku is based in the US, and so is all their hosting. Some application have strict data sovereignty rules. Data must reside and remain within a given geographic region. Examples include medical information, those that fall under PCI, but also extend to areas which you might not think of. Museums for example often have data sovereignty clauses on the digital copies of assets they control.

Heroku does have an Enterprise offering that can host your applications in a geographical region of your choice. But good luck finding pricing for it without needing to talk to a sale rep. If I need to talk to a sales rep I'm fairly sure it is out of the price range for our small project or early stage start up!

Vercel is better in this space - they have regions that rather unsurprisingly map to AWS regions. It is however, a more niche offering, and doesn't support the same range of workloads.

That does bring me to another drawback of PaaS offerings. They do allow you to scale your application to meet greater demand, but the pricing of scaling can begin to add up pretty quickly...

Heroku's standard offering sit at $25 a month for a 512MB Dyno. A Dyno being the name that Heroku gives to their container technology. Similar in concept to a Docker container.

You get a lot of bang for your buck, the savings you get for not needing dedicated support personnel to monitor and maintain your cloud infrastructure will go a long way.