Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

STUPS by Zalando @ AWS User Group Ireland Meet Up September 2015

1,481 views

Published on

Zalando's STUPS is a set of open source tools and components to provide a convenient and audit-compliant platform for multiple autonomous teams on top of Amazon Web Services. How Zalando do Docker-based deployments.

Published in: Technology
  • Be the first to comment

STUPS by Zalando @ AWS User Group Ireland Meet Up September 2015

  1. 1. STUPS A Cloud Infrastructure for Autonomous Teams henning.jacobs@zalando.de / @try_except_ AWS Ireland Meet Up #9
  2. 2. Henning Jacobs ● STUPS Hacker ● Twitter: @try_except_ ● henning.jacobs@zalando.de
  3. 3. 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
  4. 4. A BRIEF HISTORY OF ZALANDO TECHNOLOGY
  5. 5. RADICAL AGILITY
  6. 6. Autonomy
  7. 7. Compliance Innovation
  8. 8. AWS STUPS DOCKER DEPLOY SSH ACCESS AUDIT REPORTS FULL AWS ACCESS STUPS: A PLATFORM ON TOP OF AMAZON WEB SERVICES
  9. 9. Internet *.abc.example.org *.xyz.example.org Team ABC Team XYZ ISOLATED AWS ACCOUNTS EC2EC2 ELBELB EC2
  10. 10. DEPLOYMENT
  11. 11. IMMUTABLE STACKS ELB myapp-1 myapp.example.org EC2 + Docker EC2 + Docker EC2 + Docker
  12. 12. IMMUTABLE STACKS ELB myapp-1 EC2 + Docker EC2 + Docker EC2 + Docker ELB myapp-2 EC2 + Docker EC2 + Docker myapp.example.org
  13. 13. AWS DEPLOYMENT WITH SENZA Senza CLI Pier One docker pull docker push Taupage
  14. 14. https://asciinema.org/a/25668 DEPLOYMENT
  15. 15. 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
  16. 16. SENZA: STACK DEPLOYMENT $ senza create hello-world.yaml 1 0.2 Generating Cloud Formation template.. OK Creating Cloud Formation stack hello-world-1.. OK $ senza events hello-world.yaml 1 Stack Name│Ver.│Resource Type │Resource ID │Status │Status Reason │Event Time hello-world 1 CloudFormation::Stack hello-world-1 CREATE_IN_PROGRESS User Initiated 10m ago ... hello-world 1 CloudFormation::Stack hello-world-1 CREATE_COMPLETE 6m ago
  17. 17. SENZA: MANAGE STACKS
  18. 18. LOGGING
  19. 19. SSH ACCESS
  20. 20. https://asciinema.org/a/25671 SSH ACCESS
  21. 21. SSH ACCESS: TIME-LIMITED ACCESS TO ANY TEAM SERVER
  22. 22. MONITORING
  23. 23. TODO: Screenshot ZMON
  24. 24. 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
  25. 25. ● Immutable AMI ● YAML user data ● Docker runtime ● Application logging: LogEntries, Scalyr, CloudWatch Logs ● KMS encrypted env vars TAUPAGE AMI
  26. 26. ● 800+ in Zalando Tech ● 90+ AWS Accounts ● 160+ Applications SOME NUMBERS..
  27. 27. ● 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..
  28. 28. Questions? STUPS Frontpage stups.io GitHub Repositories github.com/zalando-stups tech.zalando.com @try_except_
  29. 29. BACKUP
  30. 30. Docker Registry build approved EC2 Instance Docker Container Ticket System Application Registry SCM Docker Image Ticket Commit ✓ TRACEABILITY Application Version
  31. 31. STUPS COMPONENTS

×