O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernetes and Cloud Foundry

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio

Confira estes a seguir

1 de 65 Anúncio

Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernetes and Cloud Foundry

Tour through the history of middleware from old architectures to cloud-native middleware microservices leveraging Docker, Kubernetes, Cloudfoundry.

Microservices are the next step after SOA: Services implement a limited set of functions. Services are developed, deployed and scaled independently. Continuous Delivery automates deployments. This way you get shorter time to results and increased flexibility. Containers improve these even more offering a very lightweight and flexible deployment option.

In the middleware world, you use concepts and tools such as an Enterprise Service Bus (ESB), Complex Event Processing (CEP), Business Process Management (BPM) or API Gateways. Many people still think about complex, heavyweight central brokers. However, Microservices and containers are relevant not just for custom self-developed applications, but they are also a key requirement to make the middleware world more flexible, agile and automated.

This session focuses on live coding to demonstrate how to develop, deploy and operate cloud-native microservices in the middleware world. The live demos leverage frameworks and tools such as Docker, Kubernetes, Cloud Foundry, Consul, Spring Cloud Config, Eureka and Hystrix.

Tour through the history of middleware from old architectures to cloud-native middleware microservices leveraging Docker, Kubernetes, Cloudfoundry.

Microservices are the next step after SOA: Services implement a limited set of functions. Services are developed, deployed and scaled independently. Continuous Delivery automates deployments. This way you get shorter time to results and increased flexibility. Containers improve these even more offering a very lightweight and flexible deployment option.

In the middleware world, you use concepts and tools such as an Enterprise Service Bus (ESB), Complex Event Processing (CEP), Business Process Management (BPM) or API Gateways. Many people still think about complex, heavyweight central brokers. However, Microservices and containers are relevant not just for custom self-developed applications, but they are also a key requirement to make the middleware world more flexible, agile and automated.

This session focuses on live coding to demonstrate how to develop, deploy and operate cloud-native microservices in the middleware world. The live demos leverage frameworks and tools such as Docker, Kubernetes, Cloud Foundry, Consul, Spring Cloud Config, Eureka and Hystrix.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernetes and Cloud Foundry (20)

Anúncio

Mais de Kai Wähner (20)

Mais recentes (20)

Anúncio

Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernetes and Cloud Foundry

  1. 1. Kai Wähner Technology Evangelist kontakt@kai-waehner.de LinkedIn @KaiWaehner www.kai-waehner.de Cloud / DevOps Meetup Hannover (January 2017) Cloud-Native Microservices and Containers in the Middleware World
  2. 2. © Copyright 2000-2016 TIBCO Software Inc. Processes Analytics APIs Streams & Events Interconnect Everything Devices Equipment CORE Run the Business EDGE Change the Business People
  3. 3. © Copyright 2000-2016 TIBCO Software Inc. Evolving Demands from the Business AGILITY & SPEED REDUCED CYCLE TIMES WEB SCALE LOWER COST FAIL FAST
  4. 4. © Copyright 2000-2016 TIBCO Software Inc. • Integration is key for success in today’s agile and always changing world • Modern middleware leverages containers and microservices • A cloud-native architecture enables flexible and agile development Key Takeaways
  5. 5. © Copyright 2000-2016 TIBCO Software Inc. 1) Middleware Overview 2) Microservices 3) Cloud Native 4) Cloud Native Middleware Microservices 5) Live Demo Agenda
  6. 6. © Copyright 2000-2016 TIBCO Software Inc. 1) Middleware Overview 2) Microservices 3) Cloud Native 4) Cloud Native Middleware Microservices 5) Live Demo Agenda
  7. 7. © Copyright 2000-2016 TIBCO Software Inc. “Middleware is computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue”. Middleware makes it easier for software developers to implement communication and input/output, so they can focus on the specific purpose of their application.” Wikipedia (https://en.wikipedia.org/wiki/Middleware) Middleware
  8. 8. © Copyright 2000-2016 TIBCO Software Inc. Middleware Application Integration „Big SOA Application“ Process Integration „Business Process Application“ Streaming Analytics „Streaming Application“ Cloud-Ready On Premise Public Cloud CRM ERM Host ...
  9. 9. © Copyright 2000-2016 TIBCO Software Inc. #1 On premise will not die. Not everything will or should go to the cloud!
  10. 10. © Copyright 2000-2016 TIBCO Software Inc. Development Environment for Middleware Zero Coding Code Everything or anything in between
  11. 11. © Copyright 2000-2016 TIBCO Software Inc. #2 Visual coding works, even for very complex scenarios. Forget the early 2000 SOA days!
  12. 12. © Copyright 2000-2016 TIBCO Software Inc. 1) Middleware Overview 2) Microservices 3) Cloud Native 4) Cloud Native Middleware Microservices 5) Live Demo Agenda
  13. 13. © Copyright 2000-2016 TIBCO Software Inc. Microservices • Suite of small services running in its own process • Communication via lightweight mechanisms • Built around business capabilities • Independently deployable, written in different languages and using different data stores • Bare minimum of centralized management à Shorter time to results and increased flexibility à Replace small pieces instead of a complete application
  14. 14. © Copyright 2000-2016 TIBCO Software Inc. 14 Microservices Example http://www.ibm.com/developerworks/cloud/library/cl-bluemix-microservices-in-action-part-1-trs/ Each tile is a microservice “bookflights” interacts with other microservices Height corresponds to usage Each microservice can be Independently managed à Shorter time to results and increased flexibility / scalability à Replace small pieces instead of a complete application
  15. 15. © Copyright 2000-2016 TIBCO Software Inc. Middleware Microservices Application Integration „Integration Service 1“ Cloud-Ready On Premise Public Cloud CRM ERM Host ... Application Integration „Integration Service 2“ Application Integration „Integration Service 3“ Process Integration „Business Process Service 1“ Streaming Analytics „Streaming Service 1“ Process Integration „Business Process Service 1“ Streaming Analytics „Streaming Service 2“
  16. 16. © Copyright 2000-2016 TIBCO Software Inc. Various Forms of (Micro)Services Integration Service Monolith application SOA Integration Service Service ServiceService Service API Management SaaS Service BPM Service
  17. 17. © Copyright 2000-2016 TIBCO Software Inc. Distributed Microservice Architecture http://blogs.gartner.com/gary-olliffe/2015/01/30/microservices-guts-on-the-outside/ ”That complexity has moved and […] increased [to] the outer architecture.”
  18. 18. © Copyright 2000-2016 TIBCO Software Inc. New Challenges Emerging… http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html ”[…] when considering Microservice like architectures, it's really important to not be attracted to the hype on this one as the challenges and costs are as real as the benefits." • Different Languages / Technologies • DevOps Skills Required • Distributed System Complexity • Distributed Configuration • Service Discovery • Resiliency • Client Side Load Balancing • Testability Challenges • Orchestration / Integration • Spaghetti Communication (again ?!) • Re-Delivery • Re-Route • Cache • ...
  19. 19. © Copyright 2000-2016 TIBCO Software Inc. New Design Patterns Emerging… Resilience Design Patterns Features • Fail fast and rapidly recover • Prevent cascading failures • Latency tolerance logic • Fault tolerance logic • Fallback Options http://martinfowler.com/bliki/CircuitBreaker.html https://github.com/Netflix/Hystrix/wiki maxFailures = 5 resetTimeout = 1min callTimeout = 10s à maxFailures++ Example: Circuit Breaker
  20. 20. © Copyright 2000-2016 TIBCO Software Inc. #3 Microservices are not free lunch. They do not fit into every scenario!
  21. 21. © Copyright 2000-2016 TIBCO Software Inc. Open API and API Management
  22. 22. © Copyright 2000-2016 TIBCO Software Inc. New Design Patterns Emerging… http://samnewman.io/patterns/architectural/bff https://www.thoughtworks.com/insights/blog/bff-soundcloud Example: Backends for Fronteds (BfF) ?
  23. 23. © Copyright 2000-2016 TIBCO Software Inc. #4 Design Microservices with open APIs in mind!
  24. 24. © Copyright 2000-2016 TIBCO Software Inc. 1) Middleware Overview 2) Microservices 3) Cloud Native 4) Cloud Native Middleware Microservices 5) Live Demo Agenda
  25. 25. © Copyright 2000-2016 TIBCO Software Inc. “Cloud washing is the purposeful and sometimes deceptive attempt by a vendor to rebrand an old product or service by associating the buzzword ‘cloud’ with it [and offering it via a public cloud infrastructure].” Cloud Washing http://searchcloudstorage.techtarget.com/definition/cloud-washing !
  26. 26. © Copyright 2000-2016 TIBCO Software Inc. 12 Factor Apps for Cloud Native Microservices Codebase One codebase tracked in revision control, many deploys. Dependencies Explicitly declare and isolate dependencies. Config Store config in the environment. Backing Services Treat backing services as attached resources. Build, Release, Run Strictly separate build and run stages. Processes Execute the app as one or more stateless processes. Port Binding Export services via port binding. Concurrency Scale out via the process model. Disposability Maximize robustness with fast startup and graceful shutdown. Dev / Prod Parity Keep dev, staging, and prod as similar as possible. Logs Treat logs as event streams. Admin Processes Run admin/mgmt tasks as one-off processes. https://12factor.net/
  27. 27. © Copyright 2000-2016 TIBCO Software Inc. • Scalable services • Service Discovery • Load balancing and failover • Resiliency • DevOps and automation • Usage of public cloud platforms, but also private or hybrid • Self-service, pay-as-you-use, multi-tenancy • Vendor-agnostic deployment Cloud Native (à not just Microservices) à Focus on business problems (after initial start-up efforts)
  28. 28. © Copyright 2000-2016 TIBCO Software Inc. #5 Cloud-Native means much more than a “cloud-washed” application deployed to a cloud provider!
  29. 29. © Copyright 2000-2016 TIBCO Software Inc. == The Momentum of Containers How to deploy independent Applications or (Micro)Services? Garden
  30. 30. © Copyright 2000-2016 TIBCO Software Inc. Why Containers? http://www.slideshare.net/andersjanmyr/docker-the-future-of-devops Containers enable: • Lightweight deployment • Automation • Better resource utilization • Scaling up and down quickly • Platform agnostic deployment • Innovation and Fail Fast Concepts • Standardization ? Ø The Open Container Initiative (OCI) Ø Docker Fork Discussions (!!!)
  31. 31. © Copyright 2000-2016 TIBCO Software Inc. #6 Microservices and Containers are often used together, but also work very well without each other!
  32. 32. © Copyright 2000-2016 TIBCO Software Inc. Cloud-Native Architecture Containers are just the Foundation for a Cloud Native Architecture!
  33. 33. Cloud Native Platform (Infrastructure-as-a-Service) Choose your IaaS Private or Hybrid Cloud Reduced costs of Infra Self-hosted & Controlled Env Servers Storage Network IaaS
  34. 34. Cloud Native Platform (Platform-as-a-Service) Choose your PaaS / Container Cloud-Native App Dev Self-service agile infrastructure Elasticity & Scalability OS & Containers Scalability Routing Logging / Monitoring PaaS
  35. 35. © Copyright 2000-2016 TIBCO Software Inc. Cloud Native Platform (IaaS + PaaS) Choose your IaaS Choose your PaaS / Container Private or Hybrid Cloud Cloud-Native App Dev Reduced costs of Infra Self-service agile infrastructure Self-hosted & Controlled Env Elasticity & Scalability Servers Storage Network OS & Containers Scalability Routing Logging / Monitoring PaaS IaaS
  36. 36. © Copyright 2000-2016 TIBCO Software Inc. Kubernetes (K8S) http://kubernetes.io/docs/getting-started-guides/#cloud
  37. 37. © Copyright 2000-2016 TIBCO Software Inc. Kubernetes on Google Cloud Platform http://kubernetes.io/docs/hellonode/
  38. 38. © Copyright 2000-2016 TIBCO Software Inc. Cloud Foundry http://www.slideshare.net/cdavisafc/cloud-foundry-technical-overview
  39. 39. © Copyright 2000-2016 TIBCO Software Inc. #7 Containers are a lower level technology. Only the infrastructure provider should care, but not the application developer!
  40. 40. © Copyright 2000-2016 TIBCO Software Inc. Apache Mesos – a “Cloud Operating System” http://www.slideshare.net/Docker/building-web-scale-apps-with-docker-and-mesos/30 • Enterprises have to manage different clusters with different technologies • Based on containers (but no specific technology, e.g. you can use Docker and rkt!
  41. 41. © Copyright 2000-2016 TIBCO Software Inc. “The basic resource for CaaS is a container, rather than a virtual machine (VM) or a bare metal hardware host system.” Container-as-a-Service (CaaS) http://searchcloudcomputing.techtarget.com/definition/Containers-as-a-Service-CaaS
  42. 42. © Copyright 2000-2016 TIBCO Software Inc. Serverless Computing • Bring a function (not an entire application) up for one single request. • No cluster or server instance management. • Small microservice-style functions running for a few (milli)seconds or at latest a few minutes. • 100% utilization (!!!) “Sponsored by Red Hat / JBoss"
  43. 43. © Copyright 2000-2016 TIBCO Software Inc. … the Container Wars just began! https://www.infoq.com/articles/ container-landscape-2016
  44. 44. © Copyright 2000-2016 TIBCO Software Inc. #8 Be cloud platform agnostic. The (container) world changes fast!
  45. 45. © Copyright 2000-2016 TIBCO Software Inc. DevOps Elements – Culture and Technology! Process Tools Automation Culture Continuous Integration/ Continuous Development APIs MicroservicesFrequent releases Collaboration
  46. 46. © Copyright 2000-2016 TIBCO Software Inc. #9 Automation (CI / CD / DevOps) and the related cultural change are key for success. Especially for Cloud-Native Microservices!
  47. 47. © Copyright 2000-2016 TIBCO Software Inc. 1) Middleware Overview 2) Microservices 3) Cloud Native 4) Cloud Native Middleware Microserivces 5) Live Demo Agenda
  48. 48. © Copyright 2000-2016 TIBCO Software Inc. Hybrid Integration Platform (HIP) Application Integration Application Integration (on a PaaS) iPaaS Integration Platform as a Service iSaaS Integration Software as a Service Cloud-Ready Cloud-Native API Management On Premise Public Cloud Public Cloud Public Cloud On Premise Public Cloud Process Integration Business Process Management Platform Streaming Analytics Fog Computing Edge Devices Edge Integration Analysts are sure: HIP is “the new default” in most enterprises!
  49. 49. © Copyright 2000-2016 TIBCO Software Inc. Cloud, Container, PaaS, iPaaS, iSaaS, Coding, Visual Dev, … Show me some different cloud native middleware examples!
  50. 50. © Copyright 2000-2016 TIBCO Software Inc. • Open Source • Runs on OpenShift PaaS (which is based on Kubernetes) • Also available as iPaaS • JBoss Fuse (based on Apache Camel and JBoss A-MQ) • For Integration Specialists • Focus on writing source code JBoss Middleware Services https://www.openshift.com/container-platform/middleware-services.html
  51. 51. © Copyright 2000-2016 TIBCO Software Inc. JBoss Example: Apache Camel Integration Service Java DSL new RouteBuilder() { public void configure() { from(”jms:myQueue").loadBalance() .circuitBreaker(2, 1000L, MyCustomException.class) .to("mock:result"); }}; XML DSL <route> <from uri=“jms:myQueue"/> <loadBalance> <circuitBreaker threshold="2" halfOpenAfter="1000"> <exception>MyCustomException</exception> </circuitBreaker> <to uri="mock:result"/> </loadBalance> </route>
  52. 52. © Copyright 2000-2016 TIBCO Software Inc. WSO2 http://wso2.com/cloud/paas/ • Open Source • Runs on different cloud platforms • Also available as iPaaS • WSO2 Products (like ESB or CEP) containerized for cloud offerings • WSO2 Microservices Framework for Java • For Integration Specialists • Focus on writing source code and configuration
  53. 53. © Copyright 2000-2016 TIBCO Software Inc. • Available only as iPaaS (hosted runtime and IDE) • Focus on visual coding and productivity • Web IDE • For Ad-Hoc Integrators Dell Boomi http://www.boomi.com
  54. 54. © Copyright 2000-2016 TIBCO Software Inc. TIBCO • Runs on different cloud platforms (TIBCO Container Edition) • Also available as iPaaS (TIBCO Cloud Integration) • Focus on visual coding and productivity • Powerful IDE (Visual Coding) + Web user interface • For Integration Specialists and Ad-hoc Integrators
  55. 55. © Copyright 2000-2016 TIBCO Software Inc. • Simple – often personal - integration scenarios • Web based integration • For business users (also called Citizen Integrators) iSaaS http://bamageek.com/wp-content/uploads/2013/09/IFTTT-_-My-Recipes-1.pnghttps://www.snaplogic.com/ https://simplr.tibco.com https://ifttt.com/
  56. 56. © Copyright 2000-2016 TIBCO Software Inc. Commonalities: • Open source frameworks • Connectivity to IoT technologies (MQTT, CoaP, REST, …) • Web UI for visual coding, testing, debugging • Deployable “at the edge” • For developers / integration specialists / citizen integrators • Extendable SDKs / APIs Edge Integration - Open Source IoT Process Engines
  57. 57. Edge Integration - Open Source IoT Process Engines Eclipse Kura Node-RED Flogo VM JVM V8 Golang Base Disk Space 59 MB 56 MB ~ 0 MB Base Runtime Memory ~ 170 MB (with Open JDK) ~ 20 MB (with Oracle Embedded Java) > 50 MB ~ 5 MB Startup time Slow (~8 sec) Slow (~5 sec) Fast (~1 sec) Application Build Slow Not Applicable Fast (~2 secs)
  58. 58. © Copyright 2000-2016 TIBCO Software Inc. #10 Establish a hybrid integration architecture to solve different business requirements!
  59. 59. © Copyright 2000-2016 TIBCO Software Inc. 1) Middleware Overview 2) Microservices 3) Cloud Native 4) Cloud Native Middleware Microservices 5) Live Demo Agenda
  60. 60. © Copyright 2000-2016 TIBCO Software Inc. TIBCO’s Cloud Agnostic Platform On-Premise Cloud-Native Apps, Managed Services Cloud, IaaS, PaaS (public, private, hybrid)
  61. 61. © Copyright 2000-2016 TIBCO Software Inc. Develop Deploy Commit Build Config Demo Setup
  62. 62. © Copyright 2000-2016 TIBCO Software Inc. Live Demo Cloud-Native Middleware Development with • Pivotal Cloud Foundry • Spring Cloud Config • Docker • Kubernetes • Consul • TIBCO BusinessWorks Container Edition • TIBCO Mashery • Papertrail
  63. 63. © Copyright 2000-2016 TIBCO Software Inc. #1 - On premise will not die. Not everything will or should go to the cloud! #2 - Tools (visual coding) works, even for very complex scenarios. Forget the early 2000 SOA days! #3 - Microservices are not free lunch. They do not fit into every scenario! #4 - Design Microservices with open APIs in mind! #5 - Cloud-Native means much more than a “cloud-washed” application deployed to a cloud provider! #6 - Microservices and Containers are often used together, but also work very well without each other! #7 - Containers are a lower level technology. Only the infrastructure provider should care, but not the application developer! #8 - Be cloud platform agnostic. The world changes fast! #9 - Automation (CI / CD / DevOps) and the related cultural change is key for success. Especially for Cloud-Native Microservices! #10 - Establish a hybrid integration architecture to solve different business requirements! 10 Lessons Learned
  64. 64. © Copyright 2000-2016 TIBCO Software Inc. • Integration is key for success in today’s agile and always changing world • Modern middleware leverages containers and microservices • A cloud-native architecture enables flexible and agile development • A Hybrid Integration Platform helps focusing on business problems Key Takeaways
  65. 65. Questions? Please contact me! Kai Wähner Technology Evangelist kontakt@kai-waehner.de @KaiWaehner www.kai-waehner.de LinkedIn

×