SlideShare a Scribd company logo
Highway to heaven
Building microservices in the cloud
Continuous Lifecycle 2015
Agenda
Meet AutoScout24
Shifting gears
How we build our services
How we organize ourselves
@cdeger & @wolfwolf
AutoScout24 - 30.000ft
CC
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
New CEO
CC
Do you attract talent?
CC
CC
Project Tatsu
WW
Monolith to Microservices
Data center to AWS
.NET / Windows to JVM / Linux
Devs + Ops to DevOps culture
Involve product people
Five challenges
WW
Technical transformation
WW
Change the wheels while driving
WW
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 Transparency
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
Responsibility to run and maintain a product stays with the
building team. 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
Avoid shared infrastructure and tight coupling as much as
possible. 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 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. No silver
bullet.
Event Sourcing and Publishing
Keep history of state changes and publish application events.
Autonomous Teams
Make fast local decisions. Be responsible. Know your
boundaries. Share findings.
Continuous Delivery
Deliver changes reliable, often and fast.
Infrastructure As Code
Automate everything: Reproducible, traceable and tested.
Immutable servers over snowflake servers.
DevOps Culture
Developers and Ops work together in collaborative teams as
engineers. No silos.
Be Bold
Go into production early. Value monitoring over tests. Recover
and learn. Optimize for MTTR not MTBF.
Security & Data Privacy
Security must be first class citizen and everybody’s concern.
Keep data-privacy in mind.
CC
Another goal
Work in progress...
Principles
Organized around business capabilities
You build it, you run it
Be bold
Macro and micro architecture
Shared nothing
CWCW
Shared infrastructure
Shared nothing
Availability over shared nothing
Convenience offerings
No side effects
Fast local decisions over committee
Respect family ties WW
How (not) to share
Use over re-use
Re-use only after hardening
Copy n’paste, OSS, library
Pull instead of push
WW
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
CC
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
CC
Event Sourcing and data pumps
One way data highway
Event Sourcing - store history of all changes
WW
SQS + S3
Kinesis + S3
Kinesis + DynamoDB
SQS + DynamoDB
Proxy + DynamoDB
DynamoDB
Evolution
WW
Frontend integration
Shared nothing
Autonomous teams
One domain
High optimisation
CC
Frontend integration
CC
PageSpeed Module
css (page+fragment)
js (page+fragment)
ngx_pagespeed
css (page)
js (page)
css (fragment)
js (fragment)
CC
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
WW
Infrastructure guild
Agree on things to do
Share learnings
Delegate implementation to teams
Empty backlog should be normal
Infrastructure product teams needed?
CC
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 WW
cdeger@autoscout24.com @cdeger
wschlegel@thoughtworks.com @wolfwolf
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
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
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

More Related Content

What's hot

Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Christian Deger
 
GOTO Berlin 2016
GOTO Berlin 2016GOTO Berlin 2016
GOTO Berlin 2016
Christian Deger
 
Reactive Microservices Roadshow Berlin
Reactive Microservices Roadshow BerlinReactive Microservices Roadshow Berlin
Reactive Microservices Roadshow Berlin
Christian Deger
 
Cloud Security - I ain’t rocket science @ Club.cloud 20211103
Cloud Security - I ain’t rocket science @ Club.cloud 20211103Cloud Security - I ain’t rocket science @ Club.cloud 20211103
Cloud Security - I ain’t rocket science @ Club.cloud 20211103
Edzo Botjes
 
Going Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a PlatformGoing Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a Platform
Chip Childers
 
Microservices, Containers, Scheduling and Orchestration - A Primer
Microservices, Containers, Scheduling and Orchestration - A PrimerMicroservices, Containers, Scheduling and Orchestration - A Primer
Microservices, Containers, Scheduling and Orchestration - A Primer
Gareth Llewellyn
 
The Future Is The Cloud
The Future Is The CloudThe Future Is The Cloud
The Future Is The Cloud
Gatsbyjs
 
Distribute Your App and Engage Your Community with a Helm Repository
Distribute Your App and Engage Your Community with a Helm RepositoryDistribute Your App and Engage Your Community with a Helm Repository
Distribute Your App and Engage Your Community with a Helm Repository
VMware Tanzu
 
Rio Info 2015 – A plataforma da agilidade, cloud foundry open paas - Rodrigo ...
Rio Info 2015 – A plataforma da agilidade, cloud foundry open paas - Rodrigo ...Rio Info 2015 – A plataforma da agilidade, cloud foundry open paas - Rodrigo ...
Rio Info 2015 – A plataforma da agilidade, cloud foundry open paas - Rodrigo ...
Rio Info
 
Synergy 2015 Session Slides: SYN226 Optimizing & Maintaining Your Environment...
Synergy 2015 Session Slides: SYN226 Optimizing & Maintaining Your Environment...Synergy 2015 Session Slides: SYN226 Optimizing & Maintaining Your Environment...
Synergy 2015 Session Slides: SYN226 Optimizing & Maintaining Your Environment...
Citrix
 
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
Mark Hinkle
 
Serverless is FaaS-tastic - All Things Open Meet-up
Serverless is FaaS-tastic - All Things Open Meet-upServerless is FaaS-tastic - All Things Open Meet-up
Serverless is FaaS-tastic - All Things Open Meet-up
Mark Hinkle
 
Turbo Training Hybrid Cloud
Turbo Training Hybrid CloudTurbo Training Hybrid Cloud
Turbo Training Hybrid Cloud
Weolcan
 
Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?
Michael O'Sullivan
 
A Microservices Architecture That Emphasizes Rapid Development
A Microservices Architecture That Emphasizes Rapid DevelopmentA Microservices Architecture That Emphasizes Rapid Development
A Microservices Architecture That Emphasizes Rapid Development
Rob Hruska
 
BuildStuffConf Going beyond the 12 factors
BuildStuffConf Going beyond the 12 factorsBuildStuffConf Going beyond the 12 factors
BuildStuffConf Going beyond the 12 factors
Grace Jansen
 
A Microservices Architecture That Emphasizes Rapid Development (That Conference)
A Microservices Architecture That Emphasizes Rapid Development (That Conference)A Microservices Architecture That Emphasizes Rapid Development (That Conference)
A Microservices Architecture That Emphasizes Rapid Development (That Conference)
Rob Hruska
 
Sebastian Bretschneider - Our way to Ceph
Sebastian Bretschneider - Our way to CephSebastian Bretschneider - Our way to Ceph
Sebastian Bretschneider - Our way to Ceph
ShapeBlue
 
How to become a DevOps Engineer
How to become a DevOps EngineerHow to become a DevOps Engineer
How to become a DevOps Engineer
Cloud Study Network
 
Innovate bluemix and jazz vpc
Innovate bluemix and jazz vpc Innovate bluemix and jazz vpc
Innovate bluemix and jazz vpc
Kartik Kanakasabesan
 

What's hot (20)

Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016
 
GOTO Berlin 2016
GOTO Berlin 2016GOTO Berlin 2016
GOTO Berlin 2016
 
Reactive Microservices Roadshow Berlin
Reactive Microservices Roadshow BerlinReactive Microservices Roadshow Berlin
Reactive Microservices Roadshow Berlin
 
Cloud Security - I ain’t rocket science @ Club.cloud 20211103
Cloud Security - I ain’t rocket science @ Club.cloud 20211103Cloud Security - I ain’t rocket science @ Club.cloud 20211103
Cloud Security - I ain’t rocket science @ Club.cloud 20211103
 
Going Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a PlatformGoing Cloud Native - It Takes a Platform
Going Cloud Native - It Takes a Platform
 
Microservices, Containers, Scheduling and Orchestration - A Primer
Microservices, Containers, Scheduling and Orchestration - A PrimerMicroservices, Containers, Scheduling and Orchestration - A Primer
Microservices, Containers, Scheduling and Orchestration - A Primer
 
The Future Is The Cloud
The Future Is The CloudThe Future Is The Cloud
The Future Is The Cloud
 
Distribute Your App and Engage Your Community with a Helm Repository
Distribute Your App and Engage Your Community with a Helm RepositoryDistribute Your App and Engage Your Community with a Helm Repository
Distribute Your App and Engage Your Community with a Helm Repository
 
Rio Info 2015 – A plataforma da agilidade, cloud foundry open paas - Rodrigo ...
Rio Info 2015 – A plataforma da agilidade, cloud foundry open paas - Rodrigo ...Rio Info 2015 – A plataforma da agilidade, cloud foundry open paas - Rodrigo ...
Rio Info 2015 – A plataforma da agilidade, cloud foundry open paas - Rodrigo ...
 
Synergy 2015 Session Slides: SYN226 Optimizing & Maintaining Your Environment...
Synergy 2015 Session Slides: SYN226 Optimizing & Maintaining Your Environment...Synergy 2015 Session Slides: SYN226 Optimizing & Maintaining Your Environment...
Synergy 2015 Session Slides: SYN226 Optimizing & Maintaining Your Environment...
 
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
Keynote - Open Source 101 - How JavaScript Became a Legitimate Open Source En...
 
Serverless is FaaS-tastic - All Things Open Meet-up
Serverless is FaaS-tastic - All Things Open Meet-upServerless is FaaS-tastic - All Things Open Meet-up
Serverless is FaaS-tastic - All Things Open Meet-up
 
Turbo Training Hybrid Cloud
Turbo Training Hybrid CloudTurbo Training Hybrid Cloud
Turbo Training Hybrid Cloud
 
Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?Cloud Native Computing: What does it mean, and is your app Cloud Native?
Cloud Native Computing: What does it mean, and is your app Cloud Native?
 
A Microservices Architecture That Emphasizes Rapid Development
A Microservices Architecture That Emphasizes Rapid DevelopmentA Microservices Architecture That Emphasizes Rapid Development
A Microservices Architecture That Emphasizes Rapid Development
 
BuildStuffConf Going beyond the 12 factors
BuildStuffConf Going beyond the 12 factorsBuildStuffConf Going beyond the 12 factors
BuildStuffConf Going beyond the 12 factors
 
A Microservices Architecture That Emphasizes Rapid Development (That Conference)
A Microservices Architecture That Emphasizes Rapid Development (That Conference)A Microservices Architecture That Emphasizes Rapid Development (That Conference)
A Microservices Architecture That Emphasizes Rapid Development (That Conference)
 
Sebastian Bretschneider - Our way to Ceph
Sebastian Bretschneider - Our way to CephSebastian Bretschneider - Our way to Ceph
Sebastian Bretschneider - Our way to Ceph
 
How to become a DevOps Engineer
How to become a DevOps EngineerHow to become a DevOps Engineer
How to become a DevOps Engineer
 
Innovate bluemix and jazz vpc
Innovate bluemix and jazz vpc Innovate bluemix and jazz vpc
Innovate bluemix and jazz vpc
 

Similar to Building Microservices in the cloud at AutoScout24

Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Samy Fodil
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Kishor Satpathy
 
Designing CloudStack Clouds
Designing CloudStack CloudsDesigning CloudStack Clouds
Designing CloudStack Clouds
ShapeBlue
 
Introduction and CloudStack news
Introduction and CloudStack newsIntroduction and CloudStack news
Introduction and CloudStack news
ShapeBlue
 
"How overlay networks can make public clouds your global WAN" by Ryan Koop o...
 "How overlay networks can make public clouds your global WAN" by Ryan Koop o... "How overlay networks can make public clouds your global WAN" by Ryan Koop o...
"How overlay networks can make public clouds your global WAN" by Ryan Koop o...
Cohesive Networks
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
DevOps.com
 
Solving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute finalSolving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute final
Avere Systems
 
Applying lean, dev ops, and cloud for better business outcomes
Applying lean, dev ops, and cloud for better business outcomesApplying lean, dev ops, and cloud for better business outcomes
Applying lean, dev ops, and cloud for better business outcomes
Kartik Kanakasabesan
 
The Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian CockcroftThe Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian Cockcroft
Dun & Bradstreet Cloud Innovation Center
 
ElasticSearch on AWS
ElasticSearch on AWSElasticSearch on AWS
ElasticSearch on AWS
Philipp Garbe
 
Serverless is a win for businesses, not just developers
Serverless is a win for businesses, not just developersServerless is a win for businesses, not just developers
Serverless is a win for businesses, not just developers
Yan Cui
 
StampedeCon 2015 Keynote
StampedeCon 2015 KeynoteStampedeCon 2015 Keynote
StampedeCon 2015 Keynote
Ken Owens
 
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
StampedeCon
 
Silicon Valley CloudStack User Group - Designing CloudStack Clouds
Silicon Valley CloudStack User Group - Designing CloudStack CloudsSilicon Valley CloudStack User Group - Designing CloudStack Clouds
Silicon Valley CloudStack User Group - Designing CloudStack Clouds
ShapeBlue
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
Miki Lombardi
 
Conquering Disaster Recovery Challenges and Out-of-Control Data with the Hybr...
Conquering Disaster Recovery Challenges and Out-of-Control Data with the Hybr...Conquering Disaster Recovery Challenges and Out-of-Control Data with the Hybr...
Conquering Disaster Recovery Challenges and Out-of-Control Data with the Hybr...
actualtechmedia
 
Dawn of the Intelligence Age by Dr. Anton Ravindran
Dawn of the Intelligence Age by Dr. Anton RavindranDawn of the Intelligence Age by Dr. Anton Ravindran
Dawn of the Intelligence Age by Dr. Anton Ravindran
GSTF
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud.
OPEN KNOWLEDGE GmbH
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databases
DevOpsGroup
 
Getting Started on AWS for .NET Developers
Getting Started on AWS for .NET DevelopersGetting Started on AWS for .NET Developers
Getting Started on AWS for .NET Developers
Bruce Kyle
 

Similar to Building Microservices in the cloud at AutoScout24 (20)

Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Designing CloudStack Clouds
Designing CloudStack CloudsDesigning CloudStack Clouds
Designing CloudStack Clouds
 
Introduction and CloudStack news
Introduction and CloudStack newsIntroduction and CloudStack news
Introduction and CloudStack news
 
"How overlay networks can make public clouds your global WAN" by Ryan Koop o...
 "How overlay networks can make public clouds your global WAN" by Ryan Koop o... "How overlay networks can make public clouds your global WAN" by Ryan Koop o...
"How overlay networks can make public clouds your global WAN" by Ryan Koop o...
 
Optimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWSOptimize your CI/CD with GitLab and AWS
Optimize your CI/CD with GitLab and AWS
 
Solving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute finalSolving enterprise challenges through scale out storage & big compute final
Solving enterprise challenges through scale out storage & big compute final
 
Applying lean, dev ops, and cloud for better business outcomes
Applying lean, dev ops, and cloud for better business outcomesApplying lean, dev ops, and cloud for better business outcomes
Applying lean, dev ops, and cloud for better business outcomes
 
The Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian CockcroftThe Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian Cockcroft
 
ElasticSearch on AWS
ElasticSearch on AWSElasticSearch on AWS
ElasticSearch on AWS
 
Serverless is a win for businesses, not just developers
Serverless is a win for businesses, not just developersServerless is a win for businesses, not just developers
Serverless is a win for businesses, not just developers
 
StampedeCon 2015 Keynote
StampedeCon 2015 KeynoteStampedeCon 2015 Keynote
StampedeCon 2015 Keynote
 
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
 
Silicon Valley CloudStack User Group - Designing CloudStack Clouds
Silicon Valley CloudStack User Group - Designing CloudStack CloudsSilicon Valley CloudStack User Group - Designing CloudStack Clouds
Silicon Valley CloudStack User Group - Designing CloudStack Clouds
 
Micro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - Plansoft
 
Conquering Disaster Recovery Challenges and Out-of-Control Data with the Hybr...
Conquering Disaster Recovery Challenges and Out-of-Control Data with the Hybr...Conquering Disaster Recovery Challenges and Out-of-Control Data with the Hybr...
Conquering Disaster Recovery Challenges and Out-of-Control Data with the Hybr...
 
Dawn of the Intelligence Age by Dr. Anton Ravindran
Dawn of the Intelligence Age by Dr. Anton RavindranDawn of the Intelligence Age by Dr. Anton Ravindran
Dawn of the Intelligence Age by Dr. Anton Ravindran
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud.
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databases
 
Getting Started on AWS for .NET Developers
Getting Started on AWS for .NET DevelopersGetting Started on AWS for .NET Developers
Getting Started on AWS for .NET Developers
 

More from Christian Deger

Building A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics EcosystemBuilding A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics Ecosystem
Christian Deger
 
Cloud native Continuous Delivery
Cloud native Continuous DeliveryCloud native Continuous Delivery
Cloud native Continuous Delivery
Christian Deger
 
Cloud native Continuous Delivery
Cloud native Continuous DeliveryCloud native Continuous Delivery
Cloud native Continuous Delivery
Christian Deger
 
GOTO Amsterdam 2017 - Enterprise Fast Lane
GOTO Amsterdam 2017 - Enterprise Fast LaneGOTO Amsterdam 2017 - Enterprise Fast Lane
GOTO Amsterdam 2017 - Enterprise Fast Lane
Christian Deger
 
AWS Cloud For Breakfast - Building Microservices in the Cloud
AWS Cloud For Breakfast - Building Microservices in the CloudAWS Cloud For Breakfast - Building Microservices in the Cloud
AWS Cloud For Breakfast - Building Microservices in the Cloud
Christian Deger
 
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
Christian Deger
 

More from Christian Deger (6)

Building A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics EcosystemBuilding A Cloud-Native Advanced Logistics Ecosystem
Building A Cloud-Native Advanced Logistics Ecosystem
 
Cloud native Continuous Delivery
Cloud native Continuous DeliveryCloud native Continuous Delivery
Cloud native Continuous Delivery
 
Cloud native Continuous Delivery
Cloud native Continuous DeliveryCloud native Continuous Delivery
Cloud native Continuous Delivery
 
GOTO Amsterdam 2017 - Enterprise Fast Lane
GOTO Amsterdam 2017 - Enterprise Fast LaneGOTO Amsterdam 2017 - Enterprise Fast Lane
GOTO Amsterdam 2017 - Enterprise Fast Lane
 
AWS Cloud For Breakfast - Building Microservices in the Cloud
AWS Cloud For Breakfast - Building Microservices in the CloudAWS Cloud For Breakfast - Building Microservices in the Cloud
AWS Cloud For Breakfast - Building Microservices in the Cloud
 
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
Predictive Analytics for Vehicle Price Prediction - Delivered Continuously at...
 

Recently uploaded

Do it again anti Republican shirt Do it again anti Republican shirt
Do it again anti Republican shirt Do it again anti Republican shirtDo it again anti Republican shirt Do it again anti Republican shirt
Do it again anti Republican shirt Do it again anti Republican shirt
exgf28
 
Saint Louis University diploma
Saint Louis University diplomaSaint Louis University diploma
Saint Louis University diploma
eufdev
 
Use of Ontologies in Chemical Kinetic Database CHEMCONNECT
Use of Ontologies in Chemical Kinetic Database CHEMCONNECTUse of Ontologies in Chemical Kinetic Database CHEMCONNECT
Use of Ontologies in Chemical Kinetic Database CHEMCONNECT
Edward Blurock
 
202254.com香蕉影视,沙丘2在线播放,沙丘2线上看,最新电影沙丘2在线,热门电影推荐,2024最新科幻片推荐。
202254.com香蕉影视,沙丘2在线播放,沙丘2线上看,最新电影沙丘2在线,热门电影推荐,2024最新科幻片推荐。202254.com香蕉影视,沙丘2在线播放,沙丘2线上看,最新电影沙丘2在线,热门电影推荐,2024最新科幻片推荐。
202254.com香蕉影视,沙丘2在线播放,沙丘2线上看,最新电影沙丘2在线,热门电影推荐,2024最新科幻片推荐。
yilin01100
 
upgrade to zabbix-7 0 como atualiza lts1
upgrade to zabbix-7 0 como atualiza lts1upgrade to zabbix-7 0 como atualiza lts1
upgrade to zabbix-7 0 como atualiza lts1
diogolsew
 
Network Security version1.0 - Module 3.pptx
Network Security version1.0 - Module 3.pptxNetwork Security version1.0 - Module 3.pptx
Network Security version1.0 - Module 3.pptx
Infotainmentforall
 
Understanding Threat Intelligence | What is Threat Intelligence
Understanding Threat Intelligence | What is Threat IntelligenceUnderstanding Threat Intelligence | What is Threat Intelligence
Understanding Threat Intelligence | What is Threat Intelligence
Lumiverse Solutions Pvt Ltd
 
Top 50 Telephone Conversation Sample Examples For IT Industries.pdf
Top 50 Telephone Conversation Sample Examples For IT Industries.pdfTop 50 Telephone Conversation Sample Examples For IT Industries.pdf
Top 50 Telephone Conversation Sample Examples For IT Industries.pdf
Krishna L
 
Mobile SEO India | Mobile SEO Service | Mobile SEO Company
Mobile SEO India | Mobile SEO Service | Mobile SEO CompanyMobile SEO India | Mobile SEO Service | Mobile SEO Company
Mobile SEO India | Mobile SEO Service | Mobile SEO Company
SIB Infotech
 
Best Skills to Learn for Freelancing.pdf
Best Skills to Learn for Freelancing.pdfBest Skills to Learn for Freelancing.pdf
Best Skills to Learn for Freelancing.pdf
Million-$-Knowledge {Million Dollar Knowledge}
 
Maximizing Network Efficiency with Large Language Models (LLM)
Maximizing Network Efficiency with Large Language Models (LLM)Maximizing Network Efficiency with Large Language Models (LLM)
Maximizing Network Efficiency with Large Language Models (LLM)
Bangladesh Network Operators Group
 
Portugal Dreamin 24 - How to easily use an API with Flows
Portugal Dreamin 24  - How to easily use an API with FlowsPortugal Dreamin 24  - How to easily use an API with Flows
Portugal Dreamin 24 - How to easily use an API with Flows
Thierry TROUIN ☁
 
SisAi World - Software is AI - Providing AI as Software - Protecting the Inte...
SisAi World - Software is AI - Providing AI as Software - Protecting the Inte...SisAi World - Software is AI - Providing AI as Software - Protecting the Inte...
SisAi World - Software is AI - Providing AI as Software - Protecting the Inte...
QingjieDu1
 
New York Institute of Technology degree Cert diploma offer
New York Institute of Technology degree Cert diploma offerNew York Institute of Technology degree Cert diploma offer
New York Institute of Technology degree Cert diploma offer
ubovu
 
DASH, presented by Elly Tawhai at PacNOG 33
DASH, presented by Elly Tawhai at PacNOG 33DASH, presented by Elly Tawhai at PacNOG 33
DASH, presented by Elly Tawhai at PacNOG 33
APNIC
 
My President is bulletproof t shirts hoodie
My President is bulletproof t shirts hoodieMy President is bulletproof t shirts hoodie
My President is bulletproof t shirts hoodie
exgf28
 
Ontology for the semantic enhancement, database definition and management and...
Ontology for the semantic enhancement, database definition and management and...Ontology for the semantic enhancement, database definition and management and...
Ontology for the semantic enhancement, database definition and management and...
Edward Blurock
 
Best CSS Animation Libraries for Web Developers
Best CSS Animation Libraries for Web DevelopersBest CSS Animation Libraries for Web Developers
Best CSS Animation Libraries for Web Developers
Shrestha Raaz
 
Digital ethnography of the Polish darknet drug trade community
Digital ethnography of the Polish darknet drug trade communityDigital ethnography of the Polish darknet drug trade community
Digital ethnography of the Polish darknet drug trade community
Piotr Siuda
 
Software Defined Networking, Concepts and Practical Implementations
Software Defined Networking, Concepts and Practical ImplementationsSoftware Defined Networking, Concepts and Practical Implementations
Software Defined Networking, Concepts and Practical Implementations
Bangladesh Network Operators Group
 

Recently uploaded (20)

Do it again anti Republican shirt Do it again anti Republican shirt
Do it again anti Republican shirt Do it again anti Republican shirtDo it again anti Republican shirt Do it again anti Republican shirt
Do it again anti Republican shirt Do it again anti Republican shirt
 
Saint Louis University diploma
Saint Louis University diplomaSaint Louis University diploma
Saint Louis University diploma
 
Use of Ontologies in Chemical Kinetic Database CHEMCONNECT
Use of Ontologies in Chemical Kinetic Database CHEMCONNECTUse of Ontologies in Chemical Kinetic Database CHEMCONNECT
Use of Ontologies in Chemical Kinetic Database CHEMCONNECT
 
202254.com香蕉影视,沙丘2在线播放,沙丘2线上看,最新电影沙丘2在线,热门电影推荐,2024最新科幻片推荐。
202254.com香蕉影视,沙丘2在线播放,沙丘2线上看,最新电影沙丘2在线,热门电影推荐,2024最新科幻片推荐。202254.com香蕉影视,沙丘2在线播放,沙丘2线上看,最新电影沙丘2在线,热门电影推荐,2024最新科幻片推荐。
202254.com香蕉影视,沙丘2在线播放,沙丘2线上看,最新电影沙丘2在线,热门电影推荐,2024最新科幻片推荐。
 
upgrade to zabbix-7 0 como atualiza lts1
upgrade to zabbix-7 0 como atualiza lts1upgrade to zabbix-7 0 como atualiza lts1
upgrade to zabbix-7 0 como atualiza lts1
 
Network Security version1.0 - Module 3.pptx
Network Security version1.0 - Module 3.pptxNetwork Security version1.0 - Module 3.pptx
Network Security version1.0 - Module 3.pptx
 
Understanding Threat Intelligence | What is Threat Intelligence
Understanding Threat Intelligence | What is Threat IntelligenceUnderstanding Threat Intelligence | What is Threat Intelligence
Understanding Threat Intelligence | What is Threat Intelligence
 
Top 50 Telephone Conversation Sample Examples For IT Industries.pdf
Top 50 Telephone Conversation Sample Examples For IT Industries.pdfTop 50 Telephone Conversation Sample Examples For IT Industries.pdf
Top 50 Telephone Conversation Sample Examples For IT Industries.pdf
 
Mobile SEO India | Mobile SEO Service | Mobile SEO Company
Mobile SEO India | Mobile SEO Service | Mobile SEO CompanyMobile SEO India | Mobile SEO Service | Mobile SEO Company
Mobile SEO India | Mobile SEO Service | Mobile SEO Company
 
Best Skills to Learn for Freelancing.pdf
Best Skills to Learn for Freelancing.pdfBest Skills to Learn for Freelancing.pdf
Best Skills to Learn for Freelancing.pdf
 
Maximizing Network Efficiency with Large Language Models (LLM)
Maximizing Network Efficiency with Large Language Models (LLM)Maximizing Network Efficiency with Large Language Models (LLM)
Maximizing Network Efficiency with Large Language Models (LLM)
 
Portugal Dreamin 24 - How to easily use an API with Flows
Portugal Dreamin 24  - How to easily use an API with FlowsPortugal Dreamin 24  - How to easily use an API with Flows
Portugal Dreamin 24 - How to easily use an API with Flows
 
SisAi World - Software is AI - Providing AI as Software - Protecting the Inte...
SisAi World - Software is AI - Providing AI as Software - Protecting the Inte...SisAi World - Software is AI - Providing AI as Software - Protecting the Inte...
SisAi World - Software is AI - Providing AI as Software - Protecting the Inte...
 
New York Institute of Technology degree Cert diploma offer
New York Institute of Technology degree Cert diploma offerNew York Institute of Technology degree Cert diploma offer
New York Institute of Technology degree Cert diploma offer
 
DASH, presented by Elly Tawhai at PacNOG 33
DASH, presented by Elly Tawhai at PacNOG 33DASH, presented by Elly Tawhai at PacNOG 33
DASH, presented by Elly Tawhai at PacNOG 33
 
My President is bulletproof t shirts hoodie
My President is bulletproof t shirts hoodieMy President is bulletproof t shirts hoodie
My President is bulletproof t shirts hoodie
 
Ontology for the semantic enhancement, database definition and management and...
Ontology for the semantic enhancement, database definition and management and...Ontology for the semantic enhancement, database definition and management and...
Ontology for the semantic enhancement, database definition and management and...
 
Best CSS Animation Libraries for Web Developers
Best CSS Animation Libraries for Web DevelopersBest CSS Animation Libraries for Web Developers
Best CSS Animation Libraries for Web Developers
 
Digital ethnography of the Polish darknet drug trade community
Digital ethnography of the Polish darknet drug trade communityDigital ethnography of the Polish darknet drug trade community
Digital ethnography of the Polish darknet drug trade community
 
Software Defined Networking, Concepts and Practical Implementations
Software Defined Networking, Concepts and Practical ImplementationsSoftware Defined Networking, Concepts and Practical Implementations
Software Defined Networking, Concepts and Practical Implementations
 

Building Microservices in the cloud at AutoScout24

  • 1. Highway to heaven Building microservices in the cloud Continuous Lifecycle 2015
  • 2. Agenda Meet AutoScout24 Shifting gears How we build our services How we organize ourselves @cdeger & @wolfwolf
  • 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
  • 6. Do you attract talent? CC
  • 7. CC
  • 9. Monolith to Microservices Data center to AWS .NET / Windows to JVM / Linux Devs + Ops to DevOps culture Involve product people Five challenges WW
  • 11. Change the wheels while driving WW
  • 12. 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 Transparency 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 Responsibility to run and maintain a product stays with the building team. 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 Avoid shared infrastructure and tight coupling as much as possible. 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 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. No silver bullet. Event Sourcing and Publishing Keep history of state changes and publish application events. Autonomous Teams Make fast local decisions. Be responsible. Know your boundaries. Share findings. Continuous Delivery Deliver changes reliable, often and fast. Infrastructure As Code Automate everything: Reproducible, traceable and tested. Immutable servers over snowflake servers. DevOps Culture Developers and Ops work together in collaborative teams as engineers. No silos. Be Bold Go into production early. Value monitoring over tests. Recover and learn. Optimize for MTTR not MTBF. Security & Data Privacy Security must be first class citizen and everybody’s concern. Keep data-privacy in mind. CC Another goal Work in progress...
  • 13. Principles Organized around business capabilities You build it, you run it Be bold Macro and micro architecture Shared nothing CWCW
  • 14. Shared infrastructure Shared nothing Availability over shared nothing Convenience offerings No side effects Fast local decisions over committee Respect family ties WW
  • 15. How (not) to share Use over re-use Re-use only after hardening Copy n’paste, OSS, library Pull instead of push WW
  • 16. 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 CC
  • 17. 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 CC
  • 18. Event Sourcing and data pumps One way data highway Event Sourcing - store history of all changes WW
  • 19. SQS + S3 Kinesis + S3 Kinesis + DynamoDB SQS + DynamoDB Proxy + DynamoDB DynamoDB Evolution WW
  • 20. Frontend integration Shared nothing Autonomous teams One domain High optimisation CC
  • 22. PageSpeed Module css (page+fragment) js (page+fragment) ngx_pagespeed css (page) js (page) css (fragment) js (fragment) CC
  • 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 WW
  • 24. Infrastructure guild Agree on things to do Share learnings Delegate implementation to teams Empty backlog should be normal Infrastructure product teams needed? CC
  • 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 WW
  • 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. 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. 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

Editor's Notes

  1. Meetup AutoScout24 Shifting gears How we build our services Event Sourcing DynamoDB as Atom Feed From documents to events Evolving architecture PriceEstimation Shared nothing? Infrastructure CSV Log processing How we organize ourselves Autonomous teams Infrastructure guild Focus sliders
  2. Producing classifieds vs. consuming classifieds Describe business. Printed ads in paper analogy. Bold parts are in progress.
  3. Proven delivery engine Last decade: PC-Web, Data center Microsoft oriented stack: Team Windows, Team Linux Availability = MTBF / (MTBF + MTTR)
  4. Scout24 was sold end of 2013 New CEO Greg Ellis beginning of 2014 Are you ready for the future? 21st century internet company?
  5. We could hire good .NET devs, but mostly from banks, insurances companies No internet background; we need to teach Talents that could help us where sparse
  6. We started think about our ecosystem and the flywheel that drives it. .NET small, slow Linux/JVM larger, faster
  7. “Fly at the speed of fear” - Disruptive Japanese dragon: Flying beast Rollercoaster: Sixflags Magic Mountain Started Nov. 2014 with one team, now at 4 teams.
  8. .NET/Windows -> Scala/Linux Own Data centers -> AWS Monolith + Swimlanes -> Microservices Dev + Ops -> Engineers Product: Include business, find core and add some polish -> Shiny new cut
  9. Vertical product slices Strangler Self contained Microservices include UI
  10. Make your own. Keep evolving. This is for reference only. We use this to guide discussions. Poster hangs in every room. The items on the right support items on the left. New strategic business goals are coming. Discussions.
  11. Organized around Business Capabilities Build teams around products not projects. Follow the domain and respect bounded contexts. Inverse Conway Maneuver You build it, you run it Responsibility to invent, run and maintain a product stays with the building team. Fast feedback from live and customers helps us to continuously improve. Be Bold Faster and simpler. Go into production early. Value semantic monitoring over tests. Recover and learn. Optimize for MTTR not MTBF. Macro and Micro Architecture Clear separation. Autonomous micro services within the rules and constraints of the macro architecture.
  12. Sharing implies dependencies. Share only with good reason. Availability over Shared nothing -> Monitoring, Logging, required, Macro, enables troubleshooting and correlation across service boundaries, We share infrastructure via AWS platform GoCD optional, convenience offering, but how to e.g. improve cycle time. No side effects. Dashing, global shared state. -> Solution own dashing server Fast local decisions over committees Respect family ties OneScout over XScout24
  13. Unexpected ways of sharing
  14. All CD patterns from the book are given! But what happens to CD with Microservices
  15. All CD patterns from the book are given! Environments Fakes on dev, CDCs as glue, be bold
  16. One way data highway History of all changes Design decision: No queries against DC. Data needs to be pushed into AWS Ability to replay all events from beginning of time. Events = All changes to a classified
  17. Fast evolution Skip: SQS + S3 Inspired by ImmobilienScout24 Kinesis + S3 Feedback from AWS Kinesis + DynomaDB Queryable, Storage costs not prohibitive (7x) SQS + DynamoDB Queue better than LATEST or TRIM_HORIZON Proxy + DynamoDB Changes are collected via queue table in Oracle DynamoDB DynamoDB is global service
  18. Shared nothing Jigsaw as lightweight as possible, not: frontend monolith, portal, behaviour No shared asset pipeline. “Bring your own asset” (aka asset Brotzeit). Autonomous teams Microservices imply frontend integration Self contained MS over UI monolith One domain Only www, https only Subdomains Local storage sandboxed by origin (protocol+host+port). Breaks watchlist, last search etc. Cookies are ok High optimisation Google pagespeed Caching
  19. No shared asset pipeline. Pages are accessible via (localised) URL are owned by one team could be cacheable Fragments are parts of a page don’t know the original request should send cache headers Assets Should be combined and minified Caching CloudFront Caching: Caching on edge locations. Respects Cache Headers from Jigsaw. PageSpeed Caching: Caches combined assets. Backend Caching: Respects Cache Headers from microservices.
  20. How to build autonomous teams Do not fall back into old behaviours Beware of Mandelbrot teams - dev team and ops team within the devops team Part-time ops not working Some devs do not like ops (and the other way round) Not all Ts are shaped the same. Pager duty enforces you build it you run it behaviour. How not to ignore the pager, no broken window syndrom On call rotation Name and shame
  21. Avoid disconnect infrastructure and product teams. Why infrastructure guild? Agree on things to do Share learnings How we work: Work is done in the teams Focus work on infrastructure needed by team. (Macro decision: Shared infrastructure: Logging, Monitoring, Security) Teams are responsible - Subsidiarity How to handle long running/blocked stories? Keep delegating and resist temptation to take over Don’t treat infrastructure story as neglected child Empty backlog should be normal Hurdle to create new tasks. We want as few shared infrastructure as possible. Shirky: Institutions will try to preserve the problem to which they are the solution. Creates it own tasks. Risk of stories without value or prioritisation. “I have found an old sticky on the floor, let's implement that for two weeks!”
  22. There is a cash stack! Don’t split into shiny new stack and legacy. Legacy is not used as a word anymore. Lights on in Cash stack - AWS Feature freeze: Where to build new features? Ease of integration between new and old stack helps business people to switch fluently between both worlds. Where to draw the line - Focus on technology change - Minimum viable integration Time to market vs. fast re-platforming (N+1 systems)