A Platform That Scales: Don’t Let Your Developer Host It.
We often pitch for new business against other small software houses, freelancers and creative agencies. A common question we hear is “How much do you charge for hosting”. Our answer is always — “We” don’t.
We’ve pitched to build mobile app back-ends, websites for brands that are hoping to grow, and video streaming platforms that aim to score millions of users per year. In many cases I hear that the other people bidding have given a hosting cost for the app, based on a traditional web hosting model where you pay the developer a few tens of pounds per month, and they host it either on VPS or worse, on a shared server. This is the way websites used to be hosted. A server would be setup with dozens or hundreds of sites jostling for space and resources. It sucks.
There are lots of reasons not to do this in 2018. The main one is that it usually represents terrible value for money. Sure, if it’s a blog you’re hosting, find a nice shared hosting platform like Wordpress.com, or Medium. They’re designed for that use case and you’ll get the best outcome with no headaches. If it’s a web app, your options in this field are VPS (Virtual Private Server) or a shared server — usually just marketed as “web hosting”.
Neither of these will scale to cope with any rise in demand for your app, and both will present you with a fixed monthly (or yearly) bill — even if nobody uses your app!
Most of these services are “value-added” propositions that are peddled by web and software houses to generate a regular income once a project is completed. They are rarely particularly secure, scalable, well-maintained, well-backed-up or highly available. Expect downtime for maintenance, downtime when too many people use your app, and downtime when someone figures out that something has been left unsecured.
When we pitch to build a piece of software, we always include a recommendation to host the finished product in the cloud. We are huge fans of Amazon Web Services (AWS) and this is the service we’ll always include cost estimates for. We don’t charge for hosting your app; we set you up with your own AWS account for your project (or recommend you create a new sub-account if you already have one) and you pay Amazon directly.
There are lots of benefits to this.
Firstly; scalability. We leverage tools like S3, CloudFront, Lambda and API Gateway to make a hosting platform that costs (practically) nothing when it’s not in use and scales on demand without crashing. You’ll pay extra when it scales up, but it will scale back down when demand ebbs.
Second; stability. There’s no need to back-up your server; you don’t have one. Data is backed up and maintained in multiple zones and regions if necessary; your code is maintained in a repository. The whole thing is managed using configuration scripts and we can migrate between regions at any time with a couple of clicks.
Third; transparency. With your own AWS account, you pay Amazon for exactly what you use. You won’t pay anything else. Even better than that, AWS offers a Free Tier, which includes a lot of things for free in the first twelve months, a level of free usage after that. This is great for helping new businesses and products find their feet before having to fork out huge hosting costs.
Fourth; security. We like to go down the serverless route where possible because we can focus on the code. Servers are tricky — there’s a lot to think about in terms of security and maintenance. If you do need a server for a particular use case, we’ll always recommend a set of best-practice security techniques to keep it safe, but more importantly, we’ll automate the deployment and scalability of your server-based resources to make them closely match the scalability we get from serverless resources.
For a simple web application or mobile back-end for a start-up company, we often find £10 a month is enough of a budget to get going on AWS. Of course, those that scale, or host a lot of large-scale content will cost more. Once you’re up and running with significant traffic, you can expect to spend a few hundred pounds per month. But what you get for your money is a resilient, scalable, efficient infrastructure estate.
So the next time you’re reading a proposal from a developer that includes “hosting” costs; always check that the hosting is fit for your particular use case, and if it’s scalability you need — it’s probably serverless you need.