Dev ops con 2015 radical agility with autonomous teams and microservices in the cloud

66
Radical Agility with Autonomous Teams and Microservices in the Cloud DevOps Con 2015 - Berlin - Germany

Transcript of Dev ops con 2015 radical agility with autonomous teams and microservices in the cloud

Page 1: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

Radical Agilitywith Autonomous Teams and Microservices in the CloudDevOps Con 2015 - Berlin - Germany

Page 2: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

ARCHITECTURE

LEADERSHIP

ABOUT US

RADICAL AGILITY

INFRASTRUCTURE

AGENDA

Page 3: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

Jan Löffler

● Head of Platform Engineering

● Twitter: @jlsoft2

[email protected]

ABOUT US

Page 4: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

Henning Jacobs

● STUPS Hacker

● Twitter: @try_except_

[email protected]

ABOUT US

Page 5: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

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 6: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud
Page 7: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud
Page 8: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud
Page 9: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

ENVIRONMENT

Page 10: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

DATACENTER ENVIRONMENT

DataCenter IGütersloh, Germany

DataCenter IIBerlin, Germany

DataCenter IIIBerlin, Germany

Global Traffic Management

AWSDublin, Ireland

Page 11: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

THE LOST HIGHWAY

Page 12: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

CLOUD PROJECTS

2013/14 2014

Pequod

2013

Noah’s ARKzCloud

Page 13: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

TOPIC 1

WHERE TO GO

THIS NEEDS TO STOP

Doing it yourself is not the most sensible thing.

Amazon invested already thousands of engineering hours… we must utilize this.

(Eric Bowman)

Page 14: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

RADICAL AGILITY

Page 15: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

GOAL

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

Page 16: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

3 PRINCIPLES

Page 17: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

PURPOSE

Page 18: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

AUTONOMY

Page 19: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

MASTERY

Page 20: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

LEADERSHIP

FROM CONTROL & COMMANDTO PURPOSE AND TRUST

Page 21: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

NEW LEADERSHIPDELIVERY

LEADPEOPLE

LEAD

Page 22: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

GLOBAL REGRESSION

INNOVATION LAB

TECH SERVICE

PRODUCT OWNER

PRODUCT SPECIALIST

DELIVERYLEAD

PEOPLELEAD

BUSINESS ASSURANCE

PRODUCT

OVERARCHING

ADMIN & SUPPORT

CONTROLLING

EXECUTIVE SUPPORT

COMPLIANCE RISK ,

SECURITY & STRATEGY

ONBOARDING & TECHADEMY

AGILE COACHING PROJECT

MANGEMENT

ENGINEERINGPRODUCTIVITY

DELIVERYLEAD

PEOPLE LEAD

DELIVERY

Page 23: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

STEERING

ALIGNING TARGETS VIA OKR: WORK TOWARDS COMPANY PURPOSE

Page 24: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

ARCHITECTURE

AN ARCHITECTURE FOR INNOVATION

Page 25: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

API FIRST

Page 26: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

REST

Page 27: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

SAAS

Page 28: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

MICROSERVICES

Page 29: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

CLOUD

Page 30: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

INFRASTRUCTURE

ROBUST PLATFORM SERVICES TO ENABLE AUTONOMY

Page 31: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

STUPSSTUPS To Unleash Penguin Swarms

Page 32: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

AWS

STUPS

DOCKERDEPLOY

SSH ACCESS

AUDIT REPORTS

FULL AWS ACCESS

A PLATFORM ON TOP OF AMAZON WEB SERVICES

Page 33: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

AUTONOMY AND COMPLIANCE

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

Page 34: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

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 35: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

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 36: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

DEPLOYMENT

Page 37: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

IMMUTABLE STACKS

Page 38: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

AWS

DEPLOYMENT WITH SENZA

Senza CLI

Pier One

docker pull

docker push

Taupage

Page 39: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

SENZA: DEFINITION YAML

Page 40: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

SENZA: BOOTSTRAP NEW CLOUD FORMATION STACK

Page 41: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

SENZA: MANAGE STACKS

Page 42: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

LOGGING

Page 43: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

APPLICATION LOGS: TAUPAGE SUPPORTS LOGENTRIES AND SCALYR

Page 44: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

SSH ACCESS

Page 45: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

SSH ACCESS: TIME-LIMITED ACCESS TO ANY TEAM SERVER

Page 46: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

MONITORING

Page 47: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

TODO: Screenshot

ZMON

Page 48: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

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 49: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

HYSTRIX TURBINE

Page 50: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

OAUTH

Page 51: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

OAUTH: APPLICATION REGISTRATION IN YOUR TURN

Page 52: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

OAUTH: CREDENTIAL DISTRIBUTION VIA S3 BUCKETS

AWS

YOUR TURN

get access token

Taupage

Kio Mint

OAuthProvider

store passwords

get passwordS3

rotate passwords

Page 53: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

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 54: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

QUESTIONS?

Page 55: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

BACKUP

Page 56: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

● 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 57: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

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 58: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

ZALANDO TECH CONSTITUTION PT. 1

Page 59: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

ZALANDO TECH CONSTITUTION PT. 2

Page 60: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

ENGINEERDELIVERS CUTTING EDGE SOFTWARE PRODUCTS END TO

END

MAINTAINS AND OPERATES THE SOFTWARE PRODUCTS

IS ACCOUNTABLE FOR HIGH QUALITY OF SOFTWARE PRODUCTS AND THEIR SPECIFICATION

Page 61: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

PRODUCERACCOUNTABLE FOR NON-CORE ENGINEERING TASKS NECESSARY FOR SUCCESSFUL E2E DELIVERY AND

OPERATION

ORGANIZES TEAM EXTERNAL PROJECT DEPENDENCIES, EXTERNAL DELIVERABLES AND ROADMAPS

TAKES CARE AND GETS RID OF IMPEDIMENTS

Page 62: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

DELIVERY LEAD

DELIVERTRUST BASED LEADERSHIP

UNDERSTAND THE BUSINESSDRIVE PURPOSE

SUPPORT AUTONOMY

Page 63: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

DELIVERY LEADDEVELOPS VISION AND ENSURES HIGH QUALITY

CUTTING EDGE PRODUCT DELIVERY

BUILDS POWERFUL TEAMS

ENABLES TEAMS AND CHALLENGES DECISIONS

OVERSEES ALL TECHNICAL TOPICS

Page 64: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

PEOPLE LEADENABLES PEOPLE TO CONTINUOUSLY GROW AND

DEVELOP THEIR CAREER THROUGH ROTATIONAL TOUR OF MASTERY

ALIGNS COMPANY AND TEAM PURPOSE WITH PEOPLE’S DRIVERS

CONTRIBUTES TO ALL PEOPLE RELATED TOOLS AND PROCESSES AND ENSURES THAT THEY ARE STATE OF

THE ART

Page 65: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

PEOPLE LEAD

COACHSUPPORT

SUPPORT AUTONOMYDRIVER OF MASTERYTOURS OF MASTERY

LOTS OF DIRECTS

Page 66: Dev ops con 2015   radical agility with autonomous teams and microservices in the cloud

What we've built at Zalando is complex. Supporting – profitably – a publicly traded e-commerce company that does

business in 15 diverse European markets, with more than 15 million active users who all speak different languages,

use different payment methods, prefer different shipping methods, and have different product tastes, has required

nonstop innovation. Until recently we've focused on building a unified, comprehensive retail system, quickly, that solves

just our problems. But to truly fight against complexity – particularly the accidental complexity that slows down our

development process – we have adopted a microservices architecture. And when it comes to DevOps, we’ve gone a

step beyond the "You build it, you run it" motto--working in autonomous teams with DevOps treated as a "first-class

entity.”

In this talk, Henning Jacobs (Software Architect) and Jan Löffler (Head of Platform Engineering) will share their

experience implementing “Radical Agility” from a DevOps perspective. “Radical Agility” is the Zalando technology

team’s multi-pronged approach to managing the complexity that results from building an architecture of massive size.

Henning and Jan will focus on how microservices enable Zalando’s engineers to move faster and build systems that

scale, at scale, and avoid dependencies. They will show how microservices, in conjunction with a cloud infrastructure,

support teams as they try strive for autonomy. Finally, they will draw upon their experiences to show how this all works

in practice, and discuss what is organizationally and architecturally necessary to make DevOps a top priority for all

members of your tech organization.

ABSTRACT