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.

[WSO2 API Day Chicago 2019] Cloud-native Integration for the Enterprise

39 views

Published on

The deck covers the ways of becoming a cloud-native enterprise. It further discusses the ways in which WSO2 can help you in the process.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

[WSO2 API Day Chicago 2019] Cloud-native Integration for the Enterprise

  1. 1. Cloud-native Integration for the Enterprise Chintana Wilamuna
  2. 2. Becoming a cloud native enterprise
  3. 3. Becoming cloud native • {micro, mini} services, API first, containers, CI/CD • Cloud native runtime - docker, k8s • Smart endpoints and dumb pipes – Moving away from centralized ESBs • Buy in from people and processes • Carefully evaluate benefits and costs
  4. 4. Smart endpoints and dumb pipes ls | grep examples | du -h -d 1 | cut -f 2 | sort
  5. 5. Smart endpoints and dumb pipes - challenges • Going back to point to point communications • Service routing, security, caching etc… impl. at every service • OK for 1 or 2, hard for 100s of services • Increased code complexity of microservices
  6. 6. ServiceMesh! (duh) • Good at setting infrastructure policies – mTLS, traffic routing, load balance, service tracing • May not be the best solution for app integration • Application integration problems still remain
  7. 7. Integration problems that go beyond a service mesh
  8. 8. Application integration considerations https://docs.microsoft.com/en-us/azure/architecture/patterns/
  9. 9. CQRS • Command Query Responsibility Segregation https://www.martinfowler.com/bliki/CQRS.html
  10. 10. Anti-corruption layer https://docs.microsoft.com/en-us/azure/architecture/patterns/anti-corruption-layer
  11. 11. Event sourcing https://docs.microsoft.com/en-us/azure/architecture/patterns/event-sourcing
  12. 12. Resiliency • Network is always going to be unreliable • Multiple patterns – Bulkhead, Circuit Breaker, Timeouts, Compensating Transactions • Important to make chained calls robust • Prevent cascading failures
  13. 13. An example: User create new account, receive activation email
  14. 14. Simple use case - L0
  15. 15. Simple use case - L1
  16. 16. How WSO2 help?
  17. 17. Modernize ESB-like use cases - Micro-integrator • Reduced footprint runtime • Fast startup time • Functionally identical ESB runtime • Integration Studio – In-built micro-integrator runtime – Develop, build and deploy into containers – Integrated debugging
  18. 18. “Container-native” API gateway • API microgateway - lightweight, fast-boot gateway • Istio integration – Use API Manager as management plane – Use envoy proxy in Istio as the gateway • Self-contained gateways – Through self-contained tokens
  19. 19. Ballerina - https://ballerina.io • Purposefully designed programming language for microservices • In built message format support - JSON, XML • In built resiliency patterns - circuit breaker • HTTP, JMS, g-RPC, NATS, Swagger – And many more connectors • Generate docker/k8s artifacts at build time • Integrated unit test framework
  20. 20. Ballerina
  21. 21. Summary • Application integration problems are ubiquitous • Service mesh doesn’t completely solve app integration problems • Use the right tools and technology • Don’t underestimate human factor • Takes time. Start small
  22. 22. THANK YOU wso2.com

×