Download - Microservicios, en qué lío me he metido
![Page 1: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/1.jpg)
Microservicios,
en qué lío me he metido
by
MADRID · NOV 18-19 · 2016
Ernesto Hernández
@ehdez73
Miguel Ortega
@mortegarod
![Page 2: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/2.jpg)
MADRID · NOV 18-19 · 2016
![Page 3: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/3.jpg)
MADRID · NOV 18-19 · 2016
![Page 4: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/4.jpg)
MADRID · NOV 18-19 · 2016
● 7 Countries● Over 50 carriers● >300 shipping services● >500% shipment grow● >2M shipments/year
![Page 5: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/5.jpg)
MADRID · NOV 18-19 · 2016
GIVEN:
The team size, the requirements and the legacy systems that we had.
WHEN:
We tried to migrate to a microservices architecture.
THEN:
We found that this approach to microservices was the one that better suited to our needs.
Work in progress
![Page 6: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/6.jpg)
MADRID · NOV 18-19 · 2016
New Idea
http://transformcustomers.com/category/business-transformation/
![Page 7: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/7.jpg)
MADRID · NOV 18-19 · 2016
Our legacy old
Monolith
http://isijisan.blogspot.com.es/2015/03/el-escarabajo-pelotero.html
![Page 8: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/8.jpg)
MADRID · NOV 18-19 · 2016
Fast growth
![Page 9: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/9.jpg)
MADRID · NOV 18-19 · 2016
Our shiny and new
Monolith
https://mekubal.wordpress.com/2012/04/03/the-myth-of-monolithic-judaism/
KOKUDO
![Page 10: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/10.jpg)
MADRID · NOV 18-19 · 2016
Our Monoliths
KOKUDO
![Page 11: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/11.jpg)
MADRID · NOV 18-19 · 2016
Business needs!!! We need an API
![Page 12: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/12.jpg)
MADRID · NOV 18-19 · 2016Sometimes you need to clean up
![Page 13: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/13.jpg)
MADRID · NOV 18-19 · 2016
● Another monolith
● ESB orchestration
● DB coupling
● Fixed deploy dates
● Something distributed
● More choreography
● Different storages
● Deploy flexibility
![Page 14: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/14.jpg)
MADRID · NOV 18-19 · 2016
It seems clear right?
Microservices
![Page 15: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/15.jpg)
MADRID · NOV 18-19 · 2016
Not so fast...
2014 2015 2016
![Page 16: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/16.jpg)
MADRID · NOV 18-19 · 2016but what the hell is a microservice?
CHALLENGE ACCEPTED
![Page 17: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/17.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 1
![Page 18: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/18.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 1
![Page 19: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/19.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 2
![Page 20: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/20.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 2
● ONE DATABASE● CODE STILL IN MONOLITH
FATAL
![Page 21: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/21.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 3
![Page 22: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/22.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 3
● ONE DATABASE● NO REAL MICROSERVICES● DEPLOY/CONFIGURATION HELL
ERROR
![Page 23: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/23.jpg)
MADRID · NOV 18-19 · 2016
Turn
Around
![Page 24: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/24.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 4
![Page 25: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/25.jpg)
MADRID · NOV 18-19 · 2016
Synchronous
Network call
![Page 26: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/26.jpg)
MADRID · NOV 18-19 · 2016
Synchronous
Network call
![Page 27: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/27.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 4
![Page 28: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/28.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 4
● SYNCHRONOUS CALLS HELL● WHERE ARE MY JOINS?
warning
![Page 29: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/29.jpg)
MADRID · NOV 18-19 · 2016
Asynchronous
MESSAGE BUS
![Page 30: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/30.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 5
![Page 31: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/31.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 5
![Page 32: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/32.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 5
![Page 33: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/33.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 5
● SHARED LIBRARY● NEW MONOLITHS
INFO
![Page 34: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/34.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 6
![Page 35: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/35.jpg)
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 6
● DUDE, WHERE ARE MY LOGS?
DEBUG
![Page 36: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/36.jpg)
MADRID · NOV 18-19 · 2016
Correlation id
Network call{ correlation_id: 123, ... }
{ correlation_id: 123, ... }{ correlation_id: 123, ... }
{ correlation_id: 123, ... }
{ correlation_id: 123, ... }
{ correlation_id: 123, ... }
![Page 37: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/37.jpg)
MADRID · NOV 18-19 · 2016
Logging stack
![Page 38: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/38.jpg)
MADRID · NOV 18-19 · 2016
Logging stack
TRACE
![Page 39: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/39.jpg)
MADRID · NOV 18-19 · 2016
● EVENT SOURCING● CQRS
![Page 40: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/40.jpg)
MADRID · NOV 18-19 · 2016
The Platform
![Page 41: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/41.jpg)
MADRID · NOV 18-19 · 2016
Docker Ecosystem FTW
● build once, run everywhere● easy scaling with docker-compose ● infrastructure scaling with swarm
![Page 42: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/42.jpg)
MADRID · NOV 18-19 · 2016
Hashicorp Consul
- Key/Value- consul-template- Leader election- DNS - Already needed for docker swarm
![Page 43: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/43.jpg)
MADRID · NOV 18-19 · 2016
Service discovery
![Page 44: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/44.jpg)
MADRID · NOV 18-19 · 2016
How do I develop locally?
![Page 45: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/45.jpg)
MADRID · NOV 18-19 · 2016
New old problems
● Onboarding new developers● Config management● Debugging● Data Bootstrapping
![Page 46: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/46.jpg)
MADRID · NOV 18-19 · 2016
What do we need?
● Infrastructure Bootstrapping:○ up and running○ configuration
● Microservices Bootstrapping:○ up and running○ application data
![Page 47: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/47.jpg)
MADRID · NOV 18-19 · 2016
How do we solved it?
● Infrastructure Bootstrapping.○ up and running○ configuration
● Microservices Bootstrapping:○ up and running○ application data
![Page 48: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/48.jpg)
MADRID · NOV 18-19 · 2016
How do we solved it?
● Infrastructure Bootstrapping.○ up and running○ configuration
● Microservices Bootstrapping:○ up and running○ application data
![Page 49: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/49.jpg)
MADRID · NOV 18-19 · 2016
Local development
![Page 50: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/50.jpg)
MADRID · NOV 18-19 · 2016
Service discovery (review)
![Page 51: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/51.jpg)
MADRID · NOV 18-19 · 2016
Service discovery (IDE)
![Page 52: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/52.jpg)
MADRID · NOV 18-19 · 2016
Service discovery (remote)
![Page 53: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/53.jpg)
MADRID · NOV 18-19 · 2016
Service discovery (all together)
![Page 54: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/54.jpg)
MADRID · NOV 18-19 · 2016
Our (helpful) Dev Tools
![Page 55: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/55.jpg)
MADRID · NOV 18-19 · 2016https://slack.com
![Page 56: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/56.jpg)
MADRID · NOV 18-19 · 2016https://newrelic.com
![Page 57: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/57.jpg)
MADRID · NOV 18-19 · 2016
Wiggumbot
https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+pluginhttp://docs.sonarqube.org/display/PLUG/GitHub+Plugin
![Page 58: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/58.jpg)
MADRID · NOV 18-19 · 2016
Hound
https://github.com/etsy/hound
Etsy, Inc.
![Page 59: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/59.jpg)
MADRID · NOV 18-19 · 2016
Asciidoctor
http://asciidoctor.org
![Page 60: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/60.jpg)
MADRID · NOV 18-19 · 2016
Custom scripts
check-status.sh
compose-upgrade.sh
![Page 61: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/61.jpg)
dashboards
checks
channels
metrics
Platform monitoring
![Page 62: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/62.jpg)
MADRID · NOV 18-19 · 2016
Was it worth it?
![Page 63: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/63.jpg)
MADRID · NOV 18-19 · 2016
# Shipments
![Page 64: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/64.jpg)
MADRID · NOV 18-19 · 2016
# Deployments
2 → ~20 per week
![Page 65: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/65.jpg)
MADRID · NOV 18-19 · 2016
It seems clear right?
Q&A
![Page 66: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/66.jpg)
MADRID · NOV 18-19 · 2016
Thank you
![Page 67: Microservicios, en qué lío me he metido](https://reader031.vdocuments.co/reader031/viewer/2022022410/58765fd81a28abc5268b5629/html5/thumbnails/67.jpg)
MADRID · NOV 18-19 · 2016
WE ARE HIRING