dwx2015 - von bayern in die cloud

54
AutoScout24’s Technology Change www.autoscout24.d e Von Bayern in die Cloud

Upload: alexey-gravanov

Post on 14-Aug-2015

74 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: DWX2015 - Von Bayern in die Cloud

AutoScout24’s Technology Change

www.autoscout24.de

Von Bayern in die Cloud

Page 2: DWX2015 - Von Bayern in die Cloud

2014

Page 3: DWX2015 - Von Bayern in die Cloud

Architecture

Operations

Stack

Culture

Monolith

Services (aka Swimlanes)

Windows

.NET

Oracle

C#

VMware

DevOps

Developer

Operations

Self-operated Data Centers

Page 4: DWX2015 - Von Bayern in die Cloud

Tatsu

Page 5: DWX2015 - Von Bayern in die Cloud
Page 6: DWX2015 - Von Bayern in die Cloud

Alexey Gravanov

[email protected]@gravanov

Philipp Garbe

[email protected]@pgarbe

Page 7: DWX2015 - Von Bayern in die Cloud

2 Million Vehicles

Page 8: DWX2015 - Von Bayern in die Cloud

100 in IT

Page 9: DWX2015 - Von Bayern in die Cloud

3.250.000.000Page Impressions per Month

Page 10: DWX2015 - Von Bayern in die Cloud

Architecture

Operations

Stack

Culture

Monolith

Services (aka Swimlanes)

Windows

.NET

Oracle

C#

VMware

DevOps

Developer

Operations

Self-operated Data Centers

Page 11: DWX2015 - Von Bayern in die Cloud

Monolith

~40 devs

Feature / code freeze

2010

2010

4 weeks release cycle

Release time: hours

Page 12: DWX2015 - Von Bayern in die Cloud

Monolith

~40 devs

Feature / code freeze

2010

2011

2 weeks release cycle

Release time: hours

Page 13: DWX2015 - Von Bayern in die Cloud

Architecture

UI Layer

Business Logic Layer

Database Layer

Featu

re

C

Featu

re A

Featu

re B Fe

atu

re

D

Featu

re E

Page 14: DWX2015 - Von Bayern in die Cloud

TeamCity log

Page 15: DWX2015 - Von Bayern in die Cloud

Monolithic Apps - Failure & Availability

Page 16: DWX2015 - Von Bayern in die Cloud

Release features as fast as possible!

Page 17: DWX2015 - Von Bayern in die Cloud

“When will feature XYZ be released?”

“Why not just after finishing it?”

Teams were trying to release as many changes as they could.

Page 18: DWX2015 - Von Bayern in die Cloud

2012 - Cutting the Monolith

Page 19: DWX2015 - Von Bayern in die Cloud

Services (aka Swimlanes)

Team App

Team App

Team App...

Feature Feature

Feature

Page 20: DWX2015 - Von Bayern in die Cloud

...FeatureB

FeatureA

FeatureX

Team 1 Team N

Architecture vision

Page 21: DWX2015 - Von Bayern in die Cloud

Architecture vision

Goals:

● Reduce time-to-market, allow fast feedback

Principles:

● Support team autonomy by building independent things● Organize around products, not projects, keep ownership● Build things for change and replacement, not for re-use● Decentralized data management

Page 22: DWX2015 - Von Bayern in die Cloud

3rd generation todayMonolithic Rails > JS / Rails / Scala > Microservices

Page 23: DWX2015 - Von Bayern in die Cloud

5th generation todayMonolithic Perl > Monolithic C++ > Java >

Microservices

Page 24: DWX2015 - Von Bayern in die Cloud

Nth generation todayMonolithic C++ > Perl / C++ > Java / Scala >

Microservices

Page 25: DWX2015 - Von Bayern in die Cloud
Page 26: DWX2015 - Von Bayern in die Cloud

Monolithic C# > Swimlanes C# > ???

Page 27: DWX2015 - Von Bayern in die Cloud
Page 28: DWX2015 - Von Bayern in die Cloud

Microservices

BusinessLogic

BusinessLogic

UI

BusinessLogic

UI

Page 29: DWX2015 - Von Bayern in die Cloud

Domain architecture

What are the main systems / services, their responsibilities and dependencies?

Page 30: DWX2015 - Von Bayern in die Cloud

Macro architecture

How systems / services talk to each other? What platform are they run on?

Page 31: DWX2015 - Von Bayern in die Cloud

Micro architecture

How and using which language and runtime every system is implemented? Which database is used?

Page 32: DWX2015 - Von Bayern in die Cloud

Architecture guidelines

Macro architecture Micro architecture

● Continuous Delivery

(principles)● Share nothing model● UI (+ integration)● Replicated data● Logging, Monitoring● Communication protocols● Resilience

● Continuous Delivery

(implementation)● Free to choose technology● Optimization points● Testable integration

Page 33: DWX2015 - Von Bayern in die Cloud

Architecture

Operations

Stack

Culture

Micro

services

Windows

.NET

Oracle

C#

VMware

DevOps

Developer

Operations

Self-operated Data Centers

Page 34: DWX2015 - Von Bayern in die Cloud

2000 Servers

2 Data Centers

Page 35: DWX2015 - Von Bayern in die Cloud
Page 36: DWX2015 - Von Bayern in die Cloud

http://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites

Page 37: DWX2015 - Von Bayern in die Cloud

Giants

Stand on the Shoulders of

Page 38: DWX2015 - Von Bayern in die Cloud
Page 39: DWX2015 - Von Bayern in die Cloud
Page 40: DWX2015 - Von Bayern in die Cloud

Architecture

Operations

Stack

Culture

Micro

services

Linux

JVM

DynamoDB

Scala

VMware

DevOps

Developer

Operations

Self-operated Data Centers

Page 41: DWX2015 - Von Bayern in die Cloud

Self-operated data centers

● Two own data centers (main and backup) in Munich & Nuremberg● Virtualization based on VMware infrastructure

Pains:

● Slow provisioning involving manual steps● “Pet” servers, only partially automated● Infrastructure (LB, etc.) with lots of manual configuration● Backup DC is not serving traffic most of the time● It’s challenging to keep backup DC up-to-date and make sure it will

work

Page 42: DWX2015 - Von Bayern in die Cloud

Cloud?

● “Don’t reinvent the wheel!”

Pros:

● Self-service● Fast provisioning● Infrastructure as code, automate everything● Immutable servers thanks to fast provisioning● Try things in production thanks to fast provisioning● No over-provisioning thanks to scaling functionality

Page 43: DWX2015 - Von Bayern in die Cloud

Architecture

Operations

Stack

Culture

Micro

services

Linux

JVM

DynamoDB

Scala

Cloud

EC2

DevOps

Developer

Operations

Page 44: DWX2015 - Von Bayern in die Cloud

Dev/Ops

Ops

Page 45: DWX2015 - Von Bayern in die Cloud

Team

Page 46: DWX2015 - Von Bayern in die Cloud
Page 47: DWX2015 - Von Bayern in die Cloud

Architecture

Operations

Stack

Culture

Micro

services

Linux

JVM

DynamoDB

Scala

Cloud

EC2

Engineers

You run it

You build it

Page 48: DWX2015 - Von Bayern in die Cloud

Re-built it all...

Page 49: DWX2015 - Von Bayern in die Cloud

...while keeping the platform running!

Page 50: DWX2015 - Von Bayern in die Cloud

Progress

1

2

3

Page 51: DWX2015 - Von Bayern in die Cloud

Progress

2 months 1 team Infrastructure only

5 months 2 teams 3 microservices

8 months 4 teams 10 microservices

... ... ...

Page 52: DWX2015 - Von Bayern in die Cloud

It’s just...

...a beginning

Page 53: DWX2015 - Von Bayern in die Cloud
Page 54: DWX2015 - Von Bayern in die Cloud

Picture Credits• Slide 4: "Tatsu Sign" by Martin Lewison, licensed under CC BY-SA 2.0• Slide 7: "HotWheels - '69 Ford Torino Talladega“ by Leap Kye, licensed under CC BY-ND 2.0

Alexey [email protected]@gravanov

Philipp [email protected]@pgarbe