Accelerating Product and Service Innovation
Industry Perspec.ve: DevOps -‐ What it Means
for the Average Business
Michael Elder, IBM Senior Technical Staff Member
mdelder@us.ibm.com
hHp://linkedin.com/in/mdelder @mdelder
© 2013 IBM Corporation @mdelder @mdelder Outline § The Context § The Challenge
§ The Journey towards DevOps
§ The Impact of Software Defined Environments
© 2013 IBM Corporation
@mdelder @mdelder
What does it mean to be average?
§ The median market cap of companies traded on the NYSE is $1.9 Bln
§ According to US Census data more than 50% of employer firms have 4 or fewer employees (2007)
§ Companies with 5K or more employees only make up about 0.03% of all employer firms (but account for about 1/3 of all employees) (2007)
§ But regardless of market cap or company size, all businesses are competing
under a very different set of market conditions than we knew even 5 or 10 years ago
The next billion
dollar idea starts
with a single
developer
That developer
starts with a single
line of code
© 2013 IBM Corporation
@mdelder @mdelder
All businesses must think and act a bit (or a lot) like entrepreneurs
§ 1. Entrepreneurs are everywhere.
– In garages and large organizations, there are people focused on the creation of a new product or service under conditions of extreme uncertainty. Hence, these principles apply to organizations of all sizes.
§ 2. Entrepreneurship is management.
– To quote Eric Ries, a "startup is an institution, not just a product" so it requires a new kind of management which can deal with extreme uncertainty.
§ 3. Validated learning.
– We must be able to run meaningful experiments and collect hard data about what works and doesn't work. Iteration is key here, and that feeds into the next principle.
§ 4. Build-Measure-Learn.
– As we learn, we must be willing to either pivot and change our approach drastically or persevere if we believe we're on the right path and iterate as our users provide their feedback.
§ 5. Innovation accounting.
– We must establish the metrics and processes by which we measure progress and demonstrate improvement. It also means that we hold people responsible for outcomes.
Source: Ries, Eric (2011-09-13). The Lean Startup
A SoNware Driven World
§ Evolving market and customer expectations
§ Changing the pace of innovation § Smarter, faster, and higher quality § Empowered developers
© 2013 IBM Corporation @mdelder New economics of IT fuels investments in innovation Innovation drives need for continuous IT optimization
Optimization
Innovation
Next Generation of Hybrid Architectures
“Don’t be afraid to make mistakes, just be afraid of
not learning from them.” – Thomas Edison
Demands on IT have increased drama.cally
Client value:
Provide cloud users freedom of choice, flexibility, and openness as they have with tradi.onal IT § Launched Hydrogen version on Feb 4, 2014 § Contributed OpenDOVE based on SDN-‐VE Client value: Interoperability, agility, and flexibility through a common cloud compu.ng stack Client value: Enables vendor flexibility for applica.on and workload portability
Client value: Enables
broader innova.on in the industry for
advanced data center technology
OpenPOWER Foundation
SoNware Defined Environments require open communi.es to enable choice
§ Havana released
4Q2013
§ Developed rich
support for IBM Server and Storage plaJorms
Client value: Unified,
open, interoperable SDN plaVorm to create an ecosystem of automated
network services
§ Formalized in
December 2013
§ Since then, have
brought on 3
addiMonal PlaMnum members and 4 Silver members
§ IBM is a founding
member &
plaMnum sponsor
§ IBM is a leader in
code contribuMons § 460+ organizaMons parMcipate § IBM founding sponsor
© 2013 IBM Corporation
@mdelder
© 2013 IBM Corporation
@mdelder @mdelder
With only Agile Development improvements…
Agile Dev"
CI builds are piling up
Functional Testing Acceptance Testing Production Operator Setup (weeks) deploy
Test and Ops teams have increased pressures to keep up with increased loads but continue to use waterfall approaches and traditional tools.
Delivery challenges with applica.on deployment
Complex manual processes for
deploying
infrastructure lack repeatability and speed
Failures due to inconsistent development and production environments Long and complex lifecycle for managing infrastructure Managing large number of configurations for deploying to Hybrid Cloud
How do we ensure that we deploy
What we want, When we want, Where we want!
Public
Private
Develop Public, ! Deploy Private!
!
Market test Workloads!
! Cloud Bursting! Provision VM Deploy Database Deploy App Server Env. Request
© 2013 IBM Corporation
@mdelder
Accelerate software delivery
Balance speed, cost, quality and risk
Reduce time to customer feedback
People Process Technology
Develop/Test
Deploy
Operate Steer
DevOps
Enterprise capability for con.nuous soNware delivery that enables clients to seize market opportuni.es and reduce .me to customer feedback
© 2013 IBM Corporation
@mdelder
Accelerate software delivery
for faster time to value
Balance speed, cost, quality and risk
for increased capacity to innovate
Reduce time to feedback
for improved customer experience
Sped from concept to prototype in 1 week, in-market in 3 months
Reduced app release time by 99%, while avoiding $2.3M/year
in costs
Delivered new mobile experience, increased
renewals 30%
DevOps Delivers Real Business Outcomes
DevOps is a Journey…not a destination
P e o p l e
P r o c e s s
© 2013 IBM Corporation
@mdelder @mdelder
High performing teams adopt DevOps
Reference: 2013 State of DevOps Report by PuppetLabs
© 2013 IBM Corporation
@mdelder @mdelder
Examples of DevOps and Con.nuous Delivery
19 http://nflx.it/1dAJEBs
© 2013 IBM Corporation
@mdelder @mdelder
Increase the opera&onal awareness of your so/ware earlier in the development process.
What does DevOps mean to me?
How do you do that?
§ Architecture § Automated TesMng § Automated Deployments § ProducMon-‐Like Environments § Automated Release PromoMon Process § Version control of all soWware, automaMon, and configuraMon
Why do this?
Because faster feedback loops enable rapid evolu&on of ideas and therefore faster iteraMons of your soWware 20
“Cool factor” .. seen as pushing to the “next big thing” in our industry Be]er communicaMon between those who create and those who operate (same people in some cases) Reduced fear of breaking the build/deployment/environment Fail small before you “fail all” Heavy focus on experimentaMon and learning Improve the speed of your feedback loop to enable rapid evoluMon of ideas
What are the characteristics of
© 2013 IBM Corporation
@mdelder @mdelder
Intuitive and Scalable Model Driven Deployment
Composite Applications Components Re-usable Workflows Environment Management SIT PROD
The
“
What
”
The
“
How
”
The
“
Where
”
Deployment Automation 22 22Implemen.ng a DevOps toolchain SCM Build / CI Server Unit testing Test Automation Test Stubbing Delivery Pipeline Environment Configuration Automated Monitoring Asset Repository
© 2013 IBM Corporation
@mdelder @mdelder
About your philosophy
Culture of con.nual
experimenta.on and learning
• Produc.on like environments
• Fully automated deployments
• Accelerated delivery cycles
Build – Measure -‐ Learn
“Success is not delivering a feature; success is learning how to solve the customer’s problem.”
http://bit.ly/KM4JlQ
The Impact of
© 2013 IBM Corporation @mdelder 26
>45%
of customers experience production delays>50%
of outsourced projects fail to meet objectives>70%
of budgets devoted to maintenance and operations4-6 weeks
to deliver even minor application changes to customers Systems of Interaction Continuous client experience Partner value chain Cloud-based Services
Systems of Engagement Systems of Record
CRM HR
DB ERP
Operations
Rapid app releases impact system stability and compliance
Suppliers
Delivery in the context of agile
Development/Test
Speed mismatch between faster moving front office and slower moving back office systems, delaying time to obtain feedback
Line-of-business
Takes too long to introduce or make changes to mobile apps and services
Major shiNs have driven the need for SoNware Defined Environments
Major Shifts Past Present
Speed of Business Fast pace was relative to largely manual processes Fast pace is relative to experiences like instant movies from Netflix
IT Supply Limited access to relatively expensive IT resources Easy access to virtually unlimited low cost resources (i.e. via Cloud) Economic Pressure Innovation was funded by growing IT budgets Innovation is funded by a shift to more cost efficient IT
Open Technologies Limited to few areas of the IT environment Available in all areas of IT environment
Consumption of IT is driving providers to find ways to transform how they deliver resources in a Software Defined (programmatic) way.
© 2013 IBM Corporation
@mdelder @mdelder
DevOps Manages Risk Differently
§ The adop.on of DevOps => increased velocity of applica.on delivery
§ Puts pressure on the infrastructure to respond more quickly
§ SoNware Defined Environments enable you
to capture infrastructure as a soNware ar.fact
Application
Changes
Infrastructure
Changes
28 28Application
Changes"
Infrastructure
Changes"
A change is a change."
…"
…"
© 2013 IBM Corporation
@mdelder
DevOps and Cloud adop.on
Customiza0on; higher costs; slower 0me to value
Standardiza0on; lower costs; faster 0me to value
Networking Storage Servers Virtualization O/S Middleware Data Applications Pla;orm as a Service
PureApplica0on System SmartCloud Orchestrator So@Layer IBM DevOps Services 30 IBM PaFerns Networking Networking Storage Storage Servers Servers Virtualization Virtualization O/S O/S Middleware Middleware Mid Config Mid Config
Data Data
Applications Applications
Tradi0onal
On-‐Premises Infrastructure as a Service
Manual UrbanCode Deploy UrbanCode Deploy (available with UCDP) Mid Config IBM Bluemix UrbanCode Deploy w/ Pa<erns (provisioning & deployment only)
OpenStack is a global collabora.on of developers & cloud compu.ng technologists working to produce an ubiquitous Infrastructure as a Service (IaaS) open source cloud compu.ng plaVorm for public & private clouds.
OpenStack
Platinum Sponsors Gold Sponsors
Compute (core)
Provision and manage large networks of virtual machines"
Dashboard (core)
Enables administrators and users to access & provision
cloud-Heat (core)
orchestrates multiple composite cloud applications using templates"
Ceilometer (shared service)
Collect monitoring, metering, and other measurements Storage (core)
Provision and manage block-based and object storage"
Network (core)
Provision and manage network connectivity"
Identity (shared service)
Unified authentication across all OpenStack projects and integrates with existing authentication systems."
Identity (shared service)
Unified authentication across all OpenStack projects and integrates with existing authentication systems."
© 2013 IBM Corporation
@mdelder
Faster and consistent applica.on environment deployments with full-‐stack blueprints Developers/ Testers Integrators Specialists Compute, Network, and Storage Platforms Apps Environment! Application Middleware Config Middleware OS Config Hardware En vi ro n m en t B lu ep ri n t Design Deploy
Describe software defined resources (Compute, Network, Storage) alongside
middleware and applications!
Automate environment deployment using
blueprints!
About version control
¡ All of your source code is likely
already version controlled
¡ All of your automa.on scripts,
configura.on files, tests, etc should also version controlled
¡ Your deployment process should
track versions of ar.facts from your build process, but also versions all changes to
configura.on proper.es and automa.on processes
© 2013 IBM Corporation
@mdelder 34
Run Your Apps
The developer can chose any language runtime or bring their own. Just upload your code and go.
DevOps
Development, monitoring, deployment and logging tools allow the developer to run the entire application
APIs and Services
A catalog of open source, IBM and third party APIs services allow a developer to stitch together an application in minutes.
Cloud Integration
Build hybrid environments. Connect to
on-premises systems of record plus other public and private clouds. Expose your own APIs to your developers.
Extend SaaS Apps
Drop in SaaS App SDKs and extend to new use cases (e.g,. Mobile, Analytics, Web)
!
IBM Bluemix
DevOps Services: Delivery pipelines as a Service Developer Running Application (Dev Space) Create & edit Running Application
(test) Running Application
(Prod Space) Running Application
(Test Space)
Everything can be a service in the Cloud
Deploy & test Build Publish build Deploy Promote Test as a Service Test Monitoring as a Service Monitor
Dev as a Service Build as a Service
© 2013 IBM Corporation
@mdelder
IBM DevOps Services for Bluemix
Tools in the cloud for the cloud
Web IDE Agile Planning Delivery Pipeline http://jazzhub.com 36
About your architecture
§ Architecture should support DevOps principles such as staged roll out,
opera.onal insights, and scriptability
§ Each resource provides some very prac.cal advice for building systems which are focused on reliability and feedback loops
Experiment!: Website conversion rate op.miza.on with A/B Release It!: Design and Deploy
Produc.on-‐Ready SoNware
http://netflix.github.io/#repo http://slidesha.re/1mXJ6Mo
© 2013 IBM Corporation
@mdelder
Moving from monolithic applica.ons to micro-‐services
38
Monolithic app Micro services
¡ Compartmentalized business
capability
¡ Cross-‐func.onal teams
¡ Communica.on via API ONLY!!
¡ Use messaging to remove peer-‐to-‐
peer dependencies
¡ REST communica.on
¡ Decentralized data
¡ Design for failure
¡ Pluggable architecture
¡ Enables con.nuous delivery
© 2013 IBM Corporation
@mdelder
About automated deployments
Visibility and automated control of your applicaMon deployment process
• Offer secure ‘self-‐service’
capabili.es
• Increase transparency
• Ensure governance and compliancy
hHps://developer.ibm.com/urbancode/
40
• Manage applica.on
components and versions
• Manage configura.ons across
Application environments
Define where components are deployed and capture configuration settings per deployment environment for an application
© 2013 IBM Corporation
@mdelder
Deploy Application
- Orchestrate deployment of many components - Represents deploy-time dependencies
Deploy Component
- Create a fully automated workflow to be executed on target servers
Deployment Processes
The
“
How
”
On build completion, the latest artifacts are published to UrbanCode Deploy and deployed to a development or SIT environment.
After deployment, automated tests are started. If they pass, we mark the tested versions as such.
Before any deployments to production, manual approvals are required.
The exact combination of
component versions which passed tests is captured in a snapshot.
© 2013 IBM Corporation
@mdelder
Today’s Business
Businesses Today Need to Embrace New Opportuni.es and Workloads
Big Data & Analytics
2,500 petabytes of big
data are being generated every day
Mobile
95% of mobile
traffic is data
Social
500 million Tweets a day;
7 million apps and websites
integrated with Facebook
Cloud
80% of new applications
will include cloud delivery or deployment
© 2013 IBM Corporation
@mdelder
"Success is not delivering a feature; success is
learning how to solve the customer’s problem.”
- Mark Cook
© Copyright IBM Corporation 2013. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.