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
Microservices are distributed, loosely coupled software services that carry out a small number of well-defined tasks. A distributed system is a system composed of several services that are separated and located on a network. These services communicate by passing messages between them. Implementing a microservice architecture is not an easy task; it comes with many challenges, such as application scalability, service discovery, monitoring, distributed tracing, security, management, and more. However, this book will teach you how to tackle all those challenges, introduce you to the world of microservices in Java, and show you the importance of applying these architectures to your business applications. You’ll learn how to achieve this using technologies such as Spring Cloud, Spring Boot, Swagger, Docker, Kubernetes, ELK (Elasticsearch, Logstash, and Kibana), Stack, Grafana, Prometheus, and more.