1 Welcome to the cloud, Spring

This chapter covers

  • Understanding microservices architectures
  • Understanding why companies use microservices
  • Using Spring, Spring Boot, and Spring Cloud for building microservices
  • Understanding the cloud and cloud-based computing models

Implementing any new architecture is not an easy task; it comes with many challenges such as application scalability, service discovery, monitoring, distributed tracing, security, management, and more. This book will introduce you to the world of microservices in Spring, teach you how to tackle all those challenges, and show you the trade-offs to consider when considering microservices for your business applications. As you go, you’ll learn how to build microservice applications using technologies such as Spring Cloud, Spring Boot, Swagger, Docker, Kubernetes, ELK (Elasticsearch, Logstash, and Kibana), Stack, Grafana, Prometheus, and more.

If you are a Java developer, this book will provide a smooth migration path from building traditional Spring applications to microservice applications that can be deployed to the cloud. This book uses practical examples, diagrams, and descriptive texts to provide further details of how to implement microservice architectures.

1.1 The evolution towards a microservices architecture

1.1.1 N-tier architecture

1.1.2 What’s a monolithic architecture?

1.1.3 What’s a microservice?

1.1.4 Why change the way we build applications?

1.2 Microservices with Spring

1.3 What are we building?

1.4 What is this book about?

1.4.1 What you’ll learn in this book

1.4.2 Why is this book relevant to you?

1.5 Cloud and microservice-based applications

1.5.1 Building a microservice with Spring Boot

1.5.2 What exactly is cloud computing?

1.5.3 Why the cloud and microservices?

1.6 Microservices are more than writing the code

1.7 Core microservice development pattern

1.8 Microservice routing patterns

1.9 Microservice client resiliency