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. Smart endpoints and dumb pipes
ls | grep examples | du -h -d 1 | cut -f 2 | sort
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
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