Book Image

Microservices Deployment Cookbook

By : Vikram Murugesan
Book Image

Microservices Deployment Cookbook

By: Vikram Murugesan

Overview of this book

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.
Table of Contents (15 chapters)
Microservices Deployment Cookbook
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Configuring ports in Marathon


In the previous recipe, we saw how to deploy our microservice in Marathon. We were able to deploy the geolocation microservice on Marathon, but it was not really useful because we haven't figured out how to talk to our microservice via its RESTful API. In this recipe, we will learn how to configure our application's service and host ports in Marathon to expose the RESTful APIs.

Getting ready

If you don't have your cluster up and running, bring it back up. Also make sure you have the geolocation application up and running in your cluster. You can verify that from the Marathon web interface.

How to do it...

  1. From the Instances grid, click on the application instance and go to the Configuration tab. The Configuration tab is used to show the Marathon configurations for your application. You will see several configurations, such as the memory, CPU, disk space, Docker container, and health checks:

  2. In the Container section, you will see JSON code similar to this:

        ...