Comparing Cloud Computing Platforms


Course Introduction and Overview
Comparing Cloud Computing Platforms
2m 56s
2m 32s
Course Introduction

Comparing Cloud Platforms covers the big three players in cloud computing: Amazon Web Services, Google Cloud Platform, and Microsoft Azure. Each company is improving their products and and targeting different technical areas. This course walks through each provider’s support for aspects of modern IT: Platform as a Service, Serverless, container orchestration support, telemetry, application support, data engineering, geographies, and pricing. The analysis helps existing teams evaluate if they’re on the right provider or help organizations moving to the cloud choose the correct provider.



Hello and welcome to the Comparing Cloud Platforms Course for Cloud Academy. My name is Adam Hawkins and I'm your instructor for this course.

This course compares different cloud platforms, each with their own strengths, weaknesses and unique traits. I've put together nine focus areas to compare against, so you may choose the best fit for  your use case. I myself have been working with cloud providers for almost 10 years now. I've gone through my fair share of small providers in that time, and have spent a large chunk of it working exclusively with AWS. Now I dabble with Google Cloud Platform, and Microsoft Azure. This course covers the big three: Amazon Web Services, Google Cloud Platform, and Microsoft Azure.

We'll go through each with two objectives in mind. I'll propose my nine evaluation criteria for comparing them. You may use these as a base, and refine them as needed for your own use case. The goal is to decide which platform fits your particular use case. My recommendations come from a general best-fit perspective. So remember to confirm my recommendations with your own analysis, for your own exact requirements.

This course targets anyone with cloud computing experience, or those looking to adopt cloud computing. You'll find this course more helpful if you have any prior experience with one or more providers, but it's not a hard requirement. I'll do my best to fill in the gaps as we go.

These providers all have things in common. We won't spend time talking about them because they won't help you make a decision. We can save time right now by starting with the things they have in common. All offer Infrastructure as a Service, or IaaS. This is an on-demand access to virtual machines and other compute infrastructure. Each platform offers combinations of CPU, memory, and I/O to suit different requirements. You may use the Infrastructure as a Service to build or run any type of application or service if you'd like. Also, each provides Linux and Windows instances. Also, each platform offers load balancers that distribute requests across groups of virtual machines that work with auto-scaling applications. You can also expect networking parameters for managing networking between machines, ingress and egress roles, and also DNS. All provide create, read, and update delete access to files in the cloud and can serve them via a CDN. Each platform shares the same general feature set, so there's nothing particularly interesting to see here. And finally, each platform has different ways to manage users, their access rights, and various things you need to make sure that everything stays on track. The end result is the same. Just different kinds of implementations.

I'm guessing nothing I just mentioned sounds particularly interesting. That's because it's really not. Competition is fierce between these providers. They differ in how integrated they are into all of the different phases of the software development life cycle. This boils down to how much one provider offers you and what you'll need to get elsewhere.

I've broken this down into nine different areas. All platforms provide Infrastructure as a Service. The question is, do they provide a Platform as a Service for people who just want to deploy their applications? Serverless is a further abstraction beyond Platform as a Service. Throw your code into the cloud at a function level and let the provider sort it out. Containers are changing IT. Odds are you'll want support for deploying container-less applications to stay ahead of the curve. Also applications need databases to store their data. The question is which data storage does the provider offer you. Just like databases, all applications need telemetry data like time series metric collection, logging, alerting, and request tracing. Application support is a grab bag for all of the other kind of things you'll need to build, deploy, and run an application in production. This covers automation, pipeline management, messaging and things like that. Data engineering is another grab bag of data analytics, real-time processing, warehousing, and visualization. All the different providers operate in different geographical regions. This may be a differentiator for you. We cannot forget dollars and cents. If you can't compete on features, then you need to compete on price. Platforms use different pricing models and different strategies to reduce long-term cost.

I'll give you a simple first, second, and third place ranking at the end of each lesson. Each lesson is bite-sized. So you can focus on the bits most relevant to you. Feel free to skip around if you'd like, the order really isn't important. I'll recap everything in the final lesson.

The next lesson covers Platform as a Service. See you there.

About the Author

Adam is backend/service engineer turned deployment and infrastructure engineer. His passion is building rock solid services and equally powerful deployment pipelines. He has been working with Docker for years and leads the SRE team at Saltside. Outside of work he's a traveller, beach bum, and trance addict.