Top Banner
Optimising For Speed
35

Optimising for Speed

Nov 29, 2014

Download

Software

John Turner

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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?