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

Desafios dos Microserviços

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.

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