Skip to content

Latest commit

 

History

History
72 lines (37 loc) · 3.09 KB

File metadata and controls

72 lines (37 loc) · 3.09 KB

CloudMicroserviceLab

Name: Huy Dat NGUYEN

Email: huy-dat.nguyen@etu.univ-grenoble-alpes.fr

Github ID: Huydatnguyen

Master 2 MOSIG

Lab on Microservices – Pratices with Jhipster

I. Introduction

The objective of the practical session is to be more familiar and get acquainted with the way to construct a microservice application with Jhipster tool and the way to deploy the application on some cloud platform such as Google Cloud Platform (GCP). This lab is also an oppoturnity to recall, pratice and learn more about the concept of Kuberneters, Docker, which was introduced in the previous lab.

The first stage is to generate and deploy locally a microservice application with Jhipster. The architecture is composed of:

  • The Jhipster Sercive Registry (Service discovery uses Haezlcast).
  • The Jhipster API Gateway.
  • One microsevice productorder (using a mysql database).
  • One microsevice invoice (using a postgresql database).
  • One microsevice notification (using a mongodb database).

After generating and browsering microservices, we need to build Docker images corresponding with each service and generate a Docker-compose file for configuring the running of all microservices at one time.

The next stage is to deploy the application on Google Kubernetes Engine (an open-source container orchestration system for automating software deployment, scaling and mangement , a part of GCP) using Docker images generated from previous stage and perform a scalability for one microservice and monitor dashboard through Promethous/Grafana or GCP dashboard.

The result is to provide some screenshots illustrating the deployment of the microservice application on GKE and the way to enable scalability on GKE and the way to monitor the dashboard.

II. Result

  1. Deployment of Microservices with JHipster on GCP

services

Picture 1: List of services

pods

Picture 2: List of pods

interface

Picture 3: Application interface deployed with assigned IP from GCP

  1. Enabling scalability on GCP for one microservice

scalability

Picture 4: Enabling the scalability

replicas

Picture 5: Enabling the scalability

  1. Monitoring dashboard

    3.1. Dashboard metrics scraper

metric-scraper

Picture 6: Monitoring the dashboard with the Dashboard metrics scraper

3.2. Kubernetes dashboard

kubernetes-dashboard

Picture 7: Monitoring the dashboard with the Kubernetes Dashboard