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.
Highway to heaven
Building microservices in the cloud
Microservices Meetup Dublin, December 2015
Agenda
Meet AutoScout24
Shifting gears
How we build our services
How we organize ourselves
@cdeger
AutoScout24 - 30.000ft
Baseline AutoScout24 IT
Highly optimized, but of last decade
IT platform supported growth for >6 years
Microsoft oriented ...
New CEO
Do you attract talent?
Project Tatsu
Monolith to Microservices
Data center to AWS
.NET / Windows to JVM / Linux
Devs + Ops to DevOps culture
Involve product pe...
Technical transformation
Change the wheels while driving
Strategic Goals
Goals of the business side
Architectural Principles
High-Level Principles
Design and Delivery Principles
T...
Principles
Organized around business capabilities
You build it, you run it
Be bold
Macro and micro architecture
Shared not...
Shared infrastructure
Shared nothing
Availability over shared nothing
Convenience offerings
No side effects
Fast local dec...
How (not) to share
Use over re-use
Re-use only after hardening
Copy n’paste, OSS, library
Pull instead of push
How many environments?
Which versions on staging?
Prod differs anyway: Load, data, patterns
V2V3
V6 V5
V4
V7
V5
V8
Enginee...
Dev and prod is enough
Consumer driven contracts
Shadow traffic
Semantic monitoring
Smoke tests or canary releases
V2V3
V6...
Unified
Logs
Event Sourcing and data pumps
One way data highway
Event Sourcing - store history of all changes
SQS + S3
Kinesis + S3
Kinesis + DynamoDB
SQS + DynamoDB
Proxy + DynamoDB
DynamoDB
Evolution
Frontend integration
Shared nothing
Autonomous teams
One domain
High optimisation
Frontend integration
PageSpeed Module
css (page+fragment)
js (page+fragment)
ngx_pagespeed
css (page)
js (page)
css (fragment)
js (fragment)
How to build autonomous teams
Do not fall back into old behaviours
Beware of Mandelbrot teams
Pager duty so that you run i...
Infrastructure guild
Agree on things to do
Share learnings
Delegate implementation to teams
Empty backlog should be normal...
Two stacks
Cash stack meets shiny new stack
One company
Lights on in cash stack
Feature freeze
Where to build new features...
cdeger@autoscout24.com @cdeger
Attributions
Blue sky, white-gray clouds by nature protector Natubico, www.vivism.info [CC BY-SA 3.0]
http://commons.wikim...
Attributions (cont)
Alonso Renault Pitstop Chinese GP 2008 by Bert van Dijk (Pitstop F1 ING Renault) [CC BY-SA 2.0]
http:/...
Attributions (cont)
Sharing Sucks (4536747557) by eyeliam from Portland, United States [CC BY 2.0]
http://commons.wikimedi...
Highway to heaven - Microservices Meetup Dublin
Upcoming SlideShare
Loading in …5
×

Highway to heaven - Microservices Meetup Dublin

771 views

Published on

Fed up with stop and go in your data center? Why not shift into overdrive and pull into the fast lane? 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.

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 includes: How to...
… become cloud native
… evolve the architecture
… create “you build it you run it” teams
… involve business people in the transformation

Published in: Internet
  • Be the first to comment

Highway to heaven - Microservices Meetup Dublin

  1. 1. Highway to heaven Building microservices in the cloud Microservices Meetup Dublin, December 2015
  2. 2. Agenda Meet AutoScout24 Shifting gears How we build our services How we organize ourselves @cdeger
  3. 3. AutoScout24 - 30.000ft
  4. 4. Baseline AutoScout24 IT Highly optimized, but of last decade IT platform supported growth for >6 years Microsoft oriented stack Enterprise IT setup - MTBF over MTTR Proven agile and lean principles C
  5. 5. New CEO
  6. 6. Do you attract talent?
  7. 7. Project Tatsu
  8. 8. Monolith to Microservices Data center to AWS .NET / Windows to JVM / Linux Devs + Ops to DevOps culture Involve product people Five challenges
  9. 9. Technical transformation
  10. 10. Change the wheels while driving
  11. 11. 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 build 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. Shared Nothing 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. Infrastructure 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. Another goal Work in progress... Containment and Boundaries Align blast radius and vendor lock-in with the boundaries of the organization or business capabilities.
  12. 12. Principles Organized around business capabilities You build it, you run it Be bold Macro and micro architecture Shared nothing
  13. 13. Shared infrastructure Shared nothing Availability over shared nothing Convenience offerings No side effects Fast local decisions over committee Respect family ties
  14. 14. How (not) to share Use over re-use Re-use only after hardening Copy n’paste, OSS, library Pull instead of push
  15. 15. 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
  16. 16. Dev and prod is enough Consumer driven contracts Shadow traffic Semantic monitoring Smoke tests or canary releases V2V3 V6 V5 V4 V7 V5 V8 Engineer CI Dev Prod
  17. 17. Unified Logs
  18. 18. Event Sourcing and data pumps One way data highway Event Sourcing - store history of all changes
  19. 19. SQS + S3 Kinesis + S3 Kinesis + DynamoDB SQS + DynamoDB Proxy + DynamoDB DynamoDB Evolution
  20. 20. Frontend integration Shared nothing Autonomous teams One domain High optimisation
  21. 21. Frontend integration
  22. 22. PageSpeed Module css (page+fragment) js (page+fragment) ngx_pagespeed css (page) js (page) css (fragment) js (fragment)
  23. 23. How to build autonomous teams Do not fall back into old behaviours Beware of Mandelbrot teams Pager duty so that you run it Fix broken windows Part-time ops not working Not all T-shapes are the same Wolf W
  24. 24. Infrastructure guild Agree on things to do Share learnings Delegate implementation to teams Empty backlog should be normal Infrastructure product teams needed?
  25. 25. Two stacks Cash stack meets shiny new stack One company Lights on in cash stack Feature freeze Where to build new features? Ease of integration helps business people
  26. 26. cdeger@autoscout24.com @cdeger
  27. 27. Attributions Blue sky, white-gray clouds by nature protector Natubico, www.vivism.info [CC BY-SA 3.0] http://commons.wikimedia.org/wiki/File%3ABlue_sky%2C_white-gray_clouds.JPG A Danish Perspective by NASA [Public domain] http://commons.wikimedia.org/wiki/File%3AA_Danish_Perspective.jpg http://commons.wikimedia.org/wiki/File%3ANASAComputerRoom7090.NARA.jpg GREG EINRAD Amazon16 by Neil Palmer/CIAT [CC BY-SA 2.0] https://www.flickr.com/photos/ciat/5641594952 BERGSTEIGER Barber in Cameroon by James Emery from Douglasville, United States (Daddy Joe_1355) [CC BY 2.0] http://commons.wikimedia.org/wiki/File%3ABarber_in_Cameroon.jpg Wide objectives by Kivela (Own work) [Public domain] href="http://commons.wikimedia.org/wiki/File%3AWide_objectives.jpg Transformer Fire Barrier by GerryS1 (Own work) [CC BY-SA 3.0 or GFDL] http://commons.wikimedia.org/wiki/File%3ATransformer_Fire_Barrier.jpg
  28. 28. Attributions (cont) Alonso Renault Pitstop Chinese GP 2008 by Bert van Dijk (Pitstop F1 ING Renault) [CC BY-SA 2.0] http://commons.wikimedia.org/wiki/File%3AAlonso_Renault_Pitstop_Chinese_GP_2008.jpg Principle of Panchasheel by Prakash Adhikary (Own work) [CC BY 3.0] http://commons.wikimedia.org/wiki/File%3APrinciple_of_Panchasheel.JPG Traffic Jam by Doo Ho Kim [CC BY-SA 2.0] https://www.flickr.com/photos/titicat/3049591547 Pellets by The original uploader was Richard Mayer at German Wikipedia [GFDL or CC-BY-SA-3.0] http://commons.wikimedia.org/wiki/File%3APellets.jpg Pipes and Valves by Uwe Hermann [CC BY-SA 2.0] https://www.flickr.com/photos/73628542@N00/6272975359 Size variation in Coccinella undecimpunctata (2127991716) by Gilles San Martin from Namur, Belgium [CC BY-SA 2.0] http://commons.wikimedia.org/wiki/File%3ASize_variation_in_Coccinella_undecimpunctata_(2127991716).jpg Mille crêpe by Laitr Keiows (Own work) [CC BY-SA 3.0 or GFDL] http://commons.wikimedia.org/wiki/File%3AMille_cr%C3%AApe.jpg Country Energy power line replacement 01 by Bidgee (Own work) [CC BY-SA 3.0] http://commons.wikimedia.org/wiki/File%3ACountry_Energy_power_line_replacement_01.jpg Puzzling by Bernd Gessler (Own work) [CC BY-SA 3.0] https://commons.wikimedia.org/wiki/File%3APuzzling.JPG
  29. 29. Attributions (cont) Sharing Sucks (4536747557) by eyeliam from Portland, United States [CC BY 2.0] http://commons.wikimedia.org/wiki/File%3ASharing_Sucks_(4536747557).jpg 7Line 9184 (8263568241) by Metropolitan Transportation Authority of the State of New York (7Line_9184 Uploaded by tm) [CC BY 2.0] http://commons.wikimedia.org/wiki/File%3A7Line_9184_(8263568241).jpg England rugby team 1905 by Russell & Sons (The Graphic) [Public domain or Public domain] http://commons.wikimedia.org/wiki/File%3AEngland_rugby_team_1905.jpg Wandergeselle by Sigismund von Dobschütz [CC BY-SA 3.0] http://commons.wikimedia.org/wiki/File%3AWandergeselle_02.JPG Faber-Rechenschieber 5304 by User:Karl Gruber (Own work) [CC BY-SA 4.0] http://commons.wikimedia.org/wiki/File%3AFaber-Rechenschieber_5304.JPG Wheel clamps Texas by Richard Anderson from Denton, United States (Boots.) [CC BY-SA 2.0] http://commons.wikimedia.org/wiki/File%3AWheel_clamps_Texas.jpg GuadalupeNOLA15Oct07Thanks by Infrogmation of New Orleans (Photo by Infrogmation) [GFDL or CC BY-SA 3.0] http://commons.wikimedia.org/wiki/File%3AGuadalupeNOLA15Oct07Thanks.jpg AtariBasic by Calin99 (Own work) [GPL] http://commons.wikimedia.org/wiki/File%3AAtariBasic.png Spare wheel by Brian Snelson [CC BY 2.0] https://commons.wikimedia.org/wiki/File:Spare_wheel_-_Flickr_-_exfordy.jpg

×