|
| 1 | +:_content-type: CONCEPT |
| 2 | +:imagesdir: ../../images |
| 3 | + |
| 4 | +[id="about-travelops-pattern"] |
| 5 | += About the travelops pattern |
| 6 | + |
| 7 | +Use case:: |
| 8 | + |
| 9 | +* Use a GitOps approach to manage hybrid and multi-cloud deployments across both public and private clouds. |
| 10 | +* Enable cross-cluster governance and application lifecycle management. |
| 11 | +* Securely manage secrets across the deployment. |
| 12 | ++ |
| 13 | +[NOTE] |
| 14 | +==== |
| 15 | +Based on the requirements of a specific implementation, certain details might differ. However, all validated patterns that are based on a portfolio architecture, generalize one or more successful deployments of a use case. |
| 16 | +==== |
| 17 | + |
| 18 | +Background:: |
| 19 | + |
| 20 | +The {trvlops-pattern} deployed using OpenShift GitOps and is comprised of Red Hat Service Mesh (RHSM), Kiali for the Service Mesh console, Jaeger for distributed tracing, and elasticsearch for logging and analytics. The application deployed is from the Kiali traveldemo tutorial. This pattern isn't as much about the demo as it is about the capabilities that are enabled with a few simple configurations. Service Mesh's are being incorporated across multiple platforms to provide secure communications between services. |
| 21 | + |
| 22 | +//In this pattern we implement Mutual TLS (mTLS) which is completed per namespace. To enable a namespace in the mesh you must add the namespace to the list under `serviceMeshMemberNamespaces` in `values-travelops.yaml`. This will create a Service Mesh Member (SMM) resource, which tells the Service Mesh that resources in the namespace are authorized in the mesh. |
| 23 | + |
| 24 | +Organizations are aiming to develop, deploy, and operate applications on an open hybrid cloud in a stable, simple, and secure way. This hybrid strategy includes multi-cloud deployments where workloads might be running on multiple clusters and on multiple clouds, private or public. |
| 25 | +This strategy requires an infrastructure-as-code approach: GitOps. GitOps uses Git repositories as a single source of truth to deliver infrastructure-as-code. Submitted code will be checked by the continuous integration (CI) process, while the continuous delivery (CD) process checks and applies requirements for things like security, infrastructure-as-code, or any other boundaries set for the application framework. All changes to code are tracked, making updates easy while also providing version control should a rollback be needed. |
| 26 | + |
| 27 | +[id="about-solution"] |
| 28 | +== About the solution |
| 29 | + |
| 30 | +This architecture covers a single cluster for all DevOps and GitOps functionality. However, one could extend this architecture to meet hybrid or multicloud demand using a GitOps approach |
| 31 | + |
| 32 | +Benefits of Hybrid Multicloud management with GitOps: |
| 33 | + |
| 34 | +* Unify management across cloud environments. |
| 35 | +* Dynamic infrastructure security. |
| 36 | +* Infrastructural continuous delivery best practices. |
| 37 | + |
| 38 | +In the following figure, logically, this solution can be viewed as being composed of an automation component, unified management including secrets management, and the clusters under management, all running on top of a user-chosen mixture of on-premise data centers and public clouds. |
| 39 | + |
| 40 | +.Logical diagram of hybrid multi-cloud management with GitOps |
| 41 | +image::multicloud-gitops/logical-diagram.png[Logical Architecture] |
| 42 | + |
| 43 | +[id="about-technology"] |
| 44 | +== About the technology |
| 45 | + |
| 46 | +The following technologies are used in this solution: |
| 47 | + |
| 48 | + |
| 49 | +https://www.redhat.com/en/technologies/cloud-computing/openshift/try-it[Red Hat OpenShift Platform]:: |
| 50 | +An enterprise-ready Kubernetes container platform built for an open hybrid cloud strategy. It provides a consistent application platform to manage hybrid cloud, public cloud, and edge deployments. It delivers a complete application platform for both traditional and cloud-native applications, allowing them to run anywhere. OpenShift has a pre-configured, pre-installed, and self-updating monitoring stack that provides monitoring for core platform components. It also enables the use of external secret management systems, for example, HashiCorp Vault in this case, to securely add secrets into the OpenShift platform. |
| 51 | + |
| 52 | +https://www.redhat.com/en/technologies/cloud-computing/openshift/try-it[Red Hat OpenShift GitOps]:: |
| 53 | +A declarative application continuous delivery tool for Kubernetes based on the ArgoCD project. Application definitions, configurations, and environments are declarative and version controlled in Git. It can automatically push the desired application state into a cluster, quickly find out if the application state is in sync with the desired state, and manage applications in multi-cluster environments. |
| 54 | + |
| 55 | +https://www.redhat.com/en/technologies/management/advanced-cluster-management[Red Hat Advanced Cluster Management for Kubernetes]:: |
| 56 | +Controls clusters and applications from a single console, with built-in security policies. Extends the value of Red Hat OpenShift by deploying apps, managing multiple clusters, and enforcing policies across multiple clusters at scale. |
| 57 | + |
| 58 | +https://www.redhat.com/en/technologies/cloud-computing/openshift/what-is-openshift-service-mesh[Red Hat Service Mesh]:: |
| 59 | +Red Hat® OpenShift Service Mesh provides a uniform way to connect, manage, and observe microservices-based applications. |
| 60 | + |
| 61 | +https://www.redhat.com/en/technologies/management/ansible[Red Hat Ansible Automation Platform]:: |
| 62 | +Provides an enterprise framework for building and operating IT automation at scale across hybrid clouds including edge deployments. It enables users across an organization to create, share, and manage automation, from development and operations to security and network teams. |
| 63 | + |
| 64 | +Hashicorp Vault:: |
| 65 | +Provides a secure centralized store for dynamic infrastructure and applications across clusters, including over low-trust networks between clouds and data centers. |
| 66 | + |
| 67 | +This solution also uses a variety of _observability tools_ including the Prometheus monitoring and Grafana dashboard that are integrated with OpenShift as well as components of the Observatorium meta-project which includes Thanos and the Loki API. |
0 commit comments