One of the questions I receive when talking about building serverless products on the AWS cloud is “but why AWS?”.
This is a question that usually comes with some hidden assumptions.
Some people, for example, believe that other cloud providers are better, and so they wonder what made me choose AWS over those other providers. Others may worry about ‘vendor lock-in’.
I believe that:
vendor lock-in is not such a bad thing after all.
the best way to make the most of using the cloud is to go all in, embracing vendor lock-in.
if I’m going to get locked into any provider at all, I think that AWS should be my default choice.
Let’s explore each of those points in more detail.
Vendor lock-in is not a bad evil
Avoiding vendor lock-in appears to be the common wisdom in the IT world, and a lot of people follow it without hesitation. But, increasingly, its validity within the context of modern software development is being questioned.
When people think of lock-in, they usually have the old days in mind. That’s when big companies used to sign multi-million dollar contracts with some big corporation (Microsoft or Oracle for example) and would find themselves completely stuck with that provider for a number of years.
That, of course, was a problem. As the pace of technology increased, teams would find themselves unable to use the latest and greatest because of commitments that the organisation had with these providers. Moreover, the prospect of changing providers would often appear so painful and expensive to discourage anyone from even trying.
But that was a different time.
These days, vendor lock-in is something that a lot of people are happy to go along with. For example, many people own both a MacBook and an iPhone. That, if you ask me, is pretty locked in! If you’re one of those people, then the more Apple products you use, the more locked in you are.
But the main difference here is that we have a choice. People choose to lock themselves into the Apple ecosystem because they genuinely like Apple. They love using those products on a daily basis.
In our everyday life, “How hard would it be to change providers?” is not, usually, a consideration. We simply choose what works best.
The best way to benefit from the cloud is to go all-in
By going all-in with the cloud I mean taking advantage of everything that the cloud has to offer without trying to reinvent the wheel. Going half-hearted into the cloud simply doesn’t work. Here’s why.
Lower cost and better performance
Cloud-native tools and products are cheaper and faster. The scale at which a big cloud provider can run something like a database is nearly impossible to achieve on your own. That’s why a cloud provider will always be able to offer such solutions at a much lower price (and with far greater performance) than if you were to run them on your own infrastructure.
Even if you run, let’s say, Postgres on the cloud, it won’t usually be as cost-effective as something that was built for the cloud from the ground up (e.g. DynamoDB or Aurora Serverless).
Pace of innovation
AWS releases new services on a regular basis. At any given time, there may be a recently launched service that will most likely reduce costs, increase performance, and improve the maintainability of your application. Adopting these new services can give you an advantage over your competitors and make your life easier.
It’s important that you make it easy for yourself to quickly test and adopt a new service.
The key to that agility is to reduce the number of tools and services that you have to maintain by favouring serverless and managed services over things you have to install and configure yourself.
That’s how you get the most from the cloud, by paying them to do things you don’t need to worry about.
AWS is the best cloud provider there is
This is almost uncontroversial. Yes, Google has claimed that it will surpass AWS in the next few years, and Microsoft has been growing at an amazing pace. Nevertheless, if you use these services, you will soon notice how they don’t even compare to AWS.
Google has done some great work, particularly in the area of AI and machine learning. A lot of people use Google just for that bit and then rely on the other cloud providers for everything else. The most typical comment I hear from people who have tried Google Cloud after using AWS or Azure is ‘they have some good stuff, but overall it looks like they’re not even trying!’. When you compare Google’s cloud offering with Amazon’s, it’s tiny.
Microsoft is a different ball game. Here is a company that has been innovating (and growing) a lot. With the purchase of LinkedIn and GitHub, and with solid cloud products such as Office 365, they have a very strong offering. Microsoft Azure can be a valid option for some companies. However, AWS still offers the largest depth of services with over 250 across many different categories. So if you go down the Azure route, the possibility of having to rely on AWS for some things is a real one.
Conclusion
AWS has the broadest selection of services, by far the biggest market share, and a rock-solid track record of reliability and innovation.
By embracing (and understanding) AWS fully without fear of getting locked in, we can leverage the amazing performance improvement, cost savings, and focus that the cloud offers.
Resources