Red Hat OpenShift
Google Anthos
Provisioning of Kubernetes Clusters
Fully automated provisioning of clusters
Fully automated provisioning of clusters
High Availability and Healing
- The default HAProxy load balancer can be used to create a multi-master and multi-etcd cluster environment – with etcd nodes either forming their own cluster or deployed on the same node as the master
- Leverages native Kubernetes features to deliver HA and healing
- Supports a variety of resilient load balancer options
- Supports multi-master deployments
Deployment Model(s) Supported
- Public cloud (OpenShift Online)
- SaaS-managed (OpenShift Dedicated)
- Hybrid cloud (OpenShift Container Platform)
- Can manage Kubernetes clusters running on-premises and in Google Cloud and AWS (Azure support is in preview mode)
- However, clusters must be managed through GKE
Prerequisites and Operating System Requirements
Works only with Red Hat Enterprise Linux (a RHEL subscription is required and bundled into OpenShift)
- Supports all popular enterprise Linux distributions –
Monitoring and Operations Management
- Diagnostic tools via command line for health statistics
- Prometheus and Grafana for environment health monitoring and visualization
- 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
Cluster Upgrades
- Can be automated with Ansible playbooks, or performed manually
- Clusters can be upgraded manually or automatically using methods supported by GKE
Multi-cluster Management
- A typical deployment creates a single Kubernetes cluster that is designed to scale up to 2000 nodes and 120,000 pods
- All users of that deployment are expected to share that single cluster and achieve isolation via a combination of Kubernetes namespaces, and OpenShift multi-tenancy
- Starting with OpenShift 4, multiple clusters can be managed through Red Hat’s hybrid cloud console
- Supports multi-cluster management and configuration
- Clusters can span a range of on-premises or multi-cloud infrastructure
Multi-tenancy, Role-based Access Control, and Single Sign-on Support
- Delivers multi-tenancy through projects, called Kubernetes namespaces
- Kubernetes RBAC is utilized to define granular access policies for users
- There is no cross cluster multi-tenancy
- Uses native Kubernetes RBAC
- RBAC settings can be managed centrally through Anthos Config Management
- Full support for multi-tenant clusters
Private Registry Support and Image Management
- Relies primarily on built-in OpenShift registry. Can be used with third-party registries such as Docker Hub, but images must be imported manually on the command line
- No built-in registry service
- Compatible with all standard Docker registries
Hybrid Cloud Integrations and APIs
- OpenShift Container Platform supports deployment on hybrid and multi-cloud environment. However, all infrastructure must be provisioned with RHEL
- Supports hybrid infrastructure built using a range of public clouds, private data centers and operating systems
- However, requires use of Google Cloud services (GKE) for infrastructure management (even if clusters are deployed on other clouds or on-premises)
User Interface and Experience
- Provides a native UI that enables management of your Kubernetes resources and the catalog
- Provides a management dashboard as part of Google Cloud Console
Support for automated application deployments
- Application lifecycles can be managed through either OpenShift Ansible Broker or application templates (the latter support Rails, Django, Node.js, CakePHP, and Dancer)
- 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
Production Grade Service Level Agreement
- 99.5% uptime for fully-managed clusters (OpenShift Dedicated)
- Troubleshooting is handled via support tickets
- Customers drive manual upgrades and any issues require support team engagement
- No advertised SLA for Anthos service
- GKE clusters have 99.5% uptime guarantee
Ease of Setup, Installation, Continuous Use, Management, and Maintenance
- Installing and configuring OpenShift is a manual process that is Ansible-based
- Several Ansible playbooks are required during the installation
- Requires setup of multiple tools. Manual setup and configuration process.
- However, the Migrate for Anthos tool is available to simplify migration of existing containerized applications into Anthos-managed clusters
Networking Support and Integrations
- OpenShift provides CNI support and can integrate with any CNI based SDN
- By default OpenShift SDN is deployed, which configures an overlay network using Open vSwitch (OVS)
- Out-of-the-box third-party CNI plugins supported: Flannel, Nuage and Kuryr
- Works with networking options supported by GKE (Flannel, Calico)
- Requires Cloud VPN or Interconnect on Google Cloud if connecting on-premises clusters to Anthos
Storage Support and Integrations
- Supports integration with network-based persistent storage using the Kubernetes persistent volume framework
- Supports a wide variety of persistent storage endpoints such as NFS, GlusterFS, OpenStack Cinder, FlexVolume, VMware vSphere etc.
- 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
Self Service Provisioning
- Provides a self-service UI (OpenShift Web Console) that is separate from the default Kubernetes dashboard UI to enable self-service for developers and administrators
- Basic self-service options are available through the Anthos dashboard in Google Cloud Console
Support for CI/CD integrations
- Pipelines and build strategies simplify the creation and automation of dev/test and production pipelines
- Ships out-of-the-box with a Jenkins build strategy and client plugin to create a Jenkins pipeline. However, the setup to create and configure production pipelines is manual and time-consuming
- The pipeline build configuration creates a Jenkins master pod (if one doesn’t exist) and then automatically creates slave pods to scale jobs & assign different pods for jobs with different runtimes
- 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