Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Breaking the 2 Pizza Paradox with your Platform as an Application

977 views

Published on

In my experience many large enterprises would love the adoption of DevOps to be as simple as bringing Development closer to Operations. In practice they need to consider many development teams, multiple suppliers, multiple service providers, not to mention multiple business divisions. I describe my experiences of implementing Continuous Delivery in large enterprises with heterogeneous technology stacks and share my belief that Platform Applications will be the saviour of enterprise DevOps.

Published in: Technology
  • Be the first to comment

Breaking the 2 Pizza Paradox with your Platform as an Application

  1. 1. Breaking the 2 Pizza Paradox with your Platform as a Application Mark Rendell mark.rendell@accenture.com @markosrendell http://markosrendell.wordpress.com
  2. 2. 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 Management Release Management Environment Management We can… 1. Take a project from a standing-start to a working Development and Tools infrastructure in days 2. Increase Agility by using our pioneering methods for Continuous Delivery 3. Increase productivity and predictability through fully automated environments 4. Reduce Cost by using proven processes and expertise to reduce errors and downtime Build & Deploy Automation Continuous Delivery Tools 5. Increase quality and efficiency Infrastructure as code CloudPaaS DCSC @markosrendell
  3. 3. The Objective @markosrendell
  4. 4. Value Stream Idea Value @markosrendell
  5. 5. DevOps definition (of the moment): We value: Enhancing IT systems to meet the Business’ needs over IT operating efficiency @markosrendell
  6. 6. 6 Value Stream ValueIdea @markosrendell
  7. 7. The Problem @markosrendell
  8. 8. Development Team Portal CMS PIM ERP CRM IB Operations Team Portal CMS PIMERP CRM IB Platform @markosrendell
  9. 9. Enterprise Architects Portal CMS PIMERP CRM IB Platform Project Rel 1 Team Portal CMS PIM ERP CRM IB Platform Project Rel. 2 Team Portal CMS PIM ERP CRM IB Platform Legacy System Operations Team Portal PIMERP CRM Platform Legacy System App Maint, Team Portal PIMERP CRM Platform Server and Storage Team Porta l CMS PIMERP CRM IB Platform Networks Team Portal CMS PIM ERP CRM IB Platform SysAdmin Team Portal CMS PIM ERP CRM IB Platform UI Design Team Portal CMS Project Rel. 3 Team Portal CMS PIM ERP CRM IB Platform Enterprise Systems Dev Team Portal CMS PIM ERP CRM IB Platform DBA Team Porta lCM S PIMERP CR M IB Platform @markosrendell
  10. 10. DevOps? Portal CMS PIMERP CRM IB Platform @markosrendell
  11. 11. Big pizzas are good Big teams are bad @markosrendell
  12. 12. Idea Value Idea Plan Develop Package Deploy Test Release Operate Problem Space Content Management System Portal ERP System CRM System @markosrendell
  13. 13. http://img04.deviantart.net/51c8/i/2009/202/3/7/noah__s_ark_2_by_dinzydragon.jpg Rainforests not Zoos
  14. 14. 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
  15. 15. The Solution @markosrendell
  16. 16. 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
  17. 17. 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
  18. 18. 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 Team Development and Operations Team Development and Operations Team
  19. 19. DevOps definition (of the moment): Organising for throughput by forming teams that both Develop and Operate Products end-to-end @markosrendell
  20. 20. 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 Team Development and Operations Team Development and Operations Team Legacy System Operations Team Networks Team DBA Team @markosrendell Server and Storage Team SysAdmin Team Services
  21. 21. 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 Team Development and Operations Team Development and Operations Team Development and Operations Team Development and Operations Team Platform Application @markosrendell
  22. 22. Business Applications Platform as an Application (Could use Infrastructure as a Service) @markosrendell
  23. 23. 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 Platform Development and Operations Team @markosrendell
  24. 24. https://upload.wikimedia.org/wikipedia/commons/c/cb/Kabul_diving_platform.jpg Public PaaS? @markosrendell
  25. 25. 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
  26. 26. Engineered Sonar Code Analysis Run Unit Tests Package Committer: 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
  27. 27. Platform and basic infra automation > Virtual Private Cloud Networks Virtual Machines Re-creatable @markosrendell
  28. 28. 28 Networks Virtual Private Cloud Virtual Machines Software Installs Third Party Software > @markosrendell Re-creatable
  29. 29. 29 Networks Virtual Private Cloud Virtual Machines Software Installs Jenkins Deploy Deployment architecture > @markosrendell Re-creatable
  30. 30. Business Applications Security model Deployment architecture Logical environment separation Third Party Installations Platform Infrastructure orchestration Basic Infrastructure orchestration Hardware management Interface Opinions Business Applications Platform Interface (Opinions) @markosrendell
  31. 31. Release Manageable Sonar Code Analysis Run Unit Tests Package Committer: jdoe Story:25 Commit ID: 113 Platform data centre Dev/Test data centre Prod data centre Create Platform Test Platform Create Platform Test Platform Create Platform Test Platform @markosrendell
  32. 32. Integration Tested @markosrendell Whole Solution Version: 46 Website Version: 12 Order Service Version: 1.0.2.12 Email Service Version: 1.0.0.3 Payment Service Version: 1.2.0.23 Deployment tools Version: 1.2.3.2 Platform Version: 83 Cloud Foundry Version: 23 MySQL Version: 12 Cassandra Version: 24 RabbitMQ Version: 12 Infrastructure Version: 19
  33. 33. Platform data centre: v1.3.9 Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Platform Proddatacentre:v1.3.9 Nonproddatacentre:v1.3.9 Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy 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
  34. 34. Proddatacentre:v1.3.9 Nonproddatacentre:v1.3.9 Platform data centre: v1.4.4 Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Platform Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests PT env deploy Run Tech Tests CT env deploy Production deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests PT env deploy Run Tech Tests CT env deploy Production deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests PT env deploy Run Tech Tests CT env deploy Production deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests PT env deploy Run Tech Tests CT env deploy Production deploy Check in @markosrendell Integration Tested
  35. 35. Proddatacentre:v1.3.9 Nonproddatacentre:v1.4.4 Platform data centre: v1.4.4 Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Platform Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy Check in @markosrendell Integration Tested
  36. 36. Proddatacentre:v1.3.9Proddatacentre:v1.4.4 Nonproddatacentre:v1.4.4 Platform data centre: v1.4.4 Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and package Unit Tests Platform env deploy Monitoring testsCheck in Compile and 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 Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy Check in Compile and package Static Code Analysis Unit Tests Run Functional Tests Run Security Tests CT env deploy Check in @markosrendell Integration Tested
  37. 37. In practice @markosrendell
  38. 38. 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 Management Release Management Environment Management We can… 1. Take a project from a standing-start to a working Development and Tools infrastructure in days 2. Increase Agility by using our pioneering methods for Continuous Delivery 3. Increase productivity and predictability through fully automated environments 4. Reduce Cost by using proven processes and expertise to reduce errors and downtime Build & Deploy Automation Continuous Delivery Tools 5. Increase quality and efficiency Infrastructure as code CloudPaaS DCSC @markosrendell@markosrendell
  39. 39. Insurer Enterprise Scale is Heterogeneous Bank Retailer Government Service Government Service Cloud Broker Retailer Retailer Retailer Energy Provider Energy Provider @markosrendell Trading Platform
  40. 40. Divide and deliver Bank Platform Development and Operations Team @markosrendell
  41. 41. Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations TeamPlatform Development and OperationsTeam Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations Team @markosrendell Insurer Bank Retailer Government Service Government Service Cloud Broker Retailer Retailer Retailer Energy Provider Energy Provider Trading Platform Divide and deliver
  42. 42. Platform Development and Operations Team Platform Development and Operations Team Retailer @markosrendell Trading Platform Divide and deliver
  43. 43. Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations Team Platform Development and Operations Team @markosrendell Retailer Trading Platform Divide and deliver
  44. 44. Sharing over shared Platform Development and Operations Team Shared Tools Service @markosrendell Insurer Bank Retailer Government Service Government Service Cloud Broker Retailer Retailer Retailer Energy Provider Trading Platform Energy Provider
  45. 45. Starting over studying @markosrendell
  46. 46. Bootstraps over blueprints @markosrendell
  47. 47. Re-use over standards @markosrendell Insurer Bank Retailer Government Service Government Service Cloud Broker Retailer Retailer Retailer Energy Provider Energy Provider Trading Platform
  48. 48. “Top 5 Takeaways” @markosrendell 1. Optimise for throughput not efficiency 2. Build end to end teams 3. Treat the platform as an application 4. Implement Continuous Delivery for your platform and via your platform 5. Lower the barrier to adoption
  49. 49. 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
  50. 50. Thank you! Markos Mark Rendell mark.rendell@accenture.com @markosrendell http://markosrendell.wordpress.com @markosrendell

×