35
Optimising For Speed

Implementing Continuous Delivery and PaaS

Embed Size (px)

Citation preview

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?