A Cloud Infrastructure for Scaling Innovation Across Autonomous - - PowerPoint PPT Presentation

a cloud infrastructure
SMART_READER_LITE
LIVE PREVIEW

A Cloud Infrastructure for Scaling Innovation Across Autonomous - - PowerPoint PPT Presentation

A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams henning.jacobs@zalando.de / @try_except_ GOTO Amsterdam 2015 AGENDA ABOUT US HISTORY RADICAL AGILITY ARCHITECTURE INFRASTRUCTURE ABOUT ME Henning Jacobs STUPS


slide-1
SLIDE 1

A Cloud Infrastructure

for Scaling Innovation Across Autonomous Teams

henning.jacobs@zalando.de / @try_except_ GOTO Amsterdam 2015

slide-2
SLIDE 2

ARCHITECTURE RADICAL AGILITY ABOUT US HISTORY INFRASTRUCTURE

AGENDA

slide-3
SLIDE 3

Henning Jacobs

  • STUPS Hacker
  • Twitter: @try_except_
  • henning.jacobs@zalando.de

ABOUT ME

slide-4
SLIDE 4

15 countries 3 fulfillment centers 15+ million active customers 2.2+ billion € revenue 2014 130+ million visits per month 8.000+ employees

ONE OF EUROPE’S LARGEST ONLINE FASHION RETAILERS

Visit us: tech.zalando.com

slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8

A BRIEF HISTORY OF ZALANDO TECHNOLOGY

slide-9
SLIDE 9

A BRIEF HISTORY OF ZALANDO TECH

slide-10
SLIDE 10

ZALANDO PLATFORM

slide-11
SLIDE 11

~70% of all applications WAR deployment Single deployment tool On-premise data center

MAIN PRODUCTION STACK SINCE 2010

slide-12
SLIDE 12

Platform

THE CHALLENGE

Platform team

request servers deploy

slide-13
SLIDE 13

Platform

THE CHALLENGE

80+ delivery teams Platform team

deploy request servers request storage

slide-14
SLIDE 14

RADICAL AGILITY

slide-15
SLIDE 15

GOAL

DELIVER AMAZING PRODUCTS EFFICIENTLY AT SCALE, AND FEELING GREAT ABOUT IT.

slide-16
SLIDE 16

3 PRINCIPLES

slide-17
SLIDE 17

PURPOSE

slide-18
SLIDE 18

AUTONOMY

slide-19
SLIDE 19

MASTERY

slide-20
SLIDE 20

LEADERSHIP

FROM CONTROL & COMMAND TO PURPOSE AND TRUST

slide-21
SLIDE 21

NEW LEADERSHIP

DELIVERY LEAD PEOPLE LEAD

slide-22
SLIDE 22

ARCHITECTURE

AN ARCHITECTURE FOR INNOVATION

slide-23
SLIDE 23

API FIRST

slide-24
SLIDE 24

REST

slide-25
SLIDE 25

SAAS

slide-26
SLIDE 26

MICRO SERVICES

slide-27
SLIDE 27

CLOUD

slide-28
SLIDE 28

STUPS

STUPS To Unleash Penguin Swarms

slide-29
SLIDE 29

AWS STUPS

DOCKER DEPLOY SSH ACCESS AUDIT REPORTS FULL AWS ACCESS A PLATFORM ON TOP OF AMAZON WEB SERVICES

slide-30
SLIDE 30

AUTONOMY AND COMPLIANCE

STUPS offers maximum freedom for developers while enabling near-real-time audit compliance for every single application.

slide-31
SLIDE 31

One AWS account per Team Deployment with Docker Managed SSH Access REST/OAuth 2.0 mandatory Supports Traceability of Changes

STUPS IN A NUTSHELL

slide-32
SLIDE 32

Public Internet

*.foo.example.org *.bar.example.org Team “Foo” Team “Bar”

ELB ELB EC2 Instance EC2 Instance EC2 Instance EC2 Instance EC2 Instance EC2 Instance

Data Center

LB EC2 Instance EC2 Instance Legacy Instances

ISOLATED AWS ACCOUNTS

slide-33
SLIDE 33

D E P L O Y M E N T

slide-34
SLIDE 34

IMMUTABLE STACKS

slide-35
SLIDE 35

AWS

DEPLOYMENT WITH SENZA

Senza CLI Pier One

docker pull docker push

Taupage

slide-36
SLIDE 36

SENZA: DEFINITION YAML

slide-37
SLIDE 37

SENZA: BOOTSTRAP NEW CLOUD FORMATION STACK

slide-38
SLIDE 38

SENZA: MANAGE STACKS

slide-39
SLIDE 39

L O G G I N G

slide-40
SLIDE 40

APPLICATION LOGS: TAUPAGE SUPPORTS LOGENTRIES AND SCALYR

slide-41
SLIDE 41

S S H A C C E S S

slide-42
SLIDE 42

SSH ACCESS: TIME-LIMITED ACCESS TO ANY TEAM SERVER

slide-43
SLIDE 43

M O N I T O R I N G

slide-44
SLIDE 44

TODO: Screenshot

ZMON

slide-45
SLIDE 45

ZMON APPLIANCE *.foo.example.org *.bar.example.org Team “Foo” Team “Bar”

EC2 Instance EC2 Instance EC2 Instance EC2 Instance

ZMON Appliance ZMON Appliance

KairosDB EC2 Instance EC2 Instance

ZMON Controller

ELB ELB

slide-46
SLIDE 46

HYSTRIX TURBINE

slide-47
SLIDE 47

FULLSTOP: REPORT VIOLATIONS

slide-48
SLIDE 48

O A U T H

slide-49
SLIDE 49

OAUTH: APPLICATION REGISTRATION IN YOUR TURN

slide-50
SLIDE 50

OAUTH: CREDENTIAL DISTRIBUTION VIA S3 BUCKETS

AWS

YOUR TURN get access token

Taupage

Kio Mint

OAuth Provider

store passwords get password

S3

rotate passwords

slide-51
SLIDE 51

STUPS Frontpage http://stups.io STUPS Documentation http://docs.stups.io GitHub Repositories https://github.com/zalando-stups Trying out Senza and Taupage

http://docs.stups.io/en/latest/user-guide/standalone-deployment.html

LINKS

slide-52
SLIDE 52

QUESTIONS? http://stups.io @try_except_

slide-53
SLIDE 53

BACKUP

slide-54
SLIDE 54

STUPS COMPONENTS

slide-55
SLIDE 55
  • ELB for

inbound traffic

  • NAT instances

for outbound

  • HTTPS Only
  • Internal subnets

for app instances

DMZ DMZ DMZ internal internal

eu-west-1a eu-west-1b eu-west-1c

ELB EC2 internal EC2 NAT STUPS: AWS ACCOUNT VPC SETUP

slide-56
SLIDE 56

Pier One Docker Reg. build approve EC2 Instances Docker Container Application “myapp” issue_management: Jira Application Version “1.0” artifact: docker/myart:1.0 Taupage AMI Ticket System Kio Application Registry Ticket System SCM Image “docker/myart:1.0” commit: afb123 Issue “ABC-123” spec: [...] Commit “afb123” msg: ABC-123.. ✓ specs approved ✓ artifact tested ✓ artifact approved

STUPS: TRACEABILITY

slide-57
SLIDE 57

ZALANDO TECH CONSTITUTION PT. 1

slide-58
SLIDE 58

ZALANDO TECH CONSTITUTION PT. 2