SlideShare a Scribd company logo
1 of 58
Radical Agility
with Docker & AWS
Docker San Fransisco Meetup 2015-10-28
volker.pilz@zalando.de
@volkr
tech.zalando.com
ONE OF EUROPE’S LARGEST ONLINE FASHION RETAILERS
★ 15 countries
★ 3 fulfillment centers
★ 16+ mn active customers
★ 2.2+ bn € ($ ~2.5 bn) revenue 2014
★ 135+ mn visits per month
★ 9.000+ employees
★ IPO in Oct 2014
★ ~7 bn € current valuation (Oct 2015)
… WITH A STRONG FOCUS ON TECHNOLOGY
★ 800+ in Tech Dept
★ 5 main tech locations in Europe
○ Berlin
○ Dortmund
○ Hamburg
○ Dublin
○ Helsinki
Visit us our tech page:
tech.zalando.com
Mobile first company: > 50% traffic from mobile devices
A BRIEF
HISTORY OF
ZALANDO
TECHNOLOGY
PLATFORM
THE CHALLENGE
Platform team
request servers
deploy
Datacenter
THE CHALLENGE
90+ delivery teams
Platform team
deploy
request servers
request storage
PLATFORM
Datacenter
RADICAL
AGILITY
DELIVER AMAZING
PRODUCTS
EFFICIENTLY AT
SCALE, AND
FEELING GREAT
ABOUT IT.
PURPOSE
AUTONOMY
MASTERY
Read further if you want: Daniel H. Pink “Drive”
✓ API FIRST
✓ REST
✓ SAAS
✓ MICRO SERVICES
✓ CLOUD
DESIGN PRINCIPLES / RULES OF PLAY
AN
ARCHITECTURE
FOR
INNOVATION
Compliance Innovation
STUPS
STUPS To Unleash Penguin Swarms
➊ One AWS account per Team
➋ Deployment with Docker
➌ Managed SSH Access
➍ REST/OAuth 2.0 mandatory
➎ Traceability of changes
IN A NUTSHELL
STUPS
AWS
STUPS
DOCKER
DEPLOY
SSH ACCESS AUDIT
REPORTS
FULL AWS
ACCESS
A PLATFORM ON TOP OF AMAZON WEB SERVICES
“We provide maximum freedom for
developers while enabling near-real-
time audit compliance for every
single application.”
-- Zalando STUPS Delivery Team
Apache License
Version 2.0STUPS
github.com/zalando-stups
STUPS COMPONENT LANDSCAPE
OUR FOCUS FOR TODAY
✓ PierOne
Docker Registry with S3 storage
✓ Senza
Deploy Tool using CloudFormation
✓ Taupage AMI
Amazon Machine Image with Docker Runtime
http://docs.stups.io/en/latest/user-guide/standalone-deployment.html
ACCOUT
ISOLATION
Public Internet
*.jacob.example.org
*.edward.example.orgTeam “Jacob”
Team
“Edward”
ELB
ELB
ISOLATED AWS ACCOUNTS & OAUTH 2.0 & SECURITY
Data CenterLB
AWS
DEPLOYMENT
AWS
DEPLOYMENT
Senza CLI
Deploy Tool
Pier One
Docker Registry
docker pull
docker push
Taupage
AMI
PIER ONE DOCKER REGISTRY
✓ S3 backend to store images
✓ OAuth2 integration
✓ Team repositories
✓ Immutable tags
✓ JVM-based (Clojure)
✓ Command Line Interface (Python)
TAUPAGE AMI
✓ Start a Docker Container on boot
✓ Enables managed SSH access
✓ Audit Logging
✓ Application Logging
(LogEntries, Scalyr, CloudWatch Logs)
✓ Monitoring
✓ Reviewed security additions
IMMUTABLE STACKS
ELB myapp-v1
myapp.example.org
EC2
+ Docker
EC2
+ Docker
EC2
+ Docker
100%
IMMUTABLE STACKS
ELB myapp-v1
EC2
+ Docker
EC2
+ Docker
EC2
+ Docker
ELB myapp-v2
EC2
+ Docker
EC2
+ Docker
myapp.example.org
90% 10%
$ senza traffic myapp v2 10
IMMUTABLE STACKS
ELB myapp-v1
EC2
+ Docker
EC2
+ Docker
EC2
+ Docker
ELB myapp-v2
EC2
+ Docker
EC2
+ Docker
myapp.example.org
0% 100%
$ senza traffic myapp v2 100
FROM zalando/openjdk:8u40-b09-4
EXPOSE 8080
COPY target/hello-world.jar /
COPY target/scm-source.json /
CMD java $(java-dynamic-memory-opts) ↲
-jar /hello-world.jar
DOCKERFILE
$ docker build -t ↲
pierone.example.org/myteam/hello-world:0.2 .
$ pierone login
Getting OAuth2 token "pierone".. OK
Storing Docker client configuration in ~/.dockercfg.. OK
$ docker push pierone.example.org/myteam/hello-world:0.2
DOCKER BUILD & PUSH
$ pierone tags myteam hello-world
Team |Artifact |Tag |Created|By |
myteam hello-world 0.1-andre-test 13d ago ahartmann
myteam hello-world 0.1 3d ago ahartmann
myteam hello-world 0.2 3m ago hjacobs
VERIFY IMAGE UPLOAD
$ pierone scm myteam hello-world 0.2
Tag|Author |URL |Revision |Status|Created|By |
0.2 hjacobs git:git@github.. 442b7502 10m ago hjacobs
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: "pierone.example.org/stups/hello-world:{{Arguments.ImageVersion}}"
ports:
8080: 8080
SENZA: STACK DEPLOYMENT
$ senza create hello-world.yaml v1 0.2
Generating Cloud Formation template.. OK
Creating Cloud Formation stack hello-world-v1.. OK
$ senza events hello-world.yaml v1
Stack Name|Ver.|Resource Type |Resource ID |Status |Status Reason |Event Time
hello-world v1 CloudFormation::Stack hello-world-v1 CREATE_IN_PROGRESS User Initiated 10m ago
...
hello-world v1 CloudFormation::Stack hello-world-v1 CREATE_COMPLETE 6m ago
SENZA: MANAGE STACKS
MANAGED
SSH ACCESS
SSH ACCESS: TIME-LIMITED ACCESS TO ANY TEAM SERVER
TRACABILITY
Pier One Docker Registry
build
approved
EC2 instance
Docker
Container
Application Version “1.0”
artifact: docker/myart:1.0
Taupage AMI
Ticket system
Kio Application Registry
SCM
Image “docker/myart:1.0”
commit: afb123Issue “ABC-123”
Commit “afb123”
msg: ABC-123..
✓ Specification
✓ Artefact tested
deploy
DOCKER?
DOCKER!
EXAMPLE STACK
AWS EC2
Taupage AMI
Docker Container
Application
✓ In isolated
team
account
✓ Created by
senza
through
Cloud
Formation
✓ Docker Runtime
✓ Managed SSH access
✓ Audit Logging
✓ Log Collection
✓ Monitoring
✓ Reviewed security
additions
✓ Ubuntu
✓ OpenJDK
✓ Zalando CA
certificate
✓ scm-source
…
● Ubuntu & OpenJDK base image
https://github.com/zalando/docker-openjdk
● Log to STDOUT
● Config via KMS encrypted env vars
● AMI runs Docker daemon out-of-the-box
● Non-root execution
● Persistence via EBS mounts
● Immutable stacks, no orchestration
● DNS endpoints
RECAP: DOCKER IN STUPS
docker run -d --log-driver=syslog ↲
--restart=on-failure:10 ↲
-e DB_SUBNAME=.. ↲
-v /meta:/meta:ro ↲
-e CREDENTIALS_DIR=/meta/credentials ↲
-p 8080:8080 -p 7979:7979 ↲
-u 999 ↲
pierone.example.org/stups/pierone:0.5
TAUPAGE: DOCKER COMMAND LINE
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
MORE?
CONTACT
Volker Pilz
volker.pilz@zalando.de
linkedin.com/in/vpilz
FURTHER
INFORMATION
stups.io
tech-stups-pr@zalando.de
tech.zalando.com
THANK YOU! Find us here at the meetup
➔ Rani
➔ Lauri
➔ Ako
➔ Volker
BACKUP
MONITORING
TODO: Screenshot
ZMON
ZMON APPLIANCE
*.foo.example.org *.bar.example.org
Team “Foo” Team “Bar”
EC2
Instance
EC2
InstanceEC2
Instance
EC2
Instance
ZMON
Appliance
ZMON
Appliance
KairosDB
EC2
Instance
EC2
Instance
ZMON
Controller
ELB ELB
LOGGING
docker run .. --log-driver=syslog ..
/etc/rsyslog.d/24-application.conf
:syslogtag, startswith, "docker" ↲
/var/log/application.log
/etc/logrotate.d/..
Don’t forget log rotation..
TAUPAGE: DOCKER SYSLOG
APPLICATION LOGS: TAUPAGE SUPPORTS LOGENTRIES AND SCALYR
STUPS COMPONENT NAMING
asciinema.org/a/25668
DEPLOYMENT

More Related Content

What's hot

What's hot (20)

Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
 
DockerDay2015: Deploy Apps on IBM Bluemix
DockerDay2015: Deploy Apps on IBM BluemixDockerDay2015: Deploy Apps on IBM Bluemix
DockerDay2015: Deploy Apps on IBM Bluemix
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
DockerDay2015: Docker Security
DockerDay2015: Docker SecurityDockerDay2015: Docker Security
DockerDay2015: Docker Security
 
Docker @ RelateIQ Presentation
Docker @ RelateIQ PresentationDocker @ RelateIQ Presentation
Docker @ RelateIQ Presentation
 
Accelerating the Next 10,000 Clouds by Michael Kadera, Intel
Accelerating the Next 10,000 Clouds by Michael Kadera, IntelAccelerating the Next 10,000 Clouds by Michael Kadera, Intel
Accelerating the Next 10,000 Clouds by Michael Kadera, Intel
 
Docker: Redistributing DevOps cards, on the way to PaaS
Docker: Redistributing DevOps cards, on the way to PaaSDocker: Redistributing DevOps cards, on the way to PaaS
Docker: Redistributing DevOps cards, on the way to PaaS
 
Docker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registryDocker worshop @Twitter - How to use your own private registry
Docker worshop @Twitter - How to use your own private registry
 
Kubexperience intro session
Kubexperience intro sessionKubexperience intro session
Kubexperience intro session
 
Button push deployments with integrated red hat open management
Button push deployments with integrated red hat open managementButton push deployments with integrated red hat open management
Button push deployments with integrated red hat open management
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé?
 
Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14
 
OpenShift Overview
OpenShift OverviewOpenShift Overview
OpenShift Overview
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
 
Docker for Dummies
Docker for DummiesDocker for Dummies
Docker for Dummies
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3s
 
OpenShift and next generation application development
OpenShift and next generation application developmentOpenShift and next generation application development
OpenShift and next generation application development
 
The Cloud Native Stack
The Cloud Native StackThe Cloud Native Stack
The Cloud Native Stack
 

Viewers also liked

Viewers also liked (6)

Docker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando Tech
Docker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando TechDocker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando Tech
Docker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando Tech
 
Radical Agility with Autonomous Teams and Microservices
Radical Agility with Autonomous Teams and MicroservicesRadical Agility with Autonomous Teams and Microservices
Radical Agility with Autonomous Teams and Microservices
 
Radical Agility with Autonomous Teams and Microservices in the Cloud
Radical Agility with Autonomous Teams and Microservices in the CloudRadical Agility with Autonomous Teams and Microservices in the Cloud
Radical Agility with Autonomous Teams and Microservices in the Cloud
 
Self-organization case study blinkist & zalando technology
Self-organization case study blinkist & zalando technologySelf-organization case study blinkist & zalando technology
Self-organization case study blinkist & zalando technology
 
STUPS by Zalando @ AWS User Group Ireland Meet Up September 2015
STUPS by Zalando @ AWS User Group Ireland Meet Up September 2015STUPS by Zalando @ AWS User Group Ireland Meet Up September 2015
STUPS by Zalando @ AWS User Group Ireland Meet Up September 2015
 
Platform Economy - Tech Vision 2016 Trend 3
Platform Economy - Tech Vision 2016 Trend 3Platform Economy - Tech Vision 2016 Trend 3
Platform Economy - Tech Vision 2016 Trend 3
 

Similar to Docker Meetup San Francisco: Radical Agility with Docker & AWS

GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...
GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...
GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...
Jan Löffler
 

Similar to Docker Meetup San Francisco: Radical Agility with Docker & AWS (20)

STUPS by Zalando @WHD.local Frankfurt: STUPS.io - an Open Source Cloud Framew...
STUPS by Zalando @WHD.local Frankfurt: STUPS.io - an Open Source Cloud Framew...STUPS by Zalando @WHD.local Frankfurt: STUPS.io - an Open Source Cloud Framew...
STUPS by Zalando @WHD.local Frankfurt: STUPS.io - an Open Source Cloud Framew...
 
Stups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWSStups.io - an Open Source Cloud Framework for AWS
Stups.io - an Open Source Cloud Framework for AWS
 
Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with Docker
 
Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016
 
GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...
GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...
GOTO Copenhagen - Radical Agility with Autonomous Teams and Microservices in ...
 
Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016
 
0507 057 01 98 * Adana Klima Tamir Servisi
0507 057 01 98 * Adana Klima Tamir Servisi0507 057 01 98 * Adana Klima Tamir Servisi
0507 057 01 98 * Adana Klima Tamir Servisi
 
Powering Radical Agility with Docker
Powering Radical Agility with Docker Powering Radical Agility with Docker
Powering Radical Agility with Docker
 
Cloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerizationCloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerization
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-IT
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPS
 
Dockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx CasablancaDockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx Casablanca
 
Docker Platform and Ecosystem
Docker Platform and EcosystemDocker Platform and Ecosystem
Docker Platform and Ecosystem
 
Docker 1.9 Feature Overview
Docker 1.9 Feature OverviewDocker 1.9 Feature Overview
Docker 1.9 Feature Overview
 
Making Service Deployments to AWS a breeze with Nova
Making Service Deployments to AWS a breeze with NovaMaking Service Deployments to AWS a breeze with Nova
Making Service Deployments to AWS a breeze with Nova
 
Omaha (Google Update) server
Omaha (Google Update) serverOmaha (Google Update) server
Omaha (Google Update) server
 
Deploy Angular to the Cloud (ngBucharest)
Deploy Angular to the Cloud (ngBucharest)Deploy Angular to the Cloud (ngBucharest)
Deploy Angular to the Cloud (ngBucharest)
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherAzure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Docker Meetup San Francisco: Radical Agility with Docker & AWS