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

Microsserviços: Distribuindo serviços críticos ...

Microsserviços: Distribuindo serviços críticos ao negócio

Nesta apresentação será abortado conceitos como arquitetura orientada a serviço, arquitetura de microsserviços, escalabilidade, componentização, descentralização, resiliência, monitoramento, entre outros assuntos voltados para o desenvolvimento de aplicações que permitem se pensar em componentes ou camadas independentes que podem ser implantadas, distribuídas, protegidas ou escaladas de forma também independente.
Estes conceitos serão exemplificados através de um case onde foi desenvolvido um projeto de e-commerce de serviços, projeto este altamente crítico e de extrema importância, apresentando informações técnicas e de negócio.

Fernando Silva

April 26, 2017
Tweet

More Decks by Fernando Silva

Other Decks in Programming

Transcript

  1. O que é então? “O termo “arquitetura de Microsserviços” surgiu

    nos últimos anos para descrever uma maneira particular de projetar aplicativos de software como conjunto de serviços implantáveis independentemente. Embora não exista uma definição precisa ainda…” https://martinfowler.com/articles/microservices.html Martin Fowler
  2. Porque usar Microsserviç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.
  3. Objetivo Simplificação no processo de compra, visando o aumento da

    taxa de conversão (TC) e permitindo o reaproveitamento em projetos já existentes e futuros na KingHost.
  4. Objetivo do ponto de vista da equipe de negócio Simplificação

    no processo de compra, visando o aumento da taxa de conversão (TC) e permitindo o reaproveitamento em projetos já existentes e futuros na KingHost.
  5. Objetivo do ponto de vista da equipe de DEV Simplificação

    no processo de compra, visando o aumento da taxa de conversão (TC) e permitindo o reaproveitamento em projetos já existentes e futuros na KingHost.
  6. Objetivos para o novo carrinho Simplificação do processo de compra

    Diminuição do tempo de compra Aumento da taxa de conversão acima de 1,67% Aumento de receita Canais de venda padronizados
  7. Objetivos técnicos Facilidade no processo de deploy Entregas menores e

    mais rápidas Incremento na abrangência dos testes
  8. Como? Arquitetura orientada a microsserviços Stateless Criação de API padrão

    para clientes internos Liberdade para criação de PWAs
  9. Logs em arquivos (Monolog com alertas por email e chat)

    Capture Method Logger (PSR-3) Handler / Adapter
  10. Desvantagens de um API Gateway • Mais um componente a

    ser desenvolvido • Risco de se tornar um gargalo de desenvolvimento
  11. Benefícios de um API Gateway • Encapsula a estrutura da

    aplicação • Único ponto de entrada • Pode mascarar falhas, retornando cache ou dados padrão • Facilitar a transição do monolito para microsserviços • Segurança
  12. Independência entre diversas equipes no mesmo produto Maturidade na implantação

    dos serviços Permitiu a criação de uma API padrão para clientes A importância dos microsserviços para nós
  13. A importância dos microsserviços para nós Padronização do processo de

    venda Escalabilidade e resiliência Responsabilidades bem definidas Manutenção simplificada
  14. Fatores de sucesso Integração entre as áreas do produto Comunicação

    entre todas as equipes de desenvolvimento Ponto único de compra dos produtos e serviços Stakeholders envolvidos com a concepção do projeto Números superaram os objetivos definidos Entregas de funcionalidades aceleradas
  15. Links / Referências • Microservice Architecture • Microservices - Martin

    Fowler • A Ascensão dos Microsserviços • The Netflix Tech Blog • A Monitoring Solution for Docker • Por que usar abordagem de microsserviços • Monitorando Aplicações PHP com Prometheus • Obtendo sucesso na reestruturação de sistemas legados • Usando API gateway para facilitar a transição do monolito para microsserviços
  16. Segurança e hacking de containers Docker 12/07 às 11 hs

    - Sala 3 Fernando Silva @FernandoDebrand