Top Banner
A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams [email protected] / @try_except_ GOTO Amsterdam 2015
58

GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

Aug 12, 2015

Download

Technology

Henning Jacobs
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

A Cloud Infrastructurefor Scaling Innovation Across Autonomous [email protected] / @try_except_GOTO Amsterdam 2015

Page 2: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

ARCHITECTURE

RADICAL AGILITY

ABOUT US

HISTORY

INFRASTRUCTURE

AGENDA

Page 3: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

Henning Jacobs

● STUPS Hacker

● Twitter: @try_except_

[email protected]

ABOUT ME

Page 4: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

15 countries3 fulfillment centers15+ million active customers2.2+ billion € revenue 2014130+ million visits per month8.000+ employees

ONE OF EUROPE’S LARGEST ONLINE FASHION RETAILERS

Visit us: tech.zalando.com

Page 5: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams
Page 6: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams
Page 7: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams
Page 8: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

A BRIEF HISTORY OF ZALANDOTECHNOLOGY

Page 9: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

A BRIEF HISTORY OF ZALANDO TECH

Page 10: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

ZALANDO PLATFORM

Page 11: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

~70% of all applications

WAR deployment

Single deployment tool

On-premise data center

MAIN PRODUCTION STACK SINCE 2010

Page 12: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

Platform

THE CHALLENGE

Platform team

request serversdeploy

Page 13: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

Platform

THE CHALLENGE

80+ delivery teams

Platform team

deploy

request serversrequest storage

Page 14: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

RADICAL AGILITY

Page 15: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

GOAL

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

Page 16: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

3 PRINCIPLES

Page 17: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

PURPOSE

Page 18: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

AUTONOMY

Page 19: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

MASTERY

Page 20: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

LEADERSHIP

FROM CONTROL & COMMANDTO PURPOSE AND TRUST

Page 21: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

NEW LEADERSHIP

DELIVERYLEAD

PEOPLELEAD

Page 22: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

ARCHITECTURE

AN ARCHITECTURE FOR INNOVATION

Page 23: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

API FIRST

Page 24: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

REST

Page 25: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

SAAS

Page 26: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

MICROSERVICES

Page 27: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

CLOUD

Page 28: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

STUPSSTUPS To Unleash Penguin Swarms

Page 29: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

AWS

STUPS

DOCKERDEPLOY

SSH ACCESS

AUDIT REPORTS

FULL AWS ACCESS

A PLATFORM ON TOP OF AMAZON WEB SERVICES

Page 30: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

AUTONOMY AND COMPLIANCE

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

Page 31: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

One AWS account per Team

Deployment with Docker

Managed SSH Access

REST/OAuth 2.0 mandatory

Supports Traceability of Changes

STUPS IN A NUTSHELL

Page 32: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

Public Internet

*.foo.example.org *.bar.example.org

Team “Foo” Team “Bar”ELB ELB

EC2Instance

EC2InstanceEC2

InstanceEC2Instance

EC2InstanceEC2

InstanceData Center LB

EC2InstanceEC2

InstanceLegacyInstances

ISOLATED AWS ACCOUNTS

Page 33: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

DEPLOYMENT

Page 34: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

IMMUTABLE STACKS

Page 35: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

AWS

DEPLOYMENT WITH SENZA

Senza CLI

Pier One

docker pull

docker push

Taupage

Page 36: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

SENZA: DEFINITION YAML

Page 37: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

SENZA: BOOTSTRAP NEW CLOUD FORMATION STACK

Page 38: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

SENZA: MANAGE STACKS

Page 39: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

LOGGING

Page 40: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

APPLICATION LOGS: TAUPAGE SUPPORTS LOGENTRIES AND SCALYR

Page 41: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

SSH ACCESS

Page 42: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

SSH ACCESS: TIME-LIMITED ACCESS TO ANY TEAM SERVER

Page 43: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

MONITORING

Page 44: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

TODO: Screenshot

ZMON

Page 45: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

ZMON APPLIANCE

*.foo.example.org *.bar.example.org

Team “Foo” Team “Bar”

EC2Instance

EC2InstanceEC2

InstanceEC2

Instance

ZMON Appliance

ZMON Appliance

KairosDB

EC2Instance

EC2Instance

ZMONController

ELB ELB

Page 46: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

HYSTRIX TURBINE

Page 47: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

FULLSTOP: REPORT VIOLATIONS

Page 48: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

OAUTH

Page 49: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

OAUTH: APPLICATION REGISTRATION IN YOUR TURN

Page 50: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

OAUTH: CREDENTIAL DISTRIBUTION VIA S3 BUCKETS

AWS

YOUR TURN

get access token

Taupage

Kio Mint

OAuthProvider

store passwords

get passwordS3

rotate passwords

Page 51: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

STUPS Frontpagehttp://stups.ioSTUPS Documentationhttp://docs.stups.ioGitHub Repositorieshttps://github.com/zalando-stupsTrying out Senza and Taupagehttp://docs.stups.io/en/latest/user-guide/standalone-deployment.html

LINKS

Page 52: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

QUESTIONS?

http://stups.io@try_except_

Page 53: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

BACKUP

Page 54: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

STUPS COMPONENTS

Page 55: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

● ELB forinbound traffic

● NAT instancesfor outbound

● HTTPS Only● Internal subnets

for app instances

DMZ DMZ DMZ

internalinternal

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

ELB

EC2

internal

EC2

NAT

STUPS: AWS ACCOUNT VPC SETUP

Page 56: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

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 RegistryTicket System

SCM

Image “docker/myart:1.0”commit: afb123Issue “ABC-123”

spec: [...]

Commit “afb123”msg: ABC-123..

✓ specs approved✓ artifact tested✓ artifact approved

STUPS: TRACEABILITY

Page 57: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

ZALANDO TECH CONSTITUTION PT. 1

Page 58: GOTO Amsterdam 2015: A Cloud Infrastructure for Scaling Innovation Across Autonomous Teams

ZALANDO TECH CONSTITUTION PT. 2