1 / 72

Oracle Code Roma, 4 april 2019

Business and IT agility through DevOps and microservice architecture powered by containers and cloud. Oracle Code Roma, 4 april 2019 Lucas Jellema,  CTO & Architect AMIS, Oracle Groundbreaker Ambassador. How do we implement microservices ?.

czavala
Download Presentation

Oracle Code Roma, 4 april 2019

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Business and IT agilitythrough DevOps and microservice architecture powered by containers and cloud Oracle Code Roma, 4 april 2019 Lucas Jellema, CTO & Architect AMIS, Oracle GroundbreakerAmbassador Business and IT agility through DevOps and microservice architecture

  2. How do we implement microservices? • And how we make the containers horizontally scalable How do we get from a Monolith to Microservices? Business and IT agility through DevOps and microservice architecture

  3. Why?What?How? Business and IT agility through DevOps and microservice architecture

  4. Whatis IT all about? Production Runtime Application Business and IT agility through DevOps and microservice architecture

  5. Whatis IT all about? Production Runtime Application Business value Platform Business and IT agility through DevOps and microservice architecture

  6. Objectives • Business Agility • In functionality: quick, cheap, effortless and risk free • IT Agility • In non-functionality: scale, resilience, infrastructure & location • Real working applications with rapid relevant evolution that run reliably Business and IT agility through DevOps and microservice architecture

  7. Whatis IT all about? Production Runtime Operations Monitoring & Management Application Platform Platform Platform Business and IT agility through DevOps and microservice architecture

  8. Production Runtime is theResult of Preparation Runtime Preparation Runtime Production Runtime Development Operations Monitoring & Management Application Application Agile Design, Build, Test Platform Platform CD Business and IT agility through DevOps and microservice architecture

  9. What? Business and IT agility through DevOps and microservice architecture

  10. One team has Agile responsibilitythrough full lifecyle Preparation Runtime Production Runtime Development Operations Monitoring & Management Application Application Agile Design, Build, Test Platform Platform CD Business and IT agility through DevOps and microservice architecture

  11. One team has Agile responsibilitythrough full lifecyle Preparation Runtime Production Runtime DevOps Development Operations Monitoring & Management Application Application Agile Design, Build, Test Platform Platform CD You build it, you run it, you fix it, you evolve Business and IT agility through DevOps and microservice architecture

  12. One team has Agile responsibilitythrough full lifecyle DevOps Application Application Platform Platform You build it, you run it, you fix it, you evolve Business and IT agility through DevOps and microservice architecture

  13. Business and IT agility through DevOps and microservice architecture

  14. Business and IT agility through DevOps and microservice architecture

  15. Monitoring & Management Agile Design, Build, Test Business and IT agility through DevOps and microservice architecture

  16. Functional requirements Non Functional demands Business and IT agility through DevOps and microservice architecture

  17. Small, manageable, decoupled, stateless (horizontallyscalable), “buybeforebuild” Functional requirements Functional Monitoring & Tracing (APM), Health Checks DeployFrequently Automated Pipeline, Canary, RegressionTesting, Smoke Tests Monitoring & Management Agile Design, Build, Test CD Chaos Monkey AutomatedScalability, Distributed, Recoverable Test Less Platform and Infra as Code: automated, versioncontrolled Non Functional demands Business and IT agility through DevOps and microservice architecture

  18. DevOps team ownsand runs one (or more) products Application Platform Generic Infrastructure Platform for running DevOps Products Monitoring, Management, Cache, Authentication, RDBMS, Event Hub Floorspace, Power, Cooling, Storage, Compute Business and IT agility through DevOps and microservice architecture

  19. Multiple products from multiple teams run on a shared generic infrastructure Application Application Application Application Application Platform Platform Platform Platform Platform Generic Infrastructure Platform for running DevOps Products Monitoring, Management, Cache, Authentication, RDBMS, Event Hub Floorspace, Power, Cooling, Storage, Compute Business and IT agility through DevOps and microservice architecture

  20. (Application plus platform)underDevOps == µ µ µ µ µ Microservice Generic Infrastructure Platform for running DevOps Products Business and IT agility through DevOps and microservice architecture

  21. Software Objectives • Develop/evolve • At scale (teams) • Agile • Innovativetechnology • Quick ramp up (new team members) • Manage • Agile (quick, reliablerollout) • Scaleable • Reliable • Physicallydistributed • Robust (ifone part fails, noteverything is dragged down) Business and IT agility through DevOps and microservice architecture

  22. What? • Realistic approach (technology, people, process) => Something that works! • No dependency on individuals • Able to scale in rate of change • Small, well: comprehensible, manageable • Clear business ownership • Stand alone /isolated/encapsulated (in terms of change, release/deploy, scale, location, implementation technology) • Provide clear and meaningful functionality in a way that it can be consumed • One microservice does not completely fall over when other microservices break (or are redeployed) • Able to scale elastically & horizontally and relocate easily • A microservice exists within a single bounded context • Multiple microservices can share thesamebounded context Business and IT agility through DevOps and microservice architecture

  23. Microservices Architecture • Bounded Context or Domain, Team Ownership, Loose dependenciesoutsidedomains, independently (re)deployablecomponents Business and IT agility through DevOps and microservice architecture

  24. scale scale scale scale scale scale scale scale scale scale test test test test test test test test test own own own own own own own own own test monitor monitor monitor monitor monitor monitor monitor monitor monitor monitor deploy deploy deploy deploy deploy deploy deploy deploy deploy own organize organize organize organize organize organize organize organize organize manage manage manage manage manage manage manage manage manage deploy organize manage µ µ µ µ µ µ µ µ µ µ vs. Business and IT agility through DevOps and microservice architecture

  25. µ µ [mini] µonolith µ µ Business and IT agility through DevOps and microservice architecture

  26. Ownedby Business Manager X High Change Rate HighlyAvailable Needstoscale up to 10x between 7-10PM Canbedoneby team of 5 µ µ Ownedby Business Manager Y Business Hours availability SomeHighly Secure Data Fairly constant load Verystrict QA steps in CI/CD process Canbedoneby team of 3 Business and IT agility through DevOps and microservice architecture

  27. Webshop Web Shop Portal Backend Business and IT agility through DevOps and microservice architecture

  28. Microservices based Webshop Web Shop Portal µ Customers µ Orders µ Products µ Loyalty µ Finance µ Logistics µ Customers µ Orders µ Products µ Loyalty µ Finance Business and IT agility through DevOps and microservice architecture

  29. Warehousing µ µ Logistics Shipping Business and IT agility through DevOps and microservice architecture

  30. How? Business and IT agility through DevOps and microservice architecture

  31. How microservices • One team ownsthe microservice andcan do functionalandtechnicalevolutionanddeploymentcontinuouslyandindependently • The business ownership is clearly defined Application Platform Business and IT agility through DevOps and microservice architecture

  32. The Microservice HTTP REST/JSON API Business and IT agility through DevOps and microservice architecture

  33. Extended API of microservice • Deployment API • Injectabledependencies – referenceto cache, logging, storage URL, … • Configurable meta-data – run time parameters, log level, credential (key) • Interaction API • REST Resources & Operations – query and URL parameters, message formats • Events Consumed – alternative way to call | activate a microservice • Reference to entry in Event Catalog • May includereferenceto shared Cache Resource • Events Produced – alternative output from microservice • Event canbeanasynchronous response to a statelessconsumer API Business and IT agility through DevOps and microservice architecture

  34. Events Consumers Producers Robust, Scalable, Fast, Durable: History Retention Containerized/Cloud-enabled Open (cross technology) Business and IT agility through DevOps and microservice architecture

  35. Microservices based Webshop Web Shop Portal µ Customers µ Orders µ Products µ Loyalty µ Finance µ Logistics µ Customers µ Orders µ Products µ Loyalty µ Finance Business and IT agility through DevOps and microservice architecture

  36. …. Event-(First) Driven Shop • Product Update • Product added to Shopping Cart Products Event Hub Topic X Topic Y Topic Z Topic Q • New Customer • Customer Profile Changed • Customer Sign In • Order Payment Received • Customer Frozen Customers • Product Stock Update • Shipping News • Customer Loyalty Status Change • Order Create • Order Cancelled Loyalty Program Order Logistics Finance Business and IT agility through DevOps and microservice architecture

  37. How?Run & Operate Business and IT agility through DevOps and microservice architecture

  38. Run & Operate Microservices µ µ µ µ µ • Rapid rollout • Including scale out & recover • Non breaking upgrade & rollbackstrategies (e.g. canary release) • Agile infrastructure • Relocate, independent ofinfra specifics • Health management • Monitor and safeguard SLA requirements on response time, success and availability • Scale elastically • TCO management • DevOps: one team creates and runs Generic Infrastructure Platform for running DevOps Products Business and IT agility through DevOps and microservice architecture

  39. The elephant in the room… whale Business and IT agility through DevOps and microservice architecture

  40. Setup for Oracle OpenWorld DemoWhat I needed • Local installation of a Kafka Cluster • At least one Broker node and the Zookeeper Demo Application Kafka Broker Zookeeper Business and IT agility through DevOps and microservice architecture

  41. Setup for Oracle OpenWorld DemoWhat I received from Guido • Simple text file – 140 lines Name of Docker image to run Hostname on internal network between Docker containers Dependency on other container (to start first) Container port to expose externally Environment variable to pass to container Business and IT agility through DevOps and microservice architecture

  42. Setup for Oracle OpenWorld DemoWhat I created in a few minutes 9092 Kafka Broker 8084 Kafka Rest Proxy 2181 Zookeeper 8081 Kafka Schema Registry 8001 8083 Kafka Connect Kafka Connect UI 9000 8002 Kafka Manager Kafka Schema Registry UI Business and IT agility through DevOps and microservice architecture

  43. Some Quick Conclusions • Docker provides a great way to • Build environments (application & platform)(from simple, text based build files & public images) • Share & Ship these environments (either through build files or through ready-to-run images) • Run environments making efficient use of physical resources(that can be complex and have complex interdependencies) • And Guido is a very nice guy • And also: • [Docker] Containers are pivotal in cloud native environments, microservices architecture, DevOps and CD • Any IT professional should know her or his way around containers Business and IT agility through DevOps and microservice architecture

  44. Docker Hub Running Containers using Docker Container images • Create Container(s)from Image plus: • Port mapping • Volume • Environment Variable • (inter container)Network • Startup script Memory Application A Application B Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services CPUs Application C Network interface IP address Ports Users & groups Environment Variables Packages Services Network interface IP address Ports Users & groups Environment Variables Packages Services Docker Engine Disk Storage Business and IT agility through DevOps and microservice architecture

  45. Containers • As vehicle for: • Encapsulate • Build • Share & Ship • Automated Tests • Deploy • Run • Scale • Relocate • Standardize Business and IT agility through DevOps and microservice architecture

  46. Looking for a runtime platform for Compute Node Business and IT agility through DevOps and microservice architecture

  47. Looking for a runtime platform for Compute Node Compute Node Compute Node Business and IT agility through DevOps and microservice architecture

  48. Looking for a runtime platform for Compute Node Compute Node Compute Node Business and IT agility through DevOps and microservice architecture

  49. Looking for a runtime platform for Compute Node Compute Node Compute Node Business and IT agility through DevOps and microservice architecture

  50. Looking for a runtime platform for Compute Node Compute Node Compute Node Business and IT agility through DevOps and microservice architecture

More Related