Cloud Computing: AWS vs. Google vs. Red Hat
A high level look at the cloud computing services and solutions offered by Amazon, Google, and Red Hat.
For the purposes of this article, I want to map out what I feel are the 3 best Cloud Computing providers: Amazon AWS, Google Cloud, and Red Hat.
Cloud Computing is a broad topic but can be categorized in to 3 main areas: Public Clouds, Private Clouds, and Hybrid Clouds.
Public Cloud computing gets most of the attention, and Amazon Web Services(AWS) has the most market share in this space. Amazon had first mover advantage and AWS has the lead both in terms of market share, but also in the number of Public Cloud services available.
In terms of reported market share based on revenue, Microsoft has the second most with their Azure cloud services, but many feel that is misleading since a large portion of what Microsoft includes in their “commercial cloud business” includes not only Azure, but also software-as-a-service(Saas) solutions like Office 365, Dynamics 365, and other segments of the Productivity and Business Processes Division. If a company is a “Microsoft Shop” and has invested heavily in Microsoft’s technology then Microsoft Azure is the obvious choice… so I am not including it in this comparison. They same can be said for cloud services from other companies like Oracle, and IBM. If you are invested heavily in their technology, then their cloud solutions may be the best fit for your organization.
According to the State of the Cloud report by Rightscale, Private Cloud and Hybrid Cloud strategies continue to grow. According to the report enterprises that combine public and private clouds grew to 58 percent in 2019 from 51 percent in 2018. Companies run a majority of workloads in cloud, according to Rightscale. Respondents overall run 38 percent of workloads in Public Cloud and 41 percent in Private Cloud. Respondents to the survey are already running applications in a combination of 3.4 public and private clouds and experimenting with 1.5 more for a total of 4.9 clouds. Among those using any public cloud, respondents are currently using 2.0 public clouds and experimenting with 1.8 more. Among those using any private cloud, respondents are currently using 2.7 private clouds and experimenting with 2.0 more.
In my opinion, Red Hat has the most viable solutions for Private Cloud, and Hybrid Cloud and so I am including Red Hat in this comparison.
AWS vs. Google vs. Red Hat Cloud Services Map
A quick way to understand what the various cloud services providers offer is to map similar functionality in a table. The following table provides a high-level mapping of the services provided by AWS, Google, and Red Hat platforms.
SERVICE | AMAZON | RED HAT | |
Cloud Platform | AWS | Google Cloud Platform | OpenStack |
IaaS | Elastic Cloud Compute | Compute Engine | Cloud Infrastructure |
PaaS | Elastic Beanstalk | App Engine | OpenShift |
FaaS(Serverless) | AWS Lambda | Cloud Functions | OpenWhisk |
Hybrid/Private | Outposts | Anthos | OpenStack |
Hybrid Cloud & Private Cloud Computing
In cloud computing, hybrid cloud refers to the use of both on-premises resources in addition to public cloud resources. A hybrid cloud enables an organization to migrate applications and data to the cloud, extend their datacenter capacity, utilize new cloud-native capabilities, move applications closer to customers, and create a backup and disaster recovery solution with cost-effective high availability.
Private cloud refers to a model of cloud computing where IT services are provisioned over private IT infrastructure for the dedicated use of a single organization. A private cloud is usually managed via internal resources. Private Cloud and Virtual Private Cloud (VPC) are often used interchangeably. Technically speaking, a VPC is a private cloud using a third-party cloud provider’s infrastructure, while a private cloud is implemented over internal infrastructure.
Amazon and Google are now both investing heavily in Hybrid and Private Cloud solutions, but these solutions are afterthoughts and are not elegantly architected into their core platform. Amazon Outposts is a fully managed service from AWS where customers get AWS configured hardware and software delivered to their on-premise data center or co-location space to run applications in a cloud-native manner without having to run it at AWS data centers. Google Anthos lets you build and manage modern hybrid applications on existing on-premises investments or in the public cloud. Built on open source technologies pioneered by Google—including Kubernetes, Istio, and Knative—Anthos enables consistency between on-premises and cloud environments, but not nearly as consistent as Red Hat’s solutions.
Red Hat has the broadest supported solution with the OpenStack Platform. OpenStack is a set of free and open source software tools for building and managing cloud computing platforms for public and private clouds. Backed by some of the biggest companies in software development and hosting, as well as thousands of individual community members, many think that OpenStack is the future of cloud computing. OpenStack is managed by the OpenStack Foundation, a non-profit that oversees both development and community-building around the project. OpenStack allows companies to utilize their existing investment in hardware to provision hybrid or private cloud solutions. With AWS and Google, users are locked into those company’s ecosystem. Unlike AWS or Google’s solutions, OpenStack allows companies numerous options for which Cloud Provider to use.
And The Winner Is…
Like most things with technology, there is not a clear winner with Cloud Computing. It all depends on what problem you are trying to solve, and what your strategy is.
I am an advocate of Open Source solutions, and try to avoid vendor lock-in and proprietary solutions when possible. The battle for Cloud Computing is actually more about API’s… and using those API’s ultimately means utilizing proprietary interfaces and microservices… which leads to some degree of vendor lock-in. I will most likely write more about that in the future.
That being said, I think there are some clear leaders in various segments. For Infrastructure as a Service(IaaS) Google and Amazon have the largest most robust global assets and network. Amazon has the most global data centers but I lean toward Google’s data centers and their private global fiber network. Both Amazon and Google are best in class for infrastructure if you are just looking to spin up virtual machines and run servers in the cloud.
Moving up a level of abstraction gets us into the Platform as a Service(PaaS) space. The goal of these solutions is to lower the barrier of entry and make developing applications possible to the the largest possible community of developers, researchers, and businesses. The focus is on the developer for these solutions, reducing the need for skills in system administrators, ops, and security. These solutions scale your application by automatically starting new machine instances and deploying your application to the new instance. All your instances are automatically running behind a load balancer.
The PaaS solutions provide excellent integration with other services using simple API calls. It can be argued that the race for market dominance among cloud providers is actually all about which vendor has the best and broadest API’s. Google has an advantage in this space with simple API’s to services including Google Accounts for login, Gmail, Google Maps, and more. Additionally, Google also has a broad array of Artificial Intelligence and Machine Learning services although AI as a service is available from many cloud providers now.
Moving up yet another layer of abstraction takes us to the Functions as a Service(FaaS) or serverless space. FaaS is the concept of serverless computing via serverless architectures. Software developers can leverage this to deploy an individual “function”, action, or piece of business logic. They are expected to start within milliseconds and process individual requests and then the process ends.
Just like PaaS, FaaS provides the ability to easily deploy an application and scale it, without having to provision or configure servers. Function based apps can be used to replace microservice style architectures and background type services. Serverless computing allows businesses to run compute-intensive functions on-demand with the near-unlimited scale of the cloud providers, and pay only for the time that code is actually running.
A lot of innovation is still going on in serverless computing and things are rapidly improving and changing. Amazon uses AWS Lambda, Google uses Cloud Functions, and RedHat appears to be coalescing around Apache OpenWhisk. A dominate solution or platform has not emerged yet.
Not every language is available on every platform for writing functions. JavaScript (Node.js) is really the only universally supported language and is the most commonly used in examples within documentation across all providers.
LANGUAGE | AWS Lambda | GCP Functions | Apache OpenWhisk |
---|---|---|---|
JavaScript(node.js) | Yes | Yes | Yes |
Java | Yes | No | Yes (Partial) |
C# | Yes | No | No |
Python | Yes | No | Yes |
PHP | No | No | Yes |
Go | Yes (Partial) | No | No |
F# | No | No | No |
Swift | No | No | Yes |
In terms of maturity, efficiency, language support, and ecosystem integration, AWS Lambda has the lead. However, if a Private or Hybrid Cloud and you desire Open Source solutions, then Apache OpenWhisk is the leader.
If your organization needs a Private Cloud, or a Hybrid Cloud and wants to avoid vendor locking I think their is a very clear winner. Red Hat uses Open Stack as their native platform for cloud services, and also uses it for their hybrid and private cloud solutions. Additionally, because OpenStack is open source software, you can run it on Amazon AWS and on Google Cloud. The same applies for OpenShift, and OpenWhisk. The ability to choose from numerous cloud vendors along with having the same solution for private and hybrid cloud scenarios makes OpenStack, OpenShift, and OpenWhisk the ideal technologies to build your cloud computing solutions on if you are considering a Hybrid Cloud or Private Cloud.