arrow_back Maximize Your Frontend Performance Optimization Gains
Node.js Microservices Architecture using Docker for developers
Submitted by Tarun Sharma (@tkssharma) on Monday, 11 February 2019
Section: Workshop Technical level: Intermediate
A microservice is a single self-contained unit which, together with many others, makes up a large application. By splitting your app into small units every part of it is independently deployable and scalable, can be written by different teams and in different programming languages and can be tested individually.
A microservice architecture means that your app is made up of lots of smaller, independent applications capable of running in their own memory space and scaling independently from each other across potentially many separate machines
Microservices Architecture means how we can architect our application so that they can run in different containers, services or systems. Docker here is just giving us the advantage of creating a separate container or machine in a few seconds. Here we will use Docker containers to manage different application and will manage them using docker-compose.
In this session, we will talk about all different use cases where we can think of splitting services and make them independent of one another so that there is no impact of one another or they can run independently as microservices.
This session will be based on node js services which can run on different containers and communicating with different data sources and those node js services will be deployed on Docker containers running on PM2 instances.
We will build microservices like architecture where multiple services will be running on Node JS containers and serving content to our front end web application.
Who is this for:
Basic knowledge in NodeJS
Basic knowledge in Docker (and Docker installed)
What’s in it for you
Configure and run microservices locally with Docker and Docker Compose
Splitting services as Microservices and allowing network communication between them
Managing the Docker network to bind all services together.
Utilize volumes to mount your code into a container
Run unit and integration tests inside a Docker container
Test the entire set of services with functional, end-to-end tests
Debug a running Docker container
Enable services running in different containers to talk to one other like mongo & MySQL with Node app container
Work with Web application running inside a Docker Container.
developer machine with Node js & Docker