optimising for speed
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
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…
• Because you want to win!
• By beating your competitors.
• By growing the market.
• By growing your market share.
Why Optimise 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
• Engineers own quality.
• You write it, your run it!
• Avoid moral hazard!
How to Optimise for Speed, Safely
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.
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.
The Staged Delivery Pipeline
An Example Staged Delivery Pipeline
The Code Commit Stage
The Build Stage
The Acceptance Test Stage
The Performance Test Stage
The Stability Test Stage
The Manual Test Stage
The Production Stage
A Word on Implementation
PaaS Maturity
PaaS from 30,000 Feet
PaaS from 30,000 Feet
PaaS from 30,000 Feet
PaaS from 30,000 Feet
PaaS from 30,000 Feet
PaaS from 30,000 Feet
PaaS from 30,000 Feet
Some Key Concepts
Machine Image
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.
Application Service
Application Blueprint
Environment Orchestration
Shared Services
–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.”
–Clay Shirky
“Institutions will try to preserve the problem to which they are the solution.”
Thoughts?