Uma empresa está modernizando um projeto legado de 5 anos usando APIs, containers Docker e ferramentas como Zend Expressive e AWS. Eles criaram uma API pública, migraram o código para PHP 7 rodando em containers e lançaram um primeiro aplicativo externo. Aprenderam que testes, containers e middlewares aceleram o processo, mas integração com filas é complexa. Seus próximos passos incluem lançar um portal para desenvolvedores.
Os 12 fatores são uma lista de boas práticas que projetos e times podem aplicar para rodar seus aplicativos na núvem Nesta palestra vou apresentar cada um dos fatores, suas vantagens e como aplicá-los em projetos PHP
Talk apresentada interna na empresa IXCsoft, com o objetivo de mostrar as principais novidades das versões 7.4 e 8.0 do PHP.
O foco foi mostrar pequenos trechos de códigos para utilização em software da Empresa.
Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...Tchelinux
Nesta apresentação são abordados cenários comuns em que a utilização de containers Docker pode expor novos tipos de problemas de segurança, que talvez você não tenha considerado, algumas ferramentas de análise e hacking, assim como dicas que você pode usar para garantir que não deixe as portas abertas quando você implantar em produção.
Palestra de Fernando Silva, apresentada no Tchelinux Bento Gonçalves 2017.
* Link original do autor: https://speakerdeck.com/fernandodebrando/analise-de-seguranca-e-hacking-de-containers-docker
* Link do perfil do autor no Speaker Deck: https://speakerdeck.com/fernandodebrando/
Fernando Silva é Analista de Desenvolvimento na KingHost, graduado em Análise e Desenvolvimento de Sistemas (ADS) pela Faculdade Senac Porto Alegre, onde ganhou o Prêmio Keller de melhor trajetória acadêmica. Atualmente faz pós-graduação em Segurança Cibernética pela UFRGS, além disso, é um dos coordenadores da comunidade PHP-RS, é entusiasta Open Source e Software Livre.
Kubernetes no Governo Federal - Kubernetes Meetup #3Ricardo Katz
Apresentação sobre caso de uso do Kubernetes no Governo Federal do Brasil (SERPRO), orientado à metodologia abordada para a implantação segura da tecnologia como base para a Plataforma como Serviço
Inversão de Controlo e Injecção de Dependência na .NET FrameworkC. Augusto Proiete
Apresentação realizada no evento Microsoft TechDays 2010 (http://www.techdays2010.com) sobre Inversão de Controlo e Injecção de Dependência na .NET Framework.
Os 12 fatores são uma lista de boas práticas que projetos e times podem aplicar para rodar seus aplicativos na núvem Nesta palestra vou apresentar cada um dos fatores, suas vantagens e como aplicá-los em projetos PHP
Talk apresentada interna na empresa IXCsoft, com o objetivo de mostrar as principais novidades das versões 7.4 e 8.0 do PHP.
O foco foi mostrar pequenos trechos de códigos para utilização em software da Empresa.
Análise de segurança e hacking de containers Docker - Fernando Silva - Tcheli...Tchelinux
Nesta apresentação são abordados cenários comuns em que a utilização de containers Docker pode expor novos tipos de problemas de segurança, que talvez você não tenha considerado, algumas ferramentas de análise e hacking, assim como dicas que você pode usar para garantir que não deixe as portas abertas quando você implantar em produção.
Palestra de Fernando Silva, apresentada no Tchelinux Bento Gonçalves 2017.
* Link original do autor: https://speakerdeck.com/fernandodebrando/analise-de-seguranca-e-hacking-de-containers-docker
* Link do perfil do autor no Speaker Deck: https://speakerdeck.com/fernandodebrando/
Fernando Silva é Analista de Desenvolvimento na KingHost, graduado em Análise e Desenvolvimento de Sistemas (ADS) pela Faculdade Senac Porto Alegre, onde ganhou o Prêmio Keller de melhor trajetória acadêmica. Atualmente faz pós-graduação em Segurança Cibernética pela UFRGS, além disso, é um dos coordenadores da comunidade PHP-RS, é entusiasta Open Source e Software Livre.
Kubernetes no Governo Federal - Kubernetes Meetup #3Ricardo Katz
Apresentação sobre caso de uso do Kubernetes no Governo Federal do Brasil (SERPRO), orientado à metodologia abordada para a implantação segura da tecnologia como base para a Plataforma como Serviço
Inversão de Controlo e Injecção de Dependência na .NET FrameworkC. Augusto Proiete
Apresentação realizada no evento Microsoft TechDays 2010 (http://www.techdays2010.com) sobre Inversão de Controlo e Injecção de Dependência na .NET Framework.
Minicurso básico sobre a criação de web api utilizando o .NET CORE.
Boas práticas e padrões para o desenvolvimento.
Código fonte: https://github.com/alissonsolitto/semanati2018-webapi
Na palestra "Docker com ASP.NET Core e Hospedagem no Azure", eu apresentei uma visão geral sobre contêineres, o Docker, o ASP.NET Core, Docker em contêineres Windows, Suporte a Dcoker no Azure, Visual Studio 2017 & Docker e Recursos para estudo.
A versão final (RTM) do novo framework .NET Core 1.0 foi lançada em 27 de junho de 2016. Veja os recursos do .NET Core 1.0 para desenvolver aplicações web com ASP.NET Core, aplicações Console e aplicações para Universal Windows Platform (UWP). Desenvolva no seu sistema operacional predileto: Windows, Mac OS X ou Linux. E veja qual a relação existe entre o novo framework .NET Core multiplataforma e o .NET Framework tradicional para Windows.
A versão final (RTM) do ASP.NET Core 1.0 também foi lançada em 27 de junho de 2016. Veja os recursos do ASP.NET Core 1.0 para desenvolver aplicações web com ASP.NET Core MVC e serviços web com ASP.NET Core Web API no seu sistema operacional predileto: Windows, Mac OS X ou Linux. Além disso, veja aplicações web ASP.NET Core 1.0 executando em servidores Windows, Linux e contêineres Docker. E veja qual a relação existe entre as novas aplicações ASP.NET Core e as anteriores: aplicações ASP.NET tradicionais, incluindo: ASP.NET Web Forms, ASP.NET MVC e ASP.NET Web Pages.
Palestra que ministrei no Join Community 2017.
Link do projeto Hystrix: https://github.com/Netflix/Hystrix/
Hystrix Dashboard: https://github.com/Netflix/Hystrix/tree/master/hystrix-dashboard
Apresentação sobre NestJS, framework Node.js e Typescript, com explicação do seu funcionamento e exemplos práticos de como utiliza-lo para criar aplicações do lado servidor.
Evento: OpenLabs 2019 - VI Conferência de Tecnologia da Região Serrana - 31/03/2019
Disponível também em: https://github.com/openlabsconf/openlabs-vi
Site do evento: http://openlabsconf.com.br/
Precisa aprender um pouco mais sobre PHP?
Conheça nossa formação: Cursos de php, crie aplicações WEB, passando pelo mundo da POO, entendendo o uso de Design Patterns, até chegar ao mundo enterprise, incluindo o desenvolvimento de aplicações dinâmicas de forma segura, com abordagens em XML, webservices, regex e configurações de ambiente e segurança.
Nesta apresentação conheceremos a jornada e lições aprendidas de um sysadmin praticando a cultura DevOps ao implantar sistemas monolíticos da forma tradicional e microsserviços usando pipelines no Jenkins
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...Renato Groffe
Apresentação sobre o uso de Docker Compose e Visual Studio Code na implementação de soluções que façam uso do ASP.NET Core. Palestra realizada durante o VS Code Night #1, evento promovido pelo grupo .NET SP em São Paulo-SP.
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
Apresentação sobre o uso de tecnologias Microsoft e open source. Palestra realizada no dia 15/09/2017, durante o 4º Encontro Metropolitano de Tecnologia da Baixada Santista.
Docker para Desenvolvedores - Developers-BR - Julho-2018Renato Groff
Apresentação sobre o uso de Docker no desenvolvimento de soluções de sofrtware. Palestra realizada em 17/07/2018 em evento promovido pelo grupo Developers-BR em São Paulo-SP.
Docker para Desenvolvedores - Developers-BR - Agosto-2018Renato Groff
Apresentação sobre o uso de Docker no desenvolvimento de soluções de sofrtware. Palestra realizada em 14/08/2018 em evento promovido pelo grupo Developers-BR em São Paulo-SP.
Minicurso básico sobre a criação de web api utilizando o .NET CORE.
Boas práticas e padrões para o desenvolvimento.
Código fonte: https://github.com/alissonsolitto/semanati2018-webapi
Na palestra "Docker com ASP.NET Core e Hospedagem no Azure", eu apresentei uma visão geral sobre contêineres, o Docker, o ASP.NET Core, Docker em contêineres Windows, Suporte a Dcoker no Azure, Visual Studio 2017 & Docker e Recursos para estudo.
A versão final (RTM) do novo framework .NET Core 1.0 foi lançada em 27 de junho de 2016. Veja os recursos do .NET Core 1.0 para desenvolver aplicações web com ASP.NET Core, aplicações Console e aplicações para Universal Windows Platform (UWP). Desenvolva no seu sistema operacional predileto: Windows, Mac OS X ou Linux. E veja qual a relação existe entre o novo framework .NET Core multiplataforma e o .NET Framework tradicional para Windows.
A versão final (RTM) do ASP.NET Core 1.0 também foi lançada em 27 de junho de 2016. Veja os recursos do ASP.NET Core 1.0 para desenvolver aplicações web com ASP.NET Core MVC e serviços web com ASP.NET Core Web API no seu sistema operacional predileto: Windows, Mac OS X ou Linux. Além disso, veja aplicações web ASP.NET Core 1.0 executando em servidores Windows, Linux e contêineres Docker. E veja qual a relação existe entre as novas aplicações ASP.NET Core e as anteriores: aplicações ASP.NET tradicionais, incluindo: ASP.NET Web Forms, ASP.NET MVC e ASP.NET Web Pages.
Palestra que ministrei no Join Community 2017.
Link do projeto Hystrix: https://github.com/Netflix/Hystrix/
Hystrix Dashboard: https://github.com/Netflix/Hystrix/tree/master/hystrix-dashboard
Apresentação sobre NestJS, framework Node.js e Typescript, com explicação do seu funcionamento e exemplos práticos de como utiliza-lo para criar aplicações do lado servidor.
Evento: OpenLabs 2019 - VI Conferência de Tecnologia da Região Serrana - 31/03/2019
Disponível também em: https://github.com/openlabsconf/openlabs-vi
Site do evento: http://openlabsconf.com.br/
Precisa aprender um pouco mais sobre PHP?
Conheça nossa formação: Cursos de php, crie aplicações WEB, passando pelo mundo da POO, entendendo o uso de Design Patterns, até chegar ao mundo enterprise, incluindo o desenvolvimento de aplicações dinâmicas de forma segura, com abordagens em XML, webservices, regex e configurações de ambiente e segurança.
Nesta apresentação conheceremos a jornada e lições aprendidas de um sysadmin praticando a cultura DevOps ao implantar sistemas monolíticos da forma tradicional e microsserviços usando pipelines no Jenkins
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...Renato Groffe
Apresentação sobre o uso de Docker Compose e Visual Studio Code na implementação de soluções que façam uso do ASP.NET Core. Palestra realizada durante o VS Code Night #1, evento promovido pelo grupo .NET SP em São Paulo-SP.
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
Apresentação sobre o uso de tecnologias Microsoft e open source. Palestra realizada no dia 15/09/2017, durante o 4º Encontro Metropolitano de Tecnologia da Baixada Santista.
Docker para Desenvolvedores - Developers-BR - Julho-2018Renato Groff
Apresentação sobre o uso de Docker no desenvolvimento de soluções de sofrtware. Palestra realizada em 17/07/2018 em evento promovido pelo grupo Developers-BR em São Paulo-SP.
Docker para Desenvolvedores - Developers-BR - Agosto-2018Renato Groff
Apresentação sobre o uso de Docker no desenvolvimento de soluções de sofrtware. Palestra realizada em 14/08/2018 em evento promovido pelo grupo Developers-BR em São Paulo-SP.
Zend Framework 2 - Desenvolvimento Ágil CompetenteMichael Cardoso
Essa apresentação faz parte do minicurso Zend Framework 2, onde apresentamos suas principais características e como fazer a instalação deste framework web de ponta.
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...Renato Groff
Apresentação sobre primeiros passos no uso de Docker, bem como dicas e truques na manipulação de containers. Palestra realizada para profissionais do Itaú Unibanco na cidade de São Paulo-SP no dia 05/09/2019.
.NET 6: O que há de novo e o que está por vir?akamud
.NET 6 é a nova versão do .NET, que completa a unificação da plataforma e adiciona novos recursos para a construção de aplicativos web, nativos e híbridos para Linux, Windows, Mac, iOS e Android com uma única base de código. Veja como escrever menos código, alcançar mais dispositivos e construir aplicativos nativos em nuvem mais rapidamente.
Palestra realizada no TDC Future 2021, trilha Arquitetura de Software, junto de Letticia Nicoli.
.NET 6: O que há de novo e o que está por vir?Letticia Nicoli
.NET 6 é a nova versão do .NET, que completa a unificação da plataforma e adiciona novos recursos para a construção de aplicativos web, nativos e híbridos para Linux, Windows, Mac, iOS e Android com uma única base de código. Veja como escrever menos código, alcançar mais dispositivos e construir aplicativos nativos em nuvem mais rapidamente.
Palestra realizada no TDC Future 2021, trilha Arquitetura de Software, junto de Mahmoud Ali.
O ASP.NET e o .NET estão tomando um novo caminho que muda completamente o que conhecemos: com o objetivo principal de ser cross-platform, você será capaz de programar em C# para todas plataformas existentes hoje
Apresentação Docker básico (história, comunidade, conceito, vm vs docker, comandos, dockerfile, docker compose, docker swarn, docker engine)
Para ver o slide em qualidade melhor, fazer o download
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
A era dos ciclos anuais e semestrais de entrega de software está ficando para trás. Empresas líderes em seu segmento de mercado entregam software de alta qualidade em ciclos de poucos dias, em alguns casos, de poucas horas. Nesta sessão, iremos apresentar como você pode iniciar sua jornada para DevOps compartilhando boas práticas e ferramentas utilizadas pelos times de ‘duas pizzas’ da Amazon. Vamos mostrar como você pode acelerar sua produtividade implementando fluxos de integração e entrega contínua. E iremos introduzir os serviços que a AWS desenvolveu inspirados nas ferramentas e práticas internas da Amazon: AWS CodeCommit, AWS CodeBuild, AWS CodePipeline e AWS CodeDeploy.
https://aws.amazon.com/pt/products/developer-tools/
Semelhante a Modernizando projetos legados usando APIs (20)
Go e Microserviços - Nascidos um para o outroElton Minetto
Nesta palestra apresento uma introdução à linguagem Go, com suas características, vantagens e porque ela se tornou uma das mais usadas para o desenvolvimento de projetos baseados na arquitetura de microserviços .
Em seu livro "Clean Architecture: A Craftsman's Guide to Software Structure and Design" o famoso autor Robert "Uncle Bob" Martin apresenta uma arquitetura com alguns pontos importantes como testabilidade e independência de frameworks, bancos de dados e interfaces.
Nesta apresentação vou mostrar exemplos de como aplicar estes conceitos em projetos escritos em Golang e PHP
Uma apresentação sobre algumas métricas importantes para projetos e como podemos usar o Trello para coletá-las, usando ferramentas como Power-ups e o Planrockr
Decisões de arquitetura, escolhas de frameworks e linguagens, ferramentas, metodologias. Essas e outras dicas, truques, experiências, acertos e erros de uma equipe desenvolvendo códigos nos últimos 7 anos.
5. 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
6. Problemas
→ Crescimento da empresa gera novos desafios de
velocidade de entrega
→ Framework antigo e difícil de manter
7. 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
9. "[...]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
10.
11. 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
12. 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
13. 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
14. 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
15. 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