Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Modernizando projetos legados usando APIs

696 visualizaciones

Publicado el

Nesta palestra vou mostrar os desafios para modernizar um projeto usando conceitos como API Gateway, Webhooks e eventos. Vou apresentar o caso de sucesso de um de nossos clientes e como resolvemos estes e outros desafios usando Zend Expressive 2, containers e testes automatizados.

Publicado en: Software
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

Modernizando projetos legados usando APIs

  1. 1. Modernizando projetos legados usando APIs Elton Minetto http://eltonminetto.net @eminetto
  2. 2. Case Winker
  3. 3. Características → Desenvolvido com Yii 1.x e Lumen → ~5 anos de desenvolvimento → ~160k linhas de código → ~70% de cobertura de testes → PHP 5.X → Estrutura usando containers e AWS
  4. 4. Problemas → Crescimento da empresa gera novos desafios de velocidade de entrega → Framework antigo e difícil de manter
  5. 5. Requisitos do projeto → Modernizar a stack → Lançar uma API pública para aumentar o alcance do negócio → Lançar um portal de desenvolvedores → Transformar o projeto em uma plataforma
  6. 6. Arquitetura proposta
  7. 7. "[...]developers have used virtualized machine images or container images with Docker containers to create immutable images of legacy systems and their configurations. The intent is to contain the legacy in a box for developers to run locally and remove the need for rebuilding, reconfiguring or sharing environments" https://www.thoughtworks.com/pt/radar/ techniques
  8. 8. Ferramentas usadas → Zend Expressive 2 → Docker → AWS Elastic Beanstalk → AWS SQS → Bernard - abstração de filas → Fractal - transformação de dados → Monolog + Sentry - centralização de logs
  9. 9. Ferramentas usadas → Doctrine - ORM → API Blueprint → aglio - documentação da API → dredd - testes de API → drakov - mock de API → phpunit - testes unitários/integração → prooph - event bus
  10. 10. Estágio Atual do projeto → Integração entre o legado e a nova API implementada → Lançado o primeiro aplicativo externo conectado à nova arquitetura → Legado rodando com PHP 7
  11. 11. Lições aprendidas → Testes unitários e de integração são cruciais → Containers para isolar as versões tornaram o processo mais fácil → Conflitos entre Amazon Elastic Beanstalk + Docker Compose foram mais complexos do que o esperado → Middlewares (Zend Expressive 2) aceleram o desenvolvimento
  12. 12. Lições aprendidas → Começar pela definição da API foi uma boa decisão → API Blueprint foi uma boa decisão → Bernard foi uma boa decisão → Trabalhar com filas/processamento paralelo é complexo
  13. 13. Próximos passos → Lançamento do Portal de Desenvolvedores → Desenvolvimento do componente Input hooks
  14. 14. Perguntas
  15. 15. Contato http://eltonminetto.net http://coderockr.com http://codenation.com.br http://asemanaphp.com.br

×