Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Do Zero ao Bilhão: Como tornar suas APIs públi...

Do Zero ao Bilhão: Como tornar suas APIs públicas com segurança, resiliência e escalabilidade

Vagner Clementino

June 02, 2024
Tweet

More Decks by Vagner Clementino

Other Decks in Programming

Transcript

  1. Do Zero ao Bilhão: Como tornar suas APIs públicas com

    segurança, resiliência e escalabilidade
  2. Agenda A Gênese A história do Hotmart Developers Fluxo de

    Publicação Etapas para disponibilizar uma API Motivação Por que tornar uma API pública Arquitetura de APIs - API Gateway - Upstream - Soluções de Armazenamento Futuro O que vem por aí
  3. Motivação Por que tornar uma API pública • A API

    Economy já é uma realidade • Facilita o desenvolvimento e um time-to-market mais rápido • Permite a melhoria contínua das APIs • Monetização das APIs • Agrega valor a sua plataforma, permitindo a retenção/adesão de novos usuários.
  4. Motivação O e-mail de Jeff Bezos • Recursos e capacidades

    de negócio devem ser expostos por meio de APIs. • A comunicação entre equipes deve ser feita por meio de APIs • Não pode haver canais secundários/atalhos. • A escolha da tecnologia é secundária. • As APIs devem ser externalizáveis Adaptado de blog.bytebytego.com
  5. API Economy 101: Changes Your Business. Moilanen, J., Niinioja, M.,

    Honkanen, M., Seppänen, M. (2019). An API is the organization's own digital and sellable service product.
  6. Benchmarks 15+ Benchmarks • Tenha um glossário, introdução e versionamento

    • Tenha um sandbox • Tenha um suporte ao seu usuário • Deixe o desenvolvedor informado • Lembre-se de quem está começando 5 Aprendizados
  7. Documentation (Multi-language) Authentication Authorization SandBox Sample Code Rate Limit (per

    user / period) Audit (log) Cache Break change Notification Customize Responses Monitoring Versioning Value to Customers Prepare to Evolve CORE A P I G A T E W A Y Improve Quality Change Log
  8. • As requests tem como ponto de único de entrada

    (ex. CDN) • Os APIs gateways estão organizados em clusters • As upstreams adotam diferentes estilos arquiteturais (REST, SOAP e gRPC) • Diferentes soluções de armazenamento Arquitetura de APIs | Containers
  9. Soluções de Armazenamento • Considere os fluxo assíncrono/síncrono • Adote

    diferentes tipos de estratégias de armazenamento ◦ Base relacionais (indexes, particionamento) ◦ Réplicas de leitura ◦ Uso de CDC ◦ NoSQL (orientado a documentos, banco colunar)
  10. Concepção • Identificação dos cenários de uso • Conhecer o

    perfil de uso (quantidade de usuários, padrão de uso) • Definição do modelo de troca de informações (SOAP, REST, RPC)I
  11. Desenho • Adoção da especificação OpenAPI • Considere o modelo

    Richardson Maturity Model e o grau de acoplamento entre o produtor e o consumidor. • Defina/escolha um padrão complementar à arquitetura REST ◦ filtros ◦ paginação ◦ erros • Adote uma estratégia de versionamento
  12. • Construa/adapte a sua upstream para ser pública • Disponibilize

    um endpoint no seu API Gateway Desenvolvimento
  13. Integridade • Garanta que os dados sejam condizentes com outras

    fontes de informação da organização • Garanta o contrato por meio de testes (Contract Testing)
  14. Validação & Monitoramento • Execute testes de carga e de

    penetração (pentest) • Faça o logging de execução • Armazene metadados de longo prazo
  15. Futuro • Automação de publicação • SDKs • Disponibilização de

    novos endpoints (capacidades de negócio) • Soluções para DX