Bob Ivkovic, Principal of IT Architects
April 16, 2020
I’m not here to debate who’s the king of the castle when it comes to cloud offerings. Many Fortune 500 companies will tell you that AWS is the “beast”. I guess that’s like being a king. Whether a cloud vendor is the king or not really depends on a customer’s cloud requirements and who can meet their needs. Although AWS may have the largest contingent and supporters in the cloud world, Google is stepping up as a reliable and cost-effective cloud offering as its growing number of cloud products and services are closing the gap. As the principal of a consulting firm providing IT architecture consulting practice, we are looking for a good balance between reliability, scalability, and adaptability – and of course a cost-effective cloud option. We are also looking at who has leveraged native cloud technologies and architecture to develop applications built with services packaged in containers, deployed as microservices and managed on elastic infrastructure through agile DevOps processes and continuous delivery workflows. I know this sounds rather technical, but cloud superiority requires advanced technologies and services if we’re going to let others manage our application landscape for us.
Kubernetes and Containers
I’d be a fool to argue which cloud vendor is better and why only because they’re all major players in the market.
AWS is the beast and there is no denying that. You have to be a beast to be able to power Amazon across the globe. Amazon needed some heavy-lifting technologies which software companies just couldn’t provide so they went out and built their own. It was such great stuff that Amazon decided to start their own cloud company. As for Microsoft Azure, this is a no brainer. They do everything else when it comes to information technology so why not cloud, especially a cloud offering that leverages their Windows operating platform and tools. If AWS and Azure are so great, why even talk about Google Cloud? It’s simple – Kubernetes. So, what is Kubernetes? Kubernetes is to Cloud as Windows is to Microsoft. And guess what?
Kubernetes was originally created by Google, although it is now maintained by the Cloud Native Computing foundation. Kubernetes is considered the guts of cloud, and if your cloud platform isn’t based on Kubernetes or container-based
software, you have to question whether your cloud platform is an imposter. Many cloud vendors claim to have containerized cloud architectures, but there is a difference between containers and modular programming. In a nutshell, a container is a distributed application that contain everything it needs to run. Containers are OS and hardware independent, and are deployed based on images such as the official NGINX image which can be pulled from numerous repositories. Like that single NGINX container you can deploy, with Kubernetes you can turn that container into a massively-scaled service that is automatically deployed, updated, scaled, and managed. Kubernetes can be installed in your on-prem data center, or can be run from any number of third-party hosts such as AWS, Google Cloud Platform, Azure, and others. With Kubernetes, your enterprise business can become especially agile and your applications and services will be easier to deploy and manage. This is why cloud customers must become familiar with containers and how to deploy them.
Kubernetes is what makes a cloud platform a native container-orchestration system allowing companies to moves
granular or modular code across various hardware and software environments. And I’m sure you don’t care about this
if a cloud provider is managing your infrastructure, platform, and applications. However, depending your business
and technology requirements – business processes, enterprise standards, technology risk, scalability, integration, etc –
you could be caught with your pants down in the future and it could cost your organization dearly.
Why is Kubernetes Important?
We already now that Kubernetes is a container-orchestration system for automating application deployment, scaling, and management. Did I forget to mention that it is open-source? Everyone loves open source because no one vendor can hold us hostage by getting us into a proprietary cloud environment. The real value of Kubernetes is that it provides a cloud platform for automating deployment, scaling, and operations of application containers across clusters of hosts using a range of container tools. But most important, it is portable and extensible. It not only allows you to deploy those containers to a scalable cluster, it can be used with the addition of other tools to completely automate the orchestration of your containerized applications.
This isn’t the place to get too technical, but it’s important to understand why Kubernetes has solved a lot of our cloud problems. We all remember when virtualization was the big thing. However, full operating system virtual machines were too heavyweight, so the industry created containers. The containers didn’t run on a server, so the industry created Kubernetes to manage the virtual machines in a cluster. This of course led to problems such as managing the Kubernetes cluster, getting the cluster itself to be elastic, to grow and shrink on demand (i.e. offering the cloud customer scalability). Of course it won’t be long before we solve these problems as cloud technologies mature and become part of our corporate IT landscapes. Tech companies such as Red Hat have introduced tools like OpenShift to enable their customers to manage to scale a cluster, while Istio provides more refined insight into what is going on inside the cluster. Now that Kubernetes supports Windows 2019 containers, the question should be, “What’s next?” That will be another article.
For all intents and purposes, when we are in the market for a cloud service, we should be careful that we’re not partnering with a self-proclaimed cloud hosting service that is nothing more than a bunch of hardware, networks, and software that mimics our on-prem environment. Many customers have realized late in the game that they’ve been duped and are now contractually obligated by their cloud contracts only because they didn’t know what cloud was and what they were getting into. Many cloud services offer a Kubernetes-based platform or infrastructure as a service (IaaS or PaaS) on which Kubernetes can be deployed as a platform-providing service. Many vendors also provide their own branded Kubernetes distributions. The important thing to understand is that Google started on the right foot when they invented Kubernetes, and the fact that their cloud architecture is based on Kubernetes, gives me a comfort feeling that they are a “true” and architecturally sound cloud offering. And because they are Google, they will be working on perfecting their cloud offering just as some of the other big players like AWS and MS Azure. But don’t forget that Google was probably the first when it comes to deploying container-based cloud architecture.
The Rave Behind Google Cloud
Google Cloud is a strategic vendor as it is working toward meeting its enterprise cloud vision by leveraging emerging technologies from shining cloud-native startups, as well as its own analytics and machine learning expertise. Google has also created programs to help customers leverage its engineering and operations team. It has taken great strides in developing its processes to deal with enterprise accounts around the globe – namely contracts, discounts, licensing and integration. As we know, these processes are a challenge for most customers, especially those getting into cloud. It is
also focused on partnering with capable managed service providers as it expands its cloud offering footprint.
The Google Cloud Platform and its open hybrid and multi-cloud application platform known as Anthos are working to break into digital transformation budgets. As we know, cloud offerings can get quite expensive if we don’t know what we’re doing. Meanwhile, Google is looking at expanding its key verticals such as retail and financial services – no different than ERP vendors as they penetrate various industries. Over the past year, Google has built out its cloud platform strategy, sales team, and differentiating services to meet a growing cloud market. Although it is currently in third place, after AWS and Azure, in terms of cloud market share, Google is a fierce competitor as it matures its cloud offering and appeals to potential cloud customers in targeted industries.
According to Gartner’s Magic Quadrant report, Google Cloud is moving up the infrastructure as a service (IaaS)
rankings to become a Tier 1 provider as it invests in service, new analytics capabilities and builds out its portfolio with
acquisitions. Furthermore, Google Cloud’s ability to execute has increased over the years while MS Azure may have
taken a bit of a reliability hit, for now anyways. AWS may be top dog for the time being, but Google Cloud continues
to be a force to be reckoned with, and I’m putting my money on Google.
Mr. Bob Ivkovic is a Principal with IT Architects in Calgary, Alberta. IT Architects (www.itarchitects.ca) is an information consulting firm specializing in business process optimization, system evolution planning, and the deployment of leading-edge technologies. If you require further information, Bob can be reached at firstname.lastname@example.org or 403-630-1126.