Book Image

Spring 5.0 Microservices - Second Edition

By : Rajesh R V
Book Image

Spring 5.0 Microservices - Second Edition

By: Rajesh R V

Overview of this book

The Spring Framework is an application framework and inversion of the control container for the Java platform. The framework’s core features can be used by any Java application, but there are extensions to build web applications on top of the Java EE platform. This book will help you implement the microservice architecture in Spring Framework, Spring Boot, and Spring Cloud. Written to the latest specifications of Spring that focuses on Reactive Programming, you’ll be able to build modern, internet-scale Java applications in no time. The book starts off with guidelines to implement responsive microservices at scale. Next, you will understand how Spring Boot is used to deploy serverless autonomous services by removing the need to have a heavyweight application server. Later, you’ll learn how to go further by deploying your microservices to Docker and managing them with Mesos. By the end of the book, you will have gained more clarity on the implementation of microservices using Spring Framework and will be able to use them in internet-scale deployments through real-world examples.
Table of Contents (11 chapters)

Benefits of containers


We have already seen many benefits of containers over VMs. This section will explain the overall benefits of containers beyond the benefits of VMs.

Some of the benefits of containers are summarized as follows:

  • Self contained: Containers package essential application binaries and its dependencies together to make sure that there is no disparity between different environments, such as development, testing, or production. This promotes the concept of the Twelve-Factor applications and the concept of immutable containers. The Spring Boot microservices bundles all required application dependencies. Containers stretch this boundary further by embedding the JRE and other operating system-level libraries, configurations, and so on, if any.
  • Lightweight: Containers, in general, are smaller in size with a lighter footprint. The smallest container, Alpine, has a size of only less than 5 MB. The simplest Spring Boot microservices packaged with an Alpine container with Java 8 will...