Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GOTO Berlin 2016

323 views

Published on

https://gotocon.com/berlin-2016/presentations/show_talk.jsp?oid=8033

Fed up with stop and go in your data center? Why not shift into overdrive and pull into the fast lane? Learn how AutoScout24, the largest online car marketplace Europe-wide, are building their Autobahn.

Reinventing themselves by making a radical transition from monoliths to microservices, from .NET on Windows to Scala on Linux, from datacenter to AWS and from built by devs and run by ops to a devops mindset.

While the current stack keeps running, ever more microservices will go live as you listen to stories from the trenches.

Key takeaways from this talk include: How to...

… become cloud native
… evolve the architecture
… create “you build it you run it” teams
… align with principles

Published in: Technology

GOTO Berlin 2016

  1. 1. GOTO Berlin | 15.11.2016 | Christian Deger | @cdeger Highway to heaven Building microservices in the cloud
  2. 2. Christian Deger Chief Architect cdeger@autoscout24.com @cdeger
  3. 3. 2,4 Million Vehicles
  4. 4. Microservices in the cloud adoption?
  5. 5. 2000 Servers 2 Data Centers MTBF optimized
  6. 6. Dev and Ops Silos Development “Change” Operations “Stability”
  7. 7. New CEO
  8. 8. Talent? Do you attract
  9. 9. 21st Century What does a tech company look like?
  10. 10. Great Design Universally Connected Mobile First Instant Business Value Massive Data Insight Highly Available
  11. 11. good, but not great Hmm, we are
  12. 12. Reboot everything
  13. 13. Project Tatsu
  14. 14. .NET / Windows to JVM / Linux Monolith to Microservices Data center to AWS Devs + Ops to Collaboration culture Involve product people
  15. 15. “Death Star” Diagrams Amazon 2008 Twitter 2013
  16. 16. http://scs-architecture.org/ Self-Contained Systems = Microservices Flavor Team 1 Team 2 Team 3 One business capability is owned, built and run as an SCS by one team. Self-Contained System are vertical slices integrated at the UI.
  17. 17. Migration strategy
  18. 18. same direction
  19. 19. STRATEGIC GOALS Goals of the business side ARCHITECTURAL PRINCIPLES High-Level Principles DESIGN AND DELIVERY PRINCIPLES Tactical measures REDUCE TIME TO MARKET Establish fast feedback loops to learn, validate and improve. Remove friction, hand-offs and undifferentiated work. MOBILE FIRST Start small and use device capabilities. SUPPORT DATA-DRIVEN DECISIONS Provide relevant metrics and data for user and market insights. Validate hypothesis for problems worth solving. YOU BUILT IT, YOU RUN IT The team is responsible for shaping, building, running and maintaining its products. Fast feedback from live and customers helps us to continuously improve. ORGANIZED AROUND BUSINESS CAPABILITIES Build teams around products not projects. Follow the domain and respect bounded contexts. Make boundaries explicit. Inverse Conway Maneuver. LOOSELY COUPLED By default avoid sharing and tight coupling. No integration database. Don’t create the next monolith. MACRO AND MICRO ARCHITECTURE Clear separation. Autonomous micro services within the rules and constraints of the macro architecture. AWS FIRST Favor AWS platform service over managed service, over self-hosted OSS, over self built solutions. DATA-DRIVEN / METRIC-DRIVEN Collect business and operational metrics. Analyze, alert and act on them. ELIMINATE ACCIDENTAL COMPLEXITY Strive to keep it simple. Don’t over-engineer. Focus on necessary domain complexity. AUTONOMOUS TEAMS Make fast local decisions. Be responsible. Know your boundaries. Share findings. INFRASTRUCTURE AS CODE Automate everything: Reproducible, traceable, auditable and tested. Immutable servers. CROSS-FUNCTIONAL TEAMS Engineers from all backgrounds work together in collaborative teams as engineers and share responsibilities. No silos. BE BOLD Go into production early. Value monitoring over tests. Fail fast, recover and learn. Optimize for MTTR not MTBF. SECURITY, COMPLIANCE AND DATA PRIVACY Build with least privilege and data privacy in mind. Know your threat model. Limit blast radius. COST EFFICIENCY Run your segment in the right balance of cost and value. ONE SCOUT IT Foster collaboration. Harmonize and standardize tools. Pull common capabilities into decoupled platform services. Version 2.0 Icons made by Freepik from www.flaticon.com are licensed under CC BY 3.0 BEST TALENT Autonomy, Purpose and Mastery: We know why we do things, we decide how to approach them and deliberately practice our skills.
  20. 20. Build MeasureLearn
  21. 21. Conway’s Law “organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations”
  22. 22. Autonomous teams business capabilities organized around
  23. 23. collaboration culture
  24. 24. You build it, you run it.
  25. 25. We are all engineers!
  26. 26. Monitoring is the new testing
  27. 27. Follow the trail
  28. 28. Templates • Faster bootstrapping • Copied not inherited • Collect and share best practices
  29. 29. Guilds Self-organizing; common interests; across teams Macro Architecture, Infrastructure, Frontend, QA... Beware of mandelbrot teams
  30. 30. Continuous Delivery
  31. 31. DevOps Survey
  32. 32. Forsgren, Nicole and Humble, Jez, The Role of Continuous Delivery in IT and Organizational Performance (October 27, 2015). Forsgren, N., J. Humble (2016). "The Role of Continuous Delivery in IT and Organizational Performance." In the Proceedings of the Western Decision Sciences Institute (WDSI) 2016, Las Vegas, NV. . Available at SSRN: http://ssrn.com/abstract=2681909 or http://dx.doi.org/10.2139/ssrn.2681909 DevOps Science
  33. 33. Application code in one repository per service. CI Deployment package as artifact. CD Deliver package to servers Delivery Pipeline – Data Center
  34. 34. Application code and infrastructure specification in one repository per service. CI Deployment package and infrastructure declaration as artifact. CD 1. Create or update service infrastructure. 2. New instances pull down package and start application. Delivery Pipeline – AWS
  35. 35. Cattle, not pets
  36. 36. Separate code deployment feature release from
  37. 37. No staging environment
  38. 38. • Consumer driven contracts • Canary releases • Shadow traffic • Semantic monitoring Integrate in production
  39. 39. Unlimited Infrastructure with APIs
  40. 40. Frontend integration Loosely coupled Autonomous teams High optimization
  41. 41. PageSpeed Module css (page+fragment) js (page+fragment) ngx_pagespeed css (page) js (page) css (fragment) js (fragment)
  42. 42. Hamburgers, not cattle
  43. 43. Event Streaming
  44. 44. Picture Credits "HotWheels - '69 Ford Torino Talladega“ by Leap Kye, licensed under CC BY-ND 2.0 Enterprise IT Adoption Cycle by Simon Wardley under CC BY-SA 3.0 And the future is private by Simon Wardley under CC BY-SA 3.0 Leosvel et Diosmani by Ludovic Péron under CC BY-SA 3.0 Wandergeselle by Sigismund von Dobschütz under CC BY-SA 3.0 Puzzling by Bernd Gessler (Own work) CC BY-SA 3.0

×