31
Starting cloud native @cote July 2015

Starting Cloud Native

Embed Size (px)

Citation preview

Page 1: Starting Cloud Native

Starting cloud native

@coteJuly 2015

Page 2: Starting Cloud Native

2

Hello! • @cote – Director of Technical Marketing, Pivotal

• Former industry analyst at RedMonk & 451 Research

• Corporate strategy & M&A at Dell

• Software developer

• DevOps & Agile column at The Register

• Cote.io: podcasts, analysis, more

Page 3: Starting Cloud Native

Agenda

3

1. Picking applications Grow from low-risk to big, user-facing & deploy

2. Process changes Become a learning organization

3. Organizational changes Small, balanced teams

4. GRC – security, controls Reducing variability & attack surface

5. Team skills agile, pairing to train & spread

6. Cloud native coding 12 Factor, microservices

7. Pivotal Cloud Foundry focus on customer value

Page 4: Starting Cloud Native

“Pilot low-risk apps, and ramp-up”

4

Picking apps, according to Home Depot

• User/customer facing – something real• Run through the whole process• Low visibility – you’ll be learning in production• Create “Islands of Freedom”• In place of apps, perhaps just microservices

Sources: Home Depot meetup, Oct 2015; Humana at CF Summit 2015; EU payday loan company; Pivotal Labs on large auto company.

Page 5: Starting Cloud Native

“What have you learned?”

5

Process change, according to large retailer CEO

• Small batch process• From “phase gates” to deploying to production• From Christmas tree status meetings to “what have

you learned?”• From roles-by-function to business outcomes

Sources: customer interviews, Pivotal Labs & Transformation practice.

Page 6: Starting Cloud Native

Use small batch thinking, at all levels

• 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: “Good Software is a Series of Little Failures,” Coté, April 2016; The Lean Startup, Eric Ries, 2011. The Lean Enterprise, Barry O'Reilly, Jez Humble, and Joanne Molesky; Lean Manufacturing PDCA loop. See also overview of this approach at the IRS from Dec 2015.6

Page 7: Starting Cloud Native

Every step in each loop

Source: Pivotal Labs, March 2016. See also “Agile Transformation in the Age of the 3rd Platform,” Al Hilwa , IDC, March 2016.

Exploration Discovery

7

Page 8: Starting Cloud Native

A small batches approach is more successful

"When we were doing big design upfront, downstream changes had to go through a rigid change control process. We wound up being busy with our own process rather than delivering value, and either we didn’t deliver or we delivered late.”

Large European retail bank

“We did an analysis of hundreds of projects over a multiyear 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.”

Large financial institution

Source: "Application Modernization, Service By Microservice," Kurt Bittner and Randy Heffner, Forrester, Dec 2015; "Best Practices For Agile-Plus- Architecture," Randy Heffner, Forrester February, 2015. More case studies in Brian Gracely’s "Evolving Organizational Dynamics for Cloud Native Applications," Wikibon, Nov, 2015. 8

Page 9: Starting Cloud Native

Shift to user-centric design

9

Page 10: Starting Cloud Native

How much do I owe the IRS?

Source: "Minimum Viable Taxes: Lessons learned building an MVP inside the IRS,” slides , Andrea Schneider & Lauren Gilchrist, 2015.

Before After

10

Page 14: Starting Cloud Native

“You’re talking a team of about 12 people.”

14

Organization change, according to UK GDS

• Success starts & ends with “management”• Focusing on change management• Small, independent teams• Mavericks cut trails for city-folk• Moving operations resources up the stack

Page 15: Starting Cloud Native

Management creates the game

• Leading change management

• Setting, communicating, tracking goals

• Dramatic organization change, gradually

• E.g.: from autocrat to self-directed teams

Sources: Leading the Transformation, 2015; “Management’s Job is orchestrating the ‘why,’” 2015; The Concise Executive Guide to Agile, 2010.15

Page 16: Starting Cloud Native

To change, you must actually changeOr, how t-shirts jump-start digital transformation

“I can’t tell you what having a leader stand-up in front of an organization with a hoodie and t-shirt does to cultural change. It all the sudden makes it OK for everyone within that organization to participate in change.”

-Matt Curry, Allstate16

Page 17: Starting Cloud Native

Two pizza teams with end-to-end involvement

“The best way to do this stuff is to get a multi-disciplinary team of people in house – designer, user researcher, developer, content person – you’re talking a team of about twelve people”

Source: “Why Britain banned mobile apps; Interview with Ben Terrett, former design chief at the GDS,” GovInsider, June 2016. See also “From Aristotle to Ringelmann,” June 2016. Picture from Pivotal SafeMeds scrapbook; “Roles and Responsibilities for DevOps and Agile Teams,” Coté, May 2016.17

Page 18: Starting Cloud Native

Bootstrap with “cowboys,” run with city folk

Sources: "Introducing cloud at Express Scripts, with Brian Gregory," Lords of Computing #12, April 2016; Widow Maker photo, garbage truck.

Likes shiny objects, gets bored easily.

Likes knowing what to do, thrives with stability.

18

Page 19: Starting Cloud Native

Staff more on customer value, less on infrastructure

19

INFRASTRUCTURESITE RELIABILITY

PLATFORM

Innovation: Plan, design, develop and test business capabilities as deployable artifactsProduction Apps: config, deployment, QA, monitoring, scaling App Platform: upgrade platform, capacity planning, service mgmt., scale platformInfra Platform: Rack and stack, networking, data storage, etc.

ROLESCross-Functional

(Prod. Owner, Dev, QA)Application Operators

Platform OperatorsEngineering

(Storage, Security, Network, etc.)

AREAS OF FOCUS

BUSINESS CAPABILITY

Source: based on slide from Pivotal Cloud Foundry Solution team, discussions with GSA’s Diego Lapiduz; Pivotal customer.

Large financial institution on Pivotal Cloud Foundry: 145 apps with 2 ops people

Page 20: Starting Cloud Native

GRC – auditors, security, controls, etc.

20

• Small batches create new opportunities for controls• Burning out the zombies, processes & servers• Removing variability with the platform• Enforcing policy with the platform

Page 21: Starting Cloud Native

Small Batches Reduce Risk & Increase Controls

21

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.

Page 22: Starting Cloud Native

“We don’t want to pave over [old controls]…automating ineffecincies”

22

Dealing with GRC, according to a US Federal government agency

• Include auditors & security staff from the start, embed on the team even

• Give auditors access to the platform to “go see”• Re-visit processes and controls that no longer apply

– E.g.: patching “servers” and the OS

Sources: IRS project with Pivotal Labs; US EPA; Pivotal customers.

Page 23: Starting Cloud Native

The cloud native approach has an abundant controls

Source: “Deployments We Can Believe In,” Diego Lapiduz, 18F, June 2015; see also “Barriers to DevOps in Government,” Coté, Oct 2015; “OpenControl Overview,” Joshua McKenty, March 2016. “Running Cloud Foundry in a Compliance and Security Focused Environment,” Diego Lapiduz and Bret A. Mogilefsky, 18F, May 2016.

18F/cloud.govATO reduction from

9-14 months to 2-3 days

23

Page 24: Starting Cloud Native

Team skills

24

• Benchmark your agile skills• Balanced teams• Use rotating pairs to seed change

Page 25: Starting Cloud Native

After 17 years, “Agile” is not as wide-spread as we think it is – make sure you’re actually doing it

Source: “Town Hall: Agile in the Enterprise,” Mike West, Nathan Wilson, Thomas Murphy, Dec 2015, Gartner AADI US conference.25

Page 26: Starting Cloud Native

Pairing to spread skills & cloud native culture

26

Page 27: Starting Cloud Native

Cloud native coding

27

• 12 factor apps define principals of code & code management

• Microservices defines the architecture• The rest is pretty much business as usual

Page 28: Starting Cloud Native

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.

28

Page 29: Starting Cloud Native

A microservices approach gives you organizational agility, at the expense of architectural complexity

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!

29

Page 31: Starting Cloud Native

Thanks!@cote | [email protected]

“We are uncovering better ways of developing software by doing it and

helping others do it.”- The Agile Manifesto, 2001