Deploying microservices to the cloud
Camilo Hernández https://github.com/camiloahm/image-processor
What is this about?
- Microservices overview
- Docker overview
- Dockerizing a service
- Deploying a Docker container to the cloud
- Container orchestrators overview
- Evolving the containers
- Cross-Cutting concerns
- Wrap up
Microservices
Microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.

Docker
- A technology for building/running in an isolated operating system.
- Provides process/resource isolation while running in a single OS Kernel
- Different from vm, lighter, faster, easily integrated

Container creation

Docker

Container creation
Docker on local
Docker-Machine

Docker on cloud
Container orchestrators

Kubernetes
- Powerful system for running containers
- Pods
- Services
- Replication controllers
- Rolling updates
- Scale and Autoscale
How do we connect?

Docker on kubernetes
System evolve
- No system is ever "done"
- All of your microservices will change
- Deployments are necessary
System evolve

CI Practices
- Use a CI Server (Jenkings, Team Services, Bamboo, Travis CI, etc) with parallel tasks.
- Create a process (build) for each service
- Each process compiles, build image, tag image and run tests
- One to one mapping between sources and images
- Run tests inside container (Optional)
- Run full system test using docker compose
CI Pipeline
Cross-cutting concerns
- Logging (ELK, Application insights, Google monitor, etc)
- Security (DNS, Https, certificates, etc)
- Caching (CDN, redis, etc)
- Metrics
- Scaling
- Multi-tenancy (Namespaces, subnets, policies, etc)
Wrap up
https://github.com/camiloahm/scaleconf-deploying-microservices
- docker-on-local
- docker-on-cloud
- docker-on-kubernetes
- flexible-env-google-bonus ************
- docker-compose-bonus ***********
We´re hiring
engineering@bizagi.com
Thanks
Deploying microservices to the cloud
By Camilo Andres Hernandez
Deploying microservices to the cloud
- 776