SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Introdução ao API Microgateway 3.1
Francisco Ribeiro
Solutions Architect / Associate Director
WSO2 Webinar
Lead Solutions Engineer
João Emílio
● Leve
● Voltado ao Desenvolvedor
● Descentralizado
● Cloud native
○ 40 MB imagem docker-
○ 250 MB de RAM | < 1 core CPU
○ ~1s startup time
○ Independente de outros componentes,
flexível K8s, Docker
Introdução
● Gateway de Borda (Edge Gateway - Tráfego
North-South)
● Sidecar (Tráfego East-West)
● Portabilidade
○ Suporte nativo para Docker/Kubernetes
○ Independente de Plataforma
○ Endpoints por recurso REST
■ API consolidando múltiplos
microsserviços
Um gateway projetado para microsserviços e arquiteturas voltadas à microsserviços
WSO2 API Microgateway
Developer-First, Governança de APIs, Interceptors Ballerina e Java
Dois componentes principais
Toolkit Runtime
WSO2 API
Microgateway
Demo 1:
Microgateway Quickstart
Quais são as novidades?
• Suporte a gRPC
• Observabilidade
• Suporte a múltiplos emissores(issuers) JWT
• Policy Hub para transformações
• Suporte a Java para criação de Interceptors
• Integração com OAuth2 servers externos
• Combinar segurança em nível de transporte e aplicação
• Emissão de API keys
Que ferramentas vamos utilizar?
• WSO2 API Manager 3.1.0
• WSO2 API Microgateway 3.1.0 - Toolkit e Runtime
• Docker for Desktop (Kubernetes)
• Prometheus e Grafana
• Jaeger
• Keycloak
• VS Code
• Java JDK 1.8, Apache Maven, curl, jq
gRPC APIs
“
Usamos protobuf para definição da API
Extensões protobuf pré-definidas para configuração do gateway
Extensões disponíveis para:
● Definir o endpoint de produção para o serviço gRPC
● Definir os esquemas de autenticação
● Definir os escopos para autorização
● Definir políticas para limite de uso
Suporte a gRPC com Microgateway
Autenticação
Uso da extensão protobuf da
WSO2 para definir autenticação
Esquemas de autenticação
suportados
● JWT
● OAuth2
● Basic
● API Keys
Autorização
Define scopes por gRPC method
Múltiplos escopos podem ser
definidos para um método
Limites de uso podem ser aplicados tanto a nível de serviço como a nível de método
Quando definido a nível de serviço todos métodos tem um limite coletivo
Quando definido no nível do método, cada método individual obtém a respectiva cota
Throttling
Demo 2:
Expondo gRPC no Microgateway
Observabilidade
“
Suporta todos os três pilares da observabilidade
● Logs
● Métricas
● Tracing
Prometheus e Grafana para monitorar as métricas
Jaeger e Zipkin para tracing distribuído
Observabilidade com Microgateway
Demo 3:
Observabilidade com Prometheus,
Grafana e Jaeger
Java interceptors
“
Permite interceptar e modificar request/responses
Suporta criação de interceptors usando tanto Java como Ballerina lang
Interceptors
Adicionar a dependência maven
Implementar a interface org.wso2.micro.gateway.interceptor.Interceptor
Use alguns métodos utilitários comuns para modificar request/response
Utilizar o interceptor usando a extensão Open API:
x-wso2-request-interceptor: java:org.wso2.mgw.interceptors.SampleInterceptor
Implementando um Java Interceptor
Demo 4:
Exemplo de Interceptor em Java
Policy Hub
“
Mediação e transformação de mensagens são partes chave de um API Gateway
Policy Hub(https://central.ballerina.io/),
● Um local centralizado para hospedar transformações customizadas escritas em
Ballerina Lang
● Busca e reúso de Políticas
● Políticas podem ser integradas a uma API através das extensões Open API
“x-wso2-request-interceptor” ou “x-wo2-response-interceptor”
Policy Hub
Demo 5:
Utilizando interceptor ballerina do
Policy Hub
Suporte a múltiplos
Emissores(issuers) JWT
“
Organizações com múltiplos servidores de Autenticação
Microgateway suporta múltiplos emissores JWT
Suporte a múltiplos emissores(issuers) JWT
Demo 6:
Uso de Token JWT emitido no
Keycloak
Q & A
Download:
https://wso2.com/api-management/api-microgateway/
APIM Slack Channel:
https://apim-slack.wso2.com
Slack Channel WSO2 Latam:
https://join.slack.com/t/wso2latam/shared_invite/zt-69g27kpc-FDD4lXeoeYxI7lA
26M45fQ
GitHub:
https://github.com/wso2/product-microgateway
Demo:
https://github.com/wso2brasil/webinar-microgateway-310
THANK YOU
wso2.com

Mais conteúdo relacionado

Mais procurados

Mulesoft Meetup #02 Online Portuguese - MFA, TOTP
Mulesoft Meetup #02 Online Portuguese - MFA, TOTPMulesoft Meetup #02 Online Portuguese - MFA, TOTP
Mulesoft Meetup #02 Online Portuguese - MFA, TOTPPedro Baroni
 
Microsoft Operations Management Suite - OMS
Microsoft Operations Management Suite - OMSMicrosoft Operations Management Suite - OMS
Microsoft Operations Management Suite - OMSCDS
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupPamela Canchanya
 
Throughput, escalabilidade e distribuição global com Cosmos DB
Throughput, escalabilidade e distribuição global com Cosmos DBThroughput, escalabilidade e distribuição global com Cosmos DB
Throughput, escalabilidade e distribuição global com Cosmos DBVinicius Quaiato
 
WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7George Gastaldi
 
Clean architecture em NodeJS
Clean architecture em NodeJSClean architecture em NodeJS
Clean architecture em NodeJSRodrigo Souza
 
MongoDB na Ingresse.com - TDC 2014
MongoDB na Ingresse.com - TDC 2014MongoDB na Ingresse.com - TDC 2014
MongoDB na Ingresse.com - TDC 2014Kelly Cristina
 
TDC 2012 Trilha – Android University
TDC 2012 Trilha – Android UniversityTDC 2012 Trilha – Android University
TDC 2012 Trilha – Android UniversityInael Rodrigues
 
Construindo ap is usando php
Construindo ap is usando phpConstruindo ap is usando php
Construindo ap is usando phpJames Miranda
 

Mais procurados (12)

Mulesoft Meetup #02 Online Portuguese - MFA, TOTP
Mulesoft Meetup #02 Online Portuguese - MFA, TOTPMulesoft Meetup #02 Online Portuguese - MFA, TOTP
Mulesoft Meetup #02 Online Portuguese - MFA, TOTP
 
Microsoft Operations Management Suite - OMS
Microsoft Operations Management Suite - OMSMicrosoft Operations Management Suite - OMS
Microsoft Operations Management Suite - OMS
 
Metralhando sua API
Metralhando sua APIMetralhando sua API
Metralhando sua API
 
Linuxtips - a saideira
Linuxtips - a saideiraLinuxtips - a saideira
Linuxtips - a saideira
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA Meetup
 
Throughput, escalabilidade e distribuição global com Cosmos DB
Throughput, escalabilidade e distribuição global com Cosmos DBThroughput, escalabilidade e distribuição global com Cosmos DB
Throughput, escalabilidade e distribuição global com Cosmos DB
 
WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7
 
Clean architecture em NodeJS
Clean architecture em NodeJSClean architecture em NodeJS
Clean architecture em NodeJS
 
MongoDB na Ingresse.com - TDC 2014
MongoDB na Ingresse.com - TDC 2014MongoDB na Ingresse.com - TDC 2014
MongoDB na Ingresse.com - TDC 2014
 
TDC 2012 Trilha – Android University
TDC 2012 Trilha – Android UniversityTDC 2012 Trilha – Android University
TDC 2012 Trilha – Android University
 
Mulesoft Meetup Latam Summit Brazil
Mulesoft Meetup Latam Summit BrazilMulesoft Meetup Latam Summit Brazil
Mulesoft Meetup Latam Summit Brazil
 
Construindo ap is usando php
Construindo ap is usando phpConstruindo ap is usando php
Construindo ap is usando php
 

Semelhante a Introdução ao WSO2 API Microgateway 3.1

Microprofile - Facilitando o desenvolvimento de Microserviços
Microprofile - Facilitando o desenvolvimento de MicroserviçosMicroprofile - Facilitando o desenvolvimento de Microserviços
Microprofile - Facilitando o desenvolvimento de MicroserviçosIvan Junckes Filho
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Giovanni Bassi
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoRenato Groff
 
Tecnologia java para sockets
Tecnologia java para socketsTecnologia java para sockets
Tecnologia java para socketslucascsoliveira
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019Renato Groff
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Renato Groff
 
Microprofile - Como o Java EE esta se adequando aos microserviços
Microprofile - Como o Java EE esta se adequando aos microserviçosMicroprofile - Como o Java EE esta se adequando aos microserviços
Microprofile - Como o Java EE esta se adequando aos microserviçosVinicius Soares
 
Apresentacao gt cnc-workshop_iniciliazicao_fase2
Apresentacao gt cnc-workshop_iniciliazicao_fase2Apresentacao gt cnc-workshop_iniciliazicao_fase2
Apresentacao gt cnc-workshop_iniciliazicao_fase2Lucas Silva
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeAndré Abe Vicente
 
gRPC - uma breve introdução.pdf
gRPC - uma breve introdução.pdfgRPC - uma breve introdução.pdf
gRPC - uma breve introdução.pdfMatheus Donizete
 
Workshop anypoint service mesh
Workshop   anypoint service meshWorkshop   anypoint service mesh
Workshop anypoint service meshRenato de Oliveira
 
Trabalhando com eventos e serviços no Zend Framework 2
Trabalhando com eventos e serviços no Zend Framework 2Trabalhando com eventos e serviços no Zend Framework 2
Trabalhando com eventos e serviços no Zend Framework 2William Felipe
 
Protocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportProtocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportNorberto Enomoto
 
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Renato Groff
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Renato Groff
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...Renato Groff
 

Semelhante a Introdução ao WSO2 API Microgateway 3.1 (20)

Microprofile - Facilitando o desenvolvimento de Microserviços
Microprofile - Facilitando o desenvolvimento de MicroserviçosMicroprofile - Facilitando o desenvolvimento de Microserviços
Microprofile - Facilitando o desenvolvimento de Microserviços
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
 
Tecnologia java para sockets
Tecnologia java para socketsTecnologia java para sockets
Tecnologia java para sockets
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Julho-2019
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
 
Microprofile - Como o Java EE esta se adequando aos microserviços
Microprofile - Como o Java EE esta se adequando aos microserviçosMicroprofile - Como o Java EE esta se adequando aos microserviços
Microprofile - Como o Java EE esta se adequando aos microserviços
 
Apresentacao gt cnc-workshop_iniciliazicao_fase2
Apresentacao gt cnc-workshop_iniciliazicao_fase2Apresentacao gt cnc-workshop_iniciliazicao_fase2
Apresentacao gt cnc-workshop_iniciliazicao_fase2
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
gRPC - uma breve introdução.pdf
gRPC - uma breve introdução.pdfgRPC - uma breve introdução.pdf
gRPC - uma breve introdução.pdf
 
Workshop anypoint service mesh
Workshop   anypoint service meshWorkshop   anypoint service mesh
Workshop anypoint service mesh
 
Trabalhando com eventos e serviços no Zend Framework 2
Trabalhando com eventos e serviços no Zend Framework 2Trabalhando com eventos e serviços no Zend Framework 2
Trabalhando com eventos e serviços no Zend Framework 2
 
Protocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportProtocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry Transport
 
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 

Mais de WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

Mais de WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Introdução ao WSO2 API Microgateway 3.1

  • 1. Introdução ao API Microgateway 3.1 Francisco Ribeiro Solutions Architect / Associate Director WSO2 Webinar Lead Solutions Engineer João Emílio
  • 2. ● Leve ● Voltado ao Desenvolvedor ● Descentralizado ● Cloud native ○ 40 MB imagem docker- ○ 250 MB de RAM | < 1 core CPU ○ ~1s startup time ○ Independente de outros componentes, flexível K8s, Docker Introdução ● Gateway de Borda (Edge Gateway - Tráfego North-South) ● Sidecar (Tráfego East-West) ● Portabilidade ○ Suporte nativo para Docker/Kubernetes ○ Independente de Plataforma ○ Endpoints por recurso REST ■ API consolidando múltiplos microsserviços Um gateway projetado para microsserviços e arquiteturas voltadas à microsserviços
  • 3. WSO2 API Microgateway Developer-First, Governança de APIs, Interceptors Ballerina e Java Dois componentes principais Toolkit Runtime WSO2 API Microgateway
  • 5. Quais são as novidades? • Suporte a gRPC • Observabilidade • Suporte a múltiplos emissores(issuers) JWT • Policy Hub para transformações • Suporte a Java para criação de Interceptors • Integração com OAuth2 servers externos • Combinar segurança em nível de transporte e aplicação • Emissão de API keys
  • 6. Que ferramentas vamos utilizar? • WSO2 API Manager 3.1.0 • WSO2 API Microgateway 3.1.0 - Toolkit e Runtime • Docker for Desktop (Kubernetes) • Prometheus e Grafana • Jaeger • Keycloak • VS Code • Java JDK 1.8, Apache Maven, curl, jq
  • 8. Usamos protobuf para definição da API Extensões protobuf pré-definidas para configuração do gateway Extensões disponíveis para: ● Definir o endpoint de produção para o serviço gRPC ● Definir os esquemas de autenticação ● Definir os escopos para autorização ● Definir políticas para limite de uso Suporte a gRPC com Microgateway
  • 9. Autenticação Uso da extensão protobuf da WSO2 para definir autenticação Esquemas de autenticação suportados ● JWT ● OAuth2 ● Basic ● API Keys
  • 10. Autorização Define scopes por gRPC method Múltiplos escopos podem ser definidos para um método
  • 11. Limites de uso podem ser aplicados tanto a nível de serviço como a nível de método Quando definido a nível de serviço todos métodos tem um limite coletivo Quando definido no nível do método, cada método individual obtém a respectiva cota Throttling
  • 12. Demo 2: Expondo gRPC no Microgateway
  • 14. Suporta todos os três pilares da observabilidade ● Logs ● Métricas ● Tracing Prometheus e Grafana para monitorar as métricas Jaeger e Zipkin para tracing distribuído Observabilidade com Microgateway
  • 15. Demo 3: Observabilidade com Prometheus, Grafana e Jaeger
  • 17. Permite interceptar e modificar request/responses Suporta criação de interceptors usando tanto Java como Ballerina lang Interceptors
  • 18. Adicionar a dependência maven Implementar a interface org.wso2.micro.gateway.interceptor.Interceptor Use alguns métodos utilitários comuns para modificar request/response Utilizar o interceptor usando a extensão Open API: x-wso2-request-interceptor: java:org.wso2.mgw.interceptors.SampleInterceptor Implementando um Java Interceptor
  • 19. Demo 4: Exemplo de Interceptor em Java
  • 21. Mediação e transformação de mensagens são partes chave de um API Gateway Policy Hub(https://central.ballerina.io/), ● Um local centralizado para hospedar transformações customizadas escritas em Ballerina Lang ● Busca e reúso de Políticas ● Políticas podem ser integradas a uma API através das extensões Open API “x-wso2-request-interceptor” ou “x-wo2-response-interceptor” Policy Hub
  • 22. Demo 5: Utilizando interceptor ballerina do Policy Hub
  • 24. Organizações com múltiplos servidores de Autenticação Microgateway suporta múltiplos emissores JWT Suporte a múltiplos emissores(issuers) JWT
  • 25. Demo 6: Uso de Token JWT emitido no Keycloak
  • 26. Q & A
  • 27. Download: https://wso2.com/api-management/api-microgateway/ APIM Slack Channel: https://apim-slack.wso2.com Slack Channel WSO2 Latam: https://join.slack.com/t/wso2latam/shared_invite/zt-69g27kpc-FDD4lXeoeYxI7lA 26M45fQ GitHub: https://github.com/wso2/product-microgateway Demo: https://github.com/wso2brasil/webinar-microgateway-310