Chapter 1. An introduction to microservices

 

This chapter covers

  • Why move toward a new microservice architecture?
  • What microservices are today, and where the future may lead
  • The basic component makeup of a microservice
  • Testing strategies

Traditional monolithic applications are deployed as a single package, usually as a web or enterprise-archive file (WAR or EAR). They contain all the business logic required to complete multiple tasks, often alongside the components required to render the user interface (UI, or GUI for graphical user interface). When scaling, this usually means taking a complete copy of that entire application archive onto a new server node (basically, deploying it to another server node in a cluster). It doesn’t matter where the load or bottleneck is occurring; even if it’s only in a small cross section of the application, scaling this way is an all-or-nothing approach. Microservices are specifically designed to target and change this all-or-nothing aspect by allowing you to break your business logic into smaller, more manageable elements that can be employed in multiple ways.

1.1. What are microservices, and why use them?

1.2. Microservice networks and features

1.3. Microservice architecture

1.4. Microservice unit testing

Summary