In the world of cloud computing, Amazon Web Services is usually considered by most people to be the best there is, however, Google Cloud, and other platforms like Microsoft Azure are catching up real quick. So which public cloud service is ultimately the best one for your business right now?
AWS has 5 times the capacity of the next 14 largest competitors combined, with an easy-to-use dashboard making it simple to scale up and down depending on resource needs. Using AWS, you can also enable services like CloudWatch that scale your capacity on-demand. Amazon’s cloud also has the highest availability among its competitors, such as, for instance, in 2014, Amazon only had 23 outages, resulting in just 2.69 hours of downtime.
As far as storage is concerned, AWS offers Elastic Block Storage, that supports 3 types of persistent disks: Magnetic, SSD and SSD with provisioned IOPS. The magnetic disks have a maximum size of 1TB whereas the SSD disks can hold a lot more, at up to 16TB.
The AWS compute service, EC2 (Elastic Compute Cloud), splits its instances into 9 families, which make up 38 different instance types. These families are also designed to be burstable, meaning they offer extra processing power that is on offer to expand when the demand for computing capacity spikes.
AWS is also the least expensive option if you’re okay with shaving off some of the costs by purchasing reserved instances in advance, instead of only working according to hourly rates. However, it charges extra for optional tasks, like data movement, which could make billing and budgeting complicated, and it also requires extensive cloud architecture knowledge to get started on. Still, AWS offers a huge partner ecosystem and incomparable scalability, with a free tier trial, for 12 months, for small capacity users as well.
Google Cloud Platform does not offer the number of services AWS does, and neither is it as geographically widespread as AWS. However, Google is currently investing in cloud computing, and the services offered by GCP are increasing quite rapidly. Its Networking capabilities are also better than AWS, with each of its instances living on its own specific network. Before creating an instance, strong server virtualization security tools can be set up, including routers, firewalls, as well as subnets.
GCP also offers a magnetic block storage and an SSD block storage. Although volumes can be as large as 10TB, the company advises the volume to be sized according to the required performance as this can drop as the volume grows.
Google Cloud Platform’s offerings are a lot more focused than its other competitors, offering 18 different instances, that are split into 4 families. Like AWS, it is burst-able but its difference lies in its instance types being standard, high-memory and high-CPU.
GCP works quite well with Google App Engine, although AWS Beanstalk offers more capabilities in terms of the number of supported programming languages. Instant auto-scaling is also provided for Google Compute Engine, and it does not need to be purchased as a separate service, like CloudWatch is. Finally, the best advantage of using GCP for smaller companies is that Google charges on a per-minute basis with 10-minutes being the minimum usage. AWS on the other hand, charges hourly rates, which can end up becoming costlier and way more complicated. GCP’s downtime is significantly less than others like Azure, usually being under 5 hours. So, even if it might not be as reliable as AWS, it comes pretty close.
Azure primarily targets Platform as a Service (PaaS) customers, however, their IaaS (Infrastructure as a Service) features are also expanding. With Azure, developers only have to worry about maintaining their code. They don’t have to maintain their own VMs or fret about any patches and security updates. 64% of those using Azure have said that they like it because of Microsoft’s relationships with its customers. So, in spite of AWS having the better family of third-party apps, Azure has been leveraging relationships with Microsoft partners to expand its own offerings.
Azure’s block storage is called “Page Blobs”, and they support both magnetic and SSD. The magnetic storage is usually the standard one whereas the SSD is the premium one, and both offer up to 1TB per volume.
Azure provides 6 families with 25 different instance types which start with a basic tier that offers baseline performance for single instances. So, unlike the rest, you don’t get scalability, and a CPU-optimised, RAM-optimised and network optimised standard tier which is general purpose.
Azure also experiences significantly more downtime than AWS or GCP, at around 50 hours. But despite these connectivity issues, Microsoft has thrown its weight behind Azure, and for developers who are familiar with Windows, the interface that Azure uses is modern, familiar, and quite easy to use.