Take Control of your APIs in a Microservice Architecture

17
Take Control of Your APIs in a Microservice Architecture

Transcript of Take Control of your APIs in a Microservice Architecture

Page 1: Take Control of your APIs in a Microservice Architecture

Take Control of Your APIs in a Microservice Architecture

Manfred
Maybe adapt title to make it fit more obviously into the theme of the workshop, like:"Take Control of your APIs in a Microservice Architecture"
Page 2: Take Control of your APIs in a Microservice Architecture

Agenda

• Services Building Blocks

• Microservices and APIs

• Microservices Use-Case

• API Management Stack for MSA

• Security & Authentication• Rate-limit & Throttling • Reporting & Analytics • Microservice API

documentation

• Demo

Page 3: Take Control of your APIs in a Microservice Architecture

The 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, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery.

James Lewis and Martin Fowler: http://martinfowler.com/microservices/#what

Microservice Definition

Page 4: Take Control of your APIs in a Microservice Architecture

Microservices as a lightweight architectural style require a lightweight integration mechanism.MSA inherently require http API based service integration

But: APIs themselves are naked

- No security- No control- No visibility

Microservices and APIs

Page 5: Take Control of your APIs in a Microservice Architecture

The Microservices Use Case

The MSA Benefits • Agility and faster software delivery

• Flexibility

• Scalability, Redundancy

• Service Isolation

• Technology Mix

The MSA Challenge • Security, Access Control

• Rate-limit, Throttling

• Reports, Analytics

• Developer Experience

• Flexible Business Model (Monetization)

The need for API Management

Page 6: Take Control of your APIs in a Microservice Architecture

The API Use Case

The Internal API Use-Case • Value: huge gain in agility and ability

to deliver new solutions

• Moving to APIs is a process, not a project

• Progress by moving systems over time

• Always focus on the value of the APIs and who will benefit from using them

• Treat your internal APIs as first class citizens (as internal products)

The External API Use-Case • Value: New customer and partner

engagement opportunities

• APIs are a powerful backbone for new products and experiences – But use cases and the audience still needs to be thought through carefully

• Build it and they will come is rarely effective

• Work closely with product teams, customers and partners

• Excellent operations, developer experience pay dividends both in user satisfaction and in lower maintenance costs

Page 7: Take Control of your APIs in a Microservice Architecture

Typical API Management Use-Case

All of this should be controlled via API Management

Page 8: Take Control of your APIs in a Microservice Architecture

Services Building Blocks

Page 9: Take Control of your APIs in a Microservice Architecture

Mobile & IOT Support

Customer Ecosystem

Service Creation Process

• Design• Test• Implemen

t• Publish

• Define• Map• Secure• Report

Service Repository

Page 10: Take Control of your APIs in a Microservice Architecture

THE API MANAGEMENT STACK

Page 11: Take Control of your APIs in a Microservice Architecture

Security & Access Control

Page 12: Take Control of your APIs in a Microservice Architecture

Microservice API Security Different mechanisms for different purposes within the MSA

Multiple authentication mechanisms

Can be combined with IP / Domain referrer whitelisting

Authenticate trafficRestrict by policyDrop unwelcome callsProtect backend servicesGenerate overage alertsImpose rate limits

– API Key – App ID / App Key

– OAuth 2.0

Page 13: Take Control of your APIs in a Microservice Architecture

API Contracts, Throttling & Rate Limits

Partner Ecosystem

• Allow/restrict access to microservices via rate limits

• Rate-limit based on apps, users or microservice end-point

API Services

Rate Limits

Pricing

MANAGE GROUPS OF MICROSERVICES INDIVIDUALLY

DIFFERENT QUOTAS FOR DIFFERENT MICROSERVICES

DIFFERENT MODELS

ESPECIALLY FOR EXTERNAL FACING APIS

Application #1

Application #2

Application #3

INTERNAL TEAMS

STRATEGIC PARTNERS

DEVELOPERS

Manfred
I am not sure how to make this diagram on the right fit for purpose for this workshop.I'd say in case of doubt leave this diagram out.
Page 14: Take Control of your APIs in a Microservice Architecture

Microservice Usage Reports & Analytics

APIs as a Business

Page 15: Take Control of your APIs in a Microservice Architecture

Microservice Catalog and Documentation Via Portals

Manfred
I would get rid of the blue box at the bottom but add a screenshot of a Swagger based interactive doc, eg petstore: http://petstore.swagger.io/#/pet
Page 16: Take Control of your APIs in a Microservice Architecture

Wrap-up

APIs as a Business

APIs are an inherent ingredient in every MSA.You better get the management of APIs right.

The benefits? • Security and control over the “glue” between Microservices• Definition of API contracts specific to apps• Automatic logging, alerts, and reporting• Endpoint documentation (internal and external)• Business models and monetization

Page 17: Take Control of your APIs in a Microservice Architecture

Contact

Yossi Koren – Director, Sales Engineering [email protected]

3scale Support Portal: https://support.3cale.net

Find more on: www.3scale.net