文件名称:Microservice-Architecture-Aligning-Principles-Practices-and-Culture.pdf
文件大小:10.4MB
文件格式:PDF
更新时间:2021-04-24 08:19:16
微服务
Microservice architecture has emerged as a common pattern of software develop‐ ment from the practices of a number of leading organizations. These practices includes principles, technologies, methodologies, organizational tendencies, and cul‐ tural characteristics. Companies taking steps to implement microservices and reap their benefits need to consider this broad scope. Who Should Read This Book You should read this book if you are interested in the architectural, organizational, and cultural changes that are needed to succeed with a microservice architecture. We primarily wrote this book for technology leaders and software architects who want to shift their organizations toward the microservices style of application development. You don’t have to be a CTO or enterprise architect to enjoy this book, but we’ve writ‐ ten our guidance under the assumption that you are able to influence the organiza‐ tional design, technology platform, and software architecture at your company. What’s In This Book This book promotes a goal-oriented, design-based approach to microservice architec‐ ture. We offer this design-centric approach because, as we talked to several companies about their programs, we discovered one of the keys to their success was the willing‐ ness to not stick to a single tool or process as they attempted to increase their compa‐ ny’s time-to-market while maintaining—even increasing—their systems’ safety and resilience. The companies we talked to offered a wide range of services including live video and audio streaming service, foundation-level virtual services in the cloud, and support for classic brick-and-mortar operations. While these companies’ products vary, we learned that the principles of speed and safety “at scale” were a common thread. They ix each worked to provide the same system properties in their own unique ways—ways that fit the key business values and goals of the company. It’s the properties and values that we focus on in this book, and the patterns and prac‐ tices we see companies employ in order to reach their unique goals. If you’re looking for a way to identify business goals for your microservices adoption, practical guid‐ ance on how to design individual microservices and the system they form, and tips on how to overcome common architectural challenges, this is your book! The Outline The book is organized into three parts. The first part (Chapters 1–2) identifies the principles and practices of microservice architecture and the benefits they can pro‐ vide. This section will be valuable to anyone who needs to justify the use of microser‐ vices within their organization and provide some background on how other organizations have started on this journey. The second part (Chapters 3–4) introduces a design-based approach to microservice architecture, identifies a series of common processes and practices we see repeated through successful microservice systems, and provides some implementation guid‐ ance on executing the various elements for your company’s microservice implemen‐ tation. The third and final part (Chapters 5–7) provides a set of practical recipes and practi‐ ces to help companies identify ways to introduce and support microservices, meet immediate challenges, and plan for and respond to the inevitably changing business environment ahead. Here’s a quick rundown of the chapters: Chapter 1, The Microservices Way This chapter outlines the principles, practices, and culture that define microser‐ vice architecture. Chapter 2, The Microservices Value Proposition This chapter examines the benefits of microservice architecture and some techni‐ ques to achieve them. Chapter 3, Designing Microservice Systems This chapter explores the system aspects of microservices and illustrates a design process for microservice architecture. Chapter 4, Establishing a Foundation This chapter discusses the core principles for microservice architecture, as well as the platform components and cultural elements needed to thrive. x | Preface Chapter 5, Service Design This chapter takes the “micro” design view, examining the fundamental design concepts for individual microservices. Chapter 6, System Design and Operations This chapter takes the “macro” design view, analyzing the critical design areas for the software system made up of the collection of microservices. Chapter 7, Adopting Microservices in Practice This chapter provides practical guidance on how to deal with common chal‐ lenges organizations encounter as they introduce microservice architecture. Chapter 8, Epilogue Finally, this chapter examines microservices and microservice architecture in a timeless context, and emphasizes the central theme of the book: adaptability to change. What’s Not In This Book The aim of this book is to arm readers with practical information and a way of think‐ ing about microservices that is timeless and effective. This is not a coding book. There is a growing body of code samples and open source projects related to micro‐ services available on the Web, notably on GitHub and on sites like InfoQ. In addition, the scope of this domain is big and we can only go so deep on the topics we cover. For more background on the concepts we discuss, check out our reading list in Appen‐ dix A. While we provide lots of guidance and advice—advice based on our discussions with a number of companies designing and implementing systems using microservice architecture patterns—we do not tell readers which product to buy, which open source project to adopt, or how to design and test component APIs. Instead, we offer insight into the thinking processes and practices of experienced and successful com‐ panies actually doing the work of microservices. If you’re looking for simple answers, you’re likely to be disappointed in some of the material here. If, on the other hand, you’re looking for examples of successful microservice companies and the kinds of principles, practices, and processes they employ, this book is for you.