SlideShare a Scribd company logo
Microservicios,
en qué lío me he metido
by
MADRID · NOV 18-19 · 2016
Ernesto Hernández
@ehdez73
Miguel Ortega
@mortegarod
MADRID · NOV 18-19 · 2016
MADRID · NOV 18-19 · 2016
MADRID · NOV 18-19 · 2016
● 7 Countries
● Over 50 carriers
● >300 shipping services
● >500% shipment grow
● >2M shipments/year
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
MADRID · NOV 18-19 · 2016
New Idea
http://transformcustomers.com/category/business-transformation/
MADRID · NOV 18-19 · 2016
Our legacy old
Monolith
http://isijisan.blogspot.com.es/2015/03/el-escarabajo-pelotero.html
MADRID · NOV 18-19 · 2016
Fast growth
MADRID · NOV 18-19 · 2016
Our shiny
and new
Monolith
https://mekubal.wordpress.com/2012/04/03/the-myth-of-monolithic-judaism/
KOKUDO
MADRID · NOV 18-19 · 2016
Our Monoliths
KOKUDO
MADRID · NOV 18-19 · 2016
Business needs!!! We need an API
MADRID · NOV 18-19 · 2016Sometimes you need to clean up
MADRID · NOV 18-19 · 2016
● Another monolith
● ESB orchestration
● DB coupling
● Fixed deploy dates
● Something distributed
● More choreography
● Different storages
● Deploy flexibility
MADRID · NOV 18-19 · 2016
It seems clear right?
Microservices
MADRID · NOV 18-19 · 2016
Not so fast...
2014 2015 2016
MADRID · NOV 18-19 · 2016but what the hell is a microservice?
CHALLENGE
ACCEPTED
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 1
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 1
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 2
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 2
● ONE DATABASE
● CODE STILL IN MONOLITH
FATAL
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 3
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 3
● ONE DATABASE
● NO REAL MICROSERVICES
● DEPLOY/CONFIGURATION HELL
ERROR
MADRID · NOV 18-19 · 2016
Turn
Around
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 4
MADRID · NOV 18-19 · 2016
Synchronous
Network call
MADRID · NOV 18-19 · 2016
Synchronous
Network call
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 4
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 4
● SYNCHRONOUS CALLS HELL
● WHERE ARE MY JOINS?
warning
MADRID · NOV 18-19 · 2016
Asynchronous
MESSAGE BUS
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 5
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 5
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 5
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 5
● SHARED LIBRARY
● NEW MONOLITHS
INFO
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 6
MADRID · NOV 18-19 · 2016
Packlinktechture Phase 6
● DUDE, WHERE ARE MY LOGS?
DEBUG
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, ... }
MADRID · NOV 18-19 · 2016
Logging stack
MADRID · NOV 18-19 · 2016
Logging stack
TRACE
MADRID · NOV 18-19 · 2016
● EVENT SOURCING
● CQRS
MADRID · NOV 18-19 · 2016
The Platform
MADRID · NOV 18-19 · 2016
Docker Ecosystem FTW
● build once, run everywhere
● easy scaling with docker-compose
● infrastructure scaling with swarm
MADRID · NOV 18-19 · 2016
Hashicorp Consul
- Key/Value
- consul-template
- Leader election
- DNS
- Already needed for docker swarm
MADRID · NOV 18-19 · 2016
Service discovery
MADRID · NOV 18-19 · 2016
How do I develop locally?
MADRID · NOV 18-19 · 2016
New old problems
● Onboarding new developers
● Config management
● Debugging
● Data Bootstrapping
MADRID · NOV 18-19 · 2016
What do we need?
● Infrastructure Bootstrapping:
○ up and running
○ configuration
● Microservices Bootstrapping:
○ up and running
○ application data
MADRID · NOV 18-19 · 2016
How do we solved it?
● Infrastructure Bootstrapping.
○ up and running
○ configuration
● Microservices Bootstrapping:
○ up and running
○ application data
MADRID · NOV 18-19 · 2016
How do we solved it?
● Infrastructure Bootstrapping.
○ up and running
○ configuration
● Microservices Bootstrapping:
○ up and running
○ application data
MADRID · NOV 18-19 · 2016
Local development
MADRID · NOV 18-19 · 2016
Service discovery (review)
MADRID · NOV 18-19 · 2016
Service discovery (IDE)
MADRID · NOV 18-19 · 2016
Service discovery (remote)
MADRID · NOV 18-19 · 2016
Service discovery (all together)
MADRID · NOV 18-19 · 2016
Our (helpful) Dev Tools
MADRID · NOV 18-19 · 2016
https://slack.com
MADRID · NOV 18-19 · 2016
https://newrelic.com
MADRID · NOV 18-19 · 2016
Wiggumbot
https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin
http://docs.sonarqube.org/display/PLUG/GitHub+Plugin
MADRID · NOV 18-19 · 2016
Hound
https://github.com/etsy/hound
Etsy, Inc.
MADRID · NOV 18-19 · 2016
Asciidoctor
http://asciidoctor.org
MADRID · NOV 18-19 · 2016
Custom scripts
check-status.sh
compose-upgrade.sh
dashboards
checks
channels
metrics
Platform monitoring
MADRID · NOV 18-19 · 2016
Was it worth it?
MADRID · NOV 18-19 · 2016
# Shipments
MADRID · NOV 18-19 · 2016
# Deployments
2 → ~20 per week
MADRID · NOV 18-19 · 2016
It seems clear right?
Q&A
MADRID · NOV 18-19 · 2016
Thank you
MADRID · NOV 18-19 · 2016
WE ARE HIRING

More Related Content

Similar to Microservicios, en qué lío me he metido

North Highland Presentation for PMI Event 29.09.16
North Highland Presentation for PMI Event 29.09.16North Highland Presentation for PMI Event 29.09.16
North Highland Presentation for PMI Event 29.09.16
Andrew Iddon
 
Icinga Camp New York 2018 - Automated configuration with Icinga Director
Icinga Camp New York 2018 - Automated configuration with Icinga DirectorIcinga Camp New York 2018 - Automated configuration with Icinga Director
Icinga Camp New York 2018 - Automated configuration with Icinga Director
Icinga
 

Similar to Microservicios, en qué lío me he metido (20)

Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...
Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...
Sponsored Talk @ PGConf APAC 2018 - Choosing the right partner in your Postgr...
 
Public Private Partnership (PPP) for Transport & Logistics Infrastructure; Ch...
Public Private Partnership (PPP) for Transport & Logistics Infrastructure; Ch...Public Private Partnership (PPP) for Transport & Logistics Infrastructure; Ch...
Public Private Partnership (PPP) for Transport & Logistics Infrastructure; Ch...
 
Progres reporting in agile context
Progres reporting in agile contextProgres reporting in agile context
Progres reporting in agile context
 
Entrepreneurs
EntrepreneursEntrepreneurs
Entrepreneurs
 
Creando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreCreando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET Core
 
North Highland Presentation for PMI Event 29.09.16
North Highland Presentation for PMI Event 29.09.16North Highland Presentation for PMI Event 29.09.16
North Highland Presentation for PMI Event 29.09.16
 
Building a Content Marketing Machine -Dan Patterson's Deck
Building a Content Marketing Machine -Dan Patterson's DeckBuilding a Content Marketing Machine -Dan Patterson's Deck
Building a Content Marketing Machine -Dan Patterson's Deck
 
[En] 5 key success factors for content marketing in 2017 and beyond
[En] 5 key success factors for content marketing in 2017 and beyond[En] 5 key success factors for content marketing in 2017 and beyond
[En] 5 key success factors for content marketing in 2017 and beyond
 
Damco’s Digital Journey
Damco’s Digital JourneyDamco’s Digital Journey
Damco’s Digital Journey
 
Open Source BI Overview
Open Source BI Overview Open Source BI Overview
Open Source BI Overview
 
Nemery healthy biking_sapforum2018
Nemery healthy biking_sapforum2018Nemery healthy biking_sapforum2018
Nemery healthy biking_sapforum2018
 
International supply chain management
International supply chain managementInternational supply chain management
International supply chain management
 
Icinga Camp New York 2018 - Automated configuration with Icinga Director
Icinga Camp New York 2018 - Automated configuration with Icinga DirectorIcinga Camp New York 2018 - Automated configuration with Icinga Director
Icinga Camp New York 2018 - Automated configuration with Icinga Director
 
Operations Delivery Business Value
Operations Delivery Business ValueOperations Delivery Business Value
Operations Delivery Business Value
 
CommitConf 2018 - Going Async With Kotlin
CommitConf 2018 - Going Async With KotlinCommitConf 2018 - Going Async With Kotlin
CommitConf 2018 - Going Async With Kotlin
 
Opening: Imagining the Supply Chain of 2030. Where Are We Now? What Is Possible?
Opening: Imagining the Supply Chain of 2030. Where Are We Now? What Is Possible?Opening: Imagining the Supply Chain of 2030. Where Are We Now? What Is Possible?
Opening: Imagining the Supply Chain of 2030. Where Are We Now? What Is Possible?
 
Adding Velocity to BigBench
Adding Velocity to BigBenchAdding Velocity to BigBench
Adding Velocity to BigBench
 
Adding Velocity to BigBench, Todor Ivanov, Patrick Bedué, Roberto Zicari, Ahm...
Adding Velocity to BigBench, Todor Ivanov, Patrick Bedué, Roberto Zicari, Ahm...Adding Velocity to BigBench, Todor Ivanov, Patrick Bedué, Roberto Zicari, Ahm...
Adding Velocity to BigBench, Todor Ivanov, Patrick Bedué, Roberto Zicari, Ahm...
 
The Internet of Things: Driving Automated Replenishment
The Internet of Things: Driving Automated ReplenishmentThe Internet of Things: Driving Automated Replenishment
The Internet of Things: Driving Automated Replenishment
 
Know your users - Iga Moscichowska at Mobiconf 20176
Know your users - Iga Moscichowska at Mobiconf 20176Know your users - Iga Moscichowska at Mobiconf 20176
Know your users - Iga Moscichowska at Mobiconf 20176
 

Recently uploaded

Recently uploaded (20)

Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 

Microservicios, en qué lío me he metido

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