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.

Microservices in the cloud at AutoScout24

768 views

Published on

Learn how AutoScout24 are building their Autobahn in the cloud to become the market leader in Europe's vehicle classified business.
Reinventing themselves by making a radical transition from monoliths to microservices, from .NET on Windows to Scala on Linux, from data center to AWS and from built by devs and run by ops to a devops mindset.
This talk gives a high level overview of our cultural changes, our strategic goals and our architectural principles. That includes our approach, where autonomous, empowered teams continuously deliver services into AWS and are responsible to operate them.

Borrowed some slides from Simon Hohenadl (http://www.slideshare.net/SimonHohenadl) and Matthias Patzak (http://www.slideshare.net/MatthiasPatzak)

Published in: Engineering
  • Be the first to comment

Microservices in the cloud at AutoScout24

  1. 1. ITM Top Leadership Team | 07.03.2015 | Christian Deger Microservices in the cloud at AutoScout24
  2. 2. Christian Deger Architect cdeger@autoscout24.com @cdeger
  3. 3. 2,4 Million Vehicles
  4. 4. 17 countries 350 employees 140 in IT RUS S PL NL D B F A HR RO BG UA I TR E CZ
  5. 5. 1.000.000.000 Page Impressions per Month
  6. 6. 2000 Servers 2 Data Centers MTBF optimized
  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 Hmm, we are
  12. 12. Reboot everything
  13. 13. .NET / Windows to JVM / Linux Monolith to Microservices Data center to AWS Devs + Ops to Collaboration culture Involve product people
  14. 14. Giants Stand on the Shoulders of
  15. 15. same direction
  16. 16. STRATEGIC GOALS Goals of the business side ARCHITECTURAL PRINCIPLES High-Level Principles DESIGN AND DELIVERY PRINCIPLES Tactical measures REDUCE TIME TO MARKET Speed, Fast Feedback COST EFFICIENCY Collect metrics to allow decisions cost vs. value. SUPPORT DATA-DRIVEN DECISIONS Listen to users and validate hypothesis. Provide as many relevant metrics & data as possible. 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. Inverse Conway Maneuver. LOOSELY COUPLED By default avoid sharing and tight coupling, except for the big things in common. 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-rolled solutions. DATA-DRIVEN / METRIC-DRIVEN Collect metrics from processes and applications. Analyze, alert and act on them. ELIMINATE ACCIDENTAL COMPLEXITY Strive to keep it simple. Focus on essential complexity. You build one, you delete one. AUTONOMOUS TEAMS Make fast local decisions. Be responsible. Know your boundaries. Share findings. INFRASTRACTURE AS CODE Automate everything: Reproducible, traceable and tested. Immutable servers over snowflake servers. COLLABORATION CULTURE 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. Recover and learn. Optimize for MTTR not MTBF. SECURITY, COMPLIANCE AND DATA PRIVACY Security must be included from the beginning and everybody’s concern. Keep data-privacy in mind. CONTAINMENT AND BOUNDARIES Align blast radius and vendor lock-in with the boundaries of the organization or business capabilities. Version 1.0 Icons made by Freepik from www.flaticon.com are licensed under CC BY 3.0
  17. 17. Build MeasureLearn
  18. 18. Conway’s Law “organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations”
  19. 19. Autonomous teams business capabilities organized around
  20. 20. cross functional teams
  21. 21. We are all engineers!
  22. 22. You build it, you run it.
  23. 23. while developing software Cost optimization
  24. 24. Zero Bug Policy
  25. 25. Continuous Delivery
  26. 26. Unlimited Infrastructure with APIs
  27. 27. Immutable Servers
  28. 28. Monitoring is the new testing
  29. 29. Separate code deployment feature release from
  30. 30. No staging environment
  31. 31. STRATEGIC GOALS Goals of the business side ARCHITECTURAL PRINCIPLES High-Level Principles DESIGN AND DELIVERY PRINCIPLES Tactical measures REDUCE TIME TO MARKET Speed, Fast Feedback COST EFFICIENCY Collect metrics to allow decisions cost vs. value. SUPPORT DATA-DRIVEN DECISIONS Listen to users and validate hypothesis. Provide as many relevant metrics & data as possible. 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. Inverse Conway Maneuver. LOOSELY COUPLED By default avoid sharing and tight coupling, except for the big things in common. 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-rolled solutions. DATA-DRIVEN / METRIC-DRIVEN Collect metrics from processes and applications. Analyze, alert and act on them. ELIMINATE ACCIDENTAL COMPLEXITY Strive to keep it simple. Focus on essential complexity. You build one, you delete one. AUTONOMOUS TEAMS Make fast local decisions. Be responsible. Know your boundaries. Share findings. INFRASTRACTURE AS CODE Automate everything: Reproducible, traceable and tested. Immutable servers over snowflake servers. COLLABORATION CULTURE 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. Recover and learn. Optimize for MTTR not MTBF. SECURITY, COMPLIANCE AND DATA PRIVACY Security must be included from the beginning and everybody’s concern. Keep data-privacy in mind. CONTAINMENT AND BOUNDARIES Align blast radius and vendor lock-in with the boundaries of the organization or business capabilities. Version 1.0 Icons made by Freepik from www.flaticon.com are licensed under CC BY 3.0
  32. 32. Picture Credits • "HotWheels - '69 Ford Torino Talladega“ by Leap Kye, licensed under CC BY-ND 2.0 • Differences between Traditional vs Next Generation by Simon Wardley under CC BY-SA 3.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 • Spare wheel by Brian Snelson under CC BY 2.0
  33. 33. Backup
  34. 34. How many environments? V2V3 V6 V5 V4 V7 V5 V8 Engineer CI Dev Staging V1 V4 Prod
  35. 35. Target Architecture Monolith Alarm! Nanoservices? Composition?

×