SlideShare uma empresa Scribd logo
1 de 30
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 stack
Enterprise IT setup - MTBF over MTTR
Proven agile and lean principles
C
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 people
Five challenges
Technical transformation
Change the wheels while driving
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.
Principles
Organized around business capabilities
You build it, you run it
Be bold
Macro and micro architecture
Shared nothing
Shared infrastructure
Shared nothing
Availability over shared nothing
Convenience offerings
No side effects
Fast local decisions over committee
Respect family ties
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
Engineer CI Dev Staging
V1
V4
Prod
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
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 it
Fix broken windows
Part-time ops not working
Not all T-shapes are the same
Wolf
W
Infrastructure guild
Agree on things to do
Share learnings
Delegate implementation to teams
Empty backlog should be normal
Infrastructure product teams needed?
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
cdeger@autoscout24.com @cdeger
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

Mais conteúdo relacionado

Mais procurados

Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichChristian 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 20211103Edzo Botjes
 
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 PrimerGareth Llewellyn
 
Evolving to Cloud-Native - Nate Schutta (1/2)
Evolving to Cloud-Native - Nate Schutta (1/2)Evolving to Cloud-Native - Nate Schutta (1/2)
Evolving to Cloud-Native - Nate Schutta (1/2)VMware Tanzu
 
Scenarios for building Hybrid Cloud
Scenarios for building Hybrid CloudScenarios for building Hybrid Cloud
Scenarios for building Hybrid CloudPracheta Budhwar
 
Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.
Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.
Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.John Jobling
 
Lean Cloud - Amazon Web Services
Lean Cloud - Amazon Web ServicesLean Cloud - Amazon Web Services
Lean Cloud - Amazon Web ServicesSimone Brunozzi
 
Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)VMware Tanzu
 
Cloud Computing is not simple - The complexity is in the details
Cloud Computing is not simple - The complexity is in the detailsCloud Computing is not simple - The complexity is in the details
Cloud Computing is not simple - The complexity is in the detailsRene Buest
 
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
 
2014 Future of Cloud Computing - 4th Annual Survey Results
2014 Future of Cloud Computing - 4th Annual Survey Results2014 Future of Cloud Computing - 4th Annual Survey Results
2014 Future of Cloud Computing - 4th Annual Survey ResultsMichael Skok
 
CloudCamp London 3 - 451 Group - William Fellows
CloudCamp London 3 - 451 Group - William FellowsCloudCamp London 3 - 451 Group - William Fellows
CloudCamp London 3 - 451 Group - William FellowsChris Purrington
 
TechEvent 2019: Chaos Engineering - here we go; Lothar Wieske - Trivadis
TechEvent 2019: Chaos Engineering - here we go; Lothar Wieske - TrivadisTechEvent 2019: Chaos Engineering - here we go; Lothar Wieske - Trivadis
TechEvent 2019: Chaos Engineering - here we go; Lothar Wieske - TrivadisTrivadis
 
Aaron Swain at VMware Tanzu Public Sector Connect 2021
Aaron Swain at VMware Tanzu Public Sector Connect 2021Aaron Swain at VMware Tanzu Public Sector Connect 2021
Aaron Swain at VMware Tanzu Public Sector Connect 2021VMware Tanzu
 
Appistry Cloud Computing for Government Featuring FedEx
Appistry Cloud Computing for Government Featuring FedExAppistry Cloud Computing for Government Featuring FedEx
Appistry Cloud Computing for Government Featuring FedExAppistry
 
Trends in the Cloud: Public, Private or Hybrid and How to Evaluate Them
Trends in the Cloud: Public, Private or Hybrid and How to Evaluate ThemTrends in the Cloud: Public, Private or Hybrid and How to Evaluate Them
Trends in the Cloud: Public, Private or Hybrid and How to Evaluate ThemCopperCloud
 
2013 State of Cloud Survey SMB Results
2013 State of Cloud Survey SMB Results2013 State of Cloud Survey SMB Results
2013 State of Cloud Survey SMB ResultsSymantec
 
Trends in Cloud Computing
Trends in Cloud ComputingTrends in Cloud Computing
Trends in Cloud ComputingEd Byrne
 

Mais procurados (20)

Highway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup MunichHighway to heaven - Microservices Meetup Munich
Highway to heaven - Microservices Meetup Munich
 
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
 
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
 
Evolving to Cloud-Native - Nate Schutta (1/2)
Evolving to Cloud-Native - Nate Schutta (1/2)Evolving to Cloud-Native - Nate Schutta (1/2)
Evolving to Cloud-Native - Nate Schutta (1/2)
 
Scenarios for building Hybrid Cloud
Scenarios for building Hybrid CloudScenarios for building Hybrid Cloud
Scenarios for building Hybrid Cloud
 
Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.
Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.
Notes & Questions from "Cloud Question Time" panel event at Leeds Business Week.
 
Lean Cloud - Amazon Web Services
Lean Cloud - Amazon Web ServicesLean Cloud - Amazon Web Services
Lean Cloud - Amazon Web Services
 
Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)
 
Cloud Computing is not simple - The complexity is in the details
Cloud Computing is not simple - The complexity is in the detailsCloud Computing is not simple - The complexity is in the details
Cloud Computing is not simple - The complexity is in the details
 
CloudCamp
CloudCampCloudCamp
CloudCamp
 
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...
 
2014 Future of Cloud Computing - 4th Annual Survey Results
2014 Future of Cloud Computing - 4th Annual Survey Results2014 Future of Cloud Computing - 4th Annual Survey Results
2014 Future of Cloud Computing - 4th Annual Survey Results
 
CloudCamp London 3 - 451 Group - William Fellows
CloudCamp London 3 - 451 Group - William FellowsCloudCamp London 3 - 451 Group - William Fellows
CloudCamp London 3 - 451 Group - William Fellows
 
TechEvent 2019: Chaos Engineering - here we go; Lothar Wieske - Trivadis
TechEvent 2019: Chaos Engineering - here we go; Lothar Wieske - TrivadisTechEvent 2019: Chaos Engineering - here we go; Lothar Wieske - Trivadis
TechEvent 2019: Chaos Engineering - here we go; Lothar Wieske - Trivadis
 
Aaron Swain at VMware Tanzu Public Sector Connect 2021
Aaron Swain at VMware Tanzu Public Sector Connect 2021Aaron Swain at VMware Tanzu Public Sector Connect 2021
Aaron Swain at VMware Tanzu Public Sector Connect 2021
 
Comarch ICT - CLOUD EXPO
Comarch ICT - CLOUD EXPOComarch ICT - CLOUD EXPO
Comarch ICT - CLOUD EXPO
 
Appistry Cloud Computing for Government Featuring FedEx
Appistry Cloud Computing for Government Featuring FedExAppistry Cloud Computing for Government Featuring FedEx
Appistry Cloud Computing for Government Featuring FedEx
 
Trends in the Cloud: Public, Private or Hybrid and How to Evaluate Them
Trends in the Cloud: Public, Private or Hybrid and How to Evaluate ThemTrends in the Cloud: Public, Private or Hybrid and How to Evaluate Them
Trends in the Cloud: Public, Private or Hybrid and How to Evaluate Them
 
2013 State of Cloud Survey SMB Results
2013 State of Cloud Survey SMB Results2013 State of Cloud Survey SMB Results
2013 State of Cloud Survey SMB Results
 
Trends in Cloud Computing
Trends in Cloud ComputingTrends in Cloud Computing
Trends in Cloud Computing
 

Semelhante a Highway to heaven - Microservices Meetup Dublin

ElasticSearch on AWS
ElasticSearch on AWSElasticSearch on AWS
ElasticSearch on AWSPhilipp Garbe
 
Reactive Microservices Roadshow Berlin
Reactive Microservices Roadshow BerlinReactive Microservices Roadshow Berlin
Reactive Microservices Roadshow BerlinChristian Deger
 
Agents for Agility - The Just-in-Time Enterprise Has Arrived
Agents for Agility - The Just-in-Time Enterprise Has ArrivedAgents for Agility - The Just-in-Time Enterprise Has Arrived
Agents for Agility - The Just-in-Time Enterprise Has ArrivedInside Analysis
 
Keys-to-Success-and-Security-in-the-Cloud
Keys-to-Success-and-Security-in-the-CloudKeys-to-Success-and-Security-in-the-Cloud
Keys-to-Success-and-Security-in-the-Cloudpatmisasi
 
Keys to success and security in the cloud
Keys to success and security in the cloudKeys to success and security in the cloud
Keys to success and security in the cloudScalar Decisions
 
Administering power platform deployment planning
Administering power platform deployment planningAdministering power platform deployment planning
Administering power platform deployment planningDipti Chhatrapati
 
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 outcomesKartik Kanakasabesan
 
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Knoldus Inc.
 
Transcending IT Planetary Boundaries: Future of cloud, By Pradeep Gupta, Cha...
Transcending  IT Planetary Boundaries: Future of cloud, By Pradeep Gupta, Cha...Transcending  IT Planetary Boundaries: Future of cloud, By Pradeep Gupta, Cha...
Transcending IT Planetary Boundaries: Future of cloud, By Pradeep Gupta, Cha...HCL Infosystems
 
SYN 321: Securing the Published Browser
SYN 321: Securing the Published BrowserSYN 321: Securing the Published Browser
SYN 321: Securing the Published BrowserCitrix
 
Building a Hybrid Cloud The Real Deal
Building a Hybrid Cloud The Real DealBuilding a Hybrid Cloud The Real Deal
Building a Hybrid Cloud The Real DealRightScale
 
Why Cloud Management Makes Sense
Why Cloud Management Makes SenseWhy Cloud Management Makes Sense
Why Cloud Management Makes SenseRightScale
 
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 RavindranGSTF
 
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
 
Achieving Secure DevOps: Overcoming the Risks of Modern Service Delivery
Achieving Secure DevOps: Overcoming the Risks of Modern Service DeliveryAchieving Secure DevOps: Overcoming the Risks of Modern Service Delivery
Achieving Secure DevOps: Overcoming the Risks of Modern Service DeliveryPerforce
 
Scot-Cloud 2015
Scot-Cloud 2015Scot-Cloud 2015
Scot-Cloud 2015Ray Bugg
 
Wicsa2011 cloud tutorial
Wicsa2011 cloud tutorialWicsa2011 cloud tutorial
Wicsa2011 cloud tutorialAnna Liu
 

Semelhante a Highway to heaven - Microservices Meetup Dublin (20)

ElasticSearch on AWS
ElasticSearch on AWSElasticSearch on AWS
ElasticSearch on AWS
 
Reactive Microservices Roadshow Berlin
Reactive Microservices Roadshow BerlinReactive Microservices Roadshow Berlin
Reactive Microservices Roadshow Berlin
 
Agents for Agility - The Just-in-Time Enterprise Has Arrived
Agents for Agility - The Just-in-Time Enterprise Has ArrivedAgents for Agility - The Just-in-Time Enterprise Has Arrived
Agents for Agility - The Just-in-Time Enterprise Has Arrived
 
Keys-to-Success-and-Security-in-the-Cloud
Keys-to-Success-and-Security-in-the-CloudKeys-to-Success-and-Security-in-the-Cloud
Keys-to-Success-and-Security-in-the-Cloud
 
Keys to success and security in the cloud
Keys to success and security in the cloudKeys to success and security in the cloud
Keys to success and security in the cloud
 
Administering power platform deployment planning
Administering power platform deployment planningAdministering power platform deployment planning
Administering power platform deployment planning
 
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
 
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
 
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)Migrating to Cloud: Inhouse Hadoop to Databricks (3)
Migrating to Cloud: Inhouse Hadoop to Databricks (3)
 
GOTO Berlin 2016
GOTO Berlin 2016GOTO Berlin 2016
GOTO Berlin 2016
 
What is the Oracle Cloud?
What is the Oracle Cloud?What is the Oracle Cloud?
What is the Oracle Cloud?
 
Transcending IT Planetary Boundaries: Future of cloud, By Pradeep Gupta, Cha...
Transcending  IT Planetary Boundaries: Future of cloud, By Pradeep Gupta, Cha...Transcending  IT Planetary Boundaries: Future of cloud, By Pradeep Gupta, Cha...
Transcending IT Planetary Boundaries: Future of cloud, By Pradeep Gupta, Cha...
 
SYN 321: Securing the Published Browser
SYN 321: Securing the Published BrowserSYN 321: Securing the Published Browser
SYN 321: Securing the Published Browser
 
Building a Hybrid Cloud The Real Deal
Building a Hybrid Cloud The Real DealBuilding a Hybrid Cloud The Real Deal
Building a Hybrid Cloud The Real Deal
 
Why Cloud Management Makes Sense
Why Cloud Management Makes SenseWhy Cloud Management Makes Sense
Why Cloud Management Makes Sense
 
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
 
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...
 
Achieving Secure DevOps: Overcoming the Risks of Modern Service Delivery
Achieving Secure DevOps: Overcoming the Risks of Modern Service DeliveryAchieving Secure DevOps: Overcoming the Risks of Modern Service Delivery
Achieving Secure DevOps: Overcoming the Risks of Modern Service Delivery
 
Scot-Cloud 2015
Scot-Cloud 2015Scot-Cloud 2015
Scot-Cloud 2015
 
Wicsa2011 cloud tutorial
Wicsa2011 cloud tutorialWicsa2011 cloud tutorial
Wicsa2011 cloud tutorial
 

Mais de 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 EcosystemChristian Deger
 
Cloud native Continuous Delivery
Cloud native Continuous DeliveryCloud native Continuous Delivery
Cloud native Continuous DeliveryChristian Deger
 
Cloud native Continuous Delivery
Cloud native Continuous DeliveryCloud native Continuous Delivery
Cloud native Continuous DeliveryChristian Deger
 
GOTO Amsterdam 2017 - Enterprise Fast Lane
GOTO Amsterdam 2017 - Enterprise Fast LaneGOTO Amsterdam 2017 - Enterprise Fast Lane
GOTO Amsterdam 2017 - Enterprise Fast LaneChristian 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 CloudChristian 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
 

Mais de 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...
 

Último

ETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxNIMMANAGANTI RAMAKRISHNA
 
Cybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesCybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesLumiverse Solutions Pvt Ltd
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxmibuzondetrabajo
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119APNIC
 
TRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxTRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxAndrieCagasanAkio
 
Company Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxCompany Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxMario
 

Último (9)

ETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptx
 
Cybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesCybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best Practices
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptx
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119
 
TRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxTRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptx
 
Company Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxCompany Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptx
 

Highway to heaven - Microservices Meetup Dublin

  • 1. Highway to heaven Building microservices in the cloud Microservices Meetup Dublin, December 2015
  • 2. Agenda Meet AutoScout24 Shifting gears How we build our services How we organize ourselves @cdeger
  • 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?
  • 7.
  • 9. Monolith to Microservices Data center to AWS .NET / Windows to JVM / Linux Devs + Ops to DevOps culture Involve product people Five challenges
  • 11. Change the wheels while driving
  • 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 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.
  • 13. Principles Organized around business capabilities You build it, you run it Be bold Macro and micro architecture Shared nothing
  • 14. Shared infrastructure Shared nothing Availability over shared nothing Convenience offerings No side effects Fast local decisions over committee Respect family ties
  • 15. How (not) to share Use over re-use Re-use only after hardening Copy n’paste, OSS, library Pull instead of push
  • 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
  • 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
  • 19. Event Sourcing and data pumps One way data highway Event Sourcing - store history of all changes
  • 20. SQS + S3 Kinesis + S3 Kinesis + DynamoDB SQS + DynamoDB Proxy + DynamoDB DynamoDB Evolution
  • 21. Frontend integration Shared nothing Autonomous teams One domain High optimisation
  • 23. PageSpeed Module css (page+fragment) js (page+fragment) ngx_pagespeed css (page) js (page) css (fragment) js (fragment)
  • 24. 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
  • 25. Infrastructure guild Agree on things to do Share learnings Delegate implementation to teams Empty backlog should be normal Infrastructure product teams needed?
  • 26. 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
  • 28. 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
  • 29. 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
  • 30. 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

Notas do Editor

  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. Ease of adoption Part of Base AMI, Conventions Event Publisher for Kinesis Application events over log files. CloudTrail also used for Alerts Unexpected production change Data Lake Everything is written S3. Additional consumers anticipated Heartbeat of the platform No ssh to machines
  17. 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
  18. 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
  19. 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
  20. 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.
  21. 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
  22. 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!”
  23. 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)