Kasun Indrasiri and Prabath Siriwardena
Microservices for the EnterpriseDesigning, Developing, and Deploying
Kasun Indrasiri
San Jose, CA, USA
Prabath Siriwardena
San Jose, CA, USA
ISBN 978-1-4842-3857-8e-ISBN 978-1-4842-3858-5
Library of Congress Control Number: 2018962968
© Kasun Indrasiri and Prabath Siriwardena 2018
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein.
Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
Introduction

The microservices architecture has become one of the most popular architectural styles in the enterprise software architecture landscape. Owing to the benefits that it brings, most enterprises are transforming their existing monolithic applications to microservices architecture-based applications. Hence, for any software architect or software engineer, it’s really important to understand the key architectural concepts of the microservices architecture and how you can use those architectural principles in practice to solve real-world business use cases.

In this book, we provide the readers a comprehensive understanding of microservices architectural principles and discuss how to use those concepts in real-world scenarios. Also, without locking into a particular technology or framework, we cover a wide range of technologies and frameworks, which are most suitable for given aspects of the microservices architecture.

One other key difference of this book is that it addresses some of the fundamental challenges in building microservices in the enterprise architecture landscape, such as inter-service communication, service integration with no centralized Enterprise Service Bus (ESB), exposing microservices as APIs avoiding a centralized API gateway, determining the scope and size of a microservice, and leveraging microservices security patterns. All the concepts explained in this book are supported with real-world use cases and incorporated with samples that the reader can try out. Most of these use cases are inspired by existing microservices implementations such as Netflix and Google, as well as the authors’ exposure to various meetups and conferences in the San Francisco Bay area.

This book covers some of the widely used and bleeding edge technologies and patterns in realizing microservices architecture, such as technologies for container-native deployment (Docker, Kubernetes, Helm), messaging standards and protocols (gRPC, HTTP2, Kafka, AMQP, OpenAPI, GraphQL, etc.), reactive and active microservices integration, service mesh (Istio and Linkerd), miroservice resiliency patterns (circuit breaker, timeouts, bulk-heads, etc.), security standards (OAuth 2, JWT, and certificates), using APIs, events, and streams with microservices, and building observable microservices using logging, metrics, and tracing.

Acknowledgments

We would first like to thank Jonathan Gennick, assistant editorial director at Apress, for evaluating and accepting our proposal for this book. Then, Jill Balzano, coordinating editor at Apress, was extremely patient and tolerant of us throughout the publishing process. Thank you very much, Jill, for your support. Laura Berendson, the development editor at Apress, also helped us toward the end. Thanks Laura! Alp Tunc served as the technical reviewer. Thanks, Alp, for your quality reviews.

Dr. Sanjiva Weerawarana, the Founder and Chief Architect at WSO2, is our constant mentor. We are truly grateful to Dr. Sanjiva for his guidance, mentorship, and support. We also express our gratitude to Tyler Jewel, the CEO at WSO2, and Paul Fremantle, the CTO at WSO2, for their direction, which helped us explore the microservices domain. Finally, we’d like to thank our families and parents; without them nothing is possible!

Table of Contents

Index 409

About the Authors and About the Technical Reviewer

About the Authors

Kasun Indrasiri
../images/461146_1_En_BookFrontmatter_Figb_HTML.png

is an architect, author, microservice and integration evangelist, and director of integration architecture at WSO2. He also founded the Microservices, APIs, and Integration meetup group, which is a vendor-neutral microservices meetup in the San Francisco Bay Area. He is the author of the book Beginning WSO2 ESB (Apress) and has worked as a software architect and a product lead with over seven years of experience in enterprise integration. He is an Apache committer and PMC member. Kasun has spoken at several conferences held in San Francisco, London, and Barcelona on topics relating to enterprise integration and microservices. He also conducts talks at Bay Area microservices, container, and cloud-native meetups, and he publishes blogs and articles on microservices. He works with many Fortune 100 companies to provide solutions in the enterprise integration and microservices domain.

 
Prabath Siriwardena
../images/461146_1_En_BookFrontmatter_Figc_HTML.jpg

is an identity evangelist, author, blogger, and the VP of Identity Management and Security at WSO2, with more than 11 years of industry experience in designing and building critical Identity and Access Management (IAM) infrastructure for global enterprises, including many Fortune 100/500 companies. As a technology evangelist, Prabath has published five books. He blogs on various topics from blockchain, PSD2, GDPR, and IAM, to microservices security. He also runs a YouTube channel. Prabath has spoken at many conferences, including the RSA Conference, Identiverse, European Identity Conference, Consumer Identity World USA, API World, API Strategy & Practice Con, QCon, OSCON, and WSO2Con. He has also travelled the world conducting workshops/meetups to evangelize IAM communities. He is the founder of the Silicon Valley IAM User Group, which is the largest IAM meetup in the San Francisco Bay Area.

 

About the Technical Reviewer

Alp Tunc
../images/461146_1_En_BookFrontmatter_Figd_HTML.png

is a software engineer. He graduated from Ege University, Izmir/Turkey. He completed his MSc degree while working as a research assistant. He is a software developer by heart, with 20 years of experience in the industry as a developer/architect/project manager of projects of various sizes. He has a lot of hands-on experience in a broad range of technologies. Besides technology, he loves freezing moments in spectacular photographs, trekking into the unknown, running, and reading and he is a jazz aficionado. He also loves cats and dogs.

 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset