Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/harobed/opinionated-microservice-deployment-guideline
This is my opinionated guideline to deploy microservice application.
https://github.com/harobed/opinionated-microservice-deployment-guideline
deployment devops docker guidelines infrastructure microservice opinionated
Last synced: 3 months ago
JSON representation
This is my opinionated guideline to deploy microservice application.
- Host: GitHub
- URL: https://github.com/harobed/opinionated-microservice-deployment-guideline
- Owner: harobed
- Created: 2018-06-20T07:59:25.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-08-17T05:51:14.000Z (over 6 years ago)
- Last Synced: 2024-07-15T13:55:27.561Z (5 months ago)
- Topics: deployment, devops, docker, guidelines, infrastructure, microservice, opinionated
- Size: 5.86 KB
- Stars: 7
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My opinionated microservice deployment guideline
## Context
Following this [Tweet](https://twitter.com/amicel/status/1009326802106552320):
> I’m wondering, if Kubernetes is the solution to the complexity we introduced
> by using microservices, then 1/ what is the solution to the complexity
> introduced by using Kubernetes? and 2/ why are we using microservices
> anyway?This document complete my previous [« My opinionated project deployment guideline »](https://github.com/harobed/opinionated-project-deployment-guideline) document.
Note:
* between 2016 and 2018:
* I have deployed and managed one On-premises Kubernetes cluster (on baremetal servers)
* I have depolyed and managed one microservice app on this Kubernetes cluster
* I have depolyed and managed several monolithic apps on this Kubernetes cluster## Guideline
**First step**
* deploy your app with [docker-compose](https://docs.docker.com/compose/) (Follow [The Twelve-Factor App](https://12factor.net/) methodology)
* configure monitoring, instrumentation services:
* [Prometheus](https://prometheus.io/)
* [Sentry](https://sentry.io)
* …**Second step**
* Configure Automatically update running Docker containers with [watchtower](https://github.com/v2tec/watchtower).
* Configure your CI to automatically push your stable Docker Image to your private Docker RegistryThen when you merge to your Git stable branch your application will be automatically deployed.
**Third step**
Deploy your microservice app on [Kubernetes](https://kubernetes.io/) only if:
* you master the first and second steps
* and your app need scalability**fourth step**
* Deploy [Envoy](https://www.envoyproxy.io/) / [Istio](https://istio.io/) on your Kubernetes Cluster
## My advice
Don't try to directly go to fourth step before masterize previous steps.