mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2025-08-25 10:14:20 +02:00
Add new project ideas for deployment and service discovery
This commit is contained in:
37
src/data/projects/blue-green-deployment.md
Normal file
37
src/data/projects/blue-green-deployment.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
title: 'Blue-Green Deployment'
|
||||||
|
description: 'Setup a blue-green deployment strategy for your application.'
|
||||||
|
isNew: false
|
||||||
|
sort: 20
|
||||||
|
difficulty: 'advanced'
|
||||||
|
nature: 'DevOps'
|
||||||
|
skills:
|
||||||
|
- 'bash'
|
||||||
|
- 'devops'
|
||||||
|
- 'monitoring'
|
||||||
|
seo:
|
||||||
|
title: 'Blue-Green Deployment'
|
||||||
|
description: 'Setup a blue-green deployment strategy for your application.'
|
||||||
|
keywords:
|
||||||
|
- 'Blue-Green Deployment'
|
||||||
|
- 'Deployment Strategy'
|
||||||
|
- 'DevOps'
|
||||||
|
- 'Server Metrics'
|
||||||
|
roadmapIds:
|
||||||
|
- 'devops'
|
||||||
|
---
|
||||||
|
|
||||||
|
The goal of this project is to practice setting up a blue-green deployment strategy for a simple web application. This will allow you to deploy your application in a more efficient and reliable way.
|
||||||
|
|
||||||
|
## Requirement
|
||||||
|
|
||||||
|
You are required to take an existing application (e.g. the one you built in [multi-container service project](/projects/multi-container-service)) and setup a blue-green deployment strategy for it. The goal is to deploy the next version of the application in a separate container and switch the traffic to the new container only when the new version is ready.
|
||||||
|
|
||||||
|
## Bonus
|
||||||
|
|
||||||
|
- Setup a CI/CD pipeline to automatically deploy the application to the server when the code is pushed to the repository.
|
||||||
|
- Setup a monitoring system to monitor the application and the deployment process.
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
After finishing this project you will have a good understanding of how to deploy a containerized application in a more efficient way without downtime and with zero data loss.
|
@@ -2,7 +2,7 @@
|
|||||||
title: 'Prometheus and Grafana'
|
title: 'Prometheus and Grafana'
|
||||||
description: 'Setup monitoring using Prometheus and visualize metrics in Grafana.'
|
description: 'Setup monitoring using Prometheus and visualize metrics in Grafana.'
|
||||||
isNew: false
|
isNew: false
|
||||||
sort: 20
|
sort: 21
|
||||||
difficulty: 'advanced'
|
difficulty: 'advanced'
|
||||||
nature: 'Monitoring'
|
nature: 'Monitoring'
|
||||||
skills:
|
skills:
|
||||||
|
49
src/data/projects/service-discovery.md
Normal file
49
src/data/projects/service-discovery.md
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
---
|
||||||
|
title: 'Service Discovery'
|
||||||
|
description: 'Setup service discovery with dummy services and Consul'
|
||||||
|
isNew: false
|
||||||
|
sort: 21
|
||||||
|
difficulty: 'advanced'
|
||||||
|
nature: 'DevOps'
|
||||||
|
skills:
|
||||||
|
- 'devops'
|
||||||
|
- 'consul'
|
||||||
|
- 'api-gateway'
|
||||||
|
- 'monitoring'
|
||||||
|
seo:
|
||||||
|
title: 'Service Discovery'
|
||||||
|
description: 'Setup service discovery with dummy services and Consul'
|
||||||
|
keywords:
|
||||||
|
- 'Service Discovery'
|
||||||
|
- 'DevOps'
|
||||||
|
- 'Consul'
|
||||||
|
roadmapIds:
|
||||||
|
- 'devops'
|
||||||
|
---
|
||||||
|
|
||||||
|
The goal of this project is to help you understand how service discovery works and how to setup Consul to manage your services. The learning objectives are:
|
||||||
|
|
||||||
|
- Understand how services register with Consul
|
||||||
|
- Learn how to query Consul for service information
|
||||||
|
- Implement a basic service discovery mechanism
|
||||||
|
- Understand service-to-service communication in a microservices architecture
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
The project has multiple parts:
|
||||||
|
|
||||||
|
### Dummy Services
|
||||||
|
|
||||||
|
You are required to create 3 dummy services, each service will just have a dummy endpoint (e.g. `/info`) that returns the current timestamp and the service name (e.g. Service A, Service B and Service C). Services should register themselves with Consul on startup.
|
||||||
|
|
||||||
|
### API Gateway
|
||||||
|
|
||||||
|
API gateway acts as a single point of entry for the application. It will be responsible for discovering the services using Consul's DNS interface or the API. The API gateway should be able to route requests to the appropriate service.
|
||||||
|
|
||||||
|
### Consul
|
||||||
|
|
||||||
|
Consul will be used to store the service information and to provide a single point of contact for the API gateway to discover the services.
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
Once you have completed the project, you should have a basic understanding of how service discovery works and how to setup Consul to manage your services.
|
Reference in New Issue
Block a user