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

Desafios dos Microserviços

Avatar for Vitor Leal Vitor Leal
February 03, 2017

Desafios dos Microserviços

Vamos falar sobre a arquitetura de microserviços baseados em containers, as principais vantagens e dificuldades da migração de aplicações monolíticas e as melhores práticas para orquestrar seus containers.

Avatar for Vitor Leal

Vitor Leal

February 03, 2017
Tweet

More Decks by Vitor Leal

Other Decks in Technology

Transcript

  1. PORQUE MIGAR PARA MICROSERVIÇOS? A separação de responsabilidades em serviços

    independentes facilita a manutenção, criação de novas features e deploys constantes das aplicações. Vitor Leal - Campus Party Brasil 2017
  2. Do One Thing and Do It Well — Unix Philosophy

    Vitor Leal - Campus Party Brasil 2017
  3. BENEFÍCIOS ▸ Facilidade de deploy ▸ Liberdade para usar outras

    linguagens ▸ Resiliência e flexibilidade ▸ Facilidade para escalar somente os serviços necessários Vitor Leal - Campus Party Brasil 2017
  4. DOCKER SWARM O Docker Swarm é uma ferramenta nativa do

    Docker que permite a criação de clusters permitindo fazer com que diversos hosts estejam dentro do mesmo pool de recursos. Vitor Leal - Campus Party Brasil 2017
  5. DOCKER SWARM Escalando serviços com Docker Swarm docker service scale

    <SERVICE-ID>=<NUMBER-OF-TASKS> docker service scale helloworld=5 helloworld scaled to 5 Vitor Leal - Campus Party Brasil 2017
  6. LOGS Uma arquitetura de Microserviços distribuido é muito mais difécil

    de monitorar. Vitor Leal - Campus Party Brasil 2017
  7. LOGS Para entender o que aconteceu, qual fluxo o cliente

    entrou, o que aconteceu com ele os logs em arquivos vão ser o seu maior inimigo. Vitor Leal - Campus Party Brasil 2017
  8. GO ASYNC Trabalhar de forma assíncrona vai facilitar a comunicação

    entre serviços e vai proporcionar para a sua arquitetura: Vitor Leal - Campus Party Brasil 2017
  9. GO ASYNC ▸ Fluxo voltado para eventos ▸ Fluxo para

    retentativas ▸ Modelo Publish/Subscribe (Pub/Sub) Vitor Leal - Campus Party Brasil 2017
  10. GO ASYNC - RABBITMQ RabbitMq é um broker de mensagens

    que usa o protocolo AMQP. Vitor Leal - Campus Party Brasil 2017
  11. GO ASYNC - RABBITMQ O papel do Broker é receber

    mensagens dos Publisher e envia para Consumers que querem o conteúdo dessas mensagens para processar sob demanda. Vitor Leal - Campus Party Brasil 2017
  12. API GATEWAY O API Gateway serve como a porta de

    entrada para os seus Microserviços resolvendo problemas comuns como: Vitor Leal - Campus Party Brasil 2017
  13. API GATEWAY ▸ Autenticação ▸ Limite de uso ▸ CORS

    (Cross-origin) Vitor Leal - Campus Party Brasil 2017
  14. API GATEWAY ARQUITETURA SEM API GATEWAY Cada serviço implementa logicas

    como autenticação, logs e cache que podem gerar inconsistências na utilização das API's Vitor Leal - Campus Party Brasil 2017
  15. API GATEWAY ARQUITETURA COM API GATEWAY Requisitos como autenticação, logs

    e cache são resolvidos em uma camada antes de chegar em cada serviço simplificando a utilização das API's Vitor Leal - Campus Party Brasil 2017
  16. REFERÊNCIAS ▸ Tutorial ELK Log Stack https://goo.gl/p667Rw ▸ https://www.rabbitmq.com/ ▸

    API Gateway https://getkong.org ▸ https://www.docker.com/products/docker-swarm ▸ https://www.docker.com/products/docker-swarm#/demo Vitor Leal - Campus Party Brasil 2017