Book Image

Practical Microservices

By : Umesh Ram Sharma
Book Image

Practical Microservices

By: Umesh Ram Sharma

Overview of this book

<p>A microservice architecture helps you build your application as a suite of different services. This approach has been widely adopted as it helps to easily scale up your application with reduced dependencies. This way if a part of your application is corrupted, it can be fixed easily thereby eliminating the possibility of completely shutting down your software. This book will teach you how to leverage Java to build scalable microservices. You will learn the fundamentals of this architecture and how to efficiently implement it practically.</p> <p>We start off with a brief introduction to the microservice architecture and how it fares with the other architectures. The book dives deep into essential microservice components and how to set up seamless communication between two microservice end points. You will create an effective data model and learn different ways to test and deploy a microservices. You will also learn the best way to migrate your software from a monolith to a microservice architecture.</p> <p>Finishing off with monitoring, scaling and troubleshooting, this book will set a solid foundation for you to start implementing microservices.</p>
Table of Contents (17 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Using open source CI tools with our Dockerized microservices


Microservice always promotes fast shipping and deployment for any new feature or code base. To make this happen, we have to configure our CI and CD environments according to that. Dockerizing our microservice also requires our CI and CD environments to accommodate fast shipping and deployment. In this section, we will try to demonstrate how to build a pipeline for a containerized microservice with the help of Jenkins, Maven, and Docker composers. We will build the Docker image of our microservice, push it to the repository, and then run the Docker container with image. Here is the cycle we will follow in this:

  • The developer pushes code to GitHub and GitHub hook notifies the Jenkins job
  • Jenkins pulls the repository code from GitHub, including the Docker file committed by the developer
  • Jenkins compiles the source code, runs unit test cases, and then builds and packages with the help of maven-docker
  • Deploy the last successful build artifacts...