Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Modernizando projetos legados usando APIs

693 vues

Publié le

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.

Publié dans : Logiciels
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

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

×