Continuous Delivery at SAP IT, Alon Aizenberg

14,539 views

Published on

Continuous Delivery at SAPIT

Gain insight into the CD processes and tools used by the web development unit at SAP IT. We will show how we use CD best practices like infrastructure as code, cloud automation, deployment pipelines, test automation and other techniques to power ongoing releases, and greatly simplify our software development and delivery capabilities.

Presented in the Continuous Delivery track at DevOps Con Israel 2013

Published in: Technology

Continuous Delivery at SAP IT, Alon Aizenberg

  1. 1. Continuous Delivery @ SAP ITAlon AizenbergSAP Global IT / Social Collaboration Platform teamJanuary 2013 INTE RNA L
  2. 2. About SAP §  40 years old §  Leader in enterprise applications §  ~ 70K employees §  ~ 183K customers §  ~ 130 countries©  2013 SAP AG. All rights reserved. Public 2
  3. 3. Social Collaboration Platform team We produce many platforms©  2013 SAP AG. All rights reserved. Public 3
  4. 4. Social Collaboration Platform team We produce many platforms©  2013 SAP AG. All rights reserved. Public 4
  5. 5. Search Consolidation Project §  One stop when searching SAP related content§  ~ 100 machines in all environments§  ~ 40 in productive deployments§  ~ 2 years in continuous delivery mode©  2013 SAP AG. All rights reserved. Public 5
  6. 6. The Problems ?©  2013 SAP AG. All rights reserved. Public 6
  7. 7. The Problems Physical hardware, manual setup Manual QA Manual phases deployment Big features, long development cycles©  2013 SAP AG. All rights reserved. Public 7
  8. 8. The Tools Virtualization, Infrastructure Automation Test Deployment Automation Automation Continuous Delivery©  2013 SAP AG. All rights reserved. Public 8
  9. 9. The Tools ©  2013 SAP AG. All rights reserved. Public 9
  10. 10. Infrastructure Automation©  2013 SAP AG. All rights reserved. Public 10
  11. 11. Infrastructure Automation Infrastructure Automation§  Start with manual VM operations§  Command line wrapper allows automation§  Evolve, full Infrastructure as code§  Projects, environments, machine descriptors and automation scripts in source control©  2013 SAP AG. All rights reserved. Public 11
  12. 12. Project Configuration Example Infrastructure Automationchefrepo: git@github.sap.corp:srch/chef-repo-int.git - name: prod - name: index01 servers: runlist: - name: search01 - role[indexing-server] runlist: - name: index02 - role[search-server] runlist: - name: search02 - role[indexing-server] runlist: - name: index03 - role[search-server] runlist: - name: db - role[indexing-server] template: SLES_11_64bit - name: ls5133 cpus: 8 physical: true memory: 16384mb dnsname: search11111 runlist: ipaddress: 11.11.11.11 - role[hanadb-server] runlist: - role[trex-name-server]©  2013 SAP AG. All rights reserved. Public 12
  13. 13. Chef usage Infrastructure Automation§  Each project has a chef repository in git§  Shared automations have their own repositories in git§  Use librarian-chef and git to create a full chef repository Before uploading the scripts to chef server©  2013 SAP AG. All rights reserved. Public 13
  14. 14. Chef Usage Infrastructure Automation Project A Chef repository Chef Server Combined chef repository Production Project A production environmentShared cookbook repo / Cookbook shelf©  2013 SAP AG. All rights reserved. Public 14
  15. 15. Librarian-Chef Configuration Examples Infrastructure Automationsite "http://cookbooks.sap.corp:8080"cookbook monsoon’# loads jvm cookbook because tomcat declares it’s dependent on jvmcookbook tomcat’# use git repo to load a cookbookcookbook saml2, :git => git://github.sap.corp/srch/saml2’©  2013 SAP AG. All rights reserved. Public 15
  16. 16. Barkeeper Infrastructure Automation§  The glue§  Manages projects and environments§  Manages VMs§  Manages chef servers§  Handles permissions§  UI, REST API and CLI API Project configuration and chef Barkeeper VMware repository©  2013 SAP AG. All rights reserved. Public 16
  17. 17. Barkeeper Infrastructure Automation©  2013 SAP AG. All rights reserved. Public 17
  18. 18. Deployment Automation©  2013 SAP AG. All rights reserved. Public 18
  19. 19. Deployment Automation Deployment AutomationDedicated cookbooks automate application deployment and configuration©  2013 SAP AG. All rights reserved. Public 19
  20. 20. Test Automation©  2013 SAP AG. All rights reserved. Public 20
  21. 21. Test Automation Test Automation §  End to end functional acceptance tests §  80% of functional tests are automated §  Manual QA §  Integrations with other systems §  Not everything is automated, yet©  2013 SAP AG. All rights reserved. Public 21
  22. 22. Continuous Delivery©  2013 SAP AG. All rights reserved. Public 22
  23. 23. Continuous Delivery Continuous Delivery§  Bamboo Continuous Integration server§  Orchestrates the flow from code push to productive deployment§  Build grid§  Parallel execution©  2013 SAP AG. All rights reserved. Public 23
  24. 24. Bamboo jobs Source/Chef repositories Commit Build, unit test Package, publish Pull deployment automation, Artifact / Binary binaries and artifacts repository Deploy Test, functional tests Test Deploy QA, sanity tests QA Prod Deploy Prod Environments©  2013 SAP AG. All rights reserved. Public 24
  25. 25. Pipeline Interactions – Deploy Environment Continuous Delivery Create chef server Chef Server Bar Keeper Create VMs VM 1 VM 2 VM 3 VM 4 VM 5 VM 6 GIT Project Repo©  2013 SAP AG. All rights reserved. Public 25
  26. 26. Pipeline Interactions - Install Environment Continuous Delivery Sync Chef Server Chef Server Bar Keeper Bamboo Run chef clients VM 1 VM 2 Build Agents VM 3 VM 4 VM 5 VM 6 Shared cookbooks GIT Chef Repo shelf©  2013 SAP AG. All rights reserved. Public 26
  27. 27. Pipeline Interactions - Test Application Continuous Delivery Chef Server Chef Server REST API Tests Bamboo VM 1 Functional tests VM 2 Build Agents VM 3 VM 4 VM 5 VM 6 Git source repo with test automation©  2013 SAP AG. All rights reserved. Public 27
  28. 28. How did we get there? §  2 years §  Evolution not revolution §  Constantly rethink and improve §  Tech talks, documentation, encourage hands on §  Make the tools easy to use for everyone©  2013 SAP AG. All rights reserved. Public 28
  29. 29. A change in the state of mind §  Not only coding §  Master always shippable §  Feature toggles §  Must be maintained §  Be ready to handle production §  If you build it… they will come©  2013 SAP AG. All rights reserved. Public 29
  30. 30. Lessons learned §  Management buy-in§  Fast pipeline§  Application adaptations§  Testing automation is big investment§  Tests should be easy to write and run§  Automate everything – build infrastructure, load balancers, load tests, monitoring, analytics etc.©  2013 SAP AG. All rights reserved. Public 30
  31. 31. ? Questions©  2013 SAP AG. All rights reserved. Public 31
  32. 32. Thank you Twitter @alonaizenberg Email alon.aizenberg@sap.com©  2013 SAP AG. All rights reserved. Public 32

×