Contributed by Francis Miers, director at software lifecycle specialist, Automation Consultants
Infrastructure as a Service (IaaS) is now a major fixture in many organisations’ IT. The largest IaaS provider, Amazon Web Services (AWS), has gone from launch in 2006 to revenues of $18 billion in 2017. AWS is the market leader but is has increasing competition from Microsoft Azure and Google Cloud Platform (GCP).
Until 2010, AWS stood alone as the dominant player in the market. Microsoft Azure has gained ground quickly and GCP, while somewhat late to the scene, is providing tough competition. All three platforms have strong value propositions.
The choice of platform is determined by the specific needs of an enterprise and the purchasing factors that are most important to them. These factors might include but aren’t restricted to: the availability of data centers around the world; the maturity and breadth of products and features for specific purposes; the ease of migrating existing assets and workloads to the new platform; and the subscription costs for each platform.
Amazon Web Services (AWS)
Launched officially in 2006, AWS has been around significantly longer than its rivals. As a highly-respected and well-established market leader, it has first mover advantage over GCP and Azure.
AWS has the largest global network of available data centers. This enables it to provide a reliable service for countries in more remote parts of the world and in censorship-heavy regions like China, where Google is restricted. What’s more, AWS now also offers hosted Kubernetes which, until recently, was offered exclusively by GCP.
Overall, AWS can also be considered the most mature platform, with the widest range of services and features. Amongst the most important are:
Amazon Machine Images (AMIs): These pre-packaged Amazon virtual machines come with instances of well-known software – for example, Atlassian’s Jira, already installed on them. You can also build your own AMIs and share them publicly on the AWS marketplace.
AWS CloudFormation: This allows you to use code to outline how you are going to set up your application infrastructure. It will then automatically sort out the virtual machines needed for execution.
Using CloudFormation, you can pre-write the code to run specific virtual machines during a certain time period. For example, you might write up an environment in code to be executed on your e-commerce platform over the busy Christmas period – after which, you can simply delete your virtual machines. You can easily and reliably modify your infrastructure for different purposes – which is much better than doing it manually as it reduces the chance of error.
Microsoft Azure
Based on its market share, Azure is the second largest platform. Its main strength is that it integrates seamlessly with Microsoft-based infrastructures. For the huge numbers of companies already using Microsoft products, Azure is a good fit.
So, if an enterprise decides to migrate its Microsoft assets into the cloud, Azure makes it especially easy. It is, however, possible to host Microsoft assets in the cloud using GCP or AWS, but migrating to a Microsoft-owned platform gives many users greater confidence in what can be a risky transformation. A downside of Azure, however, is that in its early years it suffered more outages than AWS, although its reliability has since improved significantly.
Google Cloud Platform (GCP)
GCP currently holds third position in terms of market share outside China (if China is included in the global statistics, Alibaba comes third). GCP has distinguished itself primarily by being the first to offer the container management system Kubernetes as a service (though AWS now does as well). It is also significantly less expensive than AWS.
Kubernetes on tap makes it easier to manage large numbers of containers by saving the user the hassle of setting up their own Kubernetes in bare virtual servers, and managing it. This is a real boon for enterprises that have hundreds of thousands of containers. Kubernetes takes care of them all, making sure they’re all scheduled, distributed and load balanced.
In many use cases, GCP works out cheaper than AWS and Azure. GCP offers discounts based on length of usage, so the longer you use it, the more discounts you will get. AWS, in comparison, requires users to reserve long usage contracts without any cost relief.
However, GCP doesn’t provide as broad a range of services and products, so it’s possibly better suited and most cost-effective for companies with simpler cloud computing requirements. That being said, as well as having built-in Kubernetes, it has built-in tools like TensorFlow for machine learning applications, although AWS too has recently introduced its own AI frameworks such as Rekognition and Comprehend.
So, as well as having a comparative advantage in simpler applications, GCP is also suitable for some more advanced, experimental uses, and may end up carving a niche out for itself in advanced use cases around big data.
In today’s global business environment, choosing the right cloud platform, or set of platforms, is governed by many factors. While AWS, Azure and GCP may appear to ultimately ‘do the same thing’ – there are significant differences between them that cater to different enterprise needs. Companies need to consider each platform carefully, make an informed choice, perhaps not relying on a single provider, and get the right support to ensure a smooth migration.