optimising for speed

35
Optimising For Speed

Upload: john-turner

Post on 29-Nov-2014

294 views

Category:

Software


0 download

DESCRIPTION

At Paddy Power, we spent 18 months building out an enterprise Platform as a Service (PaaS) and Continuous Delivery (CD) capability. It’s been a challenging journey but one through which we've gained many valuable insights. We’ve created a very impressive capability that allows us to declaratively define application topologies using Cloudify and have that application delivered to production via a fully automated staged delivery pipeline. This presentation described this journey to the London continuous delivery user group.

TRANSCRIPT

Page 1: Optimising for Speed

Optimising For Speed

Page 2: Optimising for Speed

About• Work for Paddy Power

• Predominately development background

• Been leveraging CI since ~ 2003

• I haven’t written any books

• But…if I did, I would have written…

Page 3: Optimising for Speed

• Because you want to win!

• By beating your competitors.

• By growing the market.

• By growing your market share.

Why Optimise for Speed?

Page 4: Optimising for Speed

• Making decisions quickly.

• Building better, faster, lighter.

• Your organisation must exist to support your engineering team.

• Replace human interaction with API invocation.

How to Optimise for Speed

Page 5: Optimising for Speed

• Engineers own quality.

• You write it, your run it!

• Avoid moral hazard!

How to Optimise for Speed, Safely

Page 6: Optimising for Speed

How to Optimise for Speed, Safely

• Continuous Delivery vs Continuous Deployment

• Continuous Delivery requires manual promotion.

• Continuous Deployment is fully automated.

• Continuous Delivery is an opportunity to realise efficiencies through convention.

• Continuous Delivery is realised through a staged pipeline.

Page 7: Optimising for Speed

How to Optimise for Speed, Safely

• Change the characteristics of the system complexity.

• Monolithic architectures centralise complexity.

• Distributed architectures distribute complexity.

• Manage distributed systems complexity with PaaS.

• Provide operational tooling through PaaS.

Page 8: Optimising for Speed

The Staged Delivery Pipeline

Page 9: Optimising for Speed

An Example Staged Delivery Pipeline

Page 10: Optimising for Speed

The Code Commit Stage

Page 11: Optimising for Speed

The Build Stage

Page 12: Optimising for Speed

The Acceptance Test Stage

Page 13: Optimising for Speed

The Performance Test Stage

Page 14: Optimising for Speed

The Stability Test Stage

Page 15: Optimising for Speed

The Manual Test Stage

Page 16: Optimising for Speed

The Production Stage

Page 17: Optimising for Speed

A Word on Implementation

Page 18: Optimising for Speed

PaaS Maturity

Page 19: Optimising for Speed

PaaS from 30,000 Feet

Page 20: Optimising for Speed

PaaS from 30,000 Feet

Page 21: Optimising for Speed

PaaS from 30,000 Feet

Page 22: Optimising for Speed

PaaS from 30,000 Feet

Page 23: Optimising for Speed

PaaS from 30,000 Feet

Page 24: Optimising for Speed

PaaS from 30,000 Feet

Page 25: Optimising for Speed

PaaS from 30,000 Feet

Page 26: Optimising for Speed

Some Key Concepts

Page 27: Optimising for Speed

Machine Image

Page 28: Optimising for Speed

Configuration Management• Control the functional and physical attributes of a

system.

• Desired state configuration allows you to declaratively specify they system configuration.

• Convergence applies the desired state to the system.

• In distributed environments, Desired State Configuration tooling requires orchestration.

Page 29: Optimising for Speed

Application Service

Page 30: Optimising for Speed

Application Blueprint

Page 31: Optimising for Speed

Environment Orchestration

Page 32: Optimising for Speed

Shared Services

Page 33: Optimising for Speed

–Kevin Kelly, co-founder of Wired Magazine

“The nature of an innovation is that it will arise at a fringe where it can afford to become prevalent enough to establish its usefulness without being

overwhelmed by the inertia of the orthodox system.”

Page 34: Optimising for Speed

–Clay Shirky

“Institutions will try to preserve the problem to which they are the solution.”

Page 35: Optimising for Speed

Thoughts?