INKA
API Gateway
O QUE SÃO MICROSERVIÇOS?
Em suma, o estilo arquitectónico Microservice é uma
abordagem para o desenvolvimento de uma única aplicação
como um conjunto de pequenos serviços, cada um
executando em seu próprio processo e se comunicando com
mecanismos leves, muitas vezes, uma API de recursos HTTP.
Estes serviços são construídos em torno de capacidades de
negócios e deployáveis independentemente por automação.
Há um mínimo de gerenciamento centralizado destes
serviços, que podem ser escritas em diferentes linguagens de
programação e usam diferentes tecnologias de
armazenamento de dados.
-- James Lewis and Martin Fowler
O QUE NÃO SÃO MICROSERVIÇOS?
Quebrar uma aplicação em vários serviços menores é o
primeiro passo para se criar uma arquitetura de
microserviços, mas ainda não constitui uma arquitetura de
microserviços. Feito isso, o que se tem são vários serviços
independentes e descentralizados.
O QUE É NECESSÁRIO?
• Infra estrutura [Cultura DevOps – Automação]
• Service Discovery
• Resiliência
• Monitoramento
• Gerência de configurações
• Segurança
• Servidor de Borda
– [Single entry point - API Gateway]
API GATEWAY PATTERN
O QUE É INKA?
Inka é o nome dado ao API Gateway da Netshoes que hoje
tem as seguintes responsabilidades:
• Ponto único de entrada
• Roteamento
• Segurança
• Service Discovery
• Configurações Distribuídas
• Monitoramento
• Resiliência
Porque Spring Boot, Spring Cloud e
Netflix OSS?
Netflix:
– 2 bilhões de requisições por dia
– 1.200.000+ servidores pelo mundo
– 700+ microservices
Spring Cloud / Boot:
– Feito em cima do Spring Framework
– Pivotal in charge
– Netflix é o maior cliente da spring
LIGANDO OS PONTOS
NECESSIDADES
• Service Discovery
• Resiliência
• Monitoramento
• Configurações
• Segurança
• Servidor de Borda
FRAMEWORKS
• Netflix Eureka
• Netflix Hystrix
• Actuator / New Relic
• Spring Cloud Config
• Spring Security OAuth2
• Netflix Zuul / Netflix Ribbon
SERVICE DISCOVERY FLOW
GERENCIA DE CONFIGURAÇÕES
HANDS ON
https://github.com/marcosbarbero/bootiful-microservices
PRÓXIMOS PASSOS
• Auto scaling
• Dockerization
• Dashboards / Admins
• Throttling
• Request tracing
• There's an open backlog
Netshoes - API Gateway

Netshoes - API Gateway

  • 1.
  • 2.
    O QUE SÃOMICROSERVIÇOS? Em suma, o estilo arquitectónico Microservice é uma abordagem para o desenvolvimento de uma única aplicação como um conjunto de pequenos serviços, cada um executando em seu próprio processo e se comunicando com mecanismos leves, muitas vezes, uma API de recursos HTTP. Estes serviços são construídos em torno de capacidades de negócios e deployáveis independentemente por automação. Há um mínimo de gerenciamento centralizado destes serviços, que podem ser escritas em diferentes linguagens de programação e usam diferentes tecnologias de armazenamento de dados. -- James Lewis and Martin Fowler
  • 3.
    O QUE NÃOSÃO MICROSERVIÇOS? Quebrar uma aplicação em vários serviços menores é o primeiro passo para se criar uma arquitetura de microserviços, mas ainda não constitui uma arquitetura de microserviços. Feito isso, o que se tem são vários serviços independentes e descentralizados.
  • 6.
    O QUE ÉNECESSÁRIO? • Infra estrutura [Cultura DevOps – Automação] • Service Discovery • Resiliência • Monitoramento • Gerência de configurações • Segurança • Servidor de Borda – [Single entry point - API Gateway]
  • 7.
  • 8.
    O QUE ÉINKA? Inka é o nome dado ao API Gateway da Netshoes que hoje tem as seguintes responsabilidades: • Ponto único de entrada • Roteamento • Segurança • Service Discovery • Configurações Distribuídas • Monitoramento • Resiliência
  • 10.
    Porque Spring Boot,Spring Cloud e Netflix OSS? Netflix: – 2 bilhões de requisições por dia – 1.200.000+ servidores pelo mundo – 700+ microservices Spring Cloud / Boot: – Feito em cima do Spring Framework – Pivotal in charge – Netflix é o maior cliente da spring
  • 11.
    LIGANDO OS PONTOS NECESSIDADES •Service Discovery • Resiliência • Monitoramento • Configurações • Segurança • Servidor de Borda FRAMEWORKS • Netflix Eureka • Netflix Hystrix • Actuator / New Relic • Spring Cloud Config • Spring Security OAuth2 • Netflix Zuul / Netflix Ribbon
  • 12.
  • 13.
  • 14.
  • 15.
    PRÓXIMOS PASSOS • Autoscaling • Dockerization • Dashboards / Admins • Throttling • Request tracing • There's an open backlog