Book Image

Multi-Cloud Handbook for Developers

By : Subash Natarajan, Jeveen Jacob
Book Image

Multi-Cloud Handbook for Developers

By: Subash Natarajan, Jeveen Jacob

Overview of this book

Unleash the power of cloud computing with Multi-Cloud Handbook for Developers, your guide to mastering the nuances of cloud-native and multi-cloud, covering practical strategies for design, development, and management. Explore the essential concepts, challenges, and methodologies critical for navigating the complex landscape of modern cloud computing. Using core architectural and design principles (such as microservices and 12-factor architecture) and advanced strategies (such as distributed application design patterns, domain-driven design (DDD), and API-first strategies), you’ll learn how to build portable and efficient apps across various cloud platforms. You’ll understand how to leverage Infrastructure as Code (IaC), continuous integration and deployment (CI/CD), GitOps, and DevOps practices, along with containerization and orchestration techniques using Docker and Kubernetes. You’ll also get to grips with data, security, compliance, and cloud cost management strategies in multi-cloud environments. With real-world case studies, best practices, and insights into future trends, this book will equip you with the skills to develop, manage, troubleshoot, and innovate cloud-native applications across diverse cloud platforms, positioning you at the forefront of the cloud computing revolution.
Table of Contents (17 chapters)
1
Part 1:Introduction to Multi-Cloud and Cloud-Native
4
Part 2: Designing and Developing Cloud-Native Applications for Multi-Cloud
7
Part 3: Managing and Operating Cloud-Native Apps in Multi-Cloud
11
Part 4: Best Practices, Case Studies, and Future Trends for Multi-Cloud and Cloud-Native

Role of domain-driven design

Domain-driven design (DDD) is like our native language, allowing us to communicate effectively with the local inhabitants of each cloud environment. DDD is an approach to software development that focuses on understanding the business domain, its problems, and its complexities. It emphasizes creating a model of the domain, implementing it as code, and constantly refining it based on feedback from domain experts.

In the context of a multi-cloud environment, DDD helps break down a complex system into more manageable parts called bounded contexts. These bounded contexts can be seen as individual territories on our map, each with its unique culture (domain logic) and language (APIs).

Figure 3.12 represents a DDD for an e-commerce website. The main domain is e-commerce, which is responsible for managing product information, orders, and customer data. Payment, offer, customer, and shipping are subdomains. Each subdomain is further divided into services...