dwx2015 - von bayern in die cloud

Post on 14-Aug-2015

76 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

AutoScout24’s Technology Change

www.autoscout24.de

Von Bayern in die Cloud

2014

Architecture

Operations

Stack

Culture

Monolith

Services (aka Swimlanes)

Windows

.NET

Oracle

C#

VMware

DevOps

Developer

Operations

Self-operated Data Centers

Tatsu

Alexey Gravanov

agravanov@autoscout24.com@gravanov

Philipp Garbe

pgarbe@autoscout24.com@pgarbe

2 Million Vehicles

100 in IT

3.250.000.000Page Impressions per Month

Architecture

Operations

Stack

Culture

Monolith

Services (aka Swimlanes)

Windows

.NET

Oracle

C#

VMware

DevOps

Developer

Operations

Self-operated Data Centers

Monolith

~40 devs

Feature / code freeze

2010

2010

4 weeks release cycle

Release time: hours

Monolith

~40 devs

Feature / code freeze

2010

2011

2 weeks release cycle

Release time: hours

Architecture

UI Layer

Business Logic Layer

Database Layer

Featu

re

C

Featu

re A

Featu

re B Fe

atu

re

D

Featu

re E

TeamCity log

Monolithic Apps - Failure & Availability

Release features as fast as possible!

“When will feature XYZ be released?”

“Why not just after finishing it?”

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

2012 - Cutting the Monolith

Services (aka Swimlanes)

Team App

Team App

Team App...

Feature Feature

Feature

...FeatureB

FeatureA

FeatureX

Team 1 Team N

Architecture vision

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

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

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

Microservices

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

Microservices

Monolithic C# > Swimlanes C# > ???

Microservices

BusinessLogic

BusinessLogic

UI

BusinessLogic

UI

Domain architecture

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

Macro architecture

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

Micro architecture

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

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

Architecture

Operations

Stack

Culture

Micro

services

Windows

.NET

Oracle

C#

VMware

DevOps

Developer

Operations

Self-operated Data Centers

2000 Servers

2 Data Centers

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

Giants

Stand on the Shoulders of

Architecture

Operations

Stack

Culture

Micro

services

Linux

JVM

DynamoDB

Scala

VMware

DevOps

Developer

Operations

Self-operated Data Centers

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

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

Architecture

Operations

Stack

Culture

Micro

services

Linux

JVM

DynamoDB

Scala

Cloud

EC2

DevOps

Developer

Operations

Dev/Ops

Ops

Team

Architecture

Operations

Stack

Culture

Micro

services

Linux

JVM

DynamoDB

Scala

Cloud

EC2

Engineers

You run it

You build it

Re-built it all...

...while keeping the platform running!

Progress

1

2

3

Progress

2 months 1 team Infrastructure only

5 months 2 teams 3 microservices

8 months 4 teams 10 microservices

... ... ...

It’s just...

...a beginning

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 Gravanovagravanov@autoscout24.com@gravanov

Philipp Garbepgarbe@autoscout24.com@pgarbe

top related