Date post: | 11-May-2015 |
Category: |
Technology |
Upload: | ibm-urbancode-products |
View: | 1,063 times |
Download: | 2 times |
Fundamentals of Deploy and Release
June 19th, 2014Eric MinickDevOps Evangelist with IBM
@EricMinick
Who’s that guy?
Eric Minick
DevOps Evangelist
[email protected] as a
developer, tester and tools guy with UrbanCode
Co-author of Application Release & Deploy for Dummies
3
CEOs identify technology as the most important external force impacting their organizations – again
Source: IBM Institute for Business Value, The Global CEO Study 2013. Question: “What are the most important externalforces that will impact your organization over the next 3 to 5 years?”
2004 2006 2008 2010 2012 2013
1
2
3
6
4
5
7
8
9
1
2
3
6
4
5
7
8
9
1
2
3
6
4
5
7
8
9
1
2
3
6
4
5
7
8
9
1
2
3
6
4
5
7
8
9
Technology Factors
Market Factors
Macro-economic Factors
People Skills
Regulatory Concerns
Socio-economic Factors
Globalization
Environmental Issues
Geopolitical Factors
2
3
6
4
5
7
8
9
1
CEO Studies 2004–2013
External forces that will impact the organization
Software delivery Intelligent/
Connected SystemsSoftware component in smart products driving increased value and
differentiation
Big DataInsights on new products by more efficiently interpreting massive quantities of data
CloudDemand for apps requires fast, scalable environments for dev and test, as well as production
Instrumented ProductsIndustry requirements demand faster response to regulationsand standards, with traceability
and quality
Social BusinessBroader set of
stakeholders collaborates to deliver continuous
innovationand value
MobileModern workforce expects constantly
updated software toconnect to enterprise
systems
Software delivery is at the heart of today’s top technology trends
To Win: Release More to Learn Faster
Delayed learning is why waterfall fails
Idea
Requirements
Development
Integrated Test
Release
Weeks / months to validate codematches Reqs
Months or years to learn if ideas / requirements match the market need
Time to customer feedback is governed by risk
Traditionally• Organizations looked to find a
balance between speed, cost & risk.
• Development teams were not as agile as they are today; testing never seemed to have enough time.
Time to customer feedback is governed by risk
Traditionally• Organizations looked to find a
balance between speed, cost & risk.
• Development teams were not as agile as they are today; testing never seemed to have enough time.
*Survey of 250 Testers
90% of testers have some but not “complete” confidence in the software that’s released.
4 testers are seeing faster releases per1 that sees slower
34% of those who expressed no change
were regularly releasing quarterly or
better.
Shift Left: To win in the market, learn faster
• Organizations are asking teams to release higher quality software sooner.
• Development teams are becoming more and more agile; testing still never seems to have enough time.
How do we go faster?
10
Agile?
… but Agile didn’t help with Ops
DevOps: Unclogging Delivery
Barriers to Faster Delivery
Running Integration Tests
Getting Test Environments
Perceived Risk of Release
Image credit: NOMAD http://www.flickr.com/photos/lingaraj/2415084235/sizes/l/
Automating Deploy and Release
Automatically provision environmentsQuickly deliver changes to test
Reduce risk when releasing
Core needs for Automation
Build Dev Test System Test UAT Staging Prod
1. A button to press
2. Storage of Builds
4. Environment Definitions
5. Audit, Controls, & Governance
3. Defined Process
Automated process
Fast, consistent and repeatable
Environment definitionsPer-environment configuration and passwords
Artifact repositoryKnow what you’re getting Where do the bits you
deploy come from?
Access control
What we needRole-based access control
Access control by environment
Single source of access control
LDAP / Active Directory authentication (or authorization)
Who can deploy to which environment
Audit trail
What we needWin at Clue:
–Who
–What
–Where
–When / How
–Require no additional work
End-to-end traceability
Know what happened
Automate because people aren’t machines
Automated deployments leverage the strengths of people and machines.
Alistair Cockburn, “Characterizing People as Non-Linear, First-Order Components in Software Development”
Creative Consistent
Composite applications are hard because they have lots of pieces
Image from ischool.tv
Makes our pipeline more complicated
Build Dev Test System Test UAT Staging Prod
Multi-Application releases multiply complexity
Versions
Single App Multi App
Applications 1 25
25010
Environments 2505
Teams 251
Changes 250050
Managing the orchestration
Transitions of a Snapshot
Snapshot
Snapshots / Release Versions
Transitions of Components
Dev ProdQA
?
?
Snapshot Snapshot
QA Dev Prod
Views into the pipeline must be broad
27
Track your changes and dependencies in the context of a release
Detect what application is at risk
Risk Management – Impact Analysis
Faster yet: tests & auto-promote
Run tests at the end of deployments
Deploy
Invoke Tests
Promote
Image credit: http://wisdomforawiredworld.com/wp-content/uploads/2011/05/smoking-server.jpg
Rollback
Auto-progress what works / is approved
DEV CERT QA PT PROD
Phase DEV Phase SIT Phase QA
Recurring Rules
DEV CERT QA PT
Phase DEV Phase QA
DEV CERT QA PT
Phase DEV Phase QA
DEV SIT QA Staging
Ready SIT Ready QA Ready Staging
Phase DEV Phase QA Phase Staging
• Recurring scheduled deployments• Fully automated deployments• Quality status enforced by the gates
Treat infrastructure the same
DevOps manages risk differently
The adoption of DevOps => increased velocity of application delivery
Puts pressure on the infrastructure to respond more quickly
Software Defined Environments enable you to capture infrastructure as a software artifact
Application Changes
InfrastructureChanges
Full stack engineering. Change is Change
Application Changes
InfrastructureChanges
Consistent Incremental
Change
… …
In Summary
Software delivery is important
Automating and managing change helps:
–Speed delivery
–Improve quality
Coordinate change across complex systems
–Don’t forget the infrastructure
We have tools
Push Button DeploymentsRole based security & gates
Scalable Architecture
1.2.3System of Record
Everything is versioned & auditable
Easy to use process designer
Re-useable / ExtensibleIntegrations & Workflows
Continuous DeliveryAcross Environments
IBM UrbanCode Deploy: App Deploy Automation
UCD with Patterns: Environments on Demand
IBM UrbanCode Release:Release Management and Coordination
Q&A@EricMinick
Get the slides: Slideshare.net/UrbanCode
More IBM UrbanCode stuff: developer.ibm.com/urbancode