Highway ¡to ¡Heaven ¡ Wie ¡wir ¡Microservices ¡in ¡der ¡Cloud ¡bauen ¡ AWS ¡Enterprise ¡Summit ¡Frankfurt ¡| ¡30.06.2016 ¡| ¡Chris<an ¡Deger ¡
Chris1an ¡Deger ¡ Architect ¡ cdeger@autoscout24.com ¡ @cdeger ¡
2,4 ¡Million ¡ Vehicles ¡
2000 ¡Servers ¡ 2 ¡Data ¡Centers ¡ MTBF ¡op<mized ¡
New ¡ CEO ¡
Do ¡you ¡aQract ¡ Talent? ¡
What ¡does ¡a ¡ ¡ 21st ¡Century ¡ tech ¡company ¡ look ¡like? ¡
Great ¡Design ¡ Universally ¡Connected ¡ Mobile ¡First ¡ Instant ¡Business ¡Value ¡ Massive ¡Data ¡Insight ¡ Highly ¡Available ¡
Hmm, ¡we ¡are ¡ ¡ good ¡
Reboot ¡ everything ¡
.NET ¡/ ¡Windows ¡to ¡JVM ¡/ ¡Linux ¡ Monolith ¡to ¡Microservices ¡ Data ¡center ¡to ¡AWS ¡ Devs ¡+ ¡Ops ¡to ¡Collabora<on ¡culture ¡ Involve ¡product ¡people ¡
same ¡ direc<on ¡
ARCHITECTURAL STRATEGIC DESIGN AND DELIVERY PRINCIPLES GOALS PRINCIPLES Goals of the business side High-Level Principles Tactical measures REDUCE TIME TO MARKET ORGANIZED AROUND BUSINESS CAPABILITIES YOU BUILT IT, YOU RUN IT Speed, Fast Feedback Build teams around products not projects. Follow the The team is responsible for shaping, building, running and domain and respect bounded contexts. Inverse Conway maintaining its products. Fast feedback from live and Maneuver. customers helps us to continuously improve. CONTAINMENT AND BOUNDARIES SUPPORT DATA-DRIVEN DECISIONS COLLABORATION CULTURE Align blast radius and vendor lock-in with the boundaries Listen to users and validate hypothesis. Engineers from all backgrounds work together in of the organization or business capabilities. Provide as many relevant metrics & data as possible. collaborative teams as engineers and share responsibilities. No silos. COST EFFICIENCY ELIMINATE ACCIDENTAL COMPLEXITY AUTONOMOUS TEAMS Collect metrics to allow decisions cost vs. value. Strive to keep it simple. Focus on essential complexity. Make fast local decisions. Be responsible. Know your You build one, you delete one. boundaries. Share findings. LOOSELY COUPLED BE BOLD By default avoid sharing and tight coupling, except for the Go into production early. Value monitoring over tests. big things in common. Don’t create the next monolith. Recover and learn. Optimize for MTTR not MTBF. MACRO AND MICRO ARCHITECTURE DATA-DRIVEN / METRIC-DRIVEN Clear separation. Autonomous micro services within the Collect metrics from processes and applications. Analyze, rules and constraints of the macro architecture. alert and act on them. SECURITY, COMPLIANCE AND DATA PRIVACY INFRASTRACTURE AS CODE Security must be included from the beginning and Automate everything: Reproducible, traceable and tested. everybody’s concern. Keep data-privacy in mind. Immutable servers over snowflake servers. AWS FIRST Favor AWS platform service over managed service, over Version 1.0 self-hosted OSS, over self-rolled solutions. Icons made by Freepik from www.flaticon.com are licensed under CC BY 3.0
Build ¡ Learn ¡ Measure ¡
Conway’s ¡Law ¡ ¡ “organiza<ons ¡which ¡design ¡systems ¡... ¡are ¡ constrained ¡to ¡produce ¡designs ¡which ¡are ¡ copies ¡of ¡the ¡communica<on ¡structures ¡of ¡ these ¡organiza<ons” ¡ ¡
Autonomous ¡teams ¡ organized ¡around ¡ business ¡capabili<es ¡
You ¡build ¡it, ¡ you ¡run ¡it. ¡
We ¡are ¡all ¡ engineers! ¡
Con1nuous ¡ Delivery ¡
CaQle, ¡ not ¡pets ¡
Monitoring ¡ is ¡the ¡new ¡ tes<ng ¡
No ¡ staging ¡ environment ¡
Status ¡Quo ¡ 015 ¡Teams ¡ 040 ¡Microservices ¡ 009 ¡Systems ¡ 200 ¡Repositories ¡ 025 ¡Lambda ¡Func<ons ¡
New ¡ ¡Service ¡ 1 ¡Day ¡ Service ¡Boostrapping ¡ 3 ¡Days ¡ Frontend ¡ 4 ¡Days ¡ Backend ¡ 20 ¡Minutes ¡ Cycle ¡Time ¡
? ¡
Picture ¡Credits ¡ "HotWheels ¡-‑ ¡'69 ¡Ford ¡Torino ¡Talladega“ ¡by ¡Leap ¡Kye, ¡licensed ¡under ¡CC ¡BY-‑ND ¡2.0 ¡ • Enterprise ¡IT ¡Adop<on ¡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 ¡ • Stopwatch ¡by ¡William ¡Warby ¡under ¡CC ¡BY ¡2.0 ¡ •
Backup
How ¡many ¡environments? ¡ Engineer ¡ Prod ¡ CI ¡ Dev ¡ Staging ¡ V5 ¡ V4 ¡ V3 ¡ V2 ¡ V1 ¡ V8 ¡ V7 ¡ V6 ¡ V5 ¡ V4 ¡
Recommend
More recommend