Microservices architecture is a style of software architecture. With the introduction of the cloud, enterprise application development moved from monolithic applications to small, lightweight, and process-driven components called microservices. As the name suggests, microservices refers to small services. They are the next big thing in designing scalable, easy-to-maintain applications. It not only makes app development easier but also offers great flexibility to utilize various resources optimally.
This book is a hands-on guide to help you build enterprise-ready implementations of microservices. It also explains the domain-driven design and its adoption in microservices. It teaches you how to build smaller, lighter, and faster services that can be implemented easily in a production environment. It also gives you the complete life cycle of enterprise app development, from designing and developing to deploying, testing, and security.
What this book covers
, A Solution Approach , covers the high-level design of large software projects, the common problems faced in the production environment, and the solutions to the problems.
, Setting Up the Development Environment , teaches you how to set up the development environment, from the IDE and other development tools to different libraries. It deals with creating the basic project up to setting up spring boot configuration to build and develop our first microservice.
, Domain-Driven Design , sets the tone for the rest of the chapters by referring to one sample project. It uses this sample project to drive through different functional and domain combinations of services or apps to explain domain-driven design.
, Implementing a Microservice , takes you from design to implementation of the sample project. It covers not only the coding but also the different aspects of microservicesbuild, unit testing, and packaging. At the end of this chapter, a sample microservice project will be ready for deployment and consumption.
, Deployment and Testing , teaches you how to deploy microservices in different forms, from standalone to a container such as Docker. It will also demonstrate how Docker can be used to deploy our sample project on a cloud service such as AWS. You will also grasp the knowledge of microservices testing using REST Java clients and other tools.
, Securing Microservices , explains how to secure microservices with respect to authentication and authorization. Authentication will be explained using basic authentication and authentication tokens. Similarly, authorization will be explained using Sprint Security. This chapter will also explain the common security problems and their solutions.
, Consuming Services Using a Microservice Web App , explains how to develop a web application (UI) using Knockout, Require, and Bootstrap JS libraries to build the prototype of web application that would consume the microservices to show data and the flow of sample projecta small utility project.
, Best Practices and Common Principles , teaches the best practices and common principles of microservice design. It also provides the details about microservice development using industry practices and examples. This chapter also contains the few examples where microservice implementation goes wrong and how you can avoid such problems.
, Troubleshooting Guide , explains the common problems encountered during the development of microservices and their solutions. This will help you follow the book smoothly and make learning swift.