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