Why We Double Down on AWS and the Cloud
The Cloud Zone is brought to you in partnership with Iron.io. Discover how Microservices have transformed the way developers are building and deploying applications in the era of modern cloud infrastructure.
Blippex.org published a blog post yesterday about why they moved away from AWS. In the blog post and HN discussion we recognized a couple of important points that were missing in favor of AWS or cloud services in general.
Full Disclosure: We know the guys from Blippex very well as they are also from Vienna.
Blippex’s blog post didn’t mention that the team behind Blippex has been working on their former company, Archify, for a few years. The technology behind Archify evolved into what is currently Blippex. At this point they know and understand their infrastructure needs. Thus, self-managed hosting became an option but would probably have been hard to do before building the infrastructure.
AWS helped them a lot in the past to be able to experiment and build the infrastructure they need, as they mention themselves.
From the ensuing discussion on the Blippex blog and Hacker News. two main points were missing.
Speed of Innovation is How You Win
For a startup, speed of innovation trumps everything else. Getting your MVP out the door as quickly as possible has to be priority number one. And building on top of that MVP until there is a product market fit needs to happen quickly.
With this in mind, being able to create, destroy and change servers at will is not just nice to have. It becomes essential to spend the least amount of time on maintaining and building servers and the most on building the product, marketing and everything else necessary to build the company.
Being able to focus on the growth of your business early on is way more important than infrastructure cost optimization. We made the cost optimization mistake ourselves a couple of times and lost lots of time that we could have invested in our growth.
AWS or other cloud hosting providers might be more expensive when only compared on raw power. The flexibility they give your team to focus on what is important for your business is way more important and will determine the success of your product and company.
AWS is Great with Automation, Stupid Without It
We rebuild our complete infrastructure nearly every day. Cloud infrastructure and good automation gives you this abilities. As Max mentioned himself:
The biggest downside is not being able to start new servers with just a mouse click.
This is one of the major upsides of AWS and not just a side note, and it’s not just about scaling to 10x traffic, although that can be helpful. Cloud servers are not 24/7 machines. They are building blocks that should be treated as immutable and volatile.
Considering an EC2 instance as a normal server that you SSH into and
apt-get update/upgrade is plain wrong. Even Amazon says so. Building servers through automation is key. Everything can be and should be automated.
Take, for example one comment made on Hacker News:
It really does not if you do it the right way. Start by automating every step necessary to get a server up and running from a bare-bones OS. You can then store those images as EC2 AMIs. Now, whenever a server starts to misbehave you simply destroy and replace it.
While it is technically possible to get there with netboot on self-managed servers, you have to sacrifice a part of your current infrastructure if you want to rebuild a server. With the cloud there is no sacrifice, as you simply launch new instances. This is a very different
Recently new tools have come up to help manage cloud infrastructure. We started looking into Packer over the weekend and will be switching to it for our test server deployment over the next couple of days.
And Packer is just one of a number of tools that make managing modern cloud infrastructure a lot easier. We will talk about some other tools we use like Vagrant or Ansible in the future.
AWS is expensive when you compare only the raw server costs and do not use reserved instances. But that premium lets you focus on building your product far more than going with a self-managed machine. Especially for early stage startups or projects, this makes all the difference in the world.
As this was a big discussion yesterday on Hacker News we’d be interested to know how you think. Feel free to add your thoughts in the comments.