SlideShare a Scribd company logo
Darren Hague, SAP
June 30, 2016
SAP’s DevOps Journey:
from building an app to building a cloud
Public
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 2Public
About SAP
World leader in enterprise applications
• Founded in 1972
• Vision: Help the world run better
• Innovation focus: Cloud & In-memory computing,
IoT & digital business
 Over 310,000 customers, 190 countries
 Over 78,000 employees in 130+ countries
(~50% in technology-related roles)
 Over 110 million users of cloud software
SAP’s customers produce 78% of the world’s
food & 82% of the world’s medical devices
76% of the world’s transaction revenue
touches an SAP system
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 3Public
My background
2008 – 2014: Web app architect,
Global IT
Team responsible for internal- & external-facing web apps,
e.g. SAP Developer Network portal
2014 – now: Cloud platform architect,
Products & Innovation
Team responsible for delivering Cloud & DevOps platform for
SAP’s internal & external cloud portfolio to run on
Darren Hague / SAP Global IT
November 1st, 2013
Continuous Delivery at SAP:
From dinosaur to spaceship
Public
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 5Public
The old days (up to 2010)
 Good things
– Source code version control
– Issue tracking
– Build automation
– Monthly releases
 Not so good things
– Months-long lead time for new hardware
– Labour-intensive QA cycle
– Code deployed manually to physical hardware during downtime
– Development, Ops & Infrastructure in different business units
– No version control for configuration data
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 6Public
2010 Development & Release Cycle (in theory…)
4-week cycle:
• 4 weeks of development per iteration
• 2 weeks of testing
• 1 weekend to deploy release to production
• 6 weeks from request to delivery
• Release every 4 weeks
Dev QA PRN-1
Dev QA P
Dev QA P
RN
RN+1
4 weeks
6 weeks
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 7Public
2010 Development & Release Cycle (in practice)
4-week cycle:
• 4 weeks of development for the first iteration
• 2 weeks of testing & bugfixing
• 1 day to deploy release to production
• 2 days (and one night) debugging the production deployment
• 1.5 weeks of development per 4-week cycle
Dev QA PRN-1
RN
RN+1
4 weeks
Dev QA P!Bugfix
Dev QA P!Bugfix
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 8Public
Why DevOps?
2010 capacity in IT’s web team
• 20000 PD of effort available (~100 staff)
2010 demand for IT’s web team
• Estimated 60000 PD of project effort
No budget for another 200 staff
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 9Public
It’s about the people: Vision & Cultural Change
Chief Architect (my boss)
• Promoted concepts of Continuous Delivery
• Automate everything, especially testing & deployment
• Version control everything
• Bonus-relevant objective: “Read the book”
• Start with one pilot project: SAP ID Service
Director of IT’s Web unit (his boss)
• Provided trust
• Agreed 10% of overall effort for a continuous delivery programme
• Provided cover
• The 10% was “taxed” from individual project budgets
• Not listed as an explicit line item
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 10Public
Pilot project: SAP ID Service
Unified SAP web experience
• Solved problem: one SAP, many sites & logins
• Single account for SAP web users
• Seamless sign-on to all SAP sites
• Social sign-on and integration with 3rd party apps
Scale & reliability (eventually, not part of MVP)
• Millions of users
• Needs to stay up, or nobody can log in to SAP sites
• SAP Cloud Identity product:
Needs to stay up, or customers can’t access their cloud
software
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 11Public
It’s about the people: SAP ID Service Project Team
Cross-functional team of 12
• Product Owner
• Scrum Master
• UI / UX designers
• Java developers & architects (Dev)
• Infrastructure engineers (Ops)
• QA specialists
Geographically distributed
• Germany
• Bulgaria
• UK
• Russia
• Israel
Job 1: Test coverage
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 13Public
Cucumber: Behavior-driven Testing
• Product owner works with team
• User stories from backlog are written in Gherkin:
• Written by QA & Product Owner pairing together
• Main purpose is to communicate system behaviour
@UserStory(“SAPID-1522”)
Scenario: Log on a user trying to access their profile
Given I am a registered user
When I try to access my SAP ID Service profile
Then I should see the “SAP ID Service" login overlay
When I login using my valid credentials
Then I am logged in
And the user profile page is displayed
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 14Public
Gherkin lines correspond to Java or Ruby methods
@When("^I login using my valid credentials$")
public void login_using_valid_credentials() {
String loginName = getTestUserProfile().get(USER_PROFILE_ID);
String password = getTestUserProfile().get(USER_PROFILE_PASSWORD);
((LoginPage) getWebPage()).login(loginName, password);
}
@UserStory(“SAPID-1522”)
Scenario: Log on a user trying to access their profile
Given I am a registered user
When I try to access my SAP ID Service profile
Then I should see the “SAP ID Service" login overlay
When I login using my valid credentials
Then I am logged in
And the user profile page is displayed
• QA & Developers work together
to code the test logic
• This gives us an executable
specification
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 15Public
Cycle time is critical
• Minimise the time from commit to green build
• Continuously monitor & improve build performance
• < 15 minutes for developer build and test on own machine
• < 40 minutes for full build, integration test & deploy to QA
• Parallelisation is key, especially for tests
• We have >1000 scenarios and >10000 steps
• Aim to keep each suite of tests to < 3 minutes
• If a suite exceeds this, split it into 2 suites
• Add test machines as number of suites grows
• The Cloud is your friend: elastically scale the QA landscape
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 16Public
It’s about the people
• Challenge:
Getting developers to write lots of automated tests with no
previous culture of test-driven development
• Focus on the Happy Path – test cases that demonstrate how the
system should work
• Developers also write some low-level tests for corner cases etc.
• QA folks still do manual exploratory testing
• Found a bug? Write a test to reproduce it
• Small amounts of shouting encouragement may be involved
All tests pass = confidence to release
Job 2: Automate deployment
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 18Public
Using Chef for Deployment Automation
Code deployed & configured automatically
• No manual scripts
Recipes & config data stored in version control
• Can review before deployment
Idempotence of recipes = consistency
• Run chef-client again: get the same result
Blue/Green deployment
• Deploy latest release to alternate pool of servers
Testing: Confidence to release a version
Chef: Confidence to deploy it automatically
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 19Public
It’s about the people
DevOps skills needed
 All team members need to learn Chef & Ruby
 Ops & Developers pair up to write Chef recipes
–“install DB”, “install appserver”, “deploy latest release”, etc.
 Learn how to store config values in a source-code repository
– Data bags for Dev, Test, Production, …
 Put in the effort to migrate all those manual scripts and Excel
sheets
 Learn how to unit test recipes and cookbooks
Job 3: Keep evolving
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 21Public
DevOps 2010: Cocktail – Project Scale
To get Identity Service app running we had to manually:
• Create virtual machines
• Register each VM with Chef server
• Execute chef-client
• Validate the installation
• Test behaviour with Cucumber
“Cocktail” was developed to automate all these actions
 With a pool of VMs, create a complex landscape with a few commands
 Deployment time reduced from hours to minutes
 Monthly deployment, much closer to “4 weeks development” vision
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 22Public
It’s about the people: Culture of Continuous Improvement
• Proper Agile/Scrum coaching was really important
• Fundamentally different to learning by reading articles & blogs
• Learning by doing, playing, etc. is much more effective
• Coach encouraged accountability, responsibility, experimentation
• Team make-up
• Differing personalities and working styles
• May need to shuffle a few people to get the best out of everyone
• Team is always working to improve itself
• Evaluate new tools & techniques
• Encourage “spikes” to see if things work
• Retrospective at the end of each sprint
• Several improvement suggestions each time around – pick top 3
• Focus on team behaviours, not product scope
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 23Public
DevOps 2011: Barkeeper – Department scale
• Allocate VMs via Cloud API
• Manage Chef servers
• Project self-service
• Web UI and REST API
• Everything under version control
• Install VMWare on bare metal, everything else is
automated
• Scheduled deployment every 2 weeks, but 2-3 times a
week not uncommon
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 24Public
It’s about the people: Spread the Word
• Spread DevOps principles throughout several IT teams
• Barkeeper used for a dozen or so web apps in SAP IT
• Agile/Scrum coaching delivered throughout IT
• Ops Engineers embedded in teams became the norm
• Encourage shared ownership within teams
• Encourage teams to share what they learn
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 25Public
Pivot: Create a DevOps platform for the company. Using DevOps.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 26Public
DevOps 2013: Monsoon – Company scale
The product
 Custom developed private cloud & deployment automation platform
– IaaS layer roughly equivalent to OpenStack (Nova, Cinder, Keystone,
Murano, Designate)
– Automation framework using Chef & MCollective
The platform
 Ruby on Rails components running as microservices
– VCR to help with microservices testing
 Git repos for Chef cookbooks and configuration databags
 VMWare vSphere : Hypervisor & Block Storage
 F5 BigIP Loadbalancers (providing self service ELB scenarios)
The process
 2 Week development cycle, continuous integration and testing
 Daily automated deployment
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 27Public
Result: Cloud & DevOps culture throughout SAP
As of late 2015:
• 100s of internal apps and external cloud services running on the Monsoon platform:
SAP Anywhere, SAP Business One, Multiposting,
SuccessFactors, Afaria MobileSecure, SeeWhy,
Ariba TradeWorld, Hybris, FieldGlass,
SAP Cloud for Customer, SAP Cloud Identity, …
• 1000s of developers using the Monsoon platform
• 10000s of VMs
• 10000s of storage volumes
• Deployed in 6 regions & 12 availability zones
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 28Public
It’s about the people: Monsoon team
The core team
 Ruby development & web design: 15-20 FTE
 Infrastructure Architecture: 2-3 FTE
 QA: 0.5 FTE
Working mode
 ChatOps via internal IRC server
 UK & Germany, mix of home & office working
 Pairing & team meetings conducted largely online
 Every 3-6 months get together & break bread
 First level support in overseas teams
– Knowledge transfer from core team
– Overnight cover for Europe
 Second level support in development team
– You build it, you run it: MOOPS (Monsoon Ops)
– One team member always on “pager duty”
– Weekly rotation
Space age
To Boldly Go…
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 30Public
Pets and Cattle
• Pets are given names like pussinboots.cern.ch
• They are unique, lovingly hand raised and cared for
• When they get ill, you nurse them back to health
• Cattle are given numbers like vm0042.cern.ch
• They are almost identical to other cattle
• When they get ill, you get another one
Future application architectures should use Cattle but Pets with strong configuration
management are viable and still needed
via Gavin McCance (CERN),
who borrowed it from
@randybias at Cloudscaling
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 31Public
Kubernetes: Production-Grade Container Orchestration
Originally from Google, now open source
From http://kubernetes.io/:
Automated container deployment, scaling, and management
 Automatic bin-packing
 Horizontal scaling
 Automated rollouts and rollbacks
 Storage orchestration
 Self-healing
 Service discovery and load balancing
 Secret and configuration management
 Batch execution
In other words: the ability to treat containers as cattle, not pets
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 32Public
DevOps 2016 – Cloud Scale
The platform
 Kubernetes (with Docker) running on baremetal nodes
 Openstack in containers (based on Kolla)
 Networking hardware (via OpenStack Neutron drivers)
 Loadbalancing (via Neutron LBaaS)
 Both VMWare & KVM Hypervisors
 Storage hardware (via OpenStack Cinder & Manila)
 New automation agent (Arc)
 New dashboard for OpenStack (Elektra)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 33Public
DevOps 2016 – Cloud Scale
The product
 OpenStack running in containers on Kubernetes across 13 Regions & 18+ datacenters
 Bare metal to scaled OpenStack cluster in < 60 minutes
 Platform for SAP cloud offerings and internal innovation
 Offering Bare metal, VMs and Container resources
 Monitoring, Logging, Alerting & Billing services
 Automation agent (Arc) being open-sourced
The process
 4 week sprint cycle, continuous integration and testing
 <10% new development, >90% open source enhancements
 Open source enhancements contributed back to community
(OpenStack, Kubernetes, Docker, Grafana, …)
 Continuous automated deployment of infrastructure & code
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 34Public
Another book to read - but beware “web scale envy”
“Google’s SREs have done our industry an enormous
service by writing up the principles and patterns –
architectural and cultural – that enable their teams to
combine continuous delivery with world-class reliability at
ludicrous scale. You owe it to yourself and your
organization to read this book and try out these ideas for
yourself”
- Jez Humble, author of “Continuous Delivery”
“I heavily suggest to buy and read this book !!!”
- My boss
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 35Public
It’s about the people
The teams
 OpenStack core DevOps: 10-15 FTE
 Monitoring, Alerting & Billing: 5-10 FTE
 User-facing & automation tools: 5-10 FTE
 QA 0.5 FTE
 First level support in overseas teams
 Second level support in development teams
Managing Complexity
 2x MOOPS, plus INFRAOPS & AUTOPS
 Cognitive overload from new technologies
– Split into 3 sub-teams
– Pairing within teams
– Sharing sessions across teams
Learning from Open Source behaviours
 Use GitHub pull requests for sharing & review
 Just enough documentation, stored in GitHub repo
 Use public GitHub where possible (github.com/sapcc)
 On-premise GitHub Enterprise for private repos (e.g. config)
 Engage with & contribute to open source projects (pros & cons)
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 36Public
The journey continues
Then & now:
 2010 – Pilot project, 10-15 people involved
 2016 – Global Cloud & DevOps platform, 20-30 people involved
Current challenges:
 Dealing with technology explosion
– See Periodic table of DevOps tools
 Dealing with knowledge explosion
– Kubernetes, OpenStack, related tools, concepts & technologies
– Need to spend time adding features & value in own area
– Also need to know everyone else’s stuff for Ops duty shifts
 Dealing with Open Source communities
– Not always easy to get changes merged upstream
– Stakeholders outside of the business may have different aims & priorities
 Getting corporate HTTP proxy to work with open-source tools
© 2016 SAP SE or an SAP affiliate company. All rights reserved.
Thank you
(P.S. It’s about the people)
Contact information:
Darren Hague
Cloud Infrastructure Architect
SAP UK Ltd
d.hague@sap.com
Twitter: @dhague

More Related Content

PDF
Software Release Orchestration and the Enterprise
PDF
Agile project management
PPTX
DOES16 London - Andrew Hawkins - Horses for Courses
PPT
DevOps Transition Strategies
PPTX
5 Lessons from Enterprise DevOps
PDF
DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...
PPTX
Change Management in Hybrid landscapes 2017
PPTX
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
Software Release Orchestration and the Enterprise
Agile project management
DOES16 London - Andrew Hawkins - Horses for Courses
DevOps Transition Strategies
5 Lessons from Enterprise DevOps
DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...
Change Management in Hybrid landscapes 2017
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...

What's hot (20)

PPTX
Agile vs dev ops
PPTX
Realtech us dev_ops4sap_webinar_slides_06302020
PPTX
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
PDF
Building a DevOps Organization and Culture
PDF
XebiaLabs Top Enterprise DevOps Lessons for 2016
PDF
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
PDF
Lessons Learned: Scaling DevOps & CD for the Enterprise
PPTX
Can you do DevOps in SAP (DevOps -> SAP)
PPTX
DOES15 - Rosalind Radcliffe - Test Automation For Mainframe Applications
PPTX
DOES15 - Ernest Mueller - DevOps Transformations At National Instruments and...
PDF
How a Mortgage Company is Transforming Their Business with Continuous Delivery
PDF
DevOps Primer : Presented by Uday Kumar
PPTX
Introducing DevOps
PDF
Diving Into Docker
PPTX
Can you do DevOps in SAP (SAP -> DevOps)
PPTX
Metrics to Power DevOps
PDF
Delivering Better Software Faster (Without Breaking Everything)
PDF
DevOps Transformation - Another View
PDF
Navvia's DevOps journey
PDF
DevOps Transformation - technical and organizational goals
Agile vs dev ops
Realtech us dev_ops4sap_webinar_slides_06302020
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
Building a DevOps Organization and Culture
XebiaLabs Top Enterprise DevOps Lessons for 2016
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Lessons Learned: Scaling DevOps & CD for the Enterprise
Can you do DevOps in SAP (DevOps -> SAP)
DOES15 - Rosalind Radcliffe - Test Automation For Mainframe Applications
DOES15 - Ernest Mueller - DevOps Transformations At National Instruments and...
How a Mortgage Company is Transforming Their Business with Continuous Delivery
DevOps Primer : Presented by Uday Kumar
Introducing DevOps
Diving Into Docker
Can you do DevOps in SAP (SAP -> DevOps)
Metrics to Power DevOps
Delivering Better Software Faster (Without Breaking Everything)
DevOps Transformation - Another View
Navvia's DevOps journey
DevOps Transformation - technical and organizational goals
Ad

Viewers also liked (15)

PDF
Continuous Delivery at SAP IT, Alon Aizenberg
PPTX
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
PPTX
tranSMART 17.1 technical overview
PDF
continuous delivery at SAP IT for devopscon Israel
PDF
Implementing High Availability Caching with Memcached
PPTX
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
ODT
Modelo de plano do projeto comunitário
DOCX
Plano projeto implantação servicedesk
PPTX
DevOps and Continuous Delivery reference architectures for Docker
PDF
DevOps: A Culture Transformation, More than Technology
PPSX
PPTX
DevOps 101
PPTX
EvansData_DevRel_2016-DevOps
PPTX
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
PPTX
Beyond DevOps - How Netflix Bridges the Gap
Continuous Delivery at SAP IT, Alon Aizenberg
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
tranSMART 17.1 technical overview
continuous delivery at SAP IT for devopscon Israel
Implementing High Availability Caching with Memcached
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
Modelo de plano do projeto comunitário
Plano projeto implantação servicedesk
DevOps and Continuous Delivery reference architectures for Docker
DevOps: A Culture Transformation, More than Technology
DevOps 101
EvansData_DevRel_2016-DevOps
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
Beyond DevOps - How Netflix Bridges the Gap
Ad

Similar to DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to Building a Cloud (20)

PPTX
SAP TechEd 2018 OPP103 – An Introduction to DevOps
PPTX
How to go from waterfall app dev to secure agile development in 2 weeks
PPTX
Agile, DevOps & Test
PDF
Business Value of CI, CD, & DevOps(Sec)
PDF
ROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
PPTX
DevOps for dummies study sharing - part II
PPTX
What do the "Cool Kids" know about DevOps?
PPTX
Agile & DevOps - It's all about project success
PPTX
Why DevOps Matters To The CIO
PDF
Not a DevOps talk - Coté
PDF
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
PDF
Does the Cloud Change Anything? What can be learned from the Changing Enterpr...
PDF
DevOps Culture & Methodology Intro
PDF
Introduction to DevOps slides.pdf
PDF
DevOps @ Enterprise - DevOps Meetup Zurich
PPT
DevOps 101 for Government
PDF
The Evolution from Agile to DevOps
PPTX
DevOpsDays Seattle - Self-Service Ignite
PDF
DevOps @ Enterprise - Lessons from the trenches
PDF
MassTLC DevOps program "The Latest Trend for Agility and Rapid Development"
SAP TechEd 2018 OPP103 – An Introduction to DevOps
How to go from waterfall app dev to secure agile development in 2 weeks
Agile, DevOps & Test
Business Value of CI, CD, & DevOps(Sec)
ROI & Business Value of CI, CD, DevOps, DevSecOps, & Microservices
DevOps for dummies study sharing - part II
What do the "Cool Kids" know about DevOps?
Agile & DevOps - It's all about project success
Why DevOps Matters To The CIO
Not a DevOps talk - Coté
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
Does the Cloud Change Anything? What can be learned from the Changing Enterpr...
DevOps Culture & Methodology Intro
Introduction to DevOps slides.pdf
DevOps @ Enterprise - DevOps Meetup Zurich
DevOps 101 for Government
The Evolution from Agile to DevOps
DevOpsDays Seattle - Self-Service Ignite
DevOps @ Enterprise - Lessons from the trenches
MassTLC DevOps program "The Latest Trend for Agility and Rapid Development"

More from Gene Kim (20)

PDF
DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
PDF
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
PPTX
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
PPTX
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
PPTX
DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
PPTX
DOES SFO 2016 - Rich Jackson & Rosalind Radcliffe - The Mainframe DevOps Team...
PDF
DOES SFO 2016 - Greg Padak - Default to Open
PPTX
DOES SFO 2016 - Michael Nygard - Tempo, Maneuverability, Initiative
PPTX
DOES SFO 2016 - Alexa Alley - Value Stream Mapping
PPTX
DOES SFO 2016 - Mark Imbriaco - Lessons From the Bleeding Edge
PPTX
DOES SFO 2016 - Topo Pal - DevOps at Capital One
PPTX
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
PPTX
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
PPTX
DOES SFO 2016 - Chris Fulton - CD for DBs
PPTX
DOES SFO 2016 - Marc Priolo - Are we there yet?
PPTX
DOES SFO 2016 - Steve Brodie - The Future of DevOps in the Enterprise
PDF
DOES SFO 2016 - Aimee Bechtle - Utilizing Distributed Dojos to Transform a Wo...
PPTX
DOES SFO 2016 - Ray Krueger - Speed as a Prime Directive
PPTX
DOES SFO 2016 - Paula Thrasher & Kevin Stanley - Building Brilliant Teams
PDF
DOES SFO 2016 - Kevina Finn-Braun & J. Paul Reed - Beyond the Retrospective: ...
DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
DOES SFO 2016 - Rich Jackson & Rosalind Radcliffe - The Mainframe DevOps Team...
DOES SFO 2016 - Greg Padak - Default to Open
DOES SFO 2016 - Michael Nygard - Tempo, Maneuverability, Initiative
DOES SFO 2016 - Alexa Alley - Value Stream Mapping
DOES SFO 2016 - Mark Imbriaco - Lessons From the Bleeding Edge
DOES SFO 2016 - Topo Pal - DevOps at Capital One
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
DOES SFO 2016 - Chris Fulton - CD for DBs
DOES SFO 2016 - Marc Priolo - Are we there yet?
DOES SFO 2016 - Steve Brodie - The Future of DevOps in the Enterprise
DOES SFO 2016 - Aimee Bechtle - Utilizing Distributed Dojos to Transform a Wo...
DOES SFO 2016 - Ray Krueger - Speed as a Prime Directive
DOES SFO 2016 - Paula Thrasher & Kevin Stanley - Building Brilliant Teams
DOES SFO 2016 - Kevina Finn-Braun & J. Paul Reed - Beyond the Retrospective: ...

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
cuic standard and advanced reporting.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
Teaching material agriculture food technology
PDF
Modernizing your data center with Dell and AMD
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Approach and Philosophy of On baking technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Electronic commerce courselecture one. Pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
cuic standard and advanced reporting.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
Mobile App Security Testing_ A Comprehensive Guide.pdf
Teaching material agriculture food technology
Modernizing your data center with Dell and AMD
NewMind AI Weekly Chronicles - August'25 Week I
Unlocking AI with Model Context Protocol (MCP)
Digital-Transformation-Roadmap-for-Companies.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Approach and Philosophy of On baking technology
Advanced methodologies resolving dimensionality complications for autism neur...
20250228 LYD VKU AI Blended-Learning.pptx
Big Data Technologies - Introduction.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to Building a Cloud

  • 1. Darren Hague, SAP June 30, 2016 SAP’s DevOps Journey: from building an app to building a cloud Public
  • 2. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 2Public About SAP World leader in enterprise applications • Founded in 1972 • Vision: Help the world run better • Innovation focus: Cloud & In-memory computing, IoT & digital business  Over 310,000 customers, 190 countries  Over 78,000 employees in 130+ countries (~50% in technology-related roles)  Over 110 million users of cloud software SAP’s customers produce 78% of the world’s food & 82% of the world’s medical devices 76% of the world’s transaction revenue touches an SAP system
  • 3. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 3Public My background 2008 – 2014: Web app architect, Global IT Team responsible for internal- & external-facing web apps, e.g. SAP Developer Network portal 2014 – now: Cloud platform architect, Products & Innovation Team responsible for delivering Cloud & DevOps platform for SAP’s internal & external cloud portfolio to run on
  • 4. Darren Hague / SAP Global IT November 1st, 2013 Continuous Delivery at SAP: From dinosaur to spaceship Public
  • 5. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 5Public The old days (up to 2010)  Good things – Source code version control – Issue tracking – Build automation – Monthly releases  Not so good things – Months-long lead time for new hardware – Labour-intensive QA cycle – Code deployed manually to physical hardware during downtime – Development, Ops & Infrastructure in different business units – No version control for configuration data
  • 6. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 6Public 2010 Development & Release Cycle (in theory…) 4-week cycle: • 4 weeks of development per iteration • 2 weeks of testing • 1 weekend to deploy release to production • 6 weeks from request to delivery • Release every 4 weeks Dev QA PRN-1 Dev QA P Dev QA P RN RN+1 4 weeks 6 weeks
  • 7. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 7Public 2010 Development & Release Cycle (in practice) 4-week cycle: • 4 weeks of development for the first iteration • 2 weeks of testing & bugfixing • 1 day to deploy release to production • 2 days (and one night) debugging the production deployment • 1.5 weeks of development per 4-week cycle Dev QA PRN-1 RN RN+1 4 weeks Dev QA P!Bugfix Dev QA P!Bugfix
  • 8. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 8Public Why DevOps? 2010 capacity in IT’s web team • 20000 PD of effort available (~100 staff) 2010 demand for IT’s web team • Estimated 60000 PD of project effort No budget for another 200 staff
  • 9. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 9Public It’s about the people: Vision & Cultural Change Chief Architect (my boss) • Promoted concepts of Continuous Delivery • Automate everything, especially testing & deployment • Version control everything • Bonus-relevant objective: “Read the book” • Start with one pilot project: SAP ID Service Director of IT’s Web unit (his boss) • Provided trust • Agreed 10% of overall effort for a continuous delivery programme • Provided cover • The 10% was “taxed” from individual project budgets • Not listed as an explicit line item
  • 10. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 10Public Pilot project: SAP ID Service Unified SAP web experience • Solved problem: one SAP, many sites & logins • Single account for SAP web users • Seamless sign-on to all SAP sites • Social sign-on and integration with 3rd party apps Scale & reliability (eventually, not part of MVP) • Millions of users • Needs to stay up, or nobody can log in to SAP sites • SAP Cloud Identity product: Needs to stay up, or customers can’t access their cloud software
  • 11. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 11Public It’s about the people: SAP ID Service Project Team Cross-functional team of 12 • Product Owner • Scrum Master • UI / UX designers • Java developers & architects (Dev) • Infrastructure engineers (Ops) • QA specialists Geographically distributed • Germany • Bulgaria • UK • Russia • Israel
  • 12. Job 1: Test coverage
  • 13. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 13Public Cucumber: Behavior-driven Testing • Product owner works with team • User stories from backlog are written in Gherkin: • Written by QA & Product Owner pairing together • Main purpose is to communicate system behaviour @UserStory(“SAPID-1522”) Scenario: Log on a user trying to access their profile Given I am a registered user When I try to access my SAP ID Service profile Then I should see the “SAP ID Service" login overlay When I login using my valid credentials Then I am logged in And the user profile page is displayed
  • 14. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 14Public Gherkin lines correspond to Java or Ruby methods @When("^I login using my valid credentials$") public void login_using_valid_credentials() { String loginName = getTestUserProfile().get(USER_PROFILE_ID); String password = getTestUserProfile().get(USER_PROFILE_PASSWORD); ((LoginPage) getWebPage()).login(loginName, password); } @UserStory(“SAPID-1522”) Scenario: Log on a user trying to access their profile Given I am a registered user When I try to access my SAP ID Service profile Then I should see the “SAP ID Service" login overlay When I login using my valid credentials Then I am logged in And the user profile page is displayed • QA & Developers work together to code the test logic • This gives us an executable specification
  • 15. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 15Public Cycle time is critical • Minimise the time from commit to green build • Continuously monitor & improve build performance • < 15 minutes for developer build and test on own machine • < 40 minutes for full build, integration test & deploy to QA • Parallelisation is key, especially for tests • We have >1000 scenarios and >10000 steps • Aim to keep each suite of tests to < 3 minutes • If a suite exceeds this, split it into 2 suites • Add test machines as number of suites grows • The Cloud is your friend: elastically scale the QA landscape
  • 16. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 16Public It’s about the people • Challenge: Getting developers to write lots of automated tests with no previous culture of test-driven development • Focus on the Happy Path – test cases that demonstrate how the system should work • Developers also write some low-level tests for corner cases etc. • QA folks still do manual exploratory testing • Found a bug? Write a test to reproduce it • Small amounts of shouting encouragement may be involved All tests pass = confidence to release
  • 17. Job 2: Automate deployment
  • 18. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 18Public Using Chef for Deployment Automation Code deployed & configured automatically • No manual scripts Recipes & config data stored in version control • Can review before deployment Idempotence of recipes = consistency • Run chef-client again: get the same result Blue/Green deployment • Deploy latest release to alternate pool of servers Testing: Confidence to release a version Chef: Confidence to deploy it automatically
  • 19. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 19Public It’s about the people DevOps skills needed  All team members need to learn Chef & Ruby  Ops & Developers pair up to write Chef recipes –“install DB”, “install appserver”, “deploy latest release”, etc.  Learn how to store config values in a source-code repository – Data bags for Dev, Test, Production, …  Put in the effort to migrate all those manual scripts and Excel sheets  Learn how to unit test recipes and cookbooks
  • 20. Job 3: Keep evolving
  • 21. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 21Public DevOps 2010: Cocktail – Project Scale To get Identity Service app running we had to manually: • Create virtual machines • Register each VM with Chef server • Execute chef-client • Validate the installation • Test behaviour with Cucumber “Cocktail” was developed to automate all these actions  With a pool of VMs, create a complex landscape with a few commands  Deployment time reduced from hours to minutes  Monthly deployment, much closer to “4 weeks development” vision
  • 22. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 22Public It’s about the people: Culture of Continuous Improvement • Proper Agile/Scrum coaching was really important • Fundamentally different to learning by reading articles & blogs • Learning by doing, playing, etc. is much more effective • Coach encouraged accountability, responsibility, experimentation • Team make-up • Differing personalities and working styles • May need to shuffle a few people to get the best out of everyone • Team is always working to improve itself • Evaluate new tools & techniques • Encourage “spikes” to see if things work • Retrospective at the end of each sprint • Several improvement suggestions each time around – pick top 3 • Focus on team behaviours, not product scope
  • 23. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 23Public DevOps 2011: Barkeeper – Department scale • Allocate VMs via Cloud API • Manage Chef servers • Project self-service • Web UI and REST API • Everything under version control • Install VMWare on bare metal, everything else is automated • Scheduled deployment every 2 weeks, but 2-3 times a week not uncommon
  • 24. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 24Public It’s about the people: Spread the Word • Spread DevOps principles throughout several IT teams • Barkeeper used for a dozen or so web apps in SAP IT • Agile/Scrum coaching delivered throughout IT • Ops Engineers embedded in teams became the norm • Encourage shared ownership within teams • Encourage teams to share what they learn
  • 25. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 25Public Pivot: Create a DevOps platform for the company. Using DevOps.
  • 26. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 26Public DevOps 2013: Monsoon – Company scale The product  Custom developed private cloud & deployment automation platform – IaaS layer roughly equivalent to OpenStack (Nova, Cinder, Keystone, Murano, Designate) – Automation framework using Chef & MCollective The platform  Ruby on Rails components running as microservices – VCR to help with microservices testing  Git repos for Chef cookbooks and configuration databags  VMWare vSphere : Hypervisor & Block Storage  F5 BigIP Loadbalancers (providing self service ELB scenarios) The process  2 Week development cycle, continuous integration and testing  Daily automated deployment
  • 27. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 27Public Result: Cloud & DevOps culture throughout SAP As of late 2015: • 100s of internal apps and external cloud services running on the Monsoon platform: SAP Anywhere, SAP Business One, Multiposting, SuccessFactors, Afaria MobileSecure, SeeWhy, Ariba TradeWorld, Hybris, FieldGlass, SAP Cloud for Customer, SAP Cloud Identity, … • 1000s of developers using the Monsoon platform • 10000s of VMs • 10000s of storage volumes • Deployed in 6 regions & 12 availability zones
  • 28. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 28Public It’s about the people: Monsoon team The core team  Ruby development & web design: 15-20 FTE  Infrastructure Architecture: 2-3 FTE  QA: 0.5 FTE Working mode  ChatOps via internal IRC server  UK & Germany, mix of home & office working  Pairing & team meetings conducted largely online  Every 3-6 months get together & break bread  First level support in overseas teams – Knowledge transfer from core team – Overnight cover for Europe  Second level support in development team – You build it, you run it: MOOPS (Monsoon Ops) – One team member always on “pager duty” – Weekly rotation
  • 30. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 30Public Pets and Cattle • Pets are given names like pussinboots.cern.ch • They are unique, lovingly hand raised and cared for • When they get ill, you nurse them back to health • Cattle are given numbers like vm0042.cern.ch • They are almost identical to other cattle • When they get ill, you get another one Future application architectures should use Cattle but Pets with strong configuration management are viable and still needed via Gavin McCance (CERN), who borrowed it from @randybias at Cloudscaling
  • 31. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 31Public Kubernetes: Production-Grade Container Orchestration Originally from Google, now open source From http://kubernetes.io/: Automated container deployment, scaling, and management  Automatic bin-packing  Horizontal scaling  Automated rollouts and rollbacks  Storage orchestration  Self-healing  Service discovery and load balancing  Secret and configuration management  Batch execution In other words: the ability to treat containers as cattle, not pets
  • 32. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 32Public DevOps 2016 – Cloud Scale The platform  Kubernetes (with Docker) running on baremetal nodes  Openstack in containers (based on Kolla)  Networking hardware (via OpenStack Neutron drivers)  Loadbalancing (via Neutron LBaaS)  Both VMWare & KVM Hypervisors  Storage hardware (via OpenStack Cinder & Manila)  New automation agent (Arc)  New dashboard for OpenStack (Elektra)
  • 33. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 33Public DevOps 2016 – Cloud Scale The product  OpenStack running in containers on Kubernetes across 13 Regions & 18+ datacenters  Bare metal to scaled OpenStack cluster in < 60 minutes  Platform for SAP cloud offerings and internal innovation  Offering Bare metal, VMs and Container resources  Monitoring, Logging, Alerting & Billing services  Automation agent (Arc) being open-sourced The process  4 week sprint cycle, continuous integration and testing  <10% new development, >90% open source enhancements  Open source enhancements contributed back to community (OpenStack, Kubernetes, Docker, Grafana, …)  Continuous automated deployment of infrastructure & code
  • 34. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 34Public Another book to read - but beware “web scale envy” “Google’s SREs have done our industry an enormous service by writing up the principles and patterns – architectural and cultural – that enable their teams to combine continuous delivery with world-class reliability at ludicrous scale. You owe it to yourself and your organization to read this book and try out these ideas for yourself” - Jez Humble, author of “Continuous Delivery” “I heavily suggest to buy and read this book !!!” - My boss
  • 35. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 35Public It’s about the people The teams  OpenStack core DevOps: 10-15 FTE  Monitoring, Alerting & Billing: 5-10 FTE  User-facing & automation tools: 5-10 FTE  QA 0.5 FTE  First level support in overseas teams  Second level support in development teams Managing Complexity  2x MOOPS, plus INFRAOPS & AUTOPS  Cognitive overload from new technologies – Split into 3 sub-teams – Pairing within teams – Sharing sessions across teams Learning from Open Source behaviours  Use GitHub pull requests for sharing & review  Just enough documentation, stored in GitHub repo  Use public GitHub where possible (github.com/sapcc)  On-premise GitHub Enterprise for private repos (e.g. config)  Engage with & contribute to open source projects (pros & cons)
  • 36. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 36Public The journey continues Then & now:  2010 – Pilot project, 10-15 people involved  2016 – Global Cloud & DevOps platform, 20-30 people involved Current challenges:  Dealing with technology explosion – See Periodic table of DevOps tools  Dealing with knowledge explosion – Kubernetes, OpenStack, related tools, concepts & technologies – Need to spend time adding features & value in own area – Also need to know everyone else’s stuff for Ops duty shifts  Dealing with Open Source communities – Not always easy to get changes merged upstream – Stakeholders outside of the business may have different aims & priorities  Getting corporate HTTP proxy to work with open-source tools
  • 37. © 2016 SAP SE or an SAP affiliate company. All rights reserved. Thank you (P.S. It’s about the people) Contact information: Darren Hague Cloud Infrastructure Architect SAP UK Ltd d.hague@sap.com Twitter: @dhague