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 Amsterdam 2017 - Enterprise Fast Lane

259 views

Published on

Learn how AutoScout24, the largest online car marketplace Europe-wide, are building their Autobahn in the cloud.

The secret ingredient? Culture! Because “microservices and cloud” is only one half of the digital transformation story: The other half is how your organization deals with cultural change as you transition from the old world of IT into building microservices on AWS with agile DevOps teams in a true “you build it, you run it” fashion.

Listen to stories from the trenches and learn how to become cloud-native, evolve your architecture step by step, drive cultural change across your teams, and manage your company’s transformation for the future.

Published in: Software
  • Be the first to comment

GOTO Amsterdam 2017 - Enterprise Fast Lane

  1. 1. GOTO Amsterdam | 14.06.2017 | Christian Deger | @cdeger Enterprise Fast Lane Transforming to Microservices in the Cloud
  2. 2. Christian Deger Chief Architect christian.deger@scout24.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. .NET / Windows to JVM / Linux Monolith to Microservices Data center to AWS Devs + Ops to Collaboration culture Involve product people
  14. 14. Why Microservices? Speed Independent deployable Fast local decisionsAutonomous teams Strong boundaries Loosely coupled Technology diversity Scale the organization
  15. 15. Loosely coupled service oriented architecture with bounded contexts. —Adrian Cockcroft Microservices are small, autonomous services that work together. —Sam Newman
  16. 16. “Death Star” Diagrams Amazon 2008 Twitter 2013
  17. 17. 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.
  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. Idea ProductData build measure learn Build-Measure-Learn feedback loop
  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. Monitoring is the new testing
  26. 26. Follow the trail
  27. 27. Templates • Faster bootstrapping • Copied not inherited • Collect and share best practices
  28. 28. Guilds Self-organizing; common interests; across teams Macro Architecture, Infrastructure, Frontend, QA... Beware of mandelbrot teams
  29. 29. Continuous Delivery
  30. 30. 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
  31. 31. Application code in one repository per service. CI Deployment package as artifact. CD Deliver package to servers Delivery Pipeline – Data Center
  32. 32. 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
  33. 33. Unlimited Infrastructure with APIs
  34. 34. Cattle, not pets
  35. 35. Separate code deployment feature release from
  36. 36. How many environments? Which versions on staging? Prod differs anyway: Load, data, patterns V2V3 V6 V5 V4 V7 V5 V8 Engineer CI Dev Staging V1 V4 Prod
  37. 37. No staging environment
  38. 38. • Consumer driven contracts • Canary releases • Shadow traffic • Semantic monitoring Integrate in production
  39. 39. https://autoscout24.github.io/tech-radar/
  40. 40. An act of Deliberate Collective Learning • Big Picture • Design Level http://eventstorming.com/
  41. 41. Idea ProductData build measure learn Build-Measure-Learn feedback loop
  42. 42. Idea ProductData build measure learn New technologies enable technical agility… Analytics BI Machine Learning Big Data IoT Mobile Cloud Microservices Container CI/CD
  43. 43. Idea ProductData build measure learn …and culture enables organizational agility Analytics BI Machine Learning Big Data IoT Mobile Cloud Microservices Container CI/CD Lean Agile DevOps
  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

×