Zalandos Open Source Infrastructure on AWS with Docker - - PowerPoint PPT Presentation

zalando s open source infrastructure on aws with docker
SMART_READER_LITE
LIVE PREVIEW

Zalandos Open Source Infrastructure on AWS with Docker - - PowerPoint PPT Presentation

Zalandos Open Source Infrastructure on AWS with Docker bernd.herding@zalando.de GOTO Con Berlin 2015, 2015-12-04 @01k One of Europes largest online Fashion Retailers 15 countries 3 fulfillment centers 17+ million active customers 2.2+


slide-1
SLIDE 1
slide-2
SLIDE 2

Zalando’s Open Source Infrastructure

  • n AWS with Docker

bernd.herding@zalando.de GOTO Con Berlin 2015, 2015-12-04

@01k

slide-3
SLIDE 3

15 countries 3 fulfillment centers 17+ million active customers 2.2+ billion € revenue 2014 135+ million visits per month 10.000+ employees in DE One of Europe’s largest online Fashion Retailers

slide-4
SLIDE 4

A BRIEF HISTORY ON ZALANDO TECHNOLOGY

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

Platform

Deployment; ancient Platform Team

request servers deploy

slide-9
SLIDE 9

Platform

70+ Dev Teams Platform Team

deploy request servers request storage

Deployment; recent

slide-10
SLIDE 10

Platform

70+ Dev Teams Platform Team

deploy request servers request storage

Deployment; the Truth

slide-11
SLIDE 11

AUTONOMY MASTERY PURPOSE RADICAL AGILITY TRUST

slide-12
SLIDE 12

Compliance Innovation

slide-13
SLIDE 13

STUPS

To Unleash Penguin Swarms

slide-14
SLIDE 14

AWS STUPS

DOCKER DEPLOY SSH ACCESS AUDIT REPORTS FULL AWS ACCESS

A Platform on Top of Amazon Web Services

slide-15
SLIDE 15

Public Internet

*.a.example.org *.b.example.org Team A Team B

ELB ELB

Isolated AWS Accounts & OAUTH 2.0 & Security

Data Center

LB

AWS

slide-16
SLIDE 16

DEPLOYMENT

slide-17
SLIDE 17

Immutable Stacks

ELB myapp-v1 EC2 + Docker myapp.example.org 100% EC2 + Docker EC2 + Docker

slide-18
SLIDE 18

Immutable Stacks

ELB myapp-v1 EC2 + Docker ELB myapp-v2 myapp.example.org 90% 10% $ senza traffic myapp v2 10 EC2 + Docker EC2 + Docker EC2 + Docker EC2 + Docker

slide-19
SLIDE 19

Immutable Stacks

ELB myapp-v1 EC2 + Docker ELB myapp-v2 myapp.example.org 0% 100% $ senza traffic myapp v2 100 EC2 + Docker EC2 + Docker EC2 + Docker EC2 + Docker

slide-20
SLIDE 20

AWS

Deployment with Senza Senza CLI Pier One

docker pull docker push

Taupage

slide-21
SLIDE 21

SENZA: DEFINITION YAML

SenzaInfo: StackName: hello-world Parameters:

  • ImageVersion:

Description: "Docker image version of Hello World." SenzaComponents:

  • Configuration:

Type: Senza::StupsAutoConfiguration # auto-detect network setup

  • AppServer: # will create a launch configuration and ASG with scaling triggers

Type: Senza::TaupageAutoScalingGroup InstanceType: t2.micro SecurityGroups: [app-hello-world] ElasticLoadBalancer: AppLoadBalancer TaupageConfig: runtime: Docker source: "stups/hello-world:{{Arguments.ImageVersion}}" ports: 8080: 8080

slide-22
SLIDE 22

The STUPS.io Stack

AWS EC2 Taupage AMI Docker Container Application

✓ Isolated team accounts ✓ Created by senza through Cloud Formation ✓ Immutable AMI ✓ Docker Runtime ✓ Managed SSH access ✓ Audit Logging ✓ Log Collection ✓ Monitoring Metrics ✓ KMS encrypted vars ✓ Reviewed security additions ✓ Immutable Image ✓ Ubuntu ✓ OpenJDK ✓ Zalando CA certificate ✓ scm-source

slide-23
SLIDE 23

LOGGING

slide-24
SLIDE 24
slide-25
SLIDE 25

REMOTE ACCESS

slide-26
SLIDE 26
  • Mostly for Debugging
  • Audit Logging
  • più granting Access

Remote SSH Access

slide-27
SLIDE 27

MONITORING

slide-28
SLIDE 28

TODO: Screenshot

ZMON - our monitoring Solution

slide-29
SLIDE 29

ZMON Appliance

*.foo.example.org Team “Foo”

EC2 Instance EC2 Instance

ZMON Appliance

KairosDB EC2 Instance

ZMON Controller

ELB

*.bar.example.org Team “Bar”

EC2 Instance EC2 Instance

ZMON Appliance

EC2 Instance ELB

slide-30
SLIDE 30

SECURITY

slide-31
SLIDE 31

DISTRIBUTION OF CREDENTIALS OVER S3 BUCKETS

AWS

WEB UI request OAuth2 token

Taupage

Mint Rotator

OAuth Provider

save passwords read password

S3

rotate passwords

slide-32
SLIDE 32

➊ Isolated AWS account per Team ➋ Deployment with Docker ➌ Managed SSH Access ➍ REST/OAuth 2.0 mandatory ➎ Traceability of changes STUPS in a Nutshell

STUPS

slide-33
SLIDE 33
  • Taupage AMI with Docker runtime
  • Senza to manage Cloud Formation
  • Pier One Docker Registry with S3

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

What you might find valuable

slide-34
SLIDE 34

Questions?

STUPS Homepage stups.io GitHub Repositories github.com/zalando-stups tech-stups-pr@zalando.de

slide-35
SLIDE 35