Preface
Microservice is an architecture style and pattern in which complex systems are decomposed into smaller services that work together to form larger business services. Microservices are services that are autonomous, self-contained, and independently deployable. In today's world, many enterprises use microservices as the default standard for building large, service-oriented enterprise applications.
The Spring framework is a popular programming framework with the developer community for many years. Spring Boot removed the need to have a heavyweight application container and provided a means to deploy lightweight, server-less applications. Spring Cloud combines many Netflix OSS components and provides an ecosystem to run and manage large-scale microservices. It provides capabilities such as load balancing, service registry, monitoring, service gateway, and so on.
However, microservices come with their own challenges, such as monitoring, managing, distributing, scaling, discovering, and so on, especially when deploying at scale. Adopting microservices without addressing the common microservices challenges would lead to catastrophic results. The most important part of this book is a technology-agnostic microservice capability model that helps address all the common microservice challenges.
The goal of this book is to enlighten readers with a pragmatic approach and guidelines for implementing responsive microservices at scale. This book will take readers on a deep dive into Spring Boot, Spring Cloud, Docker, Mesos, and Marathon. Readers of this book will understand how Spring Boot is used to deploy autonomous services server-less by removing the need to have a heavyweight application server. Readers will learn different Spring Cloud capabilities and also realize the use of Docker for containerization and of Mesos and Marathon for compute resource abstraction and cluster-wide control, respectively.
I am sure readers will enjoy each and every section of this book. Also, I honestly believe that this book adds tremendous value by successfully conceiving microservices in your business. Throughout this book, I have used practical aspects of microservices implementation by providing a number of examples, including a case study from the travel domain. In the end, you will have learned how to implement microservice architectures using the Spring framework, Spring Boot, and Spring Cloud. These are battle-tested, robust tools to develop and deploy scalable microservices. Written to the latest specifications of Spring, with the help of this book, you'll be able to build modern, Internet-scale Java applications in no time.