39,59 €
Are you ready to unlock the full potential of your enterprise with the transformative power of multi-cloud adoption? As a cloud architect, you understand the challenges of navigating the vast array of cloud services and moving data and applications to public clouds. But with 'Multi-Cloud Strategy for Cloud Architects, Second Edition', you'll gain the confidence to tackle these complexities head-on.
This edition delves into the latest concepts of BaseOps, FinOps, and DevSecOps, including the use of the DevSecOps Maturity Model. You'll learn how to optimize costs and maximize security using the major public clouds - Azure, AWS, and Google Cloud. Examples of solutions by the increasingly popular Oracle Cloud Infrastructure (OCI) and Alibaba Cloud have been added in this edition. Plus, you will discover cutting-edge ideas like AIOps and GreenOps.
With practical use cases, including IoT, data mining, Web3, and financial management, this book empowers you with the skills needed to develop, release, and manage products and services in a multi-cloud environment.
By the end of this book, you'll have mastered the intricacies of multi-cloud operations, financial management, and security. Don't miss your chance to revolutionize your enterprise with multi-cloud adoption.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Multi-Cloud Strategy for Cloud Architects
Second Edition
Learn how to adopt and manage public clouds by leveraging BaseOps, FinOps, and DevSecOps
Jeroen Mulder
BIRMINGHAM—MUMBAI
Multi-Cloud Strategy for Cloud Architects
Second Edition
Copyright © 2023 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Senior Publishing Product Manager: Rahul Nair
Acquisition Editor – Peer Reviews: Gaurav Gavas
Project Editor: Rianna Rodrigues
Content Development Editor: Grey Murtagh
Copy Editor: Safis Editing
Technical Editor: Srishty Bhardwaj
Proofreader: Safis Editing
Indexer: Pratik Shirodkar
Presentation Designer: Ganesh Bhadwalkar
Developer Relations Marketing Executive: Monika Sangwan
First published: December 2020
Second edition: April 2023
Production reference: 1210423
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-80461-673-4
www.packt.com
To my wife: I owe you big time. And to my inspirational sources, Eckart Wintzen and Wubbo Ockels. You left too soon.
– Jeroen Mulder
After his study in Journalism, Jeroen Mulder (born 1970) started his career as editor for the economic pages of Dutch newspapers. In 1998 he got involved in internet projects for the British publisher Reed Business Information, creating websites and digital platforms. Highly attracted by the possibilities of the new digital era, Jeroen decided to pursue a career in digital technologies. In 2000 he joined the IT company Origin, which later became Atos Origin and eventually Atos. Within Atos he has fulfilled many roles, but always in the heart of technology.
Jeroen is a certified enterprise and security architect. From 2014 onwards he started concentrating more and more on cloud technology. This included architecture for cloud infrastructure, serverless and container technology, DevOps, security, and AI.
In March 2017 he joined the Japanese technology company Fujitsu, focusing on cloud solutions. In 2021 he was appointed principal cloud architect at Philips Precision Diagnosis, but decided to return to Fujitsu in 2022, where he currently holds the position of principal consultant for the company’s global multi-cloud and security solutions.
Jeroen regularly publishes articles about cloud developments, AI, and emerging tech, and is frequently invited to perform as a speaker at tech events. With Packt, he has previously published books about multi-cloud, DevOps for enterprise architects, and the digital transformation of healthcare.
Once again, I must thank my wonderful wife, Judith, and my two girls for granting me the space and time to write. A big thank you goes out to the whole Packt editing team for making this another epic journey. Lastly, thank you, Fujitsu, for rehiring me. I’m having a blast.
Juan Ramón Cabrera is a Sr. Cloud Solutions Architect at Microsoft with 25+ years of IT experience. He has worked in the army, as an entrepreneur, and in various IT roles, from developer to team lead and IT manager. He has expertise in software development, DevOps, Agile, security, infrastructure, and cloud architecture. He holds several certifications from Microsoft (such as Azure Architect Expert), AWS (CSA Associate), and the Linux Foundation (CKA, CKAD).
Thanks to the author and the publisher for giving me the opportunity to participate and contribute my knowledge and experience to this book. I enjoyed it a lot. Congrats for your work.
Kamesh Ganesan is a seasoned technology professional, an author, and a leader with over 25 years of IT experience in all major cloud technologies, including AWS, Azure, GCP, Oracle and Alibaba. He has over 55 IT and cloud certifications. He has played many IT roles and architected and delivered mission-critical, innovative technology solutions that have helped commercial enterprise and government clients to be very successful. He has written AWS and Azure books and has reviewed many IT/cloud technology books and courses.
I am extremely thankful for all the Gods’ blessings in my life. A special thanks to my wife, Hemalatha, for her motivation and continuous support in all my pursuits, and many thanks to my kids, Sachin and Arjun, for their unconditional love. I am very grateful to my father, Ganesan, and mother, Kasthuri, for their unwavering encouragement throughout my life.
Enterprises are increasingly adopting a multi-cloud strategy, using a mix of Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS), hosted on platforms such as AWS, Azure, and other technology stacks. This leaves the architects and lead engineers with the challenge of how to integrate architectures and manage the enterprise cloud. Architects and engineers will learn how to design, implement, and integrate cloud solutions and set up controls for governance.
The first edition of this book was released in 2020, but developments in the cloud are rapidly evolving. This edition is extended with two cloud platforms that have grown significantly over the past years, Oracle Cloud Infrastructure and Alibaba Cloud. New methodologies have also been adopted by companies to improve cloud management. This includes the financial controls of FinOps and embedded security in DevSecOps.
After the introduction of the concept of multi-cloud, this book covers all of the topics that architects should consider when designing systems for multi-cloud platforms. That starts with designing connectivity to and between the various platforms and creating landing zones in Azure, AWS, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI), and Alibaba Cloud. These clouds will be discussed in this book.
The book is divided into four main sections, covering the following:
Introduction to cloud and multi-cloud architecture and governanceOperations, including setting up and managing the landing zones that provide the infrastructure for cloud environmentsFinancial operations using the principles of FinOpsContinuous delivery and deployment using DevSecOps, covering identity and access management, securing data, security information, and new concepts such as AIOps and Site Reliability Engineering (SRE)The book contains best practices for the major providers, discusses common pitfalls and how to avoid them, and gives recommendations for methodologies and tools. Of course, a book about multi-cloud could never be complete, but this book will provide you with good guidelines to get started with architecting for multi-cloud.
This book targets architects and lead engineers who are involved in architecting multi-cloud environments using Azure, AWS, GCP, OCI, and Alibaba Cloud. A basic understanding of cloud platforms and overall Cloud Adoption Frameworks is required.
Chapter 1, Introduction to Multi-Cloud, provides the definition of multi-cloud and why companies have a multi-cloud strategy.
Chapter 2, Collecting Business Requirements, discusses how enterprises could collect requirements using various enterprise architecture methodologies and how they can accelerate business results by implementing a multi-cloud strategy.
Chapter 3, Starting the Multi-Cloud Journey, explains how businesses can start developing and implementing cloud platforms, describing the steps in transition and transformation.
Chapter 4, Service Designs for Multi-Cloud, discusses governance in multi-cloud using the Cloud Adoption Frameworks of cloud providers.
Chapter 5, Managing the Enterprise Cloud Architecture, covers the architecture principles of various domains, such as security, data, and applications. You will learn how to create an enterprise architecture for multi-cloud.
Chapter 6, Controlling the Foundation Using Well-Architected Frameworks, explains how to define policies to manage the landing zone and get a deeper understanding of handling accounts in landing zones. The Well-Architectured Frameworks of cloud providers are used as guidance in setting up landing zones in various clouds.
Chapter 7, Designing Applications for Multi-Cloud, covers how to gather and validate business requirements for the resilience and performance of applications in the cloud.
Chapter 8, Creating a Foundation for Data Platforms, discusses the basic architecture of data lakes and considers the various solutions that cloud providers offer. You will also learn about the challenges that come with collecting and analyzing vast amounts of data.
Chapter 9, Creating a Foundation for IoT, explores the architecture principles of an IoT ecosystem and discusses how the cloud can help in managing IoT devices. We will explore some of these cloud solutions and also look at crucial elements in IoT, such as connectivity and security.
Chapter 10, Managing Costs with FinOps, focuses on the basics of financial operations in the cloud – for instance, the provisioning of resources and the costs that come with the deployment of resources.
Chapter 11, Maturing FinOps, talks about the transformation to managed FinOps in an organization by setting up a FinOps team, which has a major task in the adoption of the FinOps principles that we discussed in chapter 10.
Chapter 12, Cost Modeling in the Cloud, teaches how to develop and implement a cost model that allows organizations to identify cloud costs (showback) and allocate (chargeback) costs to the budgets of teams or units.
Chapter 13, Implementing DevSecOps, discusses setting up DevOps practices to develop and deploy applications to the cloud, but always with security as a priority, making sure that code, pipelines, applications, and infrastructure remain secure at every stage of the release cycle.
Chapter 14, Defining Security Policies, introduces the security frameworks of cloud providers and overall frameworks such as the Center for Internet Security (CIS) controls. You will learn how to define policies using these frameworks.
Chapter 15, Implementing Identity and Access Management, covers authenticating and authorizing identities. It also provides a good understanding of how to deal with least privileged accounts and the use of eligible accounts.
Chapter 16, Defining Security Policies for Data, starts with explaining data models and data classification. Next, you will learn how to protect data using cloud technologies such as encryption.
Chapter 17, Implementing and Integrating Security Monitoring, discusses the function and the need for integrated security monitoring, using SIEM (Security Information and Event Management) and SOAR (Security Orchestration, Automation, and Response).
Chapter 18, Developing for Cloud with DevOps and DevSecOps, studies the principles of DevOps, how CI/CD pipelines work with push and pull mechanisms, and how pipelines are designed so that they fit multi-cloud environments. Next, you will learn how to secure DevOps processes using the principles of the DevSecOps maturity model and the most common security frameworks.
Chapter 19, Introducing AIOps and GreenOps, introduces the concept of Artificial Intelligence Operations (AIOps) and how enterprises can optimize their cloud environments using AIOps. You will also learn about achieving sustainability in the cloud using GreenOps.
Chapter 20, Conclusion: The Future of Multi-Cloud, provides a peek into the future of emerging clouds and how enterprises can manage the growth of cloud technology within their organizations. The chapter contains sections about SRE as a method to ensure the stability of systems, while development is done at high speed.
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://packt.link/pDhXa.
There are a number of text conventions used throughout this book.
CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. For example: “Mount the downloaded WebStorm-10*.dmg disk image file as another disk in your system.”
Bold: Indicates a new term, an important word, or words that you see on the screen. For instance, words in menus or dialog boxes appear in the text like this. For example: “Select System info from the Administration panel.”
Warnings or important notes appear like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome.
General feedback: Email [email protected] and mention the book’s title in the subject of your message. If you have questions about any aspect of this book, please email us at [email protected].
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you reported this to us. Please visit http://www.packtpub.com/submit-errata, click Submit Errata, and fill in the form.
Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit http://authors.packtpub.com.
Once you’ve read Multi-Cloud Strategy for Cloud Architects, Second Edition, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.
Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.
Read this book alongside other users, cloud experts, authors, and like-minded professionals.Ask questions, provide solutions to other readers, chat with the authors via. Ask Me Anything sessions and much more.
Scan the QR code or visit the link to join the community now.
https://packt.link/cloudanddevops
Thanks for purchasing this book!
Do you like to read on the go but are unable to carry your print books everywhere? Is your eBook purchase not compatible with the device of your choice?
Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.
Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.
The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily
Follow these simple steps to get the benefits:
Scan the QR code or visit the link belowhttps://packt.link/free-ebook/9781804616734
Submit your proof of purchaseThat’s it! We’ll send your free PDF and other benefits to your email directlyPreface
Who this book is for
What this book covers
To get the most out of this book
Get in touch
Introduction to Multi-Cloud
Understanding multi-cloud concepts
Multi-cloud—more than just public and private
Introducing the main players in the field
Public clouds
Private clouds
VMware
OpenStack
AWS Outposts
Google Anthos
Azure Stack
Azure Arc
Emerging players
Evaluating cloud service models
IaaS
PaaS
SaaS
FaaS
CaaS
XaaS
Setting out a real strategy for multi-cloud
Gathering requirements for multi-cloud
Using TOGAF for requirements management
Listening to the Voice of the Customer
Defining architecture using QFD and the HOQ
Understanding the business challenges of multi-cloud
Setting the scene for cloud transformation
Addressing organizational challenges
Organizing the skills of the architect
Summary
Questions
Further reading
Collecting Business Requirements
Analyzing the enterprise strategy for the cloud
Shifting to a subscription-based economy
Considering cloud adoption from enterprise architecture
Long-term planning
Financial structure
Fitting cloud technology to business requirements
Business planning
Financial planning
Understanding the cost of delay
Moving to the benefit of opportunity
Technical planning
Applying the value streams of IT4IT
Keeping track of cloud developments—focusing on the business strategy
Creating a comprehensive business roadmap
Mapping the business roadmap to a cloud-fit strategy
Summary
Questions
Further reading
Starting the Multi-Cloud Journey
Understanding cloud vocabulary
Planning assessments
Executing technology mapping and governance
Keeping track of innovation
Adopting innovations
Defining roadmaps and business alignment
Planning transition and transformation
Starting the build
Setting up simple connectivity
Setting up landing zones
Exploring options for transformation
From monolith to microservices
From machines to serverless
Containers and multi-cloud container orchestration
Keeping the infrastructure consistent
Summary
Questions
Service Designs for Multi-Cloud
Introducing the scaffold for multi-cloud environments
Working with Well-Architected Frameworks
Identity and Access Management (IAM)
Security
Cost management
Monitoring
Automation
Understanding cloud adoption
Stage 1—Defining a business strategy and business case
Stage 2—Creating your team
Stage 3—Assessment
Stage 4—Defining the architecture
Stage 5—Engaging with cloud providers; getting financial controls in place
Stage 6—Building and configuring the landing zone
Stage 7—Migrating and transforming
Translating business KPIs into cloud SLAs
Defining availability
Comparing service levels between providers
Using cloud adoption frameworks to align between cloud providers
Understanding identities and roles in the cloud
Creating the service design and governance model
Requirements
RAID
Service decomposition
Roles and responsibilities
Governance model
Support model
Processes
Summary
Questions
Further reading
Managing the Enterprise Cloud Architecture
Defining architecture principles for multi-cloud
Using quality attributes in architecture
Defining principles from use cases
Business principles
Principles for security and compliance
Data principles
Application principles
Infrastructure and technology principles
Principles for processes
Creating the architecture artifacts
Creating a business vision
Enterprise architecture
Principles catalog
Requirements catalog
High-level design
Low-level design
Planning transition and transformation
Change management and validation as the cornerstone
Validating the architecture
Summary
Questions
Further reading
Controlling the Foundation Using Well-Architected Frameworks
Understanding BaseOps and the foundational concepts
Defining and implementing the base infrastructure—the landing zone
Defining standards and guardrails for the base infrastructure
Building the landing zone with Well-Architected and Cloud Adoption principles
Enterprise-scale in Azure
BaseOps architecture patterns
Managing the base infrastructure
Implementing and managing connectivity
Implementing Azure ExpressRoute
Implementing AWS Direct Connect
Implementing Google Dedicated Interconnect
Implementing Alibaba Express Connect
Implementing direct connectivity in OCI
Accessing environments in public clouds
Defining and managing infrastructure automation tools and processes
Defining and implementing monitoring and management tools
Supporting operations
Managing the landing zones using policies
Managing basic operations in Azure
Managing basic operations in AWS
Managing basic operations in GCP
Managing basic operations in Alibaba Cloud
Managing basic operations in OCI
Understanding the need for demarcation
Summary
Questions
Further reading
Designing Applications for Multi-Cloud
Architecting for resilience and performance
Starting with business requirements
Understanding data risks
Understanding application risks
Understanding technological risks
Using the principles of the 12-factor app
Accelerating application design with PaaS
Designing SaaS solutions
Performance KPIs in a public cloud—what’s in it for you?
Optimizing your multi-cloud environment
Optimizing environments using Azure Advisor
Using Trusted Advisor for optimization in AWS
Optimizing GCP with Cloud Trace and Cloud Debugger
Optimizing in OCI
Use case: creating solutions for business continuity and disaster recovery
Creating backups in the Azure cloud with Azure Backup and Site Recovery
Backing up non-Azure systems
Understanding Azure Site Recovery
Working with AWS backup and disaster recovery
Creating policy-based backup plans
Creating tag-based backup plans
Hybrid backup in AWS
AWS disaster recovery and cross-region backup
Creating backup plans in GCP
Disaster recovery planning
Creating backups in OCI
Summary
Questions
Further reading
Creating a Foundation for Data Platforms
Choosing the right platform for data
Azure Data Lake and Data Factory
AWS Data Lake and Redshift
Google’s data lake and BigLake
Alibaba Cloud Lakehouse
Oracle Big Data Service
Building and sizing a data platform
Designing for interoperability and portability
Overcoming the challenges of data gravity
Introducing the principles of data mesh
Managing the foundation for data lakes
Summary
Questions
Further reading
Creating a Foundation for IoT
Choosing the right platform for IoT
Azure IoT Hub
AWS IoT Core, Edge Manager, and IoT Greengrass
Google Cloud IoT Core
Alibaba IoT Platform
Monitoring IoT ecosystems
Designing for connectivity to the cloud
Connecting IoT with IPv6, LoRa, and 5G
Summary
Questions
Further reading
Managing Costs with FinOps
Understanding the principles of FinOps
Define guidelines for the provisioning of cloud resources
Deploying resources in Azure using ARM
Deploying resources in AWS using CloudFormation and OpsWorks
Deploying resources in GCP using Deployment Manager
Deploying to Alibaba using Terraform
Deploying resources to Oracle Cloud
Define cost policies for provisioning
Using the Azure pricing calculator
Using the AWS calculator
Using the GCP instance pricing calculator
Understanding pricing in Alibaba Cloud
Using the cost estimator in Oracle Cloud Infrastructure
Understanding account hierarchy
Enterprise enrolment in Azure
Organizations in AWS
Organizations in GCP
Account hierarchy in other clouds
Understanding license agreements
Define tagging standards
Validate and manage billing
Using cost management and billing in Azure
Using AWS Cost Management for billing
Using billing options in GCP
Validating invoices
Summary
Questions
Further reading
Maturing FinOps
Setting up a FinOps team
Using maturity models for FinOps
Introducing cost-aware design
Transformation to managed FinOps in multi-cloud
Avoiding pitfalls in FinOps transformation
Summary
Questions
Further reading
Cost Modeling in the Cloud
Evaluating the types of cloud costs
Cost coverage
Cloud rates
Amortized and fully loaded costs
Building a cost model
Working principles of showback and chargeback
Summary
Questions
Further reading
Implementing DevSecOps
Understanding the need for DevSecOps
Starting with implementing a DevSecOps culture
Setting up CI/CD
Working with CI/CD in multi-cloud
Exploring tools for CI/CD
Azure DevOps
AWS CodePipeline
Google Cloud Build
CI/CD in Alibaba Cloud
CI/CD in OCI
Tools for multi-cloud container orchestration and application development
Following the principles of Security by Design
Securing development and operations using automation
Summary
Questions
Further Reading
Defining Security Policies
Understanding security policies
Understanding security frameworks
Understanding the dynamics of security and compliance
Defining the baseline for security policies
Implementing security policies
Implementing security policies in Microsoft Defender for Cloud
Implementing security policies in AWS Security Hub
Implementing security policies in GCP Security Command Center
Implementing security policies in Alibaba Cloud
Implementing security policies in OCI
Managing security policies
Manage risks with Cloud Security Posture Management
Summary
Questions
Further reading
Implementing Identity and Access Management
Understanding identity and access management
Using a central identity store with Active Directory
Designing access management across multi-cloud
Working with least-privilege access
Exploring Privileged Access Management (PAM)
PAM on cloud platforms
Enabling account federation in multi-cloud
Summary
Questions
Further reading
Defining Security Policies for Data
Storing data in multi-cloud concepts
Exploring storage technologies
Understanding data protection in the cloud
Understanding data encryption
Securing access, encryption, and storage keys
Using encryption and keys in Azure
Using encryption and keys in AWS
Using encryption and keys in GCP
Implementing encryption in OCI and Alibaba Cloud
Securing raw data for big data modeling
Summary
Questions
Further reading
Implementing and Integrating Security Monitoring
Understanding SIEM and SOAR
Differentiating SIEM and SOAR
Initiating a Security Operations Center
Setting up the requirements for integrated security
Implementing the security model
Exploring multi-cloud monitoring suites
Summary
Questions
Further reading
Developing for Multi-Cloud with DevOps and DevSecOps
Introducing DevOps and CI/CD
Getting started with CI/CD
Working under version control
Using push and pull principles in CI
Pushing the code directly to the main branch
Pushing code to forks of the main
Best practices for working with CI/CD
Using the DevSecOps Maturity Model
Manage traceability and auditability
Automating security best practices using frameworks
Summary
Questions
Further reading
Introducing AIOps and GreenOps in Multi-Cloud
Understanding the concept of AIOps
Optimizing cloud environments using AIOps
Exploring AIOps tools for multi-cloud
Introducing GreenOps
Summary
Questions
Further reading
Conclusion: The Future of Multi-Cloud
The growth and adoption of multi-cloud
Understanding the concept of SRE
Working with risk analysis in SRE
Applying monitoring principles in SRE
Applying principles of SRE to multi-cloud—building and operating distributed systems
Summary
Questions
Further reading
Other Books You May Enjoy
Index
Cover
Index
Multi-cloud is a hot topic with companies. Most companies are already multi-cloud, sometimes even without realizing it. They have Software as a Service (SaaS) such as Office 365 from Microsoft and Salesforce, for instance, next to applications that they host in a public cloud such as Amazon Web Services (AWS) or Google Cloud Platform (GCP). It’s all part of the digital transformation that companies are going through, that is, creating business agility by adopting cloud services where companies develop a best-of-breed strategy: picking the right cloud service for specific business functions. The answer might be multi-cloud, rather than going for a single cloud provider.
The main goal of this chapter is to develop a foundational understanding of what multi-cloud is and why companies have a multi-cloud strategy. We will focus on the main public cloud platforms of Microsoft Azure, AWS, and GCP, next to the different on-premises variants of these platforms, such as Azure Stack, AWS Outposts, Google Anthos, and some emerging players.
The most important thing before starting the transformation to multi-cloud is gathering requirements, making sure a company is doing the right thing and making the right choices. Concepts such as The Open Group Architecture Framework (TOGAF) and Quality Function Deployment (QFD) will be discussed as tools to capture the voice of the customer (VOC). Lastly, you will learn that any transformation starts with people. The final section discusses the changes to the organization itself needed to execute the digital transformation.
In this chapter, we’re going to cover the following main topics:
Understanding multi-cloud conceptsMulti-cloud—more than just public and privateSetting out a real strategy for multi-cloudIntroducing the main players in the fieldEvaluating cloud service modelsGathering requirements for multi-cloudUnderstanding the business challenges of multi-cloudThis book aims to take you on a journey along the different major cloud platforms and will try to answer one crucial question: if my organization deploys IT systems on various cloud platforms, how do I keep control? We want to avoid cases where costs in multi-cloud environments grow over our heads, where we don’t have a clear overview of who’s managing the systems, and, most importantly, where system sprawl introduces severe security risks. But before we start our deep-dive, we need to agree on a common understanding of multi-cloud and multi-cloud concepts.
There are multiple definitions of multi-cloud, but we’re using the one stated at https://www.techopedia.com/definition/33511/multi-cloud-strategy:
Multi-cloud refers to the use of two or more cloud computing systems at the same time. The deployment might use public clouds, private clouds, or some combination of the two. Multi-cloud deployments aim to offer redundancy in case of hardware/software failures and avoid vendor lock-in.
Let’s focus on some topics in that definition. First of all, we need to realize where most organizations come from: traditional datacenters with physical and virtual systems, hosting a variety of functions and business applications. If you want to call this legacy, that’s OK. But do realize that the cutting edge of today is the legacy of tomorrow. Hence, in this book, we will refer to “traditional” IT when we’re discussing the traditional systems, typically hosted in physical, privately owned datacenters. And with that, we’ve already introduced the first problem in the definition that we just gave for multi-cloud.
A lot of enterprises call their virtualized environments private clouds, whether these are hosted in external datacenters or in self-owned, on-premises datacenters. What they usually mean is that these environments host several business units that get billed for consumption on a centrally managed platform. You can have long debates on whether this is really using the cloud, but the fact is that there is a broad description that sort of fits the concept of private clouds.
Of course, when talking about the cloud, most of us will think of the major public cloud offerings that we have today: AWS, Microsoft Azure, and GCP. These are public clouds: providers that offer IT services on demand from centralized platforms using the public internet. They are centralized platforms that provide IT services such as compute, storage, and networking but distributed across datacenters around the globe. The cloud provider is responsible for managing these datacenters and, with that, the cloud. Companies “rent” the services, without the need to invest in datacenters themselves.
By another definition, multi-cloud is a best-of-breed solution from these different platforms, creating added value for the business in combination with this solution and/or service. So, using the cloud can mean either a combination of solutions and services in the public cloud or combined with private cloud solutions.
But the simple feature of combining solutions and services from different cloud providers and/or private clouds does not make up the multi-cloud concept alone. There’s more to it.
Maybe the best way to explain this is by using the analogy of the smartphone. Let’s assume you are buying a new phone. You take it out of the box and switch it on. Now, what can you do with that phone? First of all, if there’s no subscription with a telecom provider attached to the phone, you will discover that the functionality of the device is probably very limited. There will be no connection from the phone to the outside world, at least not on a mobile network. An option would be to connect it through a Wi-Fi device, if Wi-Fi is available. In short, one of the first actions, in order to actually use the phone, would be making sure that it has connectivity.
Now you have a brand-new smartphone set to its factory defaults and you have it connected to the outside world. Ready to go? Probably not. You probably want to have all sorts of services delivered to your phone, usually through the use of apps, delivered through online catalogs such as an app store. The apps themselves come from different providers and companies, including banks and retailers, and might even be coded in different languages. Yet, they will work on different phones with different versions of mobile operating systems such as iOS or Android.
You will also very likely want to configure these apps according to your personal needs and wishes. Lastly, you need to be able to access the data on your phone. All in all, the phone has turned into a landing platform for all sorts of personalized services and data.
The best part is that in principle, you, the user of the phone, don’t have to worry about updates. Every now and then the operating system will automatically be updated and most of the installed apps will still work perfectly. It might take a day or two for some apps to adapt to the new settings, but in the end, they will work. And the data that is stored on the phone or accessed via some cloud directory will also still be available. The whole ecosystem around that smartphone is designed in such a way that from the end user’s perspective, the technology is completely transparent:
Figure 1.1: Analogy of the smartphone—a true multi-cloud concept
Well, this mirrors the concept of the cloud, where the smartphone in our analogy is the actual integrated landing zone, where literally everything comes together, providing a seamless user experience.
How is this an analogy for multi-cloud? The first time we enter a portal for any public cloud, we will notice that there’s not much to see. We have a platform—the cloud itself—and we probably also have connectivity through the internet, so we can reach the portal. But we don’t want everyone to be able to see our applications and data on this platform, so we need to configure it for our specific usage. After we’ve done that, we can load our applications and the data on to the platform. Only authorized people can access those applications and that data. However, just like the user of a smartphone, a company might choose to have applications and data on other platforms. They will be able to connect to applications on a different platform.
The company might even decide to migrate applications to a different platform. Think of the possibility of having Facebook on both an iPhone and an Android phone; with just one Facebook account, the user will see the same data, even when the platforms—the phones—use different operating systems.
There’s a difference between hybrid IT and multi-cloud, and there are different opinions on the definitions. One is that hybrid platforms are homogeneous and multi-cloud platforms are heterogeneous. Homogeneous here means that the cloud solutions belong to one stack, for instance, the Azure public cloud with Azure Stack on-premises. Heterogeneous, then, would mean combining Azure and AWS, for instance.
Key definitions are:
Hybrid: Combines on-premises and cloud.Multi-cloud: Two or more cloud providers.Private: Resources dedicated to one company or user.Public: Resources are shared (note, this doesn’t mean anyone has access to your data. In the public cloud, we will have separate tenants, but these tenants will share resources, for instance, in networking).For now, we will keep it very simple: a hybrid environment combines an on-premises stack—a private cloud—with a public cloud. It is a very common deployment model within enterprises and most consultancy firms have concluded that these hybrid deployments will be the most implemented future model of the cloud.
Two obvious reasons for hybrid—a mixture between the public and private clouds—are security and latency, besides the fact that a lot of companies already had on-premises environments before the cloud entered the market.
To start with security: this is all about sensitive data and privacy, especially concerning data that may not be hosted outside a country, or outside certain regional borders, such as the European Union (EU). Data may not be accessible in whatever way to—as an example—US-based companies, which in itself is already quite a challenge in the cloud domain. Regulations, laws, guidelines, and compliance rules often prevent companies from moving their data off-premises, even though public clouds offer frameworks and technologies to protect data at the very highest level. We will discuss this later on in Part 4 of this book in Chapters 13 to 18, where we talk about security, since security and data privacy are of the utmost importance in the cloud.
Latency is the second reason to keep systems on-premises. One example that probably everyone can relate to is that of print servers. Print servers in the public cloud might not be a good idea. The problem with print servers is the spooling process. The spooling software accepts the print jobs and controls the printer to which the print assignment has to be sent. It then schedules the order in which print jobs are actually sent to that printer. Although print spoolers have improved massively in recent years, it still takes some time to execute the process. Print servers in the public cloud might cause delays in that process. Fair enough: it can be done, and it will work if configured in the right way, in a cloud region close to the sending PC and receiving printer device, plus accessed through a proper connection.
You get the idea, in any case: there are functions and applications that are highly sensitive to latency. One more example: retail companies have warehouses where they store their goods. When items are purchased, the process of order picking starts. Items are labeled in a supply system so that the company can track how many of a specific item are still in stock, where the items originate from, and where they have to be sent. For this functionality, items have a barcode or QR code that can be scanned with RFID or the like. These systems have to be close to the production floor in the warehouse or—if you do host them in the cloud—accessible through really high-speed, dedicated connections on fast, responsive systems.
These are pretty simple and easy-to-understand examples, but the issue really comes to life if you start thinking about the medical systems used in operating theatres, or the systems controlling power plants. It is not that useful to have an all-public-cloud, cloud-first, or cloud-only strategy for quite a number of companies and institutions. That goes for hospitals, utility companies, and also for companies in less critical environments.
Yet, all of these companies discovered that the development of applications was way more agile in the public cloud. Usually, that’s where cloud adoption starts: with developers creating environments and apps in public clouds. It’s where hybrid IT is born: the use of private systems in private datacenters for critical production systems that host applications with sensitive data that need to be on-premises for latency reasons, while the public cloud is used to enable the fast, agile development of new applications. That’s where new cloud service models come into the picture. These models are explored in the next section.
The terms multi-cloud and hybrid get mixed up a lot and the truth is that a solution can be a mix. You can have, as an example, dedicated private hosts in Azure and AWS, hence running private servers in a public cloud. Or, run cloud services on a private host that sits in a private datacenter, for instance, with Azure Stack or AWS Outposts. That can lead to confusion. Still, when we discuss hybrid in this book, we refer to an on-premises environment combined with a public cloud. Multi-cloud is when we have two or more cloud providers.
We have been talking about public and private clouds. Although it’s probably clear what we commonly understand by these terms, it’s still a good idea to have a very clear definition of both. We adhere to the definition as presented on the Microsoft website (https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-cloud-computing): the public cloud is defined as computing services offered by third-party providers over the public internet, making them available to anyone who wants to use or purchase them. The private cloud is defined as computing services offered either over the internet or a private internal network and only to select users instead of the general public. There are many more definitions, but these serve our purpose very well.
In the public cloud, the best-known providers are AWS, Microsoft Azure, GCP, Oracle Cloud Infrastructure, and Alibaba Cloud, next to a number of public clouds that have OpenStack as their technological foundation. An example of OpenStack is Rackspace. These are all public clouds that fit the definition that we just gave, but they also have some major differences.
AWS, Azure, and GCP all offer a wide variety of managed services to build environments, but they all differ very much in the way you apply the technology. In short: the concepts are more or less alike, but under the hood, these are completely different beasts. It’s exactly this that makes managing multi-cloud solutions complex.
In this book, we will mainly focus on the major players in the multi-cloud portfolio.
Most companies are planning to move, or are actually in the midst of moving, their workloads to the cloud. In general, they have a selected number of major platforms that they choose to host the workloads: Azure, AWS, GCP, and that’s about it. Fair enough, there are more platforms, but the three mentioned are the most dominant ones, and will continue to be throughout the forthcoming decades, if we look at analysts’ reports. Yet, we will also address Oracle Cloud Infrastructure (OCI) and Alibaba Cloud in this book when appropriate and when adding valuable extra information, since both clouds have gained quite some market growth over the recent years.
As we already found out in the previous paragraphs, in planning for and migrating workloads to these platforms, organizations also discover that it gets complex. Even more important, there are more and more regulations in terms of compliance, security, and privacy that force these companies to think twice before they bring our data onto these platforms. And it’s all about the data, in the end. It’s the most valuable asset in any company—next to people.
In the private cloud, VMware seems to be the dominant platform, next to environments that have Microsoft with Hyper-V technology as their basis. Yet, Microsoft is pushing customers more and more toward consumption in Azure, and where systems need to be kept on-premises, they have a broad portfolio available with Azure Stack and Azure Arc, which we will discuss in a bit more detail later in this chapter.
Especially in European governmental environments, OpenStack still seems to do very well, to avoid having data controlled or even viewed by non-European companies. However, the adoption and usage of OpenStack seem to be declining.
The following diagram provides an example of a multi-cloud stack, dividing private from public clouds.
Figure 1.2: An example multi-cloud portfolio: the main players
In this section, we will look briefly at both VMware and OpenStack as private stack foundations. After that, we’ll have a deeper look at AWS Outposts and Google Anthos. Basically, both propositions extend the public clouds of AWS and GCP into a privately owned datacenter. Next to this, we have to mention Azure Arc, which extends Azure to anywhere, either on-premises onto other clouds.
Outposts is an appliance that comes as a preconfigured rack with compute, storage, and network facilities. Anthos by Google is more a set of components that can be utilized to specifically host container platforms in on-premises environments using Google Kubernetes Engine (GKE). Finally, in this section, we will have a look at the Azure Stack portfolio.
In essence, VMware is still a virtualization technology. It started off with the virtualization of x86-based physical servers, enabling multiple virtual machines Virtual Machines (VMs) on one physical host. Later, VMware introduced the same concept to storage with virtualized SAN (vSAN) and network virtualization and security (NSX), which virtualizes the network, making it possible to adopt micro-segmentation in private clouds.
The company has been able to constantly find ways to move along with the shift to the cloud—as an example, by developing a proposition together with AWS where VMware private clouds can be seamlessly extended to the public cloud. The same applies to Azure: the joint offering is Azure VMware Solution (AVS).
VMware Cloud on AWS (VMConAWS) was a jointly developed proposition by AWS and VMware, but today Azure and VMware also supply migration services to migrate VMware workloads to Azure. VMware, acquired by Broadcom in 2022, has developed new services to stay relevant in the cloud. It has become a strong player in the field of containerization with the Tanzu portfolio, for instance. Over the last few years, the company has also strengthened its position in the security domain, again targeting the multi-cloud stack.
There absolutely are benefits to OpenStack. It’s a free and open-source software platform for cloud computing, mostly used as Infrastructure as a Service (IaaS). OpenStack uses KVM as its main hypervisor, although there are more hypervisors available for OpenStack. It was—and still is, with a group of companies and institutions—popular since it offers a stable, scalable solution while avoiding vendor lock-in on the major cloud and technology providers. Major integrators and system providers such as IBM and Fujitsu adopted OpenStack in their respective cloud platforms, Bluemix and K5 (K5 was decommissioned internationally in 2018).
However, although OpenStack is open source and can be completely tweaked and tuned to specific business needs, it is also complex, and companies find it cumbersome to manage. Most of these OpenStack platforms do not have the richness of solutions that, for example, Azure, AWS, and GCP offer to their clients. Over the last few years, OpenStack seems to have lost its foothold in the enterprise world, yet it still has a somewhat relevant position and certain aspects are therefore considered in this book.
Everything you run on the AWS public cloud, you can now run on an appliance, including Elastic Compute Cloud (EC2), Elastic Block Store (EBS), databases, and even Kubernetes clusters with Elastic Kubernetes Service (EKS). It all seamlessly integrates with the virtual private cloud (VPC) that you would have deployed in the public cloud, using the same APIs and controls. That is, in a nutshell, AWS Outposts: the AWS public cloud on-premises.
One question might be what this means for the VMConAWS proposition that both VMware and AWS have in their portfolio. VMConAWS actually extends the private cloud to the public cloud, based on HCX by VMware. VMware uses bare-metal instances in AWS to which it deploys vSphere, vSAN storage, and NSX for software-defined networking.
You can also use AWS services on top of the configuration of VMConAWS through integration with AWS. Outposts works exactly the other way around: bringing AWS to the private cloud. The portfolio for Outposts is growing rapidly. Customers can buy small appliances with single servers and also so-called rack solutions. In both cases, the infrastructure is completely managed by AWS.
Anthos brings Google Cloud—or more accurately, GKE—to the on-premises datacenter, just as Azure Stack does for Azure and Outposts for AWS, but it focuses on the use of Kubernetes as a landing platform, moving and converting workloads directly into containers using GKE. It’s not a standalone box like Azure Stack or Outposts. The solution runs on top of virtualized machines using vSphere and is more of a Platform of a Service (PaaS) solution. Anthos really accelerates the transformation of applications to more cloud-native environments, using open-source technology including Istio for microservices and Knative for the scaling and deployment of cloud-native apps on Kubernetes.
More information on the specifics of Anthos can be found at https://cloud.google.com/anthos/gke/docs/on-prem/how-to/vsphere-requirements-basic.
The Azure Stack portfolio contains Stack Hyperconverged Infrastructure (HCI), Stack Hub, and Stack Edge.
The most important feature of Azure Stack HCI is that it can run “disconnected” from Azure, running offline without internet connectivity. Stack HCI is delivered as a service, providing the latest security and feature updates.
To put it very simply: HCI works like the commonly known branch office server. Basically, HCI is a box that contains compute power, storage, and network connections. The box holds Hyper-V-based virtualized workloads that you can manage with Windows Admin Center. So, why would you want to run this as Azure Stack then? Well, Azure Stack HCI also has the option to connect to Azure services, such as Azure Site Recovery, Azure Backup, Microsoft Defender (formerly Azure Security Center), and Azure Monitor.
It’s a very simple solution that only requires Microsoft-validated hardware, the installation of the Azure Stack operating system plus Windows Admin Center, and optionally an Azure account to connect to specific Azure cloud services.
Pre-warning: it might get a bit complicated from this point onward. Azure Stack HCI is also the foundation of Azure Stack Hub. Yet, Hub is a different solution. Whereas you can run Stack HCI standalone, Hub as a solution is integrated with the Azure public cloud—and that’s really a different ballgame. It’s not possible to upgrade HCI to Hub.
Azure Stack Hub is an extension of Azure that brings the agility and innovation of cloud computing to your on-premises environment. Almost everything you can do in the public cloud of Microsoft, you could also deploy on Hub: from VMs to apps, all managed through the Azure portal or even PowerShell. It all really works like Azure, including things such as configuring and updating fault domains. Hub also supports having an availability set with a maximum of three fault domains to be consistent with Azure. This way, you can create high availability on Hub just as you would in Azure.
The perfect use case for Hub and the Azure public cloud would be to do development on the public cloud and move production to Hub, should apps or VMs need to be hosted on-premises for compliance reasons. The good news is that you can configure your pipeline in such a manner that development and testing can be executed on the public cloud and run deployment of the validated production systems, including the desired state configuration, on Hub. This will work fine since both entities of the Azure platform use the Azure resource providers in a consistent way.
There are a few things to be aware of, though. The compute resource provider will create its own VMs on Hub. In other words: it does not copy the VM from the public cloud to Hub. The same applies to network resources. Hub will create its own network features such as load balancers, vNets, and network security groups (NSGs). As for storage, Hub allows you to deploy all storage forms that you would have available on the Azure public cloud, such as blobs, queues, and tables. Obviously, we will discuss all of this in much more detail in this book, so don’t worry if a number of terms don’t sound familiar at this time.
One last Stack product is Stack Edge. Edge makes it easy to send data to Azure. But Edge does more: it runs containers to enable data analyses, perform queries, and filter data at edge locations. Therefore, Edge supports Azure VMs and Azure Kubernetes Service (AKS) clusters, which you can run containers on.
Edge, for that matter, is quite a sophisticated solution since it also integrates with Azure Machine Learning (AML). You can build and train machine learning models in Azure, run them in Azure Stack Edge, and send the datasets back to Azure. For this, the Edge solution is equipped with the Field-Programmable Gate Arrays (FPGAs) and Graphics Processing Units (GPUs) required to speed up building and (re)training the models.
Having said this, the obvious use case comes with the implementation of data analytics and machine learning where you don’t want raw data to be uploaded to the public cloud straight away.
There’s one more service that needs to be discussed at this point and that’s Azure Arc, launched at Ignite 2019. Azure Arc allows you to manage and govern at scale the following resource types hosted outside of Azure: servers, Kubernetes clusters, and SQL Server instances. In addition, Azure Arc allows you to run Azure data services anywhere using Kubernetes as clusters for containers, use GitOps to deploy configuration across the Kubernetes clusters from Git repositories, and manage these non-Azure workloads as if they were fully deployed on Azure itself.
If you want to connect a machine to Arc, you need to install an agent on that machine. It will then get a resource ID and become part of a resource group in your Azure tenant. However, this won’t happen until you’ve configured some settings in the network, such as a proxy allowing for traffic from and to Arc-controlled servers, and registered the appropriate resource providers. The Microsoft.HybridCompute, Microsoft.GuestConfiguration, and Microsoft.HybridConnectivity resource providers must be registered on your subscription. This only has to be done once.
If you perform the actions successfully, then you can have non-Azure machines managed through Azure. In practice, this means that you perform many operational functions, just as you would with native Azure virtual machines. That sort of defines the use case: managing the non-Azure machines in line with the same policies as the Azure machines. These do not necessarily have to be on-premises. That’s likely the best part of Arc: Azure Arc-enabled servers let you manage Windows and Linux physical servers and virtual machines hosted outside of Azure, on your corporate network, or on another cloud provider (such as AWS or GCP, but not exclusively).
With that last remark on Arc, we’ve come to the core of the multi-cloud discussion, and that’s integration. All of the platforms that we’ve studied in this chapter have advantages, disadvantages, dependencies, and even specific use cases. Hence, we see enterprises experimenting with and deploying workloads in more than one cloud. That’s not just to avoid cloud vendor lock-in: it’s mainly because there’s not a “one size fits all” solution.
In short, it should be clear that it’s really not about cloud-first. It’s about getting cloud-fit, that is, getting the best out of an ever-increasing variety of cloud solutions. This book will hopefully help you to master working with a mix of these solutions.
Looking at the cloud market, it’s clear that it is dominated by a few major players, that is, the ones that were mentioned before: AWS, Microsoft Azure, and GCP. However, a number of players are emerging in both the public and private clouds, for a variety of reasons. The most common reason is geographical and that finds its cause in compliance rules. Some industries or companies in specific countries are not allowed to use, for instance, American cloud providers. Or the provider must have a local presence in a specific country.
From China, two major players have emerged to the rest of the world: Alibaba Cloud and Tencent. Both have been leading providers in China for many years, but are also globally available, but they focus on the Chinese market. Alibaba Cloud, especially, can certainly compete with the major American providers, offering a wide variety of services.
In Europe, a new initiative has recently started with Gaia-X, providing a pure European cloud, based in the EU. Gaia-X seems to concentrate mainly on the healthcare industry to allow European healthcare institutions to use a public cloud and still have privacy-sensitive patient data hosted within the EU.
Finally, big system integrators have stepped into the cloud market as well. A few have found niches in the market, such as IBM Cloud, which collaborates with Red Hat. Japanese technology provider Fujitsu did offer global cloud services with K5 for a while, offering a fully OpenStack public cloud, but found itself not being able to compete with Azure or AWS without enormous investments.
For specific use cases, a number of these clouds will offer good solutions, but the size and breadth of the services typically don’t match those of the major public providers.
Where appropriate, new players will be discussed in this book. In the next section, we will first study the various cloud service models.
In the early days, the cloud was merely another datacenter that hosted a multitude of customers, sharing resources such as compute power, network, and storage. The cloud has evolved over the years, now offering a variety of service models. In this section, you will learn the fundamentals of these models.
IaaS is likely still the best-known service model of the cloud. Typically, enterprises still start with IaaS when they initiate the migration to cloud providers. In practice, this means that enterprises perform a lift and shift of their (virtual) machines to resources that are hosted in the cloud. The cloud provider will manage only the infrastructure for the customer: network, storage, compute, and the virtualization layer. The latter is important, since customers will share physical resources in the cloud. These resources—for instance, servers—are virtualized so they can host multiple instances.
With PaaS cloud providers take more responsibility over resources, now including operating systems and middleware. A good example is a database platform. Customers don’t need to take care of the database platform, but simply run a database instance on a database platform. The database software, for example, MySQL or PostgreSQL, is taken care of by the cloud provider, including the underlying operating systems.
SaaS is generally perceived as the future model for cloud services. It basically means that the cloud provider manages everything in the software stack, from the infrastructure to the actual application with all its components, including data. Software updates, bug fixes, and infrastructure maintenance are all handled by the cloud provider. The user, who typically uses the application through some form of subscription, connects to the app through a portal or API without installing software on local machines.
FaaS refers to a cloud service that enables the development and management of serverless computing applications. Serverless does not mean that there are no services involved, but developers can program services without having to worry about setting up and maintaining a server: that’s taken care of by the cloud provider. The big advantage is that the programmed service only uses the exact amount of, for instance, CPU and memory, instead of an entire virtual machine.
A growing number of enterprises are adopting container technology to host, run, and scale their applications. To run containers, developers must set up a runtime environment for these containers. Typically, this is done with Kubernetes, which has developed as the industry standard to host, orchestrate, and run containers. Setting up Kubernetes clusters can be complex and time-consuming. Container as a Service (CaaS) is the solution. CaaS provides an easy way to set up container clusters.
Anything as a Service (XaaS) is a term used to express the idea that users can have everything as a service. The concept is widely spread with, for instance, Hardware as a Service (HaaS), Desktop as a Service (DaaS), or Database as a Service (DBaaS). This is not limited to IT, though. The general idea is that companies will offer services and products in an as a service model, using the cloud as the digital enabler. Examples are food delivery to homes, ordering taxis, or consulting a doctor using apps.
Although we will touch upon SaaS and containers, we will focus mainly on IaaS and PaaS as starting points to adopt multi-cloud. With that in mind, we can start by setting out our multi-cloud strategy.
A cloud strategy emerges from the business and the business goals. Business goals, for example, could include the following:
Creating more brand awarenessReleasing products to the market fasterImproving profit marginsBusiness strategies often start with increasing revenue as a business goal. In all honesty: that should indeed be a goal; otherwise, you’ll be out of business before you know it. The strategy should focus on how to generate and increase revenue. We will explore more on this in Chapter 2, Business Acceleration Using a Multi-Cloud Strategy.
How do you get from business goals to defining an IT strategy? That is where enterprise architecture comes into play. The most used framework for enterprise architecture is TOGAF