SlideShare a Scribd company logo
Cloud-native Integration for the
Enterprise
Chintana Wilamuna
Becoming a cloud
native enterprise
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
Smart endpoints and dumb pipes
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
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
Integration problems
that go beyond a
service mesh
Application integration considerations
https://docs.microsoft.com/en-us/azure/architecture/patterns/
CQRS
• Command Query Responsibility Segregation
https://www.martinfowler.com/bliki/CQRS.html
Anti-corruption layer
https://docs.microsoft.com/en-us/azure/architecture/patterns/anti-corruption-layer
Event sourcing
https://docs.microsoft.com/en-us/azure/architecture/patterns/event-sourcing
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
An example: User create
new account, receive
activation email
Simple use case - L0
Simple use case - L1
How WSO2 help?
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
“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
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
Ballerina
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
THANK YOU
wso2.com

More Related Content

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