Distributed Kubernetes Solutions

Comparing Platform9 Managed Kubernetes (PMK) and Google Anthos

As enterprises move towards deploying multi-cloud, hybrid, and edge workloads, we are seeing an evolution in the landscape towards distributed Kubernetes products and solutions managed through cloud-hosted and SaaS control planes.

This paper compares Platform9 Managed Kubernetes (PMK) and Google Anthos both of which offer the following key capabilities:

  • They enable deployment and management of Kubernetes  clusters on at least one public cloud, on data centers, and at edge locations
  • They provide a cloud-hosted management plane to operate Kubernetes clusters, including upgrades, monitoring, uptime SLAs, integration support, RBAC, and multi-tenancy. Note that these are all for the Kubernetes components (as opposed to the underlying infrastructure).

Let’s first review the key differences between the two solutions, before drilling into a detailed comparison table. The two most important differences are:

Comparing Platform9 Managed Kubernetes (PMK) and Google Anthos

Freedom from lock-in

Lock-in comes in several forms:

  • Incompatibility with upstream open-source Kubernetes versions
  • Tight coupling of managed Kubernetes services with specific upstream Kubernetes versions
  • Proprietary products or cloud services that are bundled into or optimized with the Kubernetes offering, which are difficult to decouple from
  • Lack of functionality or compatibility with certain cloud, edge or on-premise infrastructure types
  • Requirement for system integration and professional services to implement large-scale deployments for hundreds of clusters. This challenge is magnified if you have edge use cases.

Platform9 has the least lock-in considering the above factors. Google Anthos runs on-premises and on AWS with limited functionality compared to GKE, and each version of Anthos is tightly coupled with a specific Kubernetes version.

Maturity as a distributed, multi-cloud Kubernetes service

Maturity of the managed Kubernetes service is important because once deployed, the clusters need to be operated in an efficient and risk-averse manner. There also needs to be a minimal set of capabilities and integrations that allows DevOps teams to quickly deploy and get value out of Kubernetes. Here are some factors that help assess the maturity of a managed Kubernetes service:

  • Amount of time a production-ready (generally available) version of the service has been available in the market
  • Lifecycle management of critical components that are needed to run applications on Kubernetes clusters
  • Compatibility and ease of integration with Kubernetes ecosystem
  • Range of cloud providers and infrastructure types across which the service is managed in a consistent way

Platform9 has offered production-ready managed Kubernetes to enterprises since February 2017. Its SaaS-managed control plane can manage thousands of edge sites just as easily as multi-cloud or on-premises multiple k8s clusters. Google Anthos is inconsistent in the functionality it provides on GKE versus on-premises and other clouds.

Detailed Comparison Table

The following detailed comparison table covers 19 technical and operational categories including deployment & provisioning, application & infrastructure management, and production features such as HA, zero-touch upgrades, and monitoring. The pie charts indicate level of completeness of the corresponding capability in PMK and Google Anthos.

Platform9 Managed Kubernetes
Google Anthos

Deployment

Supported cloud infrastructure

While the promise of Kubernetes is complete portability of workloads, in reality managed Kubernetes services don't always support clusters running just anywhere. Organizations planning for hybrid or multi-cloud long term goals must consider the support and compatibility of managed Kubernetes services on the various cloud providers and infrastructure options that are a part of their long term plan. As opposed to simply attaching Kubernetes clusters for visibility, a fully-managed Kubernetes offering would include maintenance, upgrades, deploys, and other capabilities on the supported infrastructure that go beyond providing basic visibilty.

100% Platform9’s unique remotely-hosted SaaS-managed offering enables organizations to run upstream open source Kubernetes clusters on any infrastructure:
  • on-premises
  • public clouds
  • at the edge
Platform9 remotely handles all the complex monitoring, alerting, upgrading, and SLA management.
75% Manages Kubernetes clusters running on-premises and in Google Cloud and AWS (Azure support is in preview mode). However, several enterprise features only available when deployed on GKE, such as: multi-cluster Ingress, security/encryption features, service mesh features, usage metering, and auto-scaling.

Speed of Onboarding

A successful Kubernetes platform must be easy to implement and maintain so organizations can leverage containers continuously. This alone is a major barrier that many organizations do not overcome.

100% Fully automated deployment and easy UI-driven wizard gets Kubernetes clusters running in a few minutes.
50% Requires setup of multiple tools. Manual setup and configuration process.

Multi-version support

Organizations may need to run multiple versions of Kubernetes rather than be forced to stick to a single, specific version based on the managed service providers' support. This is advatageous when test/dev clusters are not preferred to be on the same Kubernetes version as production clusters, or when an organization is currently on a different version of Kubernetes than the one that the managed service supports.

100% Platform9 Managed Kubernetes maintains a list of supported Kubernetes versions and users are able to deploy a selected version at the time of cluster creation.
50%
  • Each version of Anthos is tied to a Kubernetes version, so upgrading your cluster requires an Anthos upgrade.
  • Multiple clusters can't be deployed with different versions of Kubernetes.

Bare metal cloud

For organizations looking to deploy Kubernetes clusters on premises, deploying clusters on bare metal must be a seamless experience in order for them to fully realize the value of Kubernetes and containers. This enables organizations to do away with virtualization licensing costs, the management overhead associated with the virtualization stack, and the performance hit that applications incur because of the hypervisor layer. Kubernetes solutions that include or tightly integrate with bare metal orchestration and automation tools have an advantage, since they enable organizations to run Kubernetes on bare metal without the pain of managing bare metal themselves.

100%
  • Platform9 Managed Bare Metal provides end-to-end automation for bare metal nodes that are added to Platform9 Managed Kubernetes clusters.
  • Provisioning, deployment, and management of bare metal nodes can be done from the Platform9 SaaS control plane.
50%
  • Bare metal nodes can be added to Anthos based Kuberentes clusters.
  • Actual bare metal provisioning, deployment, and management is the responsibility of the customer.

Virtualization Support

While running containers efficiently is usually the main motivation for adopting Kubernetes, most organizations find that they still need to run and manage VMs. This happens because of various reasons - some applications are not designed to be run on containers, legacy workloads are harder to containerize, the effort needed to migrate applications to containers is too large and expensive, to name a few. This results in the maintenance of separate stacks for VMs and containers, which increases the operational burden on infrastructure teams. Support for VM management alongside Kubernetes containers simplifies this.

50%
  • Managed Kubevirt enables VMs to be deployed and managed by Kubernetes, alongside containers.
  • Available for Early Access, and will be generally available in mid-2021.
0%
  • Anthos does not currently provide support to run VMs on or alongside Kubernetes clusters.
  • Migrate for Anthos helps transition VM-based workloads into container-based workloads.

Operations

Multi-Cluster Management

A single Kubernetes cluster can scale horizontally to support large sets of workloads. However, running Kubernetes in production requires being able to run multiple Kubernetes clusters, as you will want to fully isolate your dev/test/staging applications from production applications by deploying them on a separate cluster.

100%
  • Built in multi-cluster support.
  • Admins can create and manage multiple clusters across different regions, data centers, edge locations, and public clouds.
100%
  • Supports multi-cluster management and configuration.
  • Clusters can span a range of on-premises or multi-cloud infrastructure.

Monitoring

A production Kubernetes cluster must be monitored at all times to handle any issues and outages without severely affecting cluster and application availability to users. An enterprise Kubernetes solution must provide this capability out of the box.

100%
  • 24 x 7 live monitoring
  • 99.9% guaranteed SLA
  • Proactive repair
  • Automated email notifications for any issues
  • Automated support ticket creation and triaging of issues
  • Out-of-the-box automated deploy of Prometheus and Grafana
75% Uses Google Cloud’s Cloud Logging and Cloud Monitoring platforms by default to monitor clusters. Prometheus and Grafana may also be used. However, Cloud Logging and Cloud Monitoring are required if customers seek official support.

Production grade support/SLAs

As more and more organizations are running their business on Kubernetes, IT must ensure that it can support the SLAs that the business requires. IT must ensure that Kubernetes is available to developers and the business to support key initiatives. Most organizations require 99.9% uptime.

75%
  • Platform9 contractually promises 99.9% cluster uptime and high availability
  • Provides self healing and problem resolution through the service
75%
  • GKE clusters have 99.5% for regional clusters and 99.95% for zonal clusters
  • Anthos GKE on-prem support covers most components like Kubernetes and container runtime, F5 controller, Calico, and Ingress controller

Private registry support and image management

Running containerized applications on Kubernetes clusters requires having access to a container registry where your application images will be stored. A large enterprise organization will typically want a secure private container registry to store their proprietary application images. An enterprise Kubernetes solution should provide image management capability out of box.

25%
  • No out of the box support for private registries.
  • Registries and secrets required to authenticate with the registries need to be managed by the customer separately.
50%
  • No built-in registry service
  • Compatible with all standard Docker registries

Cluster upgrades

Kubernetes has a large community of contributors and a new version is available every 3 months. An enterprise-class solution will support rolling upgrades of clusters, such that the cluster and the cluster API is always available even while the cluster is being upgraded. Additionally, it will provide the ability to rollback to previous stable version upon failure.

100%
  • Fully automated cluster upgrades delivered seamlessly, with no inter- ruption to the environment
  • Zero-downtime upgrade
  • Multi-version support so don’t need to upgrades all clusters at the same time
100% Clusters can be upgraded manually or automatically using methods supported by GKE.

Multi-Tenancy, Role-Based Access Control, and Single Sign-On Support

Kubernetes supports multi-tenancy at the cluster level using the namespace abstraction. However, in a multi-cluster environment, you need a higher level multi-tenancy abstraction to supplement Kubernetes multi-tenancy and provide the right level of isolation across different teams of users. It should integrate with Single-Sign On (SSO) solutions most commonly used by enterprises such as Active Directory or ADFS, Okta, and other popular SAML providers.

100%
  • Support for multi-region management
  • Built-in multi-tenancy support
  • Kubernetes RBAC is fully supported
  • Full support for Single- Sign On (SSO). Integrate with a SAML-based provider that your organization uses such as Okta, ADFS, Ping Identity, etc.
75%
  • Uses native Kubernetes RBAC
  • RBAC settings can be managed centrally through Anthos Config Management
  • Full support for multi-tenant clusters

Support for automated application deployments

Application catalog and Helm provides easy one-click deployment for a set of pre-packaged applications on top of Kubernetes. It also provides end users a vehicle to build and publish their own applications via the catalog for others in their team or their organization to deploy in a one click manner. The application catalog enables organizations to standardize on a set of application deployment recipes or blueprints, avoiding sprawl of configurations.

25%
  • Administrators can provide users access to applications that are private to the organization
  • Support for managed apps
  • Users can leverage Helm to deploy applications on Platform9, and Platform9 support will help with issues. Application catalog will be available in Platform9 in 2021.
75%
  • Applications can be deployed from Google Cloud Platform Marketplace
  • Applications can also be deployed using Helm charts or similar techniques using Anthos Config Management repos; however, this requires some manual setup

Managed CNI

Networking in Kubernetes can get complex, and is not trivial to understand. Kubernetes specifies a Container Network Interface (CNI) which enables software defined networking plugins like Calico and Flannel to be integrated with Kubernetes clusters. The lifecycle of the CNI must be managed by the platform provider, and the vendor is able to help troubleshoot issues with the CNI. Services are provided on the design and implementation of cluster networking by the managed offering.

100%
  • Platform9 supports both Flannel and Calico, with Calico as the defualt and prefered CNI
  • As an experienced managed provider, Platform9 manages the entire lifecycle of Calico. This is made possible through a combination of software and years of experience operating SDNs for large enterprise Openstack Neutron deployments.
75%
  • Works with networking options provided by GKE (Flannel, Calico)
  • Anthos Service Mesh provides Istio CNI out of the box, on-prem and on GKE

Managed Load balancing

Load balancers are an important component of Kubernetes clusters - not just for load distribution, but also for Ingress. A complete, production-ready Kubernetes solution should include load balancers that are supported on the underlying infrastructure. It should also manage the lifecycle of the load balancer.

100%
  • Platform9 installs, suports and manages the life cycle of a service load balancer across all cloud and on-premises infrastrucure
  • On public clouds Platform9 will deploy the natvie cloud load balancer and manage the deployment within the lifecycle of the cluster
  • For Edge and On-premises deployments Platform9 deploys and manages MetalLB.
25% Integrates with F5 natively for on-prem deployments, Google Cloud Load Balancer on GKE, and various third party options on-prem and on AWS/GKE.

Integrations

Support for CI/CD integrations

One of the most critical workloads run by the developers is Continuous Integration / Continuous Delivery. A robust CI / CD pipeline is critical to ensure agile development and rapid delivery of new software releases to customers.

50% Platform9 integrates with most major third party CI/CD toolchains.
75%
  • Any CI/CD tools that are compatible with GKE can deploy to clusters managed via Anthos
  • Cloud Build is Google Cloud’s native CI/CD solution, but most major third-party tools are supported as well

Storage Integrations

Similar to networking, integration with enterprise grade storage is an essential component of running Kubernetes clusters in production. Kubernetes provides an abstraction called Persistent Volumes to hold data persisted by stateful applications. It is important for a Enterprise Kubernetes product to map PVs to an actual highly-available storage technology. Enterprises will typically want their Kubernetes deployment to integrate with storage solutions that they have already deployed such as NetApp, Pure, SolidFire, etc. or they may want to integrate with a container native storage technology such as Portworx

75%
  • Supports integration with any FlexVolume drivers
  • Integrates with any Cinder-supported storage backend (NetApp, Pure Storage, etc.)
  • Compatibility with all CSI-compliant backends
75%
  • Compatible with GKE-supported storage solutions (standard Kubernetes volumes and certain GCP storage services)
  • Storage add-ons can be deployed through Google Cloud Platform Marketplace

Portability and Readiness

Effort to migrate off of provider

Lock-in occurs in differnet ways. Some of the common ways are: cloud services that tie organizations to vendors, vendor-specfiic Kubernetes distributions, architecture, and the skillsets and culture of teams. This is an important factor to consider when adopting a managed Kubernetes service.

100%
  • Organizations use Platform9 to deploy upstream Kubernetes versions of their choice, on any infrastructure. The clusters could be deployed on multiple public clouds, in data centers, or at edge locations. The functionality and managed offerings do not vary at all between the various deployment options.
  • Platform9 provides managed services around Kubernetes (like MetalLB and Calico), and these are all open-source technologies which are provider-agnostic.
75% Customer deploys upstream Kubernetes, but will lose several important operational services when switching. Especially for clusters deployed on GKE, services running on top like multi-cluster Ingress, security/encryption features, service mesh features, usage metering, and auto-scaling will all have to be re-architected to move off of Anthos.

Production readiness

Given the complexity of Kubernetes, it is important for the managed Kubernetes service to have been generally available in the market for a reasonable amount of time. Especially for clusters deployed in production environments, experienced support and a reliable, battle-tested product are important factors to consider.

100% Launched in February 2017 as the industry’s first infrastructure-agnostic managed Kubernetes service.
50% Generally available since April 2019, and support for connecting bare metal nodes to Kubernetes clusters has been generally available since November 2020

Free managed service plan

Not every company is ready to go into production right away. Kubernetes is still new and companies need the room to start free, learn, test, and then scale to production on their terms. A 100% free managed service gives users the freedom to start at zero cost and grow at their own pace into more supported options.

100%
  • Platform9 Managed Kubernetes has a free tier (available here).
  • It’s free forever up to 20 nodes capacity, with Slack support and critical alerts capability
50% Free trial for 30 days, with usage limits.

Summary

Getting the most out of Kubernetes for multi-cloud, edge, and distributed deployments is very complex and challenging. Despite all of the built-in automation features that Kubernetes offers for managing container workloads intelligently, achieving optimal performance, cost and reliability at distributed scale requires careful planning and tuning of Kubernetes environments. 

The operational complexity increases exponentially with large-scale distributed sites such as 5G rolls-outs or retail stores have to deal with. Challenges increase when you add requirements for advanced networking, stringent latency and performance needs, central/remote management, and bare metal orchestration. 

Unlike Google Anthos which is basically an extension of GKE to work with on-premise environments, Platform9 Managed Kubernetes has been designed from the ground up to centrally manage  massively distributed and diverse infrastructure environments. Platform9 has large-scale production deployment experience since 2017 using 100% open source Kubernetes that is 100% cloud or infrastructure agnostic.

The browser you are using is outdated. For the best experience please download or update your browser to one of the following:

Upcoming Workshop: 0 – K8s in 2-hours | Thursday, Dec. 2nd at 11:30 AM PTRegister Now