SlideShare a Scribd company logo
Christian Deger @cdeger | AutoScout24
Microservices in der Cloud
Mit AutoScout24 auf der Überholspur
Workshop:
Questions at any time
Interactive discussions
Share your experiences
Everyone can contribute
?!
Christian Deger
Chief Architect
cdeger@autoscout24.com
@cdeger
2,4 Million Vehicles
Microservices in the cloud adoption?
Agenda
Background
Why change?
Preparing
The journey
Continuous delivery
Why AWS?
Technical migration
Status quo and learnings
Monolith
SVN Monorepo
.NET Webforms
Swimlanes
Git repos
.NET MVC
Shared database
Swimlanes:
• Teams wanted to be faster and more
autonomous
• Rough extraction of a capability
• Code duplication of base functionality
• Separate delivery pipelines
• Frequent releases
• ”Composition” using subdomains
Cash-Stack $$
2000 Servers
2 Data Centers
MTBF optimized
Dev and Ops Silos
Development
“Change”
Operations
“Stability”
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Agenda
Background
Why change?
Preparing
The journey
Continuous delivery
Why AWS?
Technical migration
Status quo and learnings
New
CEO
Talent?
Do you attract
Microservices in der Cloud - Software Architecture Summit Berlin 2016
21st Century
What does a
tech company
look like?
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Great Design
Universally Connected
Mobile First
Instant Business Value
Massive Data Insight
Highly Available
good, but not great
Hmm, we are
Reboot
everything
Project
Tatsu
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Agenda
Background
Why change?
Preparing
The journey
Continuous delivery
Why AWS?
Technical migration
Status quo and learnings
.NET / Windows to JVM / Linux
Monolith to Microservices
Data center to AWS
Devs + Ops to Collaboration culture
Involve product people
Major JVM Languages
No traction in major
internet companies
Major JVM Languages
Major JVM Languages
No traction in major
internet companies
Not accepted by C#
developers
Major JVM Languages
No traction in major
internet companies
Not accepted by C#
developers
Attracts talent
Is a starting point
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Why Microservices?
Why Microservices?
Speed
Independent deployable
Fast local decisionsAutonomous teams
Strong boundaries
Loosely coupled Technology diversity
Scale the organization
Microservices – The bad parts
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices – The bad parts
• Operational complexity
• Distributed system
• Difficult to change boundaries
Loosely coupled service oriented architecture
with bounded contexts.
—Adrian Cockcroft
Microservices are small, autonomous services
that work together.
—Sam Newman
“Death Star” Diagrams
Amazon 2008 Twitter 2013
http://scs-architecture.org/
Self-Contained Systems = Microservices Flavor
Team 1
Team 2 Team 3
One business
capability is
owned, built
and run as an
SCS by one
team.
Self-Contained
System are
vertical slices
integrated at
the UI.
Agenda
Background
Why change?
Preparing
The journey
Continuous delivery
Why AWS?
Technical migration
Status quo and learnings
same
direction
STRATEGIC
GOALS
Goals of the business side
ARCHITECTURAL
PRINCIPLES
High-Level Principles
DESIGN AND DELIVERY
PRINCIPLES
Tactical measures
REDUCE TIME TO MARKET
Establish fast feedback loops to learn, validate and
improve. Remove friction, hand-offs and undifferentiated
work.
MOBILE FIRST
Start small and use device capabilities.
SUPPORT DATA-DRIVEN DECISIONS
Provide relevant metrics and data for user and market
insights. Validate hypothesis for problems worth solving.
YOU BUILT IT, YOU RUN IT
The team is responsible for shaping, building, running and
maintaining its products. Fast feedback from live and
customers helps us to continuously improve.
ORGANIZED AROUND BUSINESS CAPABILITIES
Build teams around products not projects. Follow the
domain and respect bounded contexts. Make boundaries
explicit. Inverse Conway Maneuver.
LOOSELY COUPLED
By default avoid sharing and tight coupling.
No integration database. Don’t create the next monolith.
MACRO AND MICRO ARCHITECTURE
Clear separation. Autonomous micro services within the
rules and constraints of the macro architecture.
AWS FIRST
Favor AWS platform service over managed service,
over self-hosted OSS, over self built solutions.
DATA-DRIVEN / METRIC-DRIVEN
Collect business and operational metrics. Analyze, alert
and act on them.
ELIMINATE ACCIDENTAL COMPLEXITY
Strive to keep it simple. Don’t over-engineer.
Focus on necessary domain complexity.
AUTONOMOUS TEAMS
Make fast local decisions. Be responsible. Know your
boundaries. Share findings.
INFRASTRUCTURE AS CODE
Automate everything: Reproducible, traceable, auditable
and tested. Immutable servers.
CROSS-FUNCTIONAL TEAMS
Engineers from all backgrounds work together in
collaborative teams as engineers and share
responsibilities. No silos.
BE BOLD
Go into production early. Value monitoring over tests.
Fail fast, recover and learn. Optimize for MTTR not MTBF.
SECURITY, COMPLIANCE AND DATA PRIVACY
Build with least privilege and data privacy in mind.
Know your threat model. Limit blast radius.
COST EFFICIENCY
Run your segment in the right balance of cost and value.
ONE SCOUT IT
Foster collaboration. Harmonize and standardize tools.
Pull common capabilities into decoupled platform services.
Version 2.0
Icons made by Freepik from www.flaticon.com are licensed under CC BY 3.0
BEST TALENT
Autonomy, Purpose and Mastery: We know why we do
things, we decide how to approach them and deliberately
practice our skills.
Build
MeasureLearn
http://de.slideshare.net/adriancockcroft/microxchg-microservices
Conway’s Law
“organizations which design systems ... are
constrained to produce designs which are
copies of the communication structures of
these organizations”
Autonomous teams
business capabilities
organized around
Two Pizza Rule
Jeff Bezos ’
collaboration culture
We are all
engineers!
You build it,
you run it.
Monitoring is the new testing
How (not) to share
shared nothing as default
loosely coupled
fast local decisions
voluntary adoption
exception: macro concerns
Follow the
trail
Guilds
Self-organizing; common interests; across teams
Macro Architecture, Infrastructure, Frontend, QA...
Beware of mandelbrot teams
Agenda
Background
Why change?
Preparing
The journey
Continuous delivery
Why AWS?
Technical migration
Status quo and learnings
Continuous
Delivery
DevOps Survey
Forsgren, Nicole and Humble, Jez, The Role of Continuous Delivery in IT and Organizational Performance (October 27, 2015). Forsgren, N., J. Humble (2016). "The Role
of Continuous Delivery in IT and Organizational Performance." In the Proceedings of the Western Decision Sciences Institute (WDSI) 2016, Las Vegas, NV. . Available at
SSRN: http://ssrn.com/abstract=2681909 or http://dx.doi.org/10.2139/ssrn.2681909
DevOps Science
Application code in
one repository per
service.
CI
Deployment package
as artifact.
CD
Deliver package to
servers
Delivery Pipeline – Data Center
Application code and
infrastructure
specification in one
repository per
service.
CI
Deployment package
and infrastructure
declaration as artifact.
CD
1. Create or update
service infrastructure.
2. New instances pull
down package and
start application.
Delivery Pipeline – AWS
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Cattle,
not pets
Separate
code deployment
feature release
from
http://martinfowler.com/articles/feature-toggles.html
No
staging
environment
• Consumer driven contracts
• Smoke tests
• Canary releases
• Shadow traffic
• Semantic monitoring
Integrate in production
Agenda
Background
Why change?
Preparing
The journey
Continuous delivery
Why AWS?
Technical migration
Status quo and learnings
http://archive.oreilly.com/network/2006/12/20/web-20-bezos.html
—Jeff Bezos 2006
Avoid undifferentiated heavy lifting
Undifferentiated Your Idea
Undifferentiated Your Idea
On Premise:
AWS:
https://aws.amazon.com/resources/gartner-2016-mq-learn-more/
Gartner Magic Quadrant for
Cloud IaaS - 2016
http://www.slideshare.net/AmazonWebServices/introduction-to-microservices-66320469/
SQS + S3
Kinesis + S3
Kinesis + DynamoDB
SQS + DynamoDB
Proxy + DynamoDB
DynamoDB
Evolution
Unlimited Infrastructure with APIs
Right-Sizing
Cost Optimization
Elasticity
Reservations
Cost Transparency
Cost Driven Design
Agenda
Background
Why change?
Preparing
The journey
Continuous delivery
Why AWS?
Technical migration
Status quo and learnings
Migration strategy
Frontend integration
Loosely coupled
Autonomous teams
High optimization
Microservices in der Cloud - Software Architecture Summit Berlin 2016
PageSpeed Module
css (page+fragment)
js (page+fragment)
ngx_pagespeed
css (page)
js (page)
css (fragment)
js (fragment)
Event Streaming
Event Sourcing
one way data highway
and data pumps
Templates
• Faster bootstrapping
• Copied not inherited
• Collect and share best practices
Everything fails,
all the time.
Werner Vogels, CTO Amazon, 2008
Resilience, Availability
• Chaos engineering
• Timeouts/ Circuit Breaker
• Bulkheads
Availability :=
MTTF
MTTF + MTTR
MTTF: Meant Time To Failure
MTTR: Mean Time To Recovery
http://techblog.netflix.com/2014/09/introducing-chaos-engineering.html
Agenda
Background
Why change?
Preparing
The journey
Continuous delivery
Why AWS?
Technical migration
Status quo and learnings
Commit to Production
20 Minutes Cycle Time
New Service
1 Day Service Bootstrapping
3 Days Frontend
4 Days Backend
015 Teams
025 Lambda Functions
200 Repositories
040 Microservices
009 Systems
Status Quo
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Learners
Experienced
Ramp up
First 8 teams: Split teams to share knowledge
https://rework.withgoogle.com/blog/five-keys-to-a-successful-google-team/
”Who is on a team matters less
than how the team members
interact, structure their work,
and view their contributions.”
The five keys to a
successful Google team
Learners
Experienced
Ramp up
Plan for next teams: Coach don’t split
Coaching
Tribes/Segments/Departments
Product
Platform
Product vs Platform – Mind the gap
Pull vs Push?
Disconnect?
An act of Deliberate Collective Learning
• Big Picture
• Design Level
http://eventstorming.com/
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Microservices in der Cloud - Software Architecture Summit Berlin 2016
Picture Credits
Tatsu Sign by Martin Lewison from The Hague, Zuid-Holland, The Netherlands under CC BY-SA 2.0
Martin Fowler by Webysther Nunes under CC BY-SA 4.0
Werner Vogels by Guido van Nispen under CC BY 2.0
"HotWheels - '69 Ford Torino Talladega“ by Leap Kye, licensed under CC BY-ND 2.0
Differences between Traditional vs Next Generation by Simon Wardley under CC BY-SA 3.0
Enterprise IT Adoption Cycle by Simon Wardley under CC BY-SA 3.0
And the future is private by Simon Wardley under CC BY-SA 3.0
Leosvel et Diosmani by Ludovic Péron under CC BY-SA 3.0
Spare wheel by Brian Snelson under CC BY 2.0
Wandergeselle by Sigismund von Dobschütz under CC BY-SA 3.0
Wheel clamps Texas by Richard Anderson from Denton, United States (Boots.) under CC BY-SA 2.0
Sharing Sucks (4536747557) by eyeliam from Portland, United States under CC BY 2.0
Traffic Jam by Doo Ho Kim under CC BY-SA 2.0
Puzzling by Bernd Gessler (Own work) CC BY-SA 3.0
Amazon16 by Neil Palmer/CIAT under CC BY-SA 2.0
Pizza by Jakob Dettner, Rainer Zenz under CC BY-SA 2.0 de
Bezos’ Iconic Laugh by Steve Jurvetson under CC BY 2.0

More Related Content

PPTX
Building Microservices in the cloud - GOTO Nights Berlin 2016
PPTX
Building Microservices in the cloud - Software Architecture Summit 2016
PPTX
GOTO Berlin 2016
PPTX
Microservices in the cloud at AutoScout24
PPTX
Highway to heaven - Microservices Meetup Dublin
PPTX
Building Microservices in the cloud at AutoScout24
PPTX
Highway to heaven - Microservices Meetup Berlin
PPTX
Highway to heaven - Voxxed Days Belgrade
Building Microservices in the cloud - GOTO Nights Berlin 2016
Building Microservices in the cloud - Software Architecture Summit 2016
GOTO Berlin 2016
Microservices in the cloud at AutoScout24
Highway to heaven - Microservices Meetup Dublin
Building Microservices in the cloud at AutoScout24
Highway to heaven - Microservices Meetup Berlin
Highway to heaven - Voxxed Days Belgrade

What's hot (20)

PPTX
Reactive Microservices Roadshow Berlin
PPTX
Highway to heaven - XConf Manchester 2015
PPTX
Lean Cloud - Amazon Web Services
PDF
Unlocked: the Hybrid Cloud - 12th May 2014 / All Slides (morning)
PPTX
Scenarios for building Hybrid Cloud
PPT
CloudCamp London 3 - 451 Group - William Fellows
PPTX
Transitioning to Hybrid Cloud
PPTX
From Monolith to Microservices – and Beyond!
PDF
Microservices: Decomposing Applications for Deployability and Scalability (ja...
PDF
7 habits of highly effective private cloud architects
PDF
CloudCamp
PDF
The Power of the Hybrid Cloud
PPTX
Tour de Clouds: Understanding Multi-Cloud Integration
PPT
Cloud Application Development Lifecycle
PDF
Cloud Trends Nov2015 Structure
PDF
OpenStack: A Business Perspectives
PPTX
Building a Hybrid Cloud The Real Deal
PPTX
Cloud Native Machine Learning
PDF
OpenStack & business of cloud
PDF
Cloud Computing Development Presentation
Reactive Microservices Roadshow Berlin
Highway to heaven - XConf Manchester 2015
Lean Cloud - Amazon Web Services
Unlocked: the Hybrid Cloud - 12th May 2014 / All Slides (morning)
Scenarios for building Hybrid Cloud
CloudCamp London 3 - 451 Group - William Fellows
Transitioning to Hybrid Cloud
From Monolith to Microservices – and Beyond!
Microservices: Decomposing Applications for Deployability and Scalability (ja...
7 habits of highly effective private cloud architects
CloudCamp
The Power of the Hybrid Cloud
Tour de Clouds: Understanding Multi-Cloud Integration
Cloud Application Development Lifecycle
Cloud Trends Nov2015 Structure
OpenStack: A Business Perspectives
Building a Hybrid Cloud The Real Deal
Cloud Native Machine Learning
OpenStack & business of cloud
Cloud Computing Development Presentation
Ad

Similar to Microservices in der Cloud - Software Architecture Summit Berlin 2016 (20)

PPTX
AWS Cloud For Breakfast - Building Microservices in the Cloud
PDF
Inside BMW's cloud-native DevOps approach to application migration on AWS
PPTX
Big data analytics enterprise and cloud computing
PPTX
Highway to heaven - Microservices Meetup Munich
PDF
DevOps Loop - Jeffrey Hammond.pptx.pdf
PPTX
GOTO Amsterdam 2017 - Enterprise Fast Lane
PPTX
8kmiles Cloud Solutions Overview
PPTX
8kMiles Cloud Solutions Overview
PPTX
8KMiles Cloud Solutions Overview
PDF
Making the Journey_ 7 Essential Steps to Cloud Adoption.pdf
PDF
Implementing dev ops to face a two speed it architecture
PDF
How do you deliver your applications to the cloud?
PDF
AWS Well-Architected: Build Better Architecture, Better Business
PDF
AWS Cloud Center Excellence Quick Start Prescriptive Guidance
PDF
Accelerate to Cloud
PDF
AWS Innovate 2016- Planning a Phased Cloud Migration Strategy - Abhishek Mah...
PPTX
Agile IT: Filling in the Gaps in the Azure vs. AWS debate
PPTX
The Elastic Enterprise: ScaleFocus Cloud Enablement Solutions
PPTX
Avoid Embarrassment, Use Cloud
PDF
Moving Applications To The Cloud On Windows Azure 3rd Edition Dominic Betts
AWS Cloud For Breakfast - Building Microservices in the Cloud
Inside BMW's cloud-native DevOps approach to application migration on AWS
Big data analytics enterprise and cloud computing
Highway to heaven - Microservices Meetup Munich
DevOps Loop - Jeffrey Hammond.pptx.pdf
GOTO Amsterdam 2017 - Enterprise Fast Lane
8kmiles Cloud Solutions Overview
8kMiles Cloud Solutions Overview
8KMiles Cloud Solutions Overview
Making the Journey_ 7 Essential Steps to Cloud Adoption.pdf
Implementing dev ops to face a two speed it architecture
How do you deliver your applications to the cloud?
AWS Well-Architected: Build Better Architecture, Better Business
AWS Cloud Center Excellence Quick Start Prescriptive Guidance
Accelerate to Cloud
AWS Innovate 2016- Planning a Phased Cloud Migration Strategy - Abhishek Mah...
Agile IT: Filling in the Gaps in the Azure vs. AWS debate
The Elastic Enterprise: ScaleFocus Cloud Enablement Solutions
Avoid Embarrassment, Use Cloud
Moving Applications To The Cloud On Windows Azure 3rd Edition Dominic Betts
Ad

Recently uploaded (20)

PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
System and Network Administration Chapter 2
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPT
Introduction Database Management System for Course Database
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Nekopoi APK 2025 free lastest update
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
history of c programming in notes for students .pptx
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
AI in Product Development-omnex systems
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
ISO 45001 Occupational Health and Safety Management System
ManageIQ - Sprint 268 Review - Slide Deck
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
System and Network Administration Chapter 2
Odoo Companies in India – Driving Business Transformation.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Introduction Database Management System for Course Database
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Design an Analysis of Algorithms II-SECS-1021-03
CHAPTER 2 - PM Management and IT Context
How to Choose the Right IT Partner for Your Business in Malaysia
Nekopoi APK 2025 free lastest update
2025 Textile ERP Trends: SAP, Odoo & Oracle
How Creative Agencies Leverage Project Management Software.pdf
Operating system designcfffgfgggggggvggggggggg
history of c programming in notes for students .pptx
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
AI in Product Development-omnex systems
How to Migrate SBCGlobal Email to Yahoo Easily
ISO 45001 Occupational Health and Safety Management System

Microservices in der Cloud - Software Architecture Summit Berlin 2016