Solution Patterns: Instant MultiCloud - Openshift Everywhere

This solution pattern brings an architectural solution demonstrating how easily we can deploy containerized applications on Kuberenetes cluster in multiple clouds directly from the Github code repository of an application using GitHub Actions.

Contributors: Gaurav Midha (Red Hat)

1. Usescases

Multicloud is a cloud approach made up of more than 1 cloud service, from more than 1 cloud vendor—public or private. A company that uses a multi-cloud deployment incorporates multiple public clouds from more than one cloud provider. Instead of a business using one vendor for cloud hosting, storage, and the full application stack, in a multi-cloud configuration they use several.

whatismulticloud

Typical uses cases are

  • Flexibility: No single cloud can do everything well. Organizations need different cloud tp povide for different capabilities

  • Proximity and data sovereignty: With cloud users who are thousands of miles away, there is a need to reduce poor response times

  • Data sovereignty: With xregulations in certain countries, organizations need to adhere to the regulations of the country in which that data is located

  • Failover: Multicloud environments help protect enterprises from outages

2. The story behind the pattern


Kubernetes is an open-source container orchestration engine for automating deployment, scaling and management of containerized applications. It is being used heavily for production grade applications. Kubernetes clusters are being created and used in public and private clouds. Managed Kubernetes clusters(EKS, AKS, GKE) in hyperscalers provide different integration toolsets, different dev experience (beyond kubectl), different life-cycles, different technologies (OS, kube version, mesh options), and so on. All public clouds provide their own different:

  • Development tools.

  • Infrastructure and application deployment approaches.

  • Networking/topologies.

  • Security configuration and compliance.

  • Training and certification.

This results in multifold additional burden on the enterprises who now need to build expertise in different Development tools, Infrastructure and application deployment approaches, Networking/topologies etc. What enterprises need is a single, simple and consistent way to deploy to the multi-cloud with relative ease.

Each Organization’s goals should be:

  • Reduce infrastructure complexity by abstracting it.

  • Get a consistent platform on any cloud infrastructure.

  • Use a SRE managed application platform.

  • Consistency - reduce developer and operations overhead.

  • Turnkey - avoid over-investing in your own platform engineering.

  • Take advantage of strong cloud partnerships through Red Hat.

Red Hat has a premium managed Openshift offering in the key hyperscalers such as AWS, Azure & GCP. In this pattern, we will be demonstrating how we can use a CI/CD platform such as GitHub workflows and deploy our applications to Managed Openshift platforms running in the hyperscalers.

Consistent environments for engineers are often thought of as unattainable in multicloud architectures. Traditional application architectures tend to bring constraints and inconsistencies which inhibit a multicloud strategy. Enterperises would like to be pick and choose the right cloud for the right requirement and features, and also be able to port applications across different cloud with ease.

3. The Solution

This solution pattern demonstrates how we can deploy to Multi Cloud - Openshift clusters using a CI/CD pipeline directly from GitHub itself. In the workshop, we will be deploying an application OsToy to managed Openshift clusters running in AWS, Azure and GCP.

Through the power of Red Hat Openshift cloud services, portable applications can be a reality today. In the workshop, we will be deploying an application OsToy to managed OpenShift clusters running in AWS, Azure and GCP.

Red Hat Openshift Managed Services reduce operational complexity allowing developers to focus on building and scaling applications that add more value to the business, go-to-market faster and get more from your cloud environment.

  • Faster time to value: Fully-managed clusters increase developer productivity. Developers focus on value-add applications.

  • Increase Operational Efficiencies: Fully-managed clusters increase infrastructure and daily operations efficiency.

  • 24X7 Expert Support: 24x7 full-stack management and support from industry leading SRE team.

  • Hybrid-Cloud Deployments offer Choice & Flexibility: Only company to offer managed Kubernetes on all major public clouds.