We are constantly looking for new ways to create software systems that cater for both happy customers who have applications that support their business needs and developers who are challenged by cutting-edge technologies. The balance of satisfying these two types of target user is important; it allows us to achieve our business goals and avoid losing skilled developers.
On the other hand, as developers, we are also trying to create modules and specialized libraries that address specific technical or business needs. Later, we will reuse these modules and libraries across different projects to comply with the don't repeat yourself (DRY) principle.
Using this introduction as a point of departure, we are going to review how microservices architectures can address these concerns and more. In this chapter, we are going to look at the following topics...