chapter one

Chapter 1: Welcome to the cloud, Spring

 

This chapter covers

  • Understanding the difference between monolithic and microservices architectures.
  • Understanding microservices and why companies use them
  • Using Spring, Spring Boot, and Spring cloud for building microservices
  • Understanding the concept of cloud and the cloud-based computing models
  • Building microservices involves more than building service code
  • Understanding the technologies of Spring Cloud
  • Using Spring Cloud to build microservices

The one constant in the field of software development is that we, as software developers sit in the middle of a sea of chaos and change. We all feel the churn as new technologies and approaches appear suddenly on the scene, causing us to reevaluate how we build and deliver solutions for our customers. One example of this churn is the rapid adoption by many organizations of building applications using microservices. Microservices are distributed, loosely coupled software services that carry out a small number of well-defined tasks. Remember a distributed system, is a system that is composed of several services that are separated and located on a network which communicate by passing messages between them.

1.1      The evolution towards a microservices architecture

1.1.1   What’s a monolithic architecture?

1.1.2   What’s a microservice?

1.1.3   Why change the way we build applications?

1.2      Microservices with Spring

1.3      What is this book about?

1.3.1   What you’ll learn in this book

1.3.2   Why is this book relevant to you?

1.4      Cloud and microservice-based applications

1.4.1   Building a microservice with Spring Boot

1.4.2   What exactly is cloud computing?

1.4.3   Why the cloud and microservices?

1.5      Microservices are more than writing the code

1.6      Core microservice development pattern

1.7      Microservice routing patterns

1.8      Microservice client resiliency

1.9      Microservice security patterns

1.10  Microservice logging and tracing patterns

1.11  Application metrics pattern

1.12  Microservice build/deployment patterns

1.13  What is Spring Cloud?

1.13.1   Spring Cloud Config

1.13.2   Spring Cloud Service Discovery

1.13.4   Spring Cloud API Gateway