There are three main players in the race for cloud services providers - between them, they provide all products you might need for moving your business to the cloud. But these product offerings differ in pricing as well as the naming of their services - which can be confusing at times.
Here’s a quick guide to compare the services provided by the three main players - Amazon Web Services (AWS), Microsoft Azure and Google Cloud Platform (GCP).
Please note - this is by no means a comprehensive document - the product offerings by AWS, Azure and GCP are vast and it is always a good option to consult with a trusted technology partner to select the correct provider for your requirements. This guide is intended to make you familiar with some of the most commonly needed products for cloud.
Why move to the cloud?
Companies from both the public & private sector (Netflix, AirBNB, PBS and many more) increasingly rely on cloud services for their online operations. This allows them to concentrate on their core business idea and leave the infrastructure needs to the experts. In this day and age of constantly changing demand, setting up a physical infrastructure to provide such online services would get very expensive and time-consuming - with a team of technicians, lot of extra budget for servers, constantly changing hardware requirements and so on. With the help of cloud offerings provided by these players, a lot of startups find it quick and affordable to start their own ventures without these technical challenges.
Pricing
Pricing for products and services you use from these providers will depend largely on the computing power you need, the number of instances you deploy and the location. But some major advantages of using the cloud as compared to setting up your own physical infrastructure are
- No upfront investment
- Pay for what you use
- No termination fees
- Easy scaling up/scaling down
Amazon Web Services (AWS) vs Microsoft Azure vs Google Cloud Platform (GCP)
Amazon introduced IaaS (Infrastructure As A Service) at their first AWS service launched in 2004. It has been a front-runner in the race and has since kept adding features and offerings - giving them an upper hand over competition. To an extent, they are the most expensive in some regards. But they are also the best in terms of service offerings. Google and Microsoft joined the bandwagon later but quickly caught up. This did help bring down the prices which ultimately helps consumers.
Here’s a quick comparison of all the offerings provided by AWS, Azure and GCP and how it affects pricing.
1. Computation Power
This is the core of the services offered by computers - to calculate, to process data — to compute. To get faster processing for data analysis, graphics rendering or faster response time, you either need more hardware OR you can go to the cloud. If you buy hardware, it is yours. But it is also very expensive - purchasing, maintenance and all the idle time where they are not in use. On the other hand, moving to the cloud, you only pay for what you use and it is much easier and faster to scale up or scale down depending on the demand.
Amazon provides EC2 (Elastic Compute Cloud), their on-demand scalable instances. Google provides Compute Engine and Azure has Virtual Machines. While EC2 is arguably the most comprehensive, it can burn a hole in your pocket if you are not careful - the pricing is also a little complex to understand. The same goes for Microsoft Azure’s VMs as well. Google’s Compute Engine has very simple pricing, but it is also the least flexible.
With AWS Elastic Beanstalk and Google App Engine, you also have the option of buying computing processes for mobile and web apps - which significantly reduces cost compared to using EC2 or Compute Engine IF your app fits the specs for these services.
All three providers provide Docker capabilities with AWS ECS, Google Container Engine and Azure Container service.
Azure has another advantage in that it allows deploying Windows client apps with a RemoteApp service which the other two lack.
2. Storage
Storage is another important criteria for cloud services. Using any of these cloud providers, you can store data to the tune of some GBs to many petabytes.
For storage, Amazon’s S3 (Simple Storage Service) has been around for long and is very well documented with many samples as well as third-party libraries. Google’s Cloud Storage and Azure’s Storage also provide equally reliable services, but their resources are not as extensive as S3. Although, Google and Azure somewhat beat S3 on the pricing.
Service | Provider | Pricing |
Cloud Storage | $0.026 (standard) / $0.02 (Durable Reduced Availability) | |
Data Lake Storage | Azure | $0.04 |
S3 | AWS | $0.03 (standard) / $0.0125 (infrequent) |
Azure Storage | Azure | $0.024 (Locally Redundant) / $0.048 (Geographically Redundant) / $0.061 (Read access - Geographically Redundant) |
Block Storage | Rackspace | $0.12 |
Cloud Files | Rackspace | $0.1 |
Archiving services are provided at lower rates compared to cloud storage, but it also provides lower access speed. Archiving services are generally used for storing objects which are not accessed regularly. The archiving services provided by Amazon, Azure and GCP are Glacier (AWS), Azure Backup (Azure) and Cloud Storage Nearline (GCP). Azure and AWS also provide solutions for archiving - Data Archive (AWS), Backup and Archive (Azure)
Service | Provider | Pricing |
Cloud Storage Nearline | $0.01 (storage) + $0.01 (retrieval) | |
Glacier | AWS | $0.007 |
Storage | Azure | $0.01 (Locally Redundant) / $0.02 (Geographically Redundant) / $0.025 (Read access - Geographically Redundant) |
Apart from storage and archiving, all three providers also provide services for creating content delivery networks. AWS provides CloudFront, Azure has a Content Delivery Network and GCP has Cloud CDN.
3. Analytics
Now comes the interesting and probably a very important part - using the computing, storage and content delivery using analytics. Usually when it comes to solutions hosted on the cloud, they deal with large data sets (big data). And unless we use analytics on this data and gather some important insights, it is pretty much useless.
Analytics on big data can help with many things - predictions, new offerings, cross-selling and so on. But analytics on such large data sets requires specific tools and programming models. Google was forefront in this race due to MapReduce - they came up with a number of products for users - BigQuery, Cloud Dataproc (managed Spack & Hadoop), Cloud Dataflow (data processing in real time), Cloud Datalab, Cloud Pub/Sub (streaming data and messaging) and even Genomics (for processing genomic data)!
Amazon provides Elastic MapReduce and Azure provides HDInsight. All three also provide various Big Data Solutions you can use. You can find them here - GCP Big Data solutions, AWS Big Data offerings, Azure Big Data solutions.
While Google has taken the lead on Big Data, Amazon takes the cake with QuickSight - an offering they provide for businesses to make sense of large amounts of structured and unstructured data. It helps businesses identify opportunities based on data sets and various strategies. This helps businesses where they don’t see the need to have a team of data scientists implementing solutions for analyzing their data - but still need to gather insights from the data they capture.
Analytics will also likely require you to use Machine Learning. Google is ahead in the race on this one too, with Cloud Machine Learning as well as offering products which they use for their own apps in specific areas - Cloud Vision, Speech, Natural Language Processing and Translate. The Cloud ML alternatives provided by AWS and Azure are Amazon Machine Learning and Azure Machine Learning.
4. Location
When deploying your cloud services, location is very important - you should choose a data center which is close to your primary users. For instance if you are providing services to users in the East Coast of United States, it would be best to deploy your services there. This will reduce the response time and also offer better user experience. CDNs also help here for faster delivery of resources.
AWS regions
Amazon wins hands-down in this area - it has the most extensive coverage closely followed by Azure (although Azure has very good coverage in Asia). Google has a good coverage in United States, but not so much in Europe or Asia.
Azure regions
When selecting the location, do keep in mind that different locations cost different. United States and Europe generally offer the cheapest options. You can find more information here - AWS global reach, Azure regions, Google cloud locations
Google cloud locations
5. Other products & services
These are the main service offerings provided by any cloud providers. But that is not the end. Here’s a quick list of other resources/services you might be interested in
a. Networking
- DNS - Amazon Route 53, Google DNS, Azure DNS
- Virtual Private Networks - Amazon VPC, Google Cloud Virtual Network, Azure VPN Gateway
- Load Balancing - Amazon ELB, Google Cloud Load Balancing, Azure Load Balancer
b. Database
- SQL - Amazon RDS (has support for multiple DBMS), Azure SQL Database, SQL Data warehouse, SQL Server stretch database, Google Cloud SQL (only supports MySQL as of now)
- NoSQL - Amazon DynamoDB, Azure DocumentDB and Table storage,Google Bigtable and Cloud Datastore
- Cache services - Amazon ElastiCache, Azure Redis
- Other cloud database offerings by Amazon
Then there’s developer tools, security offerings, disaster recovery tools and so on.
Other Service Providers
While Amazon, Microsoft and Google are the big names in cloud providers, there are many small providers who offer some very competitive pricing. Many of them focus on indie developers rather than companies and can be worth giving a shot - esp if you need moderate scaling. Some examples include
- Digital Ocean
- Rackspace Cloud
- Linode
- Vultr