path to cloud native app dev
play

PATH TO CLOUD-NATIVE APP DEV 8 steps to cloud-native app dev Thomas - PowerPoint PPT Presentation

PATH TO CLOUD-NATIVE APP DEV 8 steps to cloud-native app dev Thomas Qvarnstrom Cesar Saavedra Technical Marketing Manager Product Marketing Manager tqvarnst@redhat.com csaavedr@redhat.com @ tqvarnst @cesar_saavedr June 2018 EVOLUTION OF


  1. PATH TO CLOUD-NATIVE APP DEV 8 steps to cloud-native app dev Thomas Qvarnstrom Cesar Saavedra Technical Marketing Manager Product Marketing Manager tqvarnst@redhat.com csaavedr@redhat.com @ tqvarnst @cesar_saavedr June 2018

  2. EVOLUTION OF CLOUD APPS/SVCS/FMWKS Off-premise services and applications have been around in different forms Microservices Salesforce Assess Containers Colocation Netflix SaaS popularized Thoughtworks popularized streaming launched (2012) (2018) VANs (EDI) (1990’s) (2007) (1999) Netflix coins Microservices “cloud-native” RosettaNet AWS EC2 defined Fowler (2010) Java EE 6 (1998) (2006) (2014) (2009) ‘70’S ‘80 ‘90’S ‘00 ‘10’S Amazon Uber Spring Boot founded founded v1.0 GA DropWizard (1994) (2009) (2014) (2011) Docker Compaq Manifesto Heroku (2013) iPhone coins for Agile Twelve-factor introduced Kubernetes “Cloud Software app manifesto (2007) (2014) computing” Dev (2001) (2011) (1996) 2

  3. EXISTING AND NEW APPS MUST CO-EXIST The Digital Economy has brought new demands Existing IT processes New IT agility processes IT needs to adapt 3

  4. DIGITAL LEADER PAYOFF Digital leaders enjoy significant advantage 26% 12% 9% More profitable than their Higher market More revenue with average industry valuation existing capacity competitors and products 4 Capgemini and MIT Center Research: The Digital Advantage - How Digital Leaders Outperform their Peers in Every Industry

  5. SPEEDING UP DEVELOPMENT & DELIVERY Application Application services speed up the Services ● development of a cloud-native application Infrastructure services speed up the ● delivery/deployment of a cloud-native application Infrastructure Services "Yin and yang can be thought of as complementary (rather than opposing) forces that interact to form a dynamic system in which the whole is greater than the assembled parts" https://en.wikipedia.org/wiki/Yin_and_yang 5

  6. WHAT IS CLOUD-NATIVE APP DEVELOPMENT A modern approach to building and running applications Development concerns Architecture Communication Infrastructure Process Service-based API-driven Containers DevOps Delivery/deployment concerns

  7. TRADITIONAL VS. CLOUD-NATIVE APP DEV TRADITIONAL CLOUD-NATIVE FOCUS Longevity and stability Speed to market DEV METHODOLOGY Waterfall, semi-agile development Agile development, DevOps TEAMS Isolated dev, operations, QA, and security teams Collaborative DevOps teams DELIVERY CYCLE Long Short and continuous APPLICATION Tightly-coupled Loosely coupled ARCHITECTURE Monolithic Service-based API-based communication INFRASTRUCTURE Server-centric Container-centric Designed for on-premise Designed for on-premise & cloud Infrastructure-dependent Portable across infrastructure Scales vertically Scales horizontally Pre-provisioned for peak capacity On-demand capacity 7

  8. PATH TO CLOUD-NATIVE APP DEV: 8 STEPS

  9. 1: EVOLVE A DEVOPS CULTURE & PRACTICES To take advantage of new tech, faster approaches and tighter collaboration 51% More than half (51%) of large organizations have already adopted DevOps 20% However, most currently use DevOps for only 10-40% of apps (20% typical) IDC PaaS View for the Developer Survey, November 2017 9

  10. DEVOPS CULTURE BRINGS ABOUT The culture of open source software projects - a good guide to building DevOps culture INTEGRATED & ENCOURAGES FAST FAILURE TRANSPARENT COLLABORATIVE EXPERIMENTATION DECISION-MAKING APPROACH BOOST TRUST AND CATALYZES TEAMS RAPIDLY ADOPT AGILE COOPERATION INNOVATION BUILD WORKFLOWS PROTOTYPES 10

  11. 2: SPEED UP EXISTING APPLICATIONS Fast monoliths - migrate app server to container-based platform EXISTING APPLICATION LOGIC EXISTING APPLICATION LOGIC JBOSS EAP JAVA EE CONTAINER-BASED PLATFORM 11

  12. 2: SPEED UP EXISTING APPLICATIONS Expose old components using API’s ● ● Strangulation pattern: replace an existing app piece by piece instead of rewriting the whole Add new services ● ● Using a router (OpenShift|3scale|Istio) we can send incoming traffic to new services Ideally use 3scale and/or Fuse HTML Javascript Web Promo Orders Ratings Inventory Catalog Cart Inventory Inventory Data Access Data Access Data Access WildFly Spring JBoss EAP Swarm Boot 12 OPENSHIFT | RHOAR

  13. 2: SPEED UP EXISTING APPLICATIONS Retire your monolith as microservices take over HTML Javascript Order Web Promo Ratings Cart Inventory Catalog Data Store Data Grid Data Grid Data Store Data Access JBoss JBoss WildFly Spring WildFly Spring Vert.x EAP EAP Swarm Boot Swarm Boot OPENSHIFT | RHOAR 13

  14. 3: USE APPLICATION SERVICES To speed up development - application services optimized for cloud and containers package com.example.demo.rest; import javax.enterprise.context.ApplicationScoped; IMDG API Mgmt import javax.ws.rs.Path; import javax.ws.rs.core.Response; import javax.ws.rs.GET; import javax.ws.rs.Produces; @ApplicationScoped Data @Path("/hello") Messaging public class HelloWorldEndpoint { Virtualization @GET @Produces("text/plain") public Response doGet() { return Response.ok( "Hello from MicroProfile!").build(); BRMS } BPM } Integration Mobile Serverless Connectors Services 14

  15. 4: CHOOSE RIGHT TOOL FOR RIGHT TASK Multiple runtimes and frameworks “Most applications today are being constructed by teams of developers employing multiple languages.” Jakarta EE Developer Survey - April 2018 “87% of respondents are using or considering multiple technologies for microservices.” Red Hat 2017 Microservices Survey. Conducted by TechValidate, Nov. 2017. 15

  16. DEMO - RIGHT TOOL FOR RIGHT TASK 16

  17. COOLSTORE SERVICES

  18. CHAINING OF SERVICE Browser 1 Web App web gateway 1 8 Catalog Inventory microservice microservice Catalog Inventory database database catalog inventory

  19. 5: SELF-SERVICE ON-DEMAND INFRA To allow developers to access infra when they need it with IT Ops control & visibility 19

  20. 6: AUTOMATE IT TO ACCELERATE DELIVERY Integrated full-scale enterprise-wide automation AUTOMATION COLLABORATIVE SELF-SERVICE POLICIES AND SANDBOXES DIALOG CATALOGS PROCESSES For learning the automation Across organizations for That empower users and For metering, monitoring, and language and process defining service requirements speed delivery chargeback 20

  21. 7: IMPLEMENT CI/CD & ADV DEPLOY TECH CI/CD deployment pipelines - to provide updates w/o operational capacity & reduced risk Physical Virtual Source CI/CD Private cloud Container Dev Repository Engine Public cloud 21

  22. 7: IMPLEMENT CI/CD & ADV DEPLOY TECH Advanced deployment techniques Rolling upgrades Blue/Green deployment Canary releases A/B testing 22

  23. 8: EVOLVE A MORE MODULAR ARCH Microservices Architecture and its alternatives MICROSERVICES MONOLITHFIRST MINISERVICES 23

  24. CUSTOMER SUCCESSES 24

  25. ACCELERATE APPLICATION DELIVERY Containers, container orchestration, DevOps, CI/CD, automation Reduction in deployment time: 12 to 1 weeks 25

  26. MODERNIZE EXISTING APPS Migrate, evolve solutions - app svcs integrated & optimized to underlying container platform 60x faster application restart speeds DECREASED platform support costs and time, freeing resources for innovative service development 26

  27. 27

  28. THANK YOU plus.google.com/+RedHat facebook.com/redhatinc linkedin.com/company/red-hat twitter.com/RedHat youtube.com/user/RedHatVideos

Recommend


More recommend