Book Image

Multi-Cloud Architecture and Governance

By : Jeroen Mulder
Book Image

Multi-Cloud Architecture and Governance

By: Jeroen Mulder

Overview of this book

Multi-cloud has emerged as one of the top cloud computing trends, with businesses wanting to reduce their reliance on only one vendor. But when organizations shift to multiple cloud services without a clear strategy, they may face certain difficulties, in terms of how to stay in control, how to keep all the different components secure, and how to execute the cross-cloud development of applications. This book combines best practices from different cloud adoption frameworks to help you find solutions to these problems. With step-by-step explanations of essential concepts and practical examples, you’ll begin by planning the foundation, creating the architecture, designing the governance model, and implementing tools, processes, and technologies to manage multi-cloud environments. You’ll then discover how to design workload environments using different cloud propositions, understand how to optimize the use of these cloud technologies, and automate and monitor the environments. As you advance, you’ll delve into multi-cloud governance, defining clear demarcation models and management processes. Finally, you’ll learn about managing identities in multi-cloud: who’s doing what, why, when, and where. By the end of this book, you’ll be able to create, implement, and manage multi-cloud architectures with confidence
Table of Contents (28 chapters)
1
Section 1 – Introduction to Architecture and Governance for Multi-Cloud Environments
7
Section 2 – Getting the Basics Right with BaseOps
12
Section 3 – Cost Control in Multi-Cloud with FinOps
17
Section 4 – Security Control in Multi-Cloud with SecOps
22
Section 5 – Structured Development on Multi-Cloud Environments with DevOps

Using push and pull principles in CI/CD

CI/CD pipelines work with branches, although other terms can be used for this. The master branch is sometimes referred to as a mainline or, when teams work in GCP, as a trunk. The most important principle to remember is that a development team has one master branch or mainline. Next, there are two ways of pushing new code to that master branch. These two methods are described in the following sections.

Pushing the code directly to the master

In this method, the developers work directly in the master code; they change small pieces of the code and merge these directly back into the master branch. Pushing code back to the master is called a commit. These commits are done several times per day, or at least as soon as possible. Working in this way ensures that releases can be done very frequently, as opposed to working in code forks that result in separate or feature branches, which are described in the second method. The following diagram...