- Adopt microservices-based architecture and deploy it at scale
- Build your complete microservice architecture using different recipes for different solutions
- Identify specific tools for specific scenarios and deliver immediate business results, correlate use cases, and adopt them in your team and organization
This book will help any team or organization understand, deploy, and manage microservices at scale. It is driven by a sample application, helping you gradually build a complete microservice-based ecosystem. Rather than just focusing on writing a microservice, this book addresses various other microservice-related solutions: deployments, clustering, load balancing, logging, streaming, and monitoring.
The initial chapters offer insights into how web and enterprise apps can be migrated to scalable microservices. Moving on, you’ll see how to Dockerize your application so that it is ready to be shipped and deployed. We will look at how to deploy microservices on Mesos and Marathon and will also deploy microservices on Kubernetes. Next, you will implement service discovery and load balancing for your microservices. We’ll also show you how to build asynchronous streaming systems using Kafka Streams and Apache Spark.
Finally, we wind up by aggregating your logs in Kafka, creating your own metrics, and monitoring the metrics for the microservice.
What you will learn
- Build microservices using Spring Boot, Wildfly Swarm, Dropwizard, and SparkJava
- Containerize your microservice using Docker
- Deploy microservices using Mesos/Marathon and Kubernetes
- Implement service discovery and load balancing using Zookeeper, Consul, and Nginx
- Monitor microservices using Graphite and Grafana
- Write stream programs with Kafka Streams and Spark
- Aggregate and manage logs using Kafka
- Get introduced to DC/OS, Docker Swarm, and YARN
About the Author
Vikram Murugesan is a software architect who has over 10 years of experience building distributed systems and products. He currently works as a principal architect with Egen Solutions Inc. In his current job, he focuses on building platforms based on JVM (Java, Scala, and Groovy), big data, and cloud technologies. He is a passionate programmer and is interested in learning new technologies. He is also interested in coaching, mentoring, and building scalable teams that build great software.
Table of Contents
- Building Microservices with Java
- Containerizing Microservices with Docker
- Deploying Microservices on Mesos
- Deploying Microservices on Kubernetes
- Service Discovery and Load Balancing Microservices
- Monitoring Microservices
- Building Asynchronous Streaming Systems with Kafka and Spark
- More Clustering Frameworks - DC/OS, Docker Swarm, and YARN