Learn more about AWS with our Getting Started with AWS screencast.
Three main players of business cloud services have an array of products covering all you can possibly need for your online operations. But there are differences not only in pricing but also in how they name and group their services, so let’s compare one next to another and find out what they offer.
We’ll focus on services provided by Amazon Web Services (AWS), Google Cloud Platform (GCP) and Microsoft Azure. We won’t cover all of them, or get into much detail about the infrastructure of cloud computing. However, you will be exposed to many of the products you can use, and hopefully get familiar with some cloud concepts.
Trending posts on SitePoint today:
- Is Using SVG Images Good for Your Website’s Performance?
- Five Techniques to Lazy Load Images for Website Performance
- Five CSS Performance Tools to Speed up Your Website
- How to Choose, Register and Make the Most of Your Domain Name
- Deploy & Manage Multiple WordPress Sites with ServerPilot
Why the Cloud
Iconic companies from both the public and the private sector — such as Netflix, AirBNB, Spotify, Expedia, PBS, and many, many more — rely on cloud services for supporting their online operations. This allows them to better focus on doing what they’re known for, and let many of the technicalities be taken care of by an infrastructure that already exists and is constantly being upgraded. If they had to implement the physical infrastructure they actually need for their operations themselves, they would need an army of technicians, lots of extra budget and time, and many startups would never get past these technical challenges.
But this is not limited to big names. Today, we live in a world in which both a huge business, and two youngsters at home with virtually no initial capital, can access world-class infrastructure for storage, computing, management and more, to make the next massive online service, and pay as they go — literally — by the hour.
Flexible (and sometimes intricate) pricing
What you pay will vary a lot depending and how much processing power you demand, how many instances (that is, how many virtual servers) you deploy, and where you deploy them (more on this on the “Locations” section). There will also be significant discounts for bulk usage. In any case, you’ll have these advantages most of the time:
- no upfront costs
- no termination fees
- pay only for what you use
- per minute billing
Products vs Solutions
We will use the terms “products” and “services” rather indistinctly; a solution, however, is a more specific concept that you’ll hear a lot about when dealing with cloud services. Simply put, a solution is a set of preconfigured products oriented to a very specific need, with plentiful documentation, use cases and testimonials that will guide you through the process of adopting the cloud infrastructure.
Some typical “canned” solutions are:
- big data — AWS, GCP, Azure
- digital marketing — AWS, Azure
- ecommerce — AWS, GCP, Azure
- gaming — AWS, GCP,
- government — AWS (federal, sate and local)
- Internet of Things (IoT) — AWS, GCP, Azure (predictive maintenance, remote monitoring)
- private clouds
- reseller hosting
Amazon introduced “commoditized” cloud computing services through its first AWS service launched back in 2004, and ever since then they kept innovating and adding features, which somehow allowed them having the upper hand in the business by building the most extensive array of services and solutions for the cloud. They are also, in many regards, the most expensive.
Google, and later Microsoft, came into the game and are quickly coming up to par, bringing their own infrastructure and ideas, offering deals, and pulling the prices down.
In the following video, representatives of each company discuss their cloud strategies:
This is what computers are for, after all: to calculate, to process data — to compute. If you need faster processing for graphics rendering, data analysis or what have you, you can either buy more hardware, or you can go on the cloud.
Sure, if you buy the hardware you own it, it’s an asset, but you’re also paying for all of the idle time when the computers are not doing any actual processing, plus all of the maintenance that comes with it, which can go really high if you build a data center.
When you go on the cloud, on the other hand, you just pay for what you use and you can scale to thousands of processing nodes in a few minutes (and blow your credit card while at it, if you’re not careful).
Elastic Compute Cloud (EC2) is Amazon’s flagship for scalable computing on demand, competing with Google’s Compute Engine and Azure’s Virtual Machines and Virtual Machine Scale Sets. Amazon’s service is the most comprehensive, but as mentioned, the pricing for EC2 can get very intricate, and the same goes for Azure’s VMs pricing. Google’s offering is somewhat less flexible, but the pricing is a lot easier to follow (see pricing section).
There’s also the option of renting computing processes for web and mobile apps, which can offer significant savings when used instead of EC2 or Compute Engine if your apps fit in the specs of this service (see AWS Elastic Beanstalk and Google App Engine for more details).
If you want to deploy software containers with Docker, you should look at Amazon’s EC2 Container Service (ECS) and EC2 Container Registry (ECR); Google’s equivalent are Container Engine and Container Registry. Azure’s also on board with Docker with its Container Service, though at the moment they are not providing a facility for private Docker registries.
Azure, since it’s Microsoft’s, also allows you to deploy Windows client apps with its RemoteApp service.
Alongside computing, storage is a key pillar to cloud services. In the cloud you can store with the same ease anything from a bunch of GBs to several PBs (1 petabyte = 1,024 terabytes = 1,048,576 gigabytes). Beware, though: implementing these solutions is not so trivial, as this is not a regular hosting for which you just need a user and password to upload files to an FTP. Instead, you’ll need to interact with APIs or third-party programs, and it may take some time before you’re ready to operate your storage entirely in the cloud.
To store objects (that is, pretty much anything), Amazon Simple Storage Service (S3) is the service that’s been running the longest, and as such it has extensive documentation, including free webinars, tons of sample code and libraries, articles and tutorials and very active discussion forums where Amazon developers provide very useful feedback on a regular basis. Of course, Google Cloud Storage and Microsoft Azure Storage provide a service that’s as reliable and robust, but the resources you’ll find don’t come even close that of Amazon’s. That being said, Google and Microsoft may have an edge on the price, so read the fine print.
|Block Storage||w||Rackspace Cloud||$0.12|
|Cloud Files||w||Rackspace Cloud||$0.1|
|Cloud Storage||w||Google Cloud Platform||$0.026 (standard) / $0.02 (DRA1)|
|Data Lake Store||w||Microsoft Azure||$0.04|
|Simple Storage Service (S3)||w||Amazon Web Services||$0.03 (standard) / $0.0125 (infrequent)|
|Storage||w||Microsoft Azure||$0.024 (LRS2) / $0.048 (GRS3) / $0.061 (RA-GRS4)|
- Durable Reduced Availability
- Locally Redundant Storage
- Geographically Redundant Storage
- Read-Access Geographically Redundant Storage
For archiving, also sometimes called “cold storage” (like when you store objects you don’t plan to access regularly for the most part), you’ll enjoy lower rates but also lower access speeds, which shouldn’t be much of a problem in most cases. The characteristics and prices are very similar among different providers, so most probably you’ll be conditioned by which API you have implemented on your back-end. For the specs and details, see Amazon Glacier, Cloud Storage Nearline by Google, and Azure Backup; and check also the archiving solutions these providers offer — Data Archive by AWS, and Backup and Archive by Azure.
|Cloud Storage Nearline||Google Cloud Platform||$0.01 (storage) + $0.01 (retrieval)|
|Glacier||w||Amazon Web Services||$0.007|
|Storage||w||Microsoft Azure||$0.01 (LRS) / $0.02 (GRS) / $0.025 (RA-GRS)|
Aside from storing and archiving, they provide more specific options, such as Amazon CloudFront targeted for building a content delivery network (CDN), same as Google’s Cloud CDN and Azure’s Content Delivery Network. But if you have more exotic requirements, make sure you check their sites.
Now we’re getting serious, as we enter the powerful place in which we integrate and make full use of computing, storage and delivery, all at once. And the truth is that there are certain things you just can’t perform anywhere else but in the cloud (that is, except you can afford a huge investment in infrastructure). So let’s talk analytics.
The challenges of big data are dealing with incredibly large data sets (so big you can’t fit them in memory), making sense of them, using them to make predictions, and even helping modeling completely new situations like new products, services, treatments, ways of planning cities, and a large et cetera.
This requires very specific technologies and programming models, one of which is MapReduce, which was developed by Google, so maybe it isn’t surprising to see Google walking forward in the big data arena by offering an array of products — such as BigQuery (managed data warehouse for large-scale data analytics), Cloud Dataflow (real-time data processing), Cloud Dataproc (managed Spark and Hadoop), Cloud Datalab (large-scale data exploration, analysis, and visualization), Cloud Pub/Sub (messaging and streaming data), and Genomics (for processing up to petabytes of genomic data). Elastic MapReduce (EMR) and HDInsight are Amazon’s and Azure’s take on big data, respectively. For more, check the big data solutions they all offer — GCP, AWS, and Azure.
But you don’t need to fall into the category of big data to be able to make sense of data. Large amounts of structured and even unstructured data can help you identify business opportunities. This is known as business intelligence (BI), and the strategies here can be very diverse and will vary a lot depending on your field. So if your business has the data sets, there may be valuable insights waiting to be mined. In this case, Amazon alone is taking on this niche with QuickSight.
And for all of this, you’ll most likely need to use machine learning (ML), which is a branch of artificial intelligence (AI). Interestingly, Google has the upper hand on this one too, not only offering Cloud Machine Learning for general purpose ML, but also for leveraging products they had to build for their own apps and offering interfaces for accessing them — half of them in beta — oriented to very specific uses of ML, including APIs for Cloud Vision, Cloud Speech, Cloud Natural Language and Google Translate. The general purpose alternatives are Amazon Machine Learning and Azure Machine Learning.
When deploying your services, you may want to choose a data center that’s close to your primary target of users. For example, if you’re doing real estate or retail hosting in the West Coast of the United States, you’ll want to deploy your services right there to minimize the latency and provide a better user experience (UX). Of course, you can still deploy from afar, but the UX will suffer.
Amazon clearly has the most extensive coverage:
Azure comes close, with fairly good support for Asia:
Google has a solid coverage in the United States, but falls behind in Europe and, particularly, in Asia (only one spot in Taiwan), with no coverage at all in South America. None of them are able to deploy in Africa.
But beware that deploying at different locations comes at different rates, with the United States and Europe — in that order — being normally the cheapest.
For more details:
Other Products and Services
As mentioned, we only got to cover some of the main cloud services, but before we finish, let’s have a quick review of some products you might want to keep an eye on.
- You can network in the cloud by doing domain name system (DNS) with Amazon’s Route 53, Google DNS or Azure DNS.
- Or do load balancing with Amazon’s Elastic Load Balancing, Google Cloud Loud Balancing and Azure’s Load Balancer.
- And, of course, set your virtual private network (VPN) with Amazon’s Virtual Private Cloud VPC, Google’s Cloud Virtual Network and Azure’s VPN Gateway.
- You can implement SQL solutions with Amazon’s Relational Database Service (RDS) (supporting many DBMS), Google’s Cloud SQL (supporting only MySQL at the moment), and with Azure’s SQL Database, SQL Data Warehouse and SQL Server Stretch Database.
- Also newer NoSQL solutions are available with Amazon’s DynamoDB, Google’s Bigtable and Cloud Datastore, and Azure’s DocumentDB and Table storage.
- But who wants a DB when all you need is a cache? If that’s the case, then Amazon’s ElastiCache and Azure’s Redis Cache might do it.
- For more, check the solution that amazon offers — Cloud Databases with AWS.
Developers tools, management, security, identity, disaster recovery …
And there’s even more, but let’s call it a day for now!
We only got to cover big names here, but the cloud arena is very dynamic, and there are several providers offering solid infrastructure at very competitive prices. Many of them are focusing on the needs of developers rather than companies, and they may be well worth trying, especially if your scaling needs are between small and moderate.
- Brightbox. UK-based cloud hosting for teams that insist on 100% uptime.
- Codero. Managed, dedicated and cloud hosting.
- DigitalOcean. Cloud computing, designed for developers with competitive prices.
- Kyup. Scalable cloud hosting on Linux containers.
- Linode. High performance SSD Linux servers for many infrastructure needs.
- Packet. A base metal cloud build for developers.
- Rackspace Cloud. Powered by OpenStack, an open source technology.
- SoftLayer (IBM Cloud). Another option for businesses with widespread locations, backed by IBM.
- Vultr. High performance SSD cloud available in 14 cities worldwide, with competitive prices.
What to Do Next
Amazon, Google and Microsoft, and nearly all of the alternatives we discussed, offer starting deals and even free credit for new accounts, meaning that you can start experimenting in the cloud without taking your credit card and with no future obligations.
And don’t get paralyzed! There may be plentiful options, but you can start by focusing on what your needs are. If you need a very specific solution, or certain locations, or if you’re just a humble developer who might be better off with a smaller company, start from there.
Learn more about AWS with our Getting Started with AWS screencast.
The Principles of Beautiful Web Design, 4th Edition
Learn PHP in One Day and Learn It Well
Docker for Web Developers