breaking the 2 pizza paradox with your platform as an application
TRANSCRIPT
Breaking the 2 Pizza Paradox with your Platform as a ApplicationMark [email protected]@markosrendellhttp://markosrendell.wordpress.com
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
The Objective
@markosrendell
Value Stream
Idea Value
@markosrendell
DevOps definition (of the moment):
We value:
Enhancing IT systems to meet the Business’ needs
over IT operating efficiency
@markosrendell
6
Value Stream
ValueIdea
@markosrendell
The Problem
@markosrendell
DevelopmentTeam
PortalCMS
PIMERPCRM
IB
OperationsTeam
PortalCMS
PIMERPCRM
IB
Platform
@markosrendell
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
DevOps?
Portal
CMS
PIMERPCRM
IB
Platform@markosrendell
Big pizzas are good
Big teams are bad@markosrendell
Idea
Value
Idea Plan Develop Package Deploy Test Release Operate
Problem Space
Content Management System
Portal
ERP System
CRM System
@markosrendell
http://img04.deviantart.net/51c8/i/2009/202/3/7/noah__s_ark_2_by_dinzydragon.jpg
Rainforests not Zoos
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
The Solution
@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
Idea Plan Develop Package Deploy Test Release Operate
@markosrendell
Content Management System
Portal
ERP System
CRM System
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
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
DevOps definition (of the moment):
Organising for throughput by forming teams that both Develop and OperateProducts end-to-end
@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
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
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
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
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
https://upload.wikimedia.org/wikipedia/commons/c/cb/Kabul_diving_platform.jpg
Public PaaS?
@markosrendell
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
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
Platform and basic infra automation >
319
319
319319 319
319
319
319
319
Virtual Private CloudNetworksVirtual Machines
Re-creatable
@markosrendell
28
319
319319 319
319
319
319
319
319
NetworksVirtual Private Cloud
Virtual MachinesSoftware Installs
Third Party Software >
@markosrendell
Re-creatable
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
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
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
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
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
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
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
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
In practice
@markosrendell
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
Insurer
Enterprise Scale is Heterogeneous
Bank Retailer
GovernmentService
GovernmentService
Cloud Broker
Retailer
Retailer
Retailer
Energy Provider
EnergyProvider
@markosrendell
Trading Platform
Divide and deliver
BankPlatform
Development and Operations Team
@markosrendell
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
PlatformDevelopment and Operations Team
PlatformDevelopment and Operations Team
Retailer
@markosrendell
Trading Platform
Divide and deliver
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
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
Starting over studying
@markosrendell
Bootstraps over blueprints
@markosrendell
Re-use over standards
@markosrendell
Insurer
Bank Retailer
GovernmentService
GovernmentService
Cloud Broker
Retailer
Retailer
Retailer
Energy Provider
EnergyProvider
Trading Platform
“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
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
Thank you!
MarkosMark Rendell
[email protected]@markosrendell
http://markosrendell.wordpress.com
@markosrendell