Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Open Cloud Platform

Open Cloud Platform

Value of Pivotal Cloud Foundry (PCF)
Pivotal CF provides a turnkey PaaS experience for agile development teams to rapidly update and scale applications on a private cloud that can be instantly expanded and upgraded with no downtime.
Pivotal CF is the first integrated platform to enable enterprise developers and cloud operators to build, manage and scale a new class of applications that leverage modern frameworks that instantly bind to massive data sets.
Pivotal CF Elastic Runtime Service provides a complete, scalable runtime environment, extensible to most modern frameworks or languages running on Linux. Deployed applications enjoy built-in services, and can automatically bind to new data services through a service broker or to an existing user provided service.
Pivotal CF Operations Manager is the world’s first IaaS-integrated PaaS Operations Manager to support turnkey, fully automated deployment, canary-style updates and 1-click horizontal and vertical scaling on vSphere private clouds.

sergiubodiu

November 26, 2015
Tweet

More Decks by sergiubodiu

Other Decks in Programming

Transcript

  1. © Copyright 2014 Pivotal. All rights reserved. © Copyright 2015

    Pivotal. All rights reserved. Pivotal Cloud Foundry Open Cloud Platform for Software Innovation Sergiu Bodiu | Senior Solution Architect Asia Pacific & Japan
  2. © Copyright 2014 Pivotal. All rights reserved. Agenda • Intro

    • Microservices Overview • Limitations of Traditional Applications • Success Stories • Cloud Native Architecture • Q&A
  3. © Copyright 2015 Pivotal. All rights reserved. 3 My Personal

    Journey @dreamsergiu meetup.com/singasug
  4. © 2014 Pivotal Software, Inc. All rights reserved. © Copyright

    2014 Pivotal. All rights reserved. 4 Silicon Valley is coming…. We are going to work hard to make our services as seamless and competitive as theirs. “ ” -Jamie Dimon, CEO@JPMC, 2015 letter to shareholders
  5. © Copyright 2015 Pivotal. All rights reserved. 5 Business Expectations

    Exceed IT Capabilities Cloud IT Technology Eras Mainframe Client-Server The exponential increase in business expectations is unsustainable for IT MILLIONS OF 
 APPS BILLIONS
 OF USERS * Source: Gartner, 2013: “Hunting and Harvesting in a Digital World: The 2013 CIO Agenda” $ $ $ $ $ $ ABILITY OF IT TO DELIVER S/W STEADY IT BUDGETS* BUSINESS EXPECTATIONS
  6. © Copyright 2015 Pivotal. All rights reserved. 8 Limitations of

    Traditional Applications Relational Database Data Access Service HTML JavaScript MVC Service Monolithic Application Browser
  7. © Copyright 2015 Pivotal. All rights reserved. 9 Monolithic Architectures

    User Registration Catalog Orders Profile Search Recommendation Lists Account
  8. © Copyright 2015 Pivotal. All rights reserved. 10 Scaling Monolithic

    Architectures User Registration Catalog Orders Profile Search Recommendation Lists Account User Registration Catalog Orders Profile Search Recommendation Lists Account User Registration Catalog Orders Profile Search Recommendation Lists Account User Registration Catalog Orders Profile Search Recommendation Lists Account User Registration Catalog Orders Profile Search Recommendation Lists Account User Registration Catalog Orders Profile Search Recommendation Lists Account User Registration Catalog Orders Profile Search Recommendation Lists Account User Registration Catalog Orders Profile Search Recommendation Lists Account
  9. © Copyright 2015 Pivotal. All rights reserved. 11 Linear scalability?

    Requests Catalog Search Recommendation Lists Orders Profile User Account Registration 0 1250000 2500000 3750000 5000000 Requests
  10. © Copyright 2014 Pivotal. All rights reserved. 12 Monolithic Architectures

    • Complex • Modularity Dependent Upon Language / Frameworks • Change Cycles Tightly Coupled / Obstacle to Frequent Deploys • Inefficient Scaling • Can Be Intimidating to New Developers • Obstacle to Scaling Development • Requires Long-Term Commitment to Technical Stack
  11. © Copyright 2015 Pivotal. All rights reserved. 13 Monolithic Architecture:

    Ripe for Disruption Scale of dev team / org User Adoption Monolithic µService (distributed) Redesign! Many apps start as monoliths ..and get redesigned when they start to achieve real success http://www.infoq.com/interviews/adrian-cockcroft-microservices-devops
  12. © Copyright 2015 Pivotal. All rights reserved. 15 Microservice Architecture

    … HTTP HTTP HTTP HTTP HTTP HTTP AMQP AMQP Relational DB Key/Value Store Graph DB
  13. © Copyright 2015 Pivotal. All rights reserved. 17 Steve Yegge’s

    Google Platform Rant “All teams will henceforth expose their data and functionality through service interfaces. Teams must communicate with each other through these interfaces. …There will be no other form of inter-process communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network. It doesn’t matter what technology they use. All service interfaces, without exception, must be designed from the ground up to be externalizable… That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions. Anyone who doesn’t do this will be fired. Thank you; have a nice day!“ Jeff Bezos CEO, Amazon Source: https://plus.google.com/+RipRowan/posts/eVeouesvaVX
  14. © Copyright 2015 Pivotal. All rights reserved. 18 Organize Around

    Business Capabilities Data Access Service HTML JavaScript MVC Service UI Specialists Middleware Specialists DBAs Business Capability Business Capability Business Capability Siloed Functional Teams Siloed Application Architectures Cross- functional Teams Microservice Architectures http://martinfowler.com/articles/microservices.html#OrganizedAroundBusinessCapabilities
  15. © Copyright 2015 Pivotal. All rights reserved. 19 We’ve trained

    IT to be paranoid & slow Project Mgmt UX Dev QA DBA Sys Admin Net Admin Storage Admin Adapted from: http://www.slideshare.net/adriancockcroft/goto-berlin MONOLITHIC DELIVERY
  16. © Copyright 2015 Pivotal. All rights reserved. 20 So let’s

    re-train them… Product Mgr UX Dev QA DBA Sys Admin Net Admin Storage Admin BUSINESS CAPABILITY TEAMS USING MICROSERVICES PLATFORM OPERATIONS TEAM Adapted from: http://www.slideshare.net/adriancockcroft/goto-berlin
  17. © Copyright 2015 Pivotal. All rights reserved. 21 Continuous Delivery

    Product Mgr UX Dev QA DBA Sys Admin Net Admin Storage Admin BUSINESS CAPABILITY TEAMS USING MICROSERVICES PLATFORM OPERATIONS TEAM Adapted from: http://www.slideshare.net/adriancockcroft/goto-berlin Self Service API
  18. © Copyright 2015 Pivotal. All rights reserved. 22 INVENTORY Prod

    Release Prod Release Prod Release CATALOG Prod Release Prod Release Prod Release REVIEWS Prod Release Prod Release Prod Release SHIPPING Prod Release Prod Release Prod Release
  19. © Copyright 2015 Pivotal. All rights reserved. 23 How XP

    Practices Support Each Other http://www.kusmin.eu/wiki/index.php/How_XP_Practices_Support_Each_Other
  20. © Copyright 2014 Pivotal. All rights reserved. 24 Microservice Architectures

    • Simple • Modularity Based on Component Services • Change Cycles Decoupled / Enable Frequent Deploys • Efficient Scaling • Individual Components Less Intimidating to New Developers • Enables Scaling of Development • Eliminates Long-Term Commitment to Technical Stack DEM O TIM E
  21. © Copyright 2015 Pivotal. All rights reserved. 26 “Think of

    a product on a Monday and deliver on Friday.”
  22. © Copyright 2015 Pivotal. All rights reserved. 27 “We didn’t

    know test-driven development. We didn’t know CI/CD. We were excited […] a little skeptical […] but left becoming believers. What we didn’t realize was how ready we were for that change”
  23. © Copyright 2015 Pivotal. All rights reserved. 28 “It wasn’t

    a natural journey […] to go and change everything we know about software. Cloud Foundry was paramount in our ability to lift the focus of what we’re doing to a completely different level.”
  24. © Copyright 2015 Pivotal. All rights reserved. 29 “We felt

    like there was a 360-degree view that Pivotal brought to bear. This was more than just a technology transformation. It was a business transformation. It was about how we could deliver products faster. Cloud Foundry was a huge part of that.”
  25. © 2014 Pivotal Software, Inc. All rights reserved. © Copyright

    2015 Pivotal. All rights reserved. 30 Cloud Native Architecture
  26. © Copyright 2014 Pivotal. All rights reserved. 33 Paying for

    your lunch… • Significant Operations Overhead • Substantial DevOps Skills Required • Implicit Interfaces • Duplication of Effort • Distributed System Complexity • Asynchronicity is Difficult! • Testability Challenges
  27. © Copyright 2014 Pivotal. All rights reserved. 34 Significant Operations

    Overhead • Mitigate polyglot language/environment provisioning complexity via CF Buildpacks • Mitigate failover and resilience concerns via CF Scale, CF Health Monitor, and future CF App AZ’s (http://blog.gopivotal.com/cloud-foundry-pivotal/products/the-four-levels-of- ha-in-pivotal-cf) • Mitigate routing/load balancing and plumbing concerns via CF Router and CF Services • High quality monitoring = CF BP agent-based tooling, future CF metric streams • High quality operations infrastructure = CF BOSH! • Robust release/deployment automation = CF API, scriptable CF CLI, Maven/Gradle Plugins, Strong Cloudbees/Jenkins partnerships
  28. © Copyright 2014 Pivotal. All rights reserved. 35 Substantial DevOps

    Skills Required • This is a Good Thing™ in any architecture! • CF keeps your microservices up and available (and your monoliths too!) • CF = development and production parity! • Polyglot persistence without all the fuss: CF BOSH and Service Brokers
  29. © Copyright 2014 Pivotal. All rights reserved. 36 Distributed System

    Complexity • Agreed: Microservices imply distributed systems. • All of the CF platform features we’ve discussed help to mitigate these concerns: • latent/unreliable networks • fault tolerance • load variability
  30. © Copyright 2014 Pivotal. All rights reserved. 37 Testability Challenges

    • With CF, it is NOT difficult to recreate environments in a consistent way for either manual or automated testing! • Idiomatic Microservices involves placing less emphasis on testing and more on monitoring • Not sure where this idea comes from… • CF is an enabler of both!
  31. © Copyright 2015 Pivotal. All rights reserved. 38 Source: “Microservice

    Prerequisites,” Martin Fowler, August 2014. https://www.flickr.com/photos/gusset/3723961589 You must be this tall to use Microservices… • Rapid provisioning • Basic monitoring • Rapid application deployment • DevOps culture
  32. © Copyright 2015 Pivotal. All rights reserved. 39 The Innovation

    Gap in Traditional IT W eeks/M onths Developer Operator
  33. © Copyright 2014 Pivotal. All rights reserved. 40 The build

    is not done until a customer is using it. •The business goal is to learn your way to do a better product that establishes competitive advantage, leading to profit.
  34. © Copyright 2015 Pivotal. All rights reserved. 41 Iterative Development

    Design Develop Test Customer Feedback Customer Delivery Analytics
  35. © Copyright 2015 Pivotal. All rights reserved. 42 I. Codebase

    II. Dependencies III. Configuration IV. Backing services V. Build, release, run VI. Process VII. Port binding VIII. Concurrency IX. Disposability X. Dev/Prod parity XI. Logs XII. Admin Process http://12factor.net 12 Factor Apps
  36. © Copyright 2015 Pivotal. All rights reserved. 43 Twelve Factors

    • One Codebase/Many Deploys • Explicit Isolated Dependencies • Config via Environment • Attached Backing Services • Separate Build/Release/Run • Stateless Processes • Export Services via Port Bindings • Scale Out via Processes • Disposable Instances • Dev/Prod Parity • Logs == Event Streams • Admin Tasks == Processes http://12factor.net
  37. © Copyright 2015 Pivotal. All rights reserved. 44 The Cloud

    Platform Evolution TRADITIONAL IAAS Virtualization Platform Operating System Data base Web Server Mess aging Your Application Code Physical Servers Data base Web Server Mess aging Your Application Code IAAS Your Application Code PAAS IAAS PAAS
  38. © Copyright 2015 Pivotal. All rights reserved. 45 Enterprise Open

    Cloud Solution Developers 
 Agility target <environment> push/upgrade <app> bind <service instance> scale <app> +1000 Operational 
 Agility ‘connect’ <IaaS> ‘provision’ <service> ‘upgrade’ <myCloud> ‘scale’ <myCloud>
  39. © Copyright 2015 Pivotal. All rights reserved. 46 Capabilities at

    a Glance Containers and Orchestration Log Aggregation Dev/Ops Metrics Services: Data, Mobile, Platform High Availability and Scaling Network Isolation, Security Groups Automatic Middleware Configuration Simple
 Service Binding Automatic IaaS Provisioning Roles and Policy Management
  40. © Copyright 2015 Pivotal. All rights reserved. 47 Enable DevOps

    culture BUILD
 APPLICATION • Auto-detect frameworks • Link to PaaS • Self-service deploy • Dynamic routing • Elastic scale • Integrated HA • Autoscaling and APM • Log aggregation • Policy and Auth • A/B versioning • Live upgrades • Self-service 
 removal PUSH FIRST RELEASE MAINTAIN APPLICATION UPDATE APPLICATION RETIRE APPLICATION
  41. © Copyright 2015 Pivotal. All rights reserved. 48 Monitoring Rapid

    Provisioning Rapid Application deployment Platform Features DEM O TIM E
  42. © Copyright 2015 Pivotal. All rights reserved. 49 Continuous Delivery

    with Pivotal CF High Quality Software, Faster, From Idea to Production SPEED Releasing smaller things more often will reduce complexity and improve time-to-market QUALITY We embed testing early in the lifecycle to surface problems sooner, avoiding last minute issues and helping us be more responsive to change AGILITY Let’s push updates on a regular basis without ANY downtime to improve customer experience and shorten time-to-market AUTOMATION Let’s integrate tools and automate processes from testing, to builds & deployment Automated Build + Quality Check (Unit Test, Static Code Analysis etc.) Store Environment Agnostic Build Artifacts Commit Code Change Automated Integration Testing Automated + Manual Testing (Acceptance, Performance, Load) Zero Downtime Upgrades Pipeline Operations Tool Chain Auto Auto Auto Auto OR Manual Auto OR Manual TEST + UAT + STAGING DEV PROD GitHub Jenkins
  43. © Copyright 2015 Pivotal. All rights reserved. Continuously Deliver High

    Quality Software Radically Improve SDLC 50 CUT COSTS REALIZE EARLIER ROI MUCH HIGHER QUALITY FASTER TIME-TO- MARKET
  44. © Copyright 2015 Pivotal. All rights reserved. 51 Infrastructure Applications

    Monoliths Microservices Pivotal CF Continuous Delivery Software Factories Feedback Rapid Iteration Horizontal Scale Diversity of Clients Physical/Virtual Goals & Needs Supporting Changes
  45. © Copyright 2015 Pivotal. All rights reserved. 52 The Digital

    Innovation Center OPTIMIZED FACILITIES AGILE ORGANIZATION MEASURED SUCCESS INITIALLY CO-LOCATED WITH PIVOTAL LABS; TRANSITIONED TO A DESIGNATED TDA SITE THE BEST TALENT FOCUSED ON DIGITAL PRODUCTS THAT MOVE BUSINESS FORWARD OFTEN DRIVEN AS A SEPARATE BUSINESS; GOALED ON ACCELERATED CAPABILITY DELIVERY EXISTING, INTEGRATED SYSTEMS / YOUR IAAS CLOUD(s) /
  46. © Copyright 2015 Pivotal. All rights reserved. 53 Building an

    Innovation Center with Pivotal Market your mission. Architect new org model(s) and enable leadership with tools. • Scope and Alignment • Clear Measurement • Communication Planning • Org Definition • Training, Coaching and Mentoring A talent strategy that pulls the best internal and external people into an innovation center. • Interviewing and Selection Framework • Pivotal Recruiting Support and Pairing • Candidate Onboarding • Employee Training Guidance Incubate in our shop. Transition to your location(s) of choice as maturity grows. • Facilities Planning • Integration with existing IT assets • Leadership Mentoring • Ongoing Pivotal Support Reduction as TDA Maturity Grows LOCATION TALENT STRATEGY INITIALLY CO-LOCATED AT PIVOTAL AND THEN TRANSITIONED TO YOUR FACILITY
  47. © Copyright 2015 Pivotal. All rights reserved. 54 Paired Delivery

    DESIGNER PRODUCT OWNER DEVELOPERS (2-3 PAIRS) ATOMIC TEAMS • Responsible for an app, service or capability from end-to-end • Generally sized as “2 pizza” teams • Developers work in “pairs”; two people with one keyboard • Supported by Agile Ops • Identify a small set of business-relevant applications • Begin to transition apps to the paired delivery model • Staff the paired teams with our and your people • Go end-to-end using the people, tech and process • Identify best practices and models while doing work • Decrease Pivotal engineers as your maturity grows • Gradually transition into new model in Year 1 and 2
  48. © Copyright 2014 Pivotal. All rights reserved. 55 What Does

    Agile Operations Mean? • Release smaller things more often • Reduce the number of manual / people “touches” • Use PaaS and containers to standardize on fewer tools • Move away from tickets and automate release management • Shift more testing into the Developer’s realm • Invert your testing pyramid and automate as much as possible • Log everything and use tools to make sense of it all • Enable Operations and QA as a job functions within “One team”
  49. © Copyright 2015 Pivotal. All rights reserved. INFRASTRUCTURE SITE RELIABILITY

    PLATFORM Notional Model Agile Operations 56 Innovation; Plan, design, develop and test business capabilities as deployable artifacts Production Apps; config, deployment, QA, monitoring, scaling App Platform; upgrade PCF, capacity planning, service mgmt., scale platform Infra Platform; Rack and stack, networking, data storage, etc. ROLES Cross-Functional 
 (Prod. Owner, Dev, QA) Application Operators Platform Operators Engineering (Storage, Security, Network, etc.) AREAS OF FOCUS BUSINESS CAPABILITY
  50. © Copyright 2015 Pivotal. All rights reserved. 57 Another Org

    Model View BUSINESS CAPABILITY TEAMS INFRASTRUCTURE SITE RELIABILITY AGILE OPERATIONS SHARED SERVICES PLATFORM ENGINEERING PRODUCTION PAAS AND UNDERLYING TECHNOLOGY STACKS / SERVICES NON-PROD PAAS AND RELATED STACKS / SERVICES SERVICE OWNER EXPLORATORY TESTING PROD DEPLOYS APPS UP- TIME SERVICE OWNER PCF ENGINEERS CONTINUOUS DELIVERY PIPELINE (TESTING, BUILD AND RELEASE AUTOMATION) SERVICE OWNER? ENG’S THAT MATRIX INTO BROADER ORG PRODUCT OWNER DESIGNER 2-3 DEV PAIRS TESTER(S)
  51. © Copyright 2015 Pivotal. All rights reserved. 58 Invert Your

    Testing Pyramid Manual Verification Automated End-End UI Integration Unit Verifying– Asserting the system produces the expected outcome Complexity
 Maintainability, Cost Low High • Slow & fragile • No pinpoint failure indication Auto. UI Automated API/ Workflow Automated Integration Automated Component Automated Unit Manual Exploratory Testing • Increased speed, decreased maintenance • Pinpoint failure indication Testing – Probing the system when you don’t know how it will respond Performance Test
 any or all of these
 layers as needed
  52. © Copyright 2015 Pivotal. All rights reserved. 59 What End

    to End Could Look Like GUI API/Flow Integration Component Unit DEV STUBBED INT PRE-PROD PROD Interfaces Data INTERNAL EXTERNAL CFG CFG CFG CFG CFG Build / Deploy / Orchestrate Commit environment specific configurations Run a subsets of tests to isolate parts of the system Do not need to run all tests in all environments Performance, Security Exploratory tests in any environment Isolate and test portions of the system
  53. © Copyright 2015 Pivotal. All rights reserved. 60 What is

    Spring? #1 Enterprise Java App Dev Framework • OSS, Apache 2.0 licensed • Proven, mature, since 2004 • Well understood and documented • Millions of downloads • Used heavily by Netflix and F2000
  54. © Copyright 2015 Pivotal. All rights reserved. 61 Spring IO

    Foundation Modular, embeddable developer libraries • Security – LDAP, OAUTH2, Kerberos • Integration/Batch/Messaging/Caching • SOAP Web services, REST, HATEOAS • Data Access (noSQL, RDBMS, Search) • Rich OAUTH2 binding ecosystem • Mobile, Web Apps Application and microservice patterns
  55. © Copyright 2015 Pivotal. All rights reserved. 62 Spring IO

    Execution: Spring Boot application configuration patterns • Convention-over-configuration, no XML, no code generation • Autoconfigure, embed servlet engine • Get out of the way quickly if you want to change defaults • Provide production ready features • Service Binding for Cloud Foundry • Java, Spring, Groovy
  56. © Copyright 2014 Pivotal. All rights reserved. 63 Spring IO

    Execution: Spring Cloud • Runtimes and their client libraries for: – Service Discovery – Configuration Management – Circuit Breakers – Intelligent Client Side Routing – Reverse Proxies – ….and much more • Security (encrypt, SSO, roles) • Connectors for CF, Heroku, AWS application coordination patterns
  57. © Copyright 2015 Pivotal. All rights reserved. 64 Spring Boot

    Adoption
 1.65M 1.47M 1.18M 1.31M 1.07M Source: oss.sonatype.org
  58. © Copyright 2014 Pivotal. All rights reserved. 65 Twelve Factor

    + Microservices • Fully compatible architectural style • Frameworks tend to optimize around same ideas • Spring Boot + Cloud • http://projects.spring.io/spring-boot • http://projects.spring.io/spring-cloud • Dropwizard (https://dropwizard.github.io/dropwizard)
  59. © Copyright 2015 Pivotal. All rights reserved. 66 It’s gonna

    take a platform… Pivotal CF Spring Cloud
  60. © Copyright 2015 Pivotal. All rights reserved. 67 Platform Features

    • Environment Provisioning • On-Demand/Automatic Scaling • Failover/Resilience • Routing/Load Balancing • Data Service Operations • Monitoring • Distributed/Versioned Config • Service Registration/Discovery • Routing/Load Balancing • Service Integration • Fault Tolerance • Asynchronous Messaging
  61. © Copyright 2015 Pivotal. All rights reserved. Cloud, Continuous Delivery,

    Microservices, DevOps There’s something happening here… What it is ain’t exactly clear…
  62. © Copyright 2015 Pivotal. All rights reserved. 69 Infrastructure Automation

    Platform Runtime Application Framework BOSH External Backing Services Cloud Native Platform Build Pipeline: CI, CD, Version control Microservices are key for Cloud Native Java Cloud Native App Integration contracts
  63. © Copyright 2015 Pivotal. All rights reserved. 70 12 factor

    apps & Microservices Container Orchestration Infrastructure Automation Polyglot buildpacks & Spring Cloud Elastic Runtime/Diego BOSH Cloud Native Application Frameworks Cloud Native Runtime Platform Cloud Native Operations Cloud Native Culture A cloud native platform is composed of three layers, that span & support the entire life-cycle of an application from development to production
  64. © Copyright 2015 Pivotal. All rights reserved. 71 Empowered Culture

    Infrastructure Automation Runtime Platform Cloud Native Application Framework 12 factor app Spring Cloud Services Microservices Polyglot Java, Ruby, Python, Node, PHP, Go XII
  65. © Copyright 2015 Pivotal. All rights reserved. 72 Empowered Culture

    Application Framework Cloud Native Runtime Platform Self Service Containers Self Healing Infrastructure Automation
  66. © Copyright 2015 Pivotal. All rights reserved. 73 Empowered Culture

    Application Framework Cloud Native Infrastructure Automation Repeatable API Driven Reliable Runtime Platform
  67. © Copyright 2015 Pivotal. All rights reserved. 74 Principles >

    Practices > Tools Infrastructure Automation Runtime Platform Cloud Native Empowered Culture Collaborative High Trust Outcomes Application Framework
  68. © Copyright 2015 Pivotal. All rights reserved. 76 “Cloud is

    about how computing 
 is done, not where.” Manage Services, Not Servers… Pivotal Cloud Foundry