Scaling Architecture @ Zalando Felix Mller - @fmueller_bln About - - PowerPoint PPT Presentation

scaling architecture zalando
SMART_READER_LITE
LIVE PREVIEW

Scaling Architecture @ Zalando Felix Mller - @fmueller_bln About - - PowerPoint PPT Presentation

Scaling Architecture @ Zalando Felix Mller - @fmueller_bln About me Software Architect @ Zalando Software Engineer by heart 8 years in IT 2 years as an Architect Twitter: @fmueller_bln Zalando Who knows Zalando? 2008 2 monoliths...


slide-1
SLIDE 1

Scaling Architecture @ Zalando

Felix Müller - @fmueller_bln

slide-2
SLIDE 2

About me

Software Architect @ Zalando Software Engineer by heart 8 years in IT 2 years as an Architect Twitter: @fmueller_bln

slide-3
SLIDE 3

Zalando

slide-4
SLIDE 4

Who knows Zalando?

slide-5
SLIDE 5

2008

slide-6
SLIDE 6

2 monoliths...

slide-7
SLIDE 7

2015

slide-8
SLIDE 8

How big are we now?

slide-9
SLIDE 9

Zalando in Numbers

~ EUR 3 billion revenue > 160m visits per month > 11000 employees in Europe ~ 1600 tech employees 7 tech hubs: Berlin, Dublin, Helsinki...

slide-10
SLIDE 10

Still growing rapidly

slide-11
SLIDE 11

2015 something more happened...

slide-12
SLIDE 12

We want autonomous teams to deliver amazing products efficiently at scale.

slide-13
SLIDE 13

Radical Agility

slide-14
SLIDE 14
slide-15
SLIDE 15

Tech Constitution

slide-16
SLIDE 16
slide-17
SLIDE 17

Rules of Play

https://github.com/zalando/zalando-rules-of-play

slide-18
SLIDE 18

Which architecture style is fostered by Radical Agility?

slide-19
SLIDE 19

Architecture Principles

slide-20
SLIDE 20

Architecture Principles

https://github.com/zalando/zalando-rules-of-play#architecture

We prefer loosely coupled services.

slide-21
SLIDE 21

Architecture Principles in detail

Microservice with RESTful APIs Favor message-driven Everything fails Operational Excellence Loosely coupled systems Asynchronous communication Resilient systems Automate everything

slide-22
SLIDE 22

How do we operate

  • ur services?
slide-23
SLIDE 23

AWS Setup

slide-24
SLIDE 24

AWS Setup

Each team has its own account You build it, you run it Deployment via our STUPS tooling

Team Team Team AWS Account AWS Account AWS Account T h e Internet

slide-25
SLIDE 25

STUPS.io

slide-26
SLIDE 26

STUPS.io

slide-27
SLIDE 27

How do we test our services?

slide-28
SLIDE 28

Testing

slide-29
SLIDE 29

Testing

Of course, automated testing - a lot Trade-off: Time to prod <> test coverage (with real systems) Testing flows becomes harder with microservices

slide-30
SLIDE 30

Our Testing Pyramid - where to run what

slide-31
SLIDE 31

Consumer-driven Contracts

Better collaboration between teams Emphasize importance of APIs Lowers inter-team alignment efforts

slide-32
SLIDE 32

How do teams collaborate?

slide-33
SLIDE 33

Collaboration between teams

At best, not necessary to deliver Through APIs Through Code - shared code

slide-34
SLIDE 34

Open Source Culture

slide-35
SLIDE 35

Open Source Culture

https://github.com/zalando/zalando-howto-open-source

Open Source Evangelist, Lauri Apple Open Source Guild Management supports Open Source

slide-36
SLIDE 36

Example for Open Source @ Zalando

https://github.com/integrations/zappr

Zappr Approvals for pull requests Started in our Innovation Labs Now an official Github plugin

slide-37
SLIDE 37

Open Source First

slide-38
SLIDE 38

Shared code between teams has to be open source.

slide-39
SLIDE 39

Inner Source

slide-40
SLIDE 40

And how does architecture work takes place?

slide-41
SLIDE 41

T h e Architect

slide-42
SLIDE 42

T h e Architect

slide-43
SLIDE 43

Service architecture is designed by delivery teams.

slide-44
SLIDE 44

Global architecture is owned by the Architecture team.

slide-45
SLIDE 45

Architecture Team

slide-46
SLIDE 46

Architecture Team

Overarching team to support delivery teams

4 in Berlin, 1 in Dublin Focus on new platform and APIs Tech decisions with company-wide impact

slide-47
SLIDE 47

We support teams in building most appropriate tech solutions.

slide-48
SLIDE 48

Radical Agility vs Arc Team?

We respect self-autonomy of teams. We support teams as technical consultants. We can provide outside perspective + broader technical

  • verview.

We let teams make their own architecture decisions.

slide-49
SLIDE 49

There was team collaboration through APIs...

slide-50
SLIDE 50

API Guild

slide-51
SLIDE 51

API Guild

Group of Architect and Engineers Develops API Guidelines Drives API Reviews

slide-52
SLIDE 52

API First

slide-53
SLIDE 53

API Reviews

Feedback Culture

Foster review culture Get feedback as soon as possible API Guild is public review partner

slide-54
SLIDE 54

API Guidelines

slide-55
SLIDE 55

API Guidelines

https://github.com/zalando/restful-api-guidelines

REST Maturity Level 2 Backward compatibility over versioning Common Naming Rules and Data Objects

slide-56
SLIDE 56

API Guidelines

slide-57
SLIDE 57

Our future system will consist of thousands of microservices.

slide-58
SLIDE 58

How do teams find available APIs?

slide-59
SLIDE 59

API Discovery

slide-60
SLIDE 60

API Discovery

A system to crawl and curate all deployed APIs.

https://github.com/zalando-stups/twintip-storage https://github.com/zalando-stups/twintip-crawler https://github.com/zalando-stups/swagger-ui Twintip Crawler Twintip Storage Swagger UI APIs

slide-61
SLIDE 61

API Discovery

slide-62
SLIDE 62

How do teams choose tech stacks?

slide-63
SLIDE 63

Technologists Guild

slide-64
SLIDE 64

Technologists Guild

Knowledge sharing and discussion Owns and curates Tech Radar Owns internal Tech Compendium

slide-65
SLIDE 65

Tech Radar

slide-66
SLIDE 66

Tech Radar

We try to give delivery teams guidance in choosing technologies. Tech Radar is created by involved engineers in the technologists guild. Each team is encouraged to contribute experience reports.

https://zalando.github.io/tech-radar

slide-67
SLIDE 67
slide-68
SLIDE 68

Scaling Architecture @ Zalando

Zalando in general Autonomous delivery teams Overarching architecture team Rules of Play Architecture Principles Open Source Culture Architecture specific API Guild + Guidelines API Reviews API Discovery Technologists Guild Tech Radar

slide-69
SLIDE 69

Thanks. Questions?

Twitter: @fmueller_bln