The rivalry is warming up in the cloud space as vendors continue to offer innovative features and reduced pricing. In this post, we will highlight the competition between the three titans of the cloud: Google Cloud Platform (GCP), Amazon Web Services (AWS), and Microsoft’s Azure. Which of these three will thrive and win the battle? Only time will tell. We also have IBM Softlayer and Alibaba’s AliCloud joining the bandwagon.
Although AWS (Amazon Web Services) has a noteworthy head start, Microsoft and Google are not out of the race. Today, Google is developing 12 new cloud data centers over the next 18 months. Both of these cloud vendors have the money, power, marketing bling, and technology to draw enterprise and individual customers.
This post will address the question of ‘Which cloud computing platform should I choose?, including a brief introduction to each platform, and we’ll review the advantages of a multi-cloud strategy.
So, which cloud computing platform should you choose?
Amazon Web Services
AWS has well organized and distributed data centers commissioned across the globe. Availability Zones are strategically placed so that failure at one AZ doesn’t affect another location.
Microsoft has been quickly building more and more data centers across the world to catch up with Amazon’s vast geographical presence. Starting with six regions in 2011, they currently have 22 regions, each of which contains one or more data centers. Five additional regions are planned to open in 2016. While Amazon was the first to open a region in China, Microsoft opened the India region at the end of 2015.
Google has the smallest geographical presence of the three cloud providers. Google makes up for its geographical limitations with the help of its worldwide network infrastructure, providing low-latency and high-speed connectivity within its data centers, both at a regional and interregional level.
Amazon’s Elastic Compute Cloud (EC2) offers core compute service, enabling users to form virtual machines with the help of pre-configured or custom based AMIs. You can choose the power, size, number of VMs, and memory capacity, and select from diverse availability zones from which to launch. It also provides auto-scaling and ELB (load balancing). ELB allocates charges through instances for improved performance, and auto-scaling enables its users to spontaneously and automatically scale available EC2 (Elastic Compute Cloud) volume, high or low.
In 2012, Google launched its cloud computing service known as GCE (Google Compute Engine). GCE allows users to start VMs, much like AWS, into availability groups and regions. Google Compute Engine was not generally available until 2013. Subsequently, Google added improvements, such as comprehensive support for Operating Systems, load balancing, faster persistent disks, live migration of virtual machines, and instances with more cores.
In 2012, Microsoft launched its cloud compute services, but they were not generally accessible until May 2013. Its users select a Virtual Hard Disk (VHD), which is similar to Amazon’s AMI, for VM creation. A Virtual Hard Disk could also be predefined by third parties, by Microsoft, or even by the user. With every virtual machine, you are required to specify the amount of memory and number of cores.
Storage is one of the primary elements of IT. Today, we’ll focus on the two primary storage types: Block storage and Object storage.
Amazon offers its block storage service, known as EBS (Elastic Block Storage), and it can support three different types of persistent disks: SSD, Magnetic, and SSD with provisioned Input/Output Operations per Second (IOPS). The volume sizes range from a maximum of 1TB for magnetic disks, to 16TB for SSD.
Amazon’s world-leading object storage service known as S3 (Simple Storage Service) has four different SLAs: standard, reduced redundancy, regular – infrequent access, and Glacier. All data is deposited in a single availability zone unless it is simulated manually over regions or availability zones.
Microsoft refers to its storage services as Blobs. Disks and Page Blobs are its block storage service. It can be sourced as Premium or standard, with volume sizes of 1TB. Block Blobs is its object storage service. It offers three different SLAs: LRS (Locally redundant storage) where terminated data copies are kept inside the same data center; ZRS (zone redundant storage), where copies of redundant data are maintained in diverse data centers in the same region; and GRS (geographically redundant storage) which executes LRS (Locally redundant storage) on two detached data centers for maximum availability and durability.
In the Google cloud computing space, storage is structured differently. Block storage does not have a particular category but has an add-on to instances within Google Cloud Engine (GCE). Google offers two choices: magnetic or SSD volumes, though the IOPS tally is static. The ephemeral disk is completely configurable and is a chunk of the storage offering. Object storage known as Google Storage is divided into three modules: Standard, Durable Reduced Availability for less or non-critical data, and Nearline for archives.
Amazon’s VPCs (Virtual Private Clouds) and Azure’s VNET (Virtual Network) enables users to cluster virtual machines into remote networks in the cloud. Using VNETs and VPCs, users can outline a network topology, create route tables, subnets, network gateways, and private IP address ranges. Both have ways to extend it to your on-premises data center into the public cloud. Instead, every GCE instance has a single network that outlines the gateway address and address range for all instances linked to it. You can apply firewall rules to an instance, and it can accept a public IP address.
Amazon Web Services
AWS categorizes resources under accounts. Each account comprises a single billing unit within which cloud resources are provisioned. Companies with numerous AWS accounts would want a single combined bill instead of several separate bills. AWS permits this by generating consolidated billing. In AWS, one of the accounts is identified as a unified account and other accounts are connected to it, linking accounts. The bills are then combined to contain billing for all of the consolidated and linked accounts; together it is referred to as a consolidated billing account family.
Microsoft engages a tiered approach to account management. The subscription is the lowermost in the ladder, and individual consumes and provisions resources. An account manages several subscriptions. It might sound similar to the AWS account structure, but Microsoft’s Azure accounts are management units, and they do not use resources by themselves. For companies without MS Enterprise Agreements, this is where the grading ends. Those with Enterprise Agreements may register their Enterprise Agreements in Azure and can manage accounts under them with department administrative and discretionary cost center hierarchies.
Google uses a flat pyramid structure for its billing. The resources are clustered under groups known as Projects. There is no entity higher than projects; nevertheless, several projects could be gathered under a consolidated billing account. This billing statement is similar to Azure’s accounts in that these billing statements are not a consuming entity and also cannot provision services.
Cloud service vendors are providing different pricing and discounts models for their cloud services. The maximum of all such complex pricing and discounts models are compute services, whereas bulk discounts are typically used with all remaining services. Why? First, vendors are in a very competitive market and would like to lock users in for a long-term commitment. Second, they would also like to make the most use of their infrastructure, where each available VM hour represents a loss.
Amazon Web Services
AWS has the most diversified and complex pricing models for its Elastic Compute Cloud (EC2) services:
On-demand: Clients pay for what they use without paying any upfront costs.
Reserved Instances: Customers reserve instances for one or three years with an upfront cost based on use. Payment options include:
- All-upfront: The customer pays for the total commitment upfront and receives the uppermost discount rate
- Partial-upfront: The customer pays 50-70 percent of the commitment up front, and the remaining is paid in monthly installments. Here, the client receives a somewhat lower discount compared to all upfront.
- No-upfront: The customer pays nothing upfront, and the sum is paid in monthly installments over the term of the reservation. The customer receives a much lower discount under this payment option.
Microsoft bills its clients by rounding up the utilized number of minutes on demand. Azure also provides short-term obligations with discounts. Discounts are offered only for bulk financial commitments through pre-paid subscriptions, which provides a five percent discount on the bill, or through Microsoft’s Enterprise Agreements, where higher discounts may be applied to an upfront financial obligation by the client.
GCP bills for instances by rounding up the number of utilized minutes, with 10 minutes as a minimum base. It recently declared new sustained-use pricing for computing services offering more flexible and a simpler approach. Sustained-use pricing will automatically discount the on-demand baseline hourly rate as a particular instance is used for a larger percentage of the month.
The Bottom Line
The public cloud war slogs on. It is likely that prices may continue to drop, and attractive and innovative features may continue to appear. Cloud computing is here to stay, and with the growing maturity of private and public cloud platforms with the massive adoption of IaaS , enterprises now understand that depending on a single cloud vendor is not a long-term option. Issues such as vendor lock-in, higher availability, and leveraging competitive pricing may push enterprises to look for an optimal mix of clouds for their requirements rather than a sole provider.
WaitCondition Controls the Pace of AWS CloudFormation Templates
AWS's WaitCondition can be used with CloudFormation templates to ensure required resources are running.As you may already be aware, AWS CloudFormation is used for infrastructure automation by allowing you to write JSON templates to automatically install, configure, and bootstrap your ...
The 9 AWS Certifications: Which is Right for You and Your Team?
As companies increasingly shift workloads to the public cloud, cloud computing has moved from a nice-to-have to a core competency in the enterprise. This shift requires a new set of skills to design, deploy, and manage applications in cloud computing.As the market leader and most ma...
Two New EC2 Instance Types Announced at AWS re:Invent 2018 – Monday Night Live
The announcements at re:Invent just keep on coming! Let’s look at what benefits these two new EC2 instance types offer and how these two new instances could be of benefit to you. If you're not too familiar with Amazon EC2, you might want to familiarize yourself by creating your first Am...
Google Cloud Certification: Preparation and Prerequisites
Google Cloud Platform (GCP) has evolved from being a niche player to a serious competitor to Amazon Web Services and Microsoft Azure. In 2018, research firm Gartner placed Google in the Leaders quadrant in its Magic Quadrant for Cloud Infrastructure as a Service for the first time. In t...
Understanding AWS VPC Egress Filtering Methods
In order to understand AWS VPC egress filtering methods, you first need to understand that security on AWS is governed by a shared responsibility model where both vendor and subscriber have various operational responsibilities. AWS assumes responsibility for the underlying infrastructur...
S3 FTP: Build a Reliable and Inexpensive FTP Server Using Amazon’s S3
Is it possible to create an S3 FTP file backup/transfer solution, minimizing associated file storage and capacity planning administration headache?FTP (File Transfer Protocol) is a fast and convenient way to transfer large files over the Internet. You might, at some point, have conf...
Microservices Architecture: Advantages and Drawbacks
Microservices are a way of breaking large software projects into loosely coupled modules, which communicate with each other through simple Application Programming Interfaces (APIs).Microservices have become increasingly popular over the past few years. The modular architectural style,...
What Are Best Practices for Tagging AWS Resources?
There are many use cases for tags, but what are the best practices for tagging AWS resources? In order for your organization to effectively manage resources (and your monthly AWS bill), you need to implement and adopt a thoughtful tagging strategy that makes sense for your business. The...
How to Optimize Amazon S3 Performance
Amazon S3 is the most common storage options for many organizations, being object storage it is used for a wide variety of data types, from the smallest objects to huge datasets. All in all, Amazon S3 is a great service to store a wide scope of data types in a highly available and resil...
How to Optimize Cloud Costs with Spot Instances: New on Cloud Academy
One of the main promises of cloud computing is access to nearly endless capacity. However, it doesn’t come cheap. With the introduction of Spot Instances for Amazon Web Services’ Elastic Compute Cloud (AWS EC2) in 2009, spot instances have been a way for major cloud providers to sell sp...
What are the Benefits of Machine Learning in the Cloud?
A Comparison of Machine Learning Services on AWS, Azure, and Google CloudArtificial intelligence and machine learning are steadily making their way into enterprise applications in areas such as customer support, fraud detection, and business intelligence. There is every reason to beli...
How to Use AWS CLI
The AWS Command Line Interface (CLI) is for managing your AWS services from a terminal session on your own client, allowing you to control and configure multiple AWS services.So you’ve been using AWS for awhile and finally feel comfortable clicking your way through all the services....