This deck explains how services, meshes, and API Management co-exist. We would also draw references to WSO2 API Manager and how it can be used with Isitio Service Mesh to manage APIs that are exposed for consumption.
[APIdays Singapore 2019] API Management in a Istio Service Mesh with WSO2 API Manager
1. API Management in a Istio Service Mesh
with WSO2 API Manager
Sanjeewa Malalgoda
Nadeesha Gamage
2. Evolution of applications
Disaggregated architectures drive 50 billion endpoints to grow >1 trillion
CONSUMER DEMAND
SUPPLIERS DISAGGREGATE ARCHITECTURE TO MEET DEMAND
1
10
102
103
105
109
MONOLITHIC
BUSINESS APP
ENTERPRISE
APPS
DEPARTME
NTAL APPS
SAAS APPS
PUBLIC /
PRIVATE APIS
1970s
|
MAINFRAME
1980s
|
IT
AWAKENING
1990s
|
INTERNET
2000s
|
MOBILE
2010s
|
IoT/AI
2020+
|
DIGITAL NATIVE
SERVERLESS &
MICROSERVICES
3. Why Microservices Architecture?
● Individual components. Running, testing, deploying
individually.
● Agility, flexibility and speed to market.
● Adapt microservice development for fast innovation.
● Smaller teams, agile software development life cycles
● Freedom to use heterogeneous technologies, early
feedback cycles
4. Why Microservices Architecture?
● Microservice architectural style is an approach to
developing a single application as a suite of small
services.
● Each running in its own process and communicating
with lightweight mechanisms.
● These services are built,Around business capabilities.
● Independently deployable by fully automated
deployment machinery.
5. Problem with “big application” (a.k.a. “monolithic”)
Let say you have bigger application and you need to scale
it.
Why Microservices
6. Split your “bigger application” into smaller granules that can be
deployed independently
Split into Microservices. So we can implement each smaller business
function most effective way(language, platform, expertise).
Why Microservices
7. Split your “bigger application” into smaller granules that
can be deployed independently
Split into Microservices. So we can implement each
smaller business function most effective way(language,
platform, expertise).
Why Microservices
8. Scale/ Replicate each component individually. Because
each smaller service is microservice now. And they can
be deploy independently.
Why Microservices
9. ● Breaking up monoliths into microservices adds more
components.
● Easy to manage at the beginning but becomes very
complex when things scale.
Microservices Challenges
12. • Secure communication between services.
• Analytics, tracing, monitoring
• Disaggregation of architecture increases number of
endpoints.
• Communication among these endpoints will be a key
challenge.
• Service discovery.
• Network resiliency.
• Secure communication.
Challenges with Microservices
14. Service Mesh
A service mesh is a dedicated infrastructure layer that
controls service-to-service communication over a network.
It provides a method in which separate parts of an
application can communicate with each other.
source:techtarget.com
15. Multiple Service Mesh implementations that are available
today
● Istio
● Gloo
● AWS App mesh
● Linkerd
Service Mesh Implementations
16. Istio is an open source service mesh implementation which
provides behavioral insights and operational control over
the service mesh as a whole, offering a complete solution
to satisfy the diverse requirements of microservice
applications.
Istio
17. Istio Component Overview
• Mixer enforces access control and usage policies across the
service mesh, and collects telemetry data from the Envoy
proxy and other services.
• Pilot provides service discovery for the Envoy sidecars,
traffic management capabilities for intelligent routing, and
resiliency.
• Citadel enables strong service-to-service and end-user
authentication with built-in identity and credential
management.
19. • When users need to expose microservices services to
outside in a secured and a controlled manner.
• When fine grained security should be enforced on APIs
exposed.
• When stats need to be collected on API usage for
monetization and billing.
• When it is required to offer a marketplace for APIs for
easy discovery and adoption.
When is API Management required in a Service Mesh
31. What’s Coming Up In The Future
● API usage analytics from API Manager.
● Automated binding creation and deployment to Istio.
● Monetization on usage.
● Throttling and rate limiting of APIs.