Highway to heaven Building microservices in the cloud GOTO Berlin | - - PowerPoint PPT Presentation

highway to heaven
SMART_READER_LITE
LIVE PREVIEW

Highway to heaven Building microservices in the cloud GOTO Berlin | - - PowerPoint PPT Presentation

Highway to heaven Building microservices in the cloud GOTO Berlin | 15.11.2016 | Christian Deger | @cdeger Chris&an Deger Chief Architect cdeger@autoscout24.com @cdeger 2,4 Million Vehicles


slide-1
SLIDE 1 GOTO Berlin | 15.11.2016 | Christian Deger | @cdeger

Highway to heaven

Building microservices in the cloud

slide-2
SLIDE 2 Chris&an ¡Deger ¡ Chief ¡Architect ¡ cdeger@autoscout24.com ¡ @cdeger ¡
slide-3
SLIDE 3

2,4 ¡Million ¡Vehicles ¡

slide-4
SLIDE 4 Microservices in the cloud adoption?
slide-5
SLIDE 5

2000 ¡Servers ¡ 2 ¡Data ¡Centers ¡ MTBF ¡opCmized ¡

slide-6
SLIDE 6 Dev ¡and ¡Ops ¡Silos ¡ Development ¡ “Change” ¡ OperaCons ¡ “Stability” ¡
slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9

New ¡

CEO ¡

slide-10
SLIDE 10

Talent? ¡

Do ¡you ¡aMract ¡

¡ ¡
slide-11
SLIDE 11

21st ¡Century ¡

What ¡does ¡a ¡ ¡ tech ¡company ¡ look ¡like? ¡

slide-12
SLIDE 12
slide-13
SLIDE 13

Great ¡Design ¡ Universally ¡Connected ¡ Mobile ¡First ¡ Instant ¡Business ¡Value ¡ Massive ¡Data ¡Insight ¡ Highly ¡Available ¡

slide-14
SLIDE 14

good, ¡but ¡not ¡great ¡

Hmm, ¡we ¡are ¡ ¡

slide-15
SLIDE 15

Reboot ¡

everything ¡

slide-16
SLIDE 16

Project ¡

Tatsu

slide-17
SLIDE 17

.NET ¡/ ¡Windows ¡to ¡JVM ¡/ ¡Linux ¡ Monolith ¡to ¡Microservices ¡ Data ¡center ¡to ¡AWS ¡ Devs ¡+ ¡Ops ¡to ¡CollaboraCon ¡culture ¡ Involve ¡product ¡people ¡

slide-18
SLIDE 18 “Death ¡Star” ¡Diagrams ¡ Amazon ¡2008 ¡ TwiMer ¡2013 ¡
slide-19
SLIDE 19 hMp://scs-­‑architecture.org/ ¡ Self-­‑Contained ¡Systems ¡= ¡Microservices ¡Flavor ¡ Team ¡1 ¡ Team ¡2 ¡ Team ¡3 ¡ One ¡business ¡ capability ¡is ¡
  • wned, ¡built ¡
and ¡run ¡as ¡an ¡ SCS ¡by ¡one ¡
  • team. ¡
Self-­‑Contained ¡ System ¡are ¡ verCcal ¡slices ¡ integrated ¡at ¡ the ¡UI. ¡
slide-20
SLIDE 20 MigraCon ¡strategy ¡
slide-21
SLIDE 21

same ¡

direcCon ¡

slide-22
SLIDE 22 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,

  • ver 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.
slide-23
SLIDE 23

Build ¡ Measure ¡ Learn ¡

slide-24
SLIDE 24

Conway’s ¡Law ¡

¡

“organizaCons ¡which ¡design ¡systems ¡... ¡are ¡ constrained ¡to ¡produce ¡designs ¡which ¡are ¡ copies ¡of ¡the ¡communicaCon ¡structures ¡of ¡ these ¡organizaCons” ¡

¡

slide-25
SLIDE 25

Autonomous ¡teams ¡ business ¡capabiliCes ¡

  • rganized ¡around ¡
slide-26
SLIDE 26

collaboraCon ¡culture ¡

slide-27
SLIDE 27

You ¡build ¡it, ¡ you ¡run ¡it. ¡

slide-28
SLIDE 28

We ¡are ¡all ¡ engineers! ¡

slide-29
SLIDE 29

Monitoring ¡is ¡the ¡new ¡tesCng ¡

slide-30
SLIDE 30

Follow ¡the ¡

trail ¡

slide-31
SLIDE 31 Templates ¡
  • Faster ¡bootstrapping ¡
  • Copied ¡not ¡inherited ¡
  • Collect ¡and ¡share ¡best ¡pracCces ¡
slide-32
SLIDE 32

Guilds ¡

Self-­‑organizing; ¡common ¡interests; ¡across ¡teams ¡ ¡ Macro ¡Architecture, ¡Infrastructure, ¡Frontend, ¡QA... ¡ Beware ¡of ¡mandelbrot ¡teams ¡

slide-33
SLIDE 33

Con&nuous ¡ Delivery ¡

slide-34
SLIDE 34 DevOps ¡Survey ¡
slide-35
SLIDE 35 Forsgren, ¡Nicole ¡and ¡Humble, ¡Jez, ¡The ¡Role ¡of ¡ConCnuous ¡Delivery ¡in ¡IT ¡and ¡OrganizaConal ¡Performance ¡(October ¡27, ¡2015). ¡Forsgren, ¡N., ¡J. ¡Humble ¡(2016). ¡"The ¡Role ¡
  • f ¡ConCnuous ¡Delivery ¡in ¡IT ¡and ¡OrganizaConal ¡Performance." ¡In ¡the ¡Proceedings ¡of ¡the ¡Western ¡Decision ¡Sciences ¡InsCtute ¡(WDSI) ¡2016, ¡Las ¡Vegas, ¡NV. ¡. ¡Available ¡at ¡
SSRN: ¡hMp://ssrn.com/abstract=2681909 ¡or ¡hMp://dx.doi.org/10.2139/ssrn.2681909 ¡ DevOps ¡Science ¡
slide-36
SLIDE 36 ApplicaCon ¡code ¡in ¡
  • ne ¡repository ¡per ¡
  • service. ¡
CI ¡ Deployment ¡package ¡ as ¡arCfact. ¡ CD ¡ Deliver ¡package ¡to ¡ servers ¡ Delivery ¡Pipeline ¡– ¡Data ¡Center ¡
slide-37
SLIDE 37 ApplicaCon ¡code ¡and ¡ infrastructure ¡ specificaCon ¡in ¡one ¡ repository ¡per ¡service. ¡ CI ¡ Deployment ¡package ¡ and ¡infrastructure ¡ declaraCon ¡as ¡arCfact. ¡ CD ¡ ¡1. ¡Create ¡or ¡update ¡ service ¡infrastructure. ¡ ¡
  • 2. ¡New ¡instances ¡pull ¡
down ¡package ¡and ¡ start ¡applicaCon. ¡ Delivery ¡Pipeline ¡– AWS ¡
slide-38
SLIDE 38
slide-39
SLIDE 39

CaMle, ¡ not ¡pets ¡

slide-40
SLIDE 40

Separate ¡

code ¡deployment ¡ feature ¡release ¡ from ¡

slide-41
SLIDE 41

No ¡

staging ¡ environment ¡

slide-42
SLIDE 42
  • Consumer ¡driven ¡contracts ¡
  • Canary ¡releases ¡
  • Shadow ¡traffic ¡
  • SemanCc ¡monitoring ¡
Integrate ¡in ¡producCon ¡
slide-43
SLIDE 43

Unlimited ¡Infrastructure ¡with ¡APIs ¡

slide-44
SLIDE 44

Frontend ¡integra&on ¡

Loosely ¡coupled ¡ Autonomous ¡teams ¡ High ¡opCmizaCon ¡

slide-45
SLIDE 45
slide-46
SLIDE 46

PageSpeed ¡Module ¡

css ¡(page+fragment) ¡ js ¡(page+fragment) ¡ ngx_pagespeed ¡ css ¡(page) ¡ js ¡(page) ¡ css ¡(fragment) ¡ js ¡(fragment) ¡
slide-47
SLIDE 47

Hamburgers, ¡

not ¡caMle ¡

slide-48
SLIDE 48 Event ¡Streaming ¡
slide-49
SLIDE 49

? ¡

slide-50
SLIDE 50 Picture Credits "HotWheels - '69 Ford Torino Talladega“ by Leap Kye, licensed under CC BY-ND 2.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 Wandergeselle by Sigismund von Dobschütz under CC BY-SA 3.0 Puzzling by Bernd Gessler (Own work) CC BY-SA 3.0