[WSO2 API Day Dallas 2019] Cloud-native Integration for the Enterprise
- 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
- 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. 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
- 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
- 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. “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. 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
- 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