shifting to cloud native, government edition
TRANSCRIPT
Shifting to Cloud Native with Pivotalor, coding like a unicorn, Government Edition
@coteMarch 2016
1 Slides: http://cote.io/unicorn-coding/
• @cote – Director, Technical Marketing at Pivotal for Pivotal Cloud Foundry
• Former industry analyst at 451 Research and RedMonk
• Corporate strategy & M&A at Dell
• Former software developer• Podcasts:
http://cote.io/podcasts• More: http://cote.io or
Hello!
2
3
It’s not much of an IT department, but I’m sorta attached to it…
4
Source: “The Agile Advantage,” MeriTalk/Accenture, May 2015; Cutter Consortium, July 2015.
Organizations are held back by an IT agility gap
What is your IT organization's
role in business innovation?87% of Feds say
it takes too long to deploy new systems per requirements
5
The IT Department of Slow/No• 6-12 months to release features• Business struggles to have software match market opportunities• IT is a cost center
Clipart from Gerd Altmann.
The IT Department of Slow/No• 6-12 months to release features• Business struggles to have software match market opportunities• IT is a cost center
Clipart from Gerd Altmann.
Continuous DeliveryRelease once every 6 months
More Bugs in production
Release early and oftenHigher Quality of Code
DevOpsNot my problem
Separate tools, varied incentives, opaque process
Shared responsibilityCommon incentives, tools, process and
culture
MicroservicesTightly coupled components
Slow deployment cycles waiting on integrated tests teams
Loosely coupled componentsAutomated deploy without waiting on
individual components
Platform, Standard Practices & Tools, Cloud Native Culture
Trad
ition
al IT
Clo
ud N
ativ
e
The Process
9
“We spent a lot of time talking about technology, but technology really isn't the meat of the conversation that needs to occur.” Matt Curry, Allstate
10Source: Matt Curry quote from Feb 2016 TheNewStack interview; “Agile Transformation in the Age of the 3rd Platform,” Al Hilwa , IDC, Feb 2016 (unpublished)
Benchmark your agile behaviors, plan catching-up as needed
Source: “Town Hall: Agile in the Enterprise,” Mike West, Nathan Wilson, Thomas Murphy, Dec 2015, Gartner AADI US conference.11
Discovering & delivering the software your customer actually wants
• Most organizations emphasize building to plan
• In reality, the “plan” constantly evolves
• Learning organizations explore & experiment
How most businesses think they’re doing
How smart businesses know they’re doing
12
The “Lean Startup” Approach, Hypothesis Driven Development, aka, “The Scientific Method
13
• Deploy to production each time, avoid waterscrumfall
• Relies on:- Product approach- Small batch oriented
pipeline and process- Cloud native automation
Inception
Hypothesize
Validate w/real use(r)s
Did it work?
Sources: The Lean Startup, Eric Ries, 2011. The Lean Enterprise, Barry O'Reilly, Jez Humble, and Joanne Molesky. See also overview of this approach at the IRS from Dec 2015.
Small Batches Reduce Risk & Increase Controls
14
Five risks that small batches reduce
1. Bug swarms – less software leads to faster fixing.
2. Useless software – don’t wait 6+ months to find out, find out every 24 hours.
3. Stymied Innovation – daily opportunities to learn and innovate.
4. Budget overruns – check in daily on ROI, projections. Shut it down early and re-try if needed.
5. Schedule elongation – if you ship every day, guaranteed, how can you ever be late?
Source: "Dear Developers, Small Batch Releases Are Your Friend," Coté, Feb 2016, also in The Register.
"There have obviously been culture shocks. What is more interesting though is that the teams that tend to have the worst culture shock are not those typical teams that you might think of, audit or compliance. In fact, if you’re able to successfully communicate to them what you’re doing, DevOps and all of the associated practices seem like common sense. [Auditors] say, 'Why weren’t we doing this before?’”
"DevOps Enterprise Adoption at E*TRADE,”InfoQ/DOES, Jan 2016.
Benchmark your agile behaviors, plan catching-up as needed
Source: “Town Hall: Agile in the Enterprise,” Mike West, Nathan Wilson, Thomas Murphy, Dec 2015, Gartner AADI US conference.15
DevOps, the word defines itself
16
(1.)DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.
(2.)DevOps is also characterized by operations staff making use of many of the same techniques as developers for their systems work.
Source: “What Is DevOps?,” The Agile Admin, Dec 2011. For more: Effective DevOps, Jennifer Davis, Katherine Daniels, May, 2016; see The Practice of Cloud System Administration, chapter 8 for an in-depth definition and discussion. Also, see Damon Edward's 2012 piece "Use DevOps to Turn IT into a Strategic Weapon.” Also, The Phoenix Project for a story of DevOps in the style of The Goal.
Example approach, The Pivotal Way
17 Source: Pivotal Labs, March 2016. See also “Agile Transformation in the Age of the 3rd Platform,” Al Hilwa , IDC, Feb 2016 (unpublished)
Exploration Discovery
Go big with small batches
Sources: "Ford teams with Pivotal, bets on Cloud Foundry," Larry Dignan, ZDNet, Dec 2015;”Application Modernization, Service By Microservice," Forrester, Dec 2015. See also BMC Software case study in The Concise Executive Guide to Agile and Cutter Executive Report, Vol. 9, No. 9, 2008.
"We did an analysis of hundreds of projects over a multi-year period. The ones that delivered in less than a quarter succeeded about 80% of the time, while the ones that lasted more than a year failed at about the same rate. We're simply not very good at large efforts.”
-Dev leader, large financial institution
18
“…sped up software development times from months to weeks using agile techniques.”
The Tools
19
The nature of software is changing, yet again
20Source: "Application Modernization, Service By Microservice," Kurt Bittner and Randy Heffner, Dec 2015, Forrester. See the“The RedMonk Programming Language Rankings: January 2016” for popular programming languages.
Continuous Delivery – the pipeline
21
Build Test/Verify Package repository
VersionControl
InfrastructurePlatform
(IaaS, PaaS, VMs)
ProductionConcerns
(monitoring, scaling, etc.)
Feedback Loop
Specify Code
Development CI/CD Ops
Details of the pipeline
CommitTests
IntegrationTests
Deployable Artifact
Deploy to CF Test Env
Deploy to Prod
• Developer crafted (before impl.)• Stubs/mocks external services• Developer executed (before commit)• CI executed (after commit)
(after commit)• Developer or QA crafted• CI executed• Runtime context (buildpack applied)• Binds to test services (DB, messaging, etc.)
• “cf push”• Runtime context (buildpack applied)• Binds to test services (DB, messaging, etc.)• Periodic smoke tests
• “cf push”• Runtime context (buildpack applied)• Binds to prod services (DB,
messaging, etc.)• Periodic smoke tests• Monitoring
? ?
A microservices approach gives you organizational agility, at the expense of architectural complexity
23
Benefits• Decoupling service
releases, teams• Faster innovation cycles• Composite applications
vs. monolithic apps
Problems• The one about the
murder mystery• Incompatible APIs• You still need other
people to do work
It’s worth solving the problems if you want the benefits…and it’s possible!
The Application Framework promises
Codebase Dependencies Config Backing Services
Build, Release,
RunProcesses Port
BindingConcurrenc
y
DisposabilityDev/Prod
Parity Logs Admin Processes
Source: “The Twelve-Factor App.”
• A set of best practices for developing and deploying cloud-native software.
• Practices translate into platform features and workflow requirements.
For all this, you’ll need a platform
Sources: "The cloud-native future," Casey West, O'Reilly Radar, Aug 2015; "Technical Dive into Cloud Native Application Platforms," Brian Gracely, Wikibon, Sep 2015.25
Transforming:
26
Don’t worry, we got your happy trees!
A cloud native platform is composed of three layers, that span & support the entire life-cycle of an application from development to production
12 factor apps & Microservices
Container Orchestration
Infrastructure Automation
Polyglot buildpacks & Spring Cloud
Elastic Runtime/Diego
BOSH
Cloud NativeApplication Frameworks
Cloud NativeRuntime Platform
Cloud NativeOperations
Cloud Native Empowered Culture
Source: slides in this section based on “Patterns of Cloud Native Architecture,” Agile 2015. 28
The platform for keeping promises
29
Application Framework
Runtime Platform
Infrastructure Automation
Infrastructure
Dev
Dev
Ops
BOSH
Spring BootSpring Cloud
Contract: 12 factor app
Contract: BOSH Release
Contract: Cloud Provider Interface
IT Ops
Culture Cloud Native Framework Tools
Go
Pivotal Labs & Pivotal Cloud FoundryWorldwide, cross industry adoption
And many more...
30
Cloud native approaches speed up the whole process, more efficiently than previously possible
Source: “Deployments We Can Believe In,” Diego Lapiduz, 18F, June 2015; see also “Barriers to DevOps in Government,” Coté, Oct 2015; Humana keynote, CF Summit 2015. 31
18F/cloud.govATO reduction from
9-14 months to 2-3 days
• Humana Cue Apple Watch app:
“Two people built the app and got it into the AppStore in five weeks.”
• Large financial institution on PCF: 145 apps with 2 ops people
• PWS: 1,000’s of apps with 5 ops people
For more: transforming to cloud native
(1) GreenfieldProjects
(2) Dealing with
Legacy
(3)Corporate
Transformation
Get the free booklet at http://cote.io/pivotal32
Thanks!@cote | [email protected]: http://cote.io/unicorn-coding/
“We are uncovering better ways of developing software by doing it and
helping others do it.”- The Agile Manifesto, 2001
33