breaking the 2 pizza paradox with your platform as an application

50
Breaking the 2 Pizza Paradox with your Platform as a Application Mark Rendell [email protected] @markosrendell http://markosrendell.wordpress.com

Upload: mark-rendell

Post on 13-Apr-2017

803 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Breaking the 2 Pizza Paradox with your Platform as an Application

Breaking the 2 Pizza Paradox with your Platform as a ApplicationMark [email protected]@markosrendellhttp://markosrendell.wordpress.com

Page 2: Breaking the 2 Pizza Paradox with your Platform as an Application

Day Job

“Develop and Operate Platforms optimised for rapid delivery”

A globally networked pool of resources providing projects the option to have key areas of their DevOps delivered as a service. By emphasising Continuous Delivery, we are able to vastly improve your Software Delivery Lifecycle at all each stages including Transformation, Mobilisation and Assessment

Software Configuration ManagementRelease Management

Environment Management

We can…1. Take a project from a standing-start to a working Development

and Tools infrastructure in days2. Increase Agility by using our pioneering methods for Continuous

Delivery3. Increase productivity and predictability through fully automated

environments 4. Reduce Cost by using proven processes and expertise to reduce errors and downtime

Build & Deploy AutomationContinuous Delivery

Tools

5. Increase quality and efficiency

Infrastructure as code

CloudPaaS

DCSC

@markosrendell

Page 3: Breaking the 2 Pizza Paradox with your Platform as an Application

The Objective

@markosrendell

Page 4: Breaking the 2 Pizza Paradox with your Platform as an Application

Value Stream

Idea Value

@markosrendell

Page 5: Breaking the 2 Pizza Paradox with your Platform as an Application

DevOps definition (of the moment):

We value:

Enhancing IT systems to meet the Business’ needs

over IT operating efficiency

@markosrendell

Page 6: Breaking the 2 Pizza Paradox with your Platform as an Application

6

Value Stream

ValueIdea

@markosrendell

Page 7: Breaking the 2 Pizza Paradox with your Platform as an Application

The Problem

@markosrendell

Page 8: Breaking the 2 Pizza Paradox with your Platform as an Application

DevelopmentTeam

PortalCMS

PIMERPCRM

IB

OperationsTeam

PortalCMS

PIMERPCRM

IB

Platform

@markosrendell

Page 9: Breaking the 2 Pizza Paradox with your Platform as an Application

Enterprise Architects

PortalCMS

PIMERP CRM

IB

Platform

Project Rel 1 Team

PortalCMS

PIMERP

CRM

IB

Platform

Project Rel. 2 Team

PortalCMS

PIMERP

CRM

IB

Platform

Legacy System Operations Team

Portal

PIMERPCRM

Platform

Legacy System App Maint, Team

Portal

PIMERPCRM

Platform

Server and Storage Team

Portal

CMS

PIMERP CRM

IB

Platform

Networks Team

PortalCMS

PIMERP

CRM

IB

Platform

SysAdmin Team

PortalCMS

PIMERP

CRM

IB

Platform

UI Design Team

PortalCMS

Project Rel. 3 Team

PortalCMS

PIMERP

CRM

IB

Platform

Enterprise Systems Dev Team

Portal

CMS

PIMERP

CRM

IB

Platform

DBA Team

PortalCM

S

PIMERP CRM

IB

Platform

@markosrendell

Page 10: Breaking the 2 Pizza Paradox with your Platform as an Application

DevOps?

Portal

CMS

PIMERPCRM

IB

Platform@markosrendell

Page 11: Breaking the 2 Pizza Paradox with your Platform as an Application

Big pizzas are good

Big teams are bad@markosrendell

Page 12: Breaking the 2 Pizza Paradox with your Platform as an Application

Idea

Value

Idea Plan Develop Package Deploy Test Release Operate

Problem Space

Content Management System

Portal

ERP System

CRM System

@markosrendell

Page 13: Breaking the 2 Pizza Paradox with your Platform as an Application

http://img04.deviantart.net/51c8/i/2009/202/3/7/noah__s_ark_2_by_dinzydragon.jpg

Rainforests not Zoos

Page 14: Breaking the 2 Pizza Paradox with your Platform as an Application

Idea Plan Develop Package Deploy Test Release Operate

@markosrendell

Enterprise Architects

Project Rel 1 Team

Project Rel. 2 Team

Legacy System

Operations Team

Legacy System App Maint, Team

Server and Storage

Team

Networks Team

DBA Team

UI Design Team

Project Rel. 3 Team

Enterprise Systems Dev Team

SysAdmin Team

Page 15: Breaking the 2 Pizza Paradox with your Platform as an Application

The Solution

@markosrendell

Page 16: Breaking the 2 Pizza Paradox with your Platform as an Application

Enterprise Architects

Project Rel 1 Team

Project Rel. 2 Team

Legacy System

Operations Team

Legacy System App Maint, Team

Server and Storage

Team

Networks Team

DBA Team

UI Design Team

Project Rel. 3 Team

Enterprise Systems Dev Team

SysAdmin Team

Idea Plan Develop Package Deploy Test Release Operate

@markosrendell

Content Management System

Portal

ERP System

CRM System

Page 17: Breaking the 2 Pizza Paradox with your Platform as an Application

Enterprise Architects

Project Rel 1 Team

Project Rel. 2 Team

Legacy System

Operations Team

Legacy System App Maint, Team

Server and Storage

Team

Networks Team

DBA Team

UI Design Team

Project Rel. 3 Team

Enterprise Systems Dev Team

SysAdmin Team

Idea Plan Develop Package Deploy Test Release Operate

Content Management System

Portal

ERP System

CRM System

Development and Operations Team

Development and Operations Team

Development and Operations Team

Development and Operations Team

@markosrendell

Page 18: Breaking the 2 Pizza Paradox with your Platform as an Application

Idea Plan Develop Package Deploy Test Release Operate

Enterprise Architects

Project Rel 1 Team

Project Rel. 2 Team

Legacy System

Operations Team

Legacy System App Maint, Team

Server and Storage

Team

Networks Team

DBA Team

UI Design Team

Project Rel. 3 Team

Enterprise Systems Dev Team

SysAdmin Team

Content Management System

Portal

ERP System

CRM System

Development and Operations Team

Development and Operations Team

Development and Operations Team

Development and Operations Team

@markosrendell

Services Development and Operations TeamDevelopment and Operations TeamDevelopment and Operations Team

Page 19: Breaking the 2 Pizza Paradox with your Platform as an Application

DevOps definition (of the moment):

Organising for throughput by forming teams that both Develop and OperateProducts end-to-end

@markosrendell

Page 20: Breaking the 2 Pizza Paradox with your Platform as an Application

Enterprise Architects

Project Rel 1 Team

Project Rel. 2 Team

Legacy System

Operations Team

Legacy System App Maint, Team

Server and Storage

Team

Networks Team

DBA Team

UI Design Team

Project Rel. 3 Team

Enterprise Systems Dev Team

SysAdmin Team

Idea Plan Develop Package Deploy Test Release Operate

SysAdmin Team

Content Management System

Portal

ERP System

CRM System

Development and Operations Team

Development and Operations Team

Development and Operations Team

Development and Operations TeamDevelopment and Operations TeamDevelopment and Operations Team

Legacy System

Operations Team

Networks Team

DBA Team

@markosrendell

Server and Storage

Team

SysAdmin TeamServices

Page 21: Breaking the 2 Pizza Paradox with your Platform as an Application

Enterprise Architects

Project Rel 1 Team

Project Rel. 2 Team

Legacy System

Operations Team

Legacy System App Maint, Team

Server and Storage

Team

Networks Team

DBA Team

UI Design Team

Project Rel. 3 Team

Enterprise Systems Dev Team

SysAdmin Team

Content Management System

Portal

ERP System

CRM System

Idea Plan Develop Package Deploy Test Release Operate

Services

Development and Operations Team

Development and Operations Team

Development and Operations TeamDevelopment and Operations TeamDevelopment and Operations Team

Development and Operations Team

Development and Operations TeamPlatform Application

@markosrendell

Page 22: Breaking the 2 Pizza Paradox with your Platform as an Application

Security model

Deployment architectureLogical environment separation

Third Party InstallationsPlatform Infrastructure orchestration

Basic Infrastructure orchestrationHardware managementPla

tform

Application

Business Applications

Platform as an Application

(Could use Infrastructure as a Service)@markosrendell

Page 23: Breaking the 2 Pizza Paradox with your Platform as an Application

Idea Plan Develop Package Deploy Test Release Operate

Development and Operations Team

Development and Operations Team

Development and Operations Team

Development and Operations Team

Development and Operations Team

Content Management System

Portal

ERP System

CRM System

PlatformDevelopment and Operations Team

@markosrendell

Page 24: Breaking the 2 Pizza Paradox with your Platform as an Application

https://upload.wikimedia.org/wikipedia/commons/c/cb/Kabul_diving_platform.jpg

Public PaaS?

@markosrendell

Page 25: Breaking the 2 Pizza Paradox with your Platform as an Application

Build or Buy?

https://www.flickr.com/photos/nicorien/118131870

We say yesBuild or Buy?

https://farm2.staticflickr.com/1370/898160943_35ef6551c7_o_d.jpg@markosrendell

Page 26: Breaking the 2 Pizza Paradox with your Platform as an Application

Engineered

Sonar Code Analysis

Run Unit Tests

PackageCommitter: jdoe

Story:25

Commit ID: 113

https://github.com/bbatsov/rubocop

http://rspec.info/

Platform data centre

Dev/Test data centre

Prod data centre

Create Platform Test Platform Create Platform Test Platform Create Platform Test Platform

@markosrendell

Page 27: Breaking the 2 Pizza Paradox with your Platform as an Application

Platform and basic infra automation >

319

319

319319 319

319

319

319

319

Virtual Private CloudNetworksVirtual Machines

Re-creatable

@markosrendell

Page 28: Breaking the 2 Pizza Paradox with your Platform as an Application

28

319

319319 319

319

319

319

319

319

NetworksVirtual Private Cloud

Virtual MachinesSoftware Installs

Third Party Software >

@markosrendell

Re-creatable

Page 29: Breaking the 2 Pizza Paradox with your Platform as an Application

319

Tools in the Cloud

(Monsoon)

29

319

319319 319

319

319

319

319

319

Reporting

DAL

BPM

Scheduler

Chef

BSSESB

ESG

OSSBSS

LDAP

Portal

Proxy

Monitoring

NetworksVirtual Private Cloud

Virtual MachinesSoftware InstallsJenkins Deploy

Deployment architecture >

@markosrendell

Re-creatable

Page 30: Breaking the 2 Pizza Paradox with your Platform as an Application

Business Applications

Security model

Deployment architecture

Logical environment separation

Third Party Installations

Platform Infrastructure orchestration

Basic Infrastructure orchestration

Hardware management

Application

Interface

Opinions

Business Applications

Platform Interface (Opinions)

Platform

@markosrendell

Page 31: Breaking the 2 Pizza Paradox with your Platform as an Application

Release Manageable

Sonar Code Analysis

Run Unit Tests

PackageCommitter:

jdoeStory:25

Commit ID: 113

Platform data centre Dev/Test data centre Prod data centreCreate Platform Test Platform Create Platform Test Platform Create Platform Test Platform

@markosrendell

Page 32: Breaking the 2 Pizza Paradox with your Platform as an Application

Integration Tested

@markosrendell

Whole SolutionVersion: 46

WebsiteVersion: 12

Order ServiceVersion: 1.0.2.12

Email Service

Version: 1.0.0.3

Payment ServiceVersion: 1.2.0.23

Deployment toolsVersion: 1.2.3.2

PlatformVersion: 83

Cloud Foundry V

er

sion:

23

MySQLV

er

sion:

12

Cassandra V

er

sion:

24

RabbitMQV

er

sion:

12

Infrastructure V

er

sion:

19

Page 33: Breaking the 2 Pizza Paradox with your Platform as an Application

Platform data centre: v1.3.9

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Platform

Prod data centre: v1.3.9

Non

pro

d da

ta c

entr

e: v

1.3.

9Compile

and packageStatic Code

Analysis Unit Tests Run Functional Tests

Run Security Tests

CT envdeploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

TestsCT envdeploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

TestsCT envdeploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

TestsCT envdeploy

Check in

PT env deploy Run Tech Tests Production deploy

PT env deploy Run Tech Tests Production deploy

PT env deploy Run Tech Tests Production deploy

PT env deploy Run Tech Tests Production deploy

@markosrendell

Integration Tested

Page 34: Breaking the 2 Pizza Paradox with your Platform as an Application

Prod data centre: v1.3.9

Non

pro

d da

ta c

entr

e: v

1.3.

9

Platform data centre: v1.4.4

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Platform

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

Tests PT env deploy Run Tech TestsCT envdeploy

Production deploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

Tests PT env deploy Run Tech TestsCT envdeploy

Production deploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

Tests PT env deploy Run Tech TestsCT envdeploy

Production deploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

Tests PT env deploy Run Tech TestsCT envdeploy

Production deploy

Check in

@markosrendell

Integration Tested

Page 35: Breaking the 2 Pizza Paradox with your Platform as an Application

Prod data centre: v1.3.9Non

pro

d da

ta c

entr

e: v

1.4.

4

Platform data centre: v1.4.4

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Platform

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

TestsCT envdeploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

TestsCT envdeploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

TestsCT envdeploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

TestsCT envdeploy

Check in

@markosrendell

Integration Tested

Page 36: Breaking the 2 Pizza Paradox with your Platform as an Application

Prod data centre: v1.3.9Prod data centre: v1.4.4

Non

pro

d da

ta c

entr

e: v

1.4.

4

Platform data centre: v1.4.4

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Compileand package Unit Tests Platform env

deploy Monitoring testsCheck in

Platform

PT env deploy Run Tech Tests Production deploy

PT env deploy Run Tech Tests Production deploy

PT env deploy Run Tech Tests Production deploy

PT env deploy Run Tech Tests Production deploy

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

TestsCT envdeploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

TestsCT envdeploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

TestsCT envdeploy

Check in

Compileand package

Static Code Analysis Unit Tests Run Functional

TestsRun Security

TestsCT envdeploy

Check in

@markosrendell

Integration Tested

Page 37: Breaking the 2 Pizza Paradox with your Platform as an Application

In practice

@markosrendell

Page 38: Breaking the 2 Pizza Paradox with your Platform as an Application

Develop and Operate Platforms optimised for rapid delivery

A globally networked pool of resources providing projects the option to have key areas of their DevOps delivered as a service. By emphasising Continuous Delivery, we are able to vastly improve your Software Delivery Lifecycle at all each stages including Transformation, Mobilisation and Assessment

Software Configuration ManagementRelease Management

Environment Management

We can…1. Take a project from a standing-start to a working Development

and Tools infrastructure in days2. Increase Agility by using our pioneering methods for Continuous

Delivery3. Increase productivity and predictability through fully automated

environments 4. Reduce Cost by using proven processes and expertise to reduce errors and downtime

Build & Deploy AutomationContinuous Delivery

Tools

5. Increase quality and efficiency

Infrastructure as code

CloudPaaS

\

DCSC

@markosrendell@markosrendell

Page 39: Breaking the 2 Pizza Paradox with your Platform as an Application

Insurer

Enterprise Scale is Heterogeneous

Bank Retailer

GovernmentService

GovernmentService

Cloud Broker

Retailer

Retailer

Retailer

Energy Provider

EnergyProvider

@markosrendell

Trading Platform

Page 40: Breaking the 2 Pizza Paradox with your Platform as an Application

Divide and deliver

BankPlatform

Development and Operations Team

@markosrendell

Page 41: Breaking the 2 Pizza Paradox with your Platform as an Application

PlatformDevelopment and Operations Team

PlatformDevelopment and Operations Team

PlatformDevelopment and Operations Team

PlatformDevelopment and Operations Team

PlatformDevelopment and Operations TeamPlatform

Development and Operations Team

PlatformDevelopment and Operations Team

PlatformDevelopment and Operations Team

PlatformDevelopment and Operations Team

PlatformDevelopment and Operations Team Platform

Development and Operations Team

PlatformDevelopment and Operations Team

@markosrendell

Insurer

Bank Retailer

GovernmentService

GovernmentService

Cloud Broker

Retailer

Retailer

Retailer

Energy Provider

EnergyProvider

Trading Platform

Divide and deliver

Page 42: Breaking the 2 Pizza Paradox with your Platform as an Application

PlatformDevelopment and Operations Team

PlatformDevelopment and Operations Team

Retailer

@markosrendell

Trading Platform

Divide and deliver

Page 43: Breaking the 2 Pizza Paradox with your Platform as an Application

PlatformDevelopment

and Operations Team

PlatformDevelopment

and Operations Team

PlatformDevelopment

and Operations Team

PlatformDevelopment

and Operations Team

PlatformDevelopment

and Operations Team

PlatformDevelopment

and Operations Team

PlatformDevelopment

and Operations Team

@markosrendell

Retailer

Trading Platform

Divide and deliver

Page 44: Breaking the 2 Pizza Paradox with your Platform as an Application

Sharing over sharedPlatform

Development and Operations Team

Shared Tools Service

@markosrendell

Insurer

Bank Retailer

GovernmentService

GovernmentService

Cloud Broker

Retailer

Retailer

Retailer

Energy Provider

Trading Platform

EnergyProvider

Page 45: Breaking the 2 Pizza Paradox with your Platform as an Application

Starting over studying

@markosrendell

Page 46: Breaking the 2 Pizza Paradox with your Platform as an Application

Bootstraps over blueprints

@markosrendell

Page 47: Breaking the 2 Pizza Paradox with your Platform as an Application

Re-use over standards

@markosrendell

Insurer

Bank Retailer

GovernmentService

GovernmentService

Cloud Broker

Retailer

Retailer

Retailer

Energy Provider

EnergyProvider

Trading Platform

Page 48: Breaking the 2 Pizza Paradox with your Platform as an Application

“Top 5 Takeaways”

@markosrendell

1. Optimise for throughput not efficiency2. Build end to end teams3. Treat the platform as an application4. Implement Continuous Delivery for

your platform and via your platform5. Lower the barrier to adoption

Page 49: Breaking the 2 Pizza Paradox with your Platform as an Application

What I’m looking for help with

@markosrendell

• Collaboration on our forthcoming DevOps Platform open source project

• More sharing of:• Platform opinions• How to subdivide big platforms into smaller components• Successes doing this

Page 50: Breaking the 2 Pizza Paradox with your Platform as an Application

Thank you!

MarkosMark Rendell

[email protected]@markosrendell

http://markosrendell.wordpress.com

@markosrendell