Palestra ministrada no PHPSP+IMA em Campinas-SP em 20/08/2016. Abordamos como sair do monolito e ir para o microserviço conforme sua aplicação cresce e simulamos isso com containers Docker
Palestra ministrada no PHPeste em Salvador-BA em 09/10/2016. Abordamos o que são linux containers, o que é Docker, comparações com máquinas virtuais, principais comandos, GUI, Compose e Swarm
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaiMasters
Wellington Figueira da Silva - Sysadmin de Códigos, Easy
Com a popularidade dos contêineres ficou mais fácil criar microserviços e mais ágil construir aplicações distribuídas, porém a gerência desses serviços fica muito mais complicada.
Mostraremos a ferramenta chamada Istio que nos ajuda com service discovery, com a distribuição de carga, com as rotas, com a detecção e tratamento de falhas, com controle de acesso entre aplicações dentre muitas outras funcionalidades disponíveis.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
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/
Micro-serviços tornaram-se o tema mais quente na arquitetura de software durante o ano passado, e muito pode ser dito sobre os seus benefícios. No entanto, é importante compreender que ao começar a decompor o monolito, entramos no reino de sistemas distribuídos lidando com cenários de transparência de localização, recuperação à falhas, escalabilidade, autonomia, fácil atualização, etc. O projeto Spring Cloud promove ferramentas para facilmente implementar estes conceitos, definindo padrões de implementação para sistemas distribuídos com suporte para gerenciamento de configuração, descoberta de serviços, circuit breakers, roteamento, distribuição de sessão, barramento de controle, dentre outros. Nesta palestra serão demonstrados os conceitos destas ferramentas com a utilização do projeto Spring Cloud e com o suporte da plataforma do Netflix OSS.
Mostraremos como o DevOps agregou valor aos produtos da Exame.com (Produto do Grupo Abril, portal equivalente a revista exame), processos automatizados, deploys com mais facilidade, agilidade, diminuição expressiva no numero de rollback, provisionando servidores de produção em 5 minutos.
Melhores práticas para Arquitetura em Cloud ComputingDaniel Checchia
A nuvem reforça alguns conceitos antigos de criação de arquiteturas da Internet altamente escaláveis e introduz alguns novos conceitos que mudam completamente o modo pelo qual os aplicativos são criados e implantados.
Para usufruir do benefício completo de Nuvem, incluindo a sua flexibilidade e escalabilidade, é importante compreender os serviços, recursos e melhores práticas em Cloud Computing. Esta palestra fornece uma visão geral técnica e destaca melhores práticas arquiteturais para ajudá-lo a projetar arquiteturas eficientes e escaláveis.
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
Apresentação sobre primeiros passos no uso de Docker, bem como dicas e truques na manipulação de containers. Palestra realizada para profissionais da UNICID na cidade de São Paulo-SP no dia 29/11/2019.
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...Rodrigo Cândido da Silva
Os microservices tornaram-se o tema mais quente na arquitetura de software, e muito se pode dizer sobre os seus benefícios. Mas é importante compreender que ao começar a decompor o monolito entramos no reino de sistemas distribuídos. Precisamos lidar com cenários de transparência de localização, recuperação de falhas, escalabilidade, autonomia, facilidade de atualização e outros aspectos. Por outro lado, quando tratamos toda essa complexidade, conseguimos definir aplicações que rodam “eternamente” – tornando-se auto-curáveis (self-healing) e muito escaláveis.
O projeto Spring Cloud traz ferramentas para facilitar a aplicação desses conceitos na prática, definindo padrões de implementação para sistemas distribuídos com suporte a gerenciamento de configuração, descoberta de serviços, circuit breakers, roteamento, distribuição de sessões, barramento de controle, dentre outras técnicas. Pode também ser combinado com a plataforma Netflix OSS, que oferece componentes especialmente úteis em um ambiente de microservices, como Eureka (registro), Ribbon (localização), Hystrix (tolerância a falhas), Zulu (roteamento).
Nesta palestra será demonstrado como usar na prática essas ferramentas, bem como os desafios e lições aprendidas – tudo com base em casos reais de uso de uma arquitetura de microservices implementada com Spring Cloud e Netflix OSS.
Palestra ministrada no PHPeste em Salvador-BA em 09/10/2016. Abordamos o que são linux containers, o que é Docker, comparações com máquinas virtuais, principais comandos, GUI, Compose e Swarm
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaiMasters
Wellington Figueira da Silva - Sysadmin de Códigos, Easy
Com a popularidade dos contêineres ficou mais fácil criar microserviços e mais ágil construir aplicações distribuídas, porém a gerência desses serviços fica muito mais complicada.
Mostraremos a ferramenta chamada Istio que nos ajuda com service discovery, com a distribuição de carga, com as rotas, com a detecção e tratamento de falhas, com controle de acesso entre aplicações dentre muitas outras funcionalidades disponíveis.
Apresentado no InterCon 2018 - https://eventos.imasters.com.br/intercon
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/
Micro-serviços tornaram-se o tema mais quente na arquitetura de software durante o ano passado, e muito pode ser dito sobre os seus benefícios. No entanto, é importante compreender que ao começar a decompor o monolito, entramos no reino de sistemas distribuídos lidando com cenários de transparência de localização, recuperação à falhas, escalabilidade, autonomia, fácil atualização, etc. O projeto Spring Cloud promove ferramentas para facilmente implementar estes conceitos, definindo padrões de implementação para sistemas distribuídos com suporte para gerenciamento de configuração, descoberta de serviços, circuit breakers, roteamento, distribuição de sessão, barramento de controle, dentre outros. Nesta palestra serão demonstrados os conceitos destas ferramentas com a utilização do projeto Spring Cloud e com o suporte da plataforma do Netflix OSS.
Mostraremos como o DevOps agregou valor aos produtos da Exame.com (Produto do Grupo Abril, portal equivalente a revista exame), processos automatizados, deploys com mais facilidade, agilidade, diminuição expressiva no numero de rollback, provisionando servidores de produção em 5 minutos.
Melhores práticas para Arquitetura em Cloud ComputingDaniel Checchia
A nuvem reforça alguns conceitos antigos de criação de arquiteturas da Internet altamente escaláveis e introduz alguns novos conceitos que mudam completamente o modo pelo qual os aplicativos são criados e implantados.
Para usufruir do benefício completo de Nuvem, incluindo a sua flexibilidade e escalabilidade, é importante compreender os serviços, recursos e melhores práticas em Cloud Computing. Esta palestra fornece uma visão geral técnica e destaca melhores práticas arquiteturais para ajudá-lo a projetar arquiteturas eficientes e escaláveis.
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
Apresentação sobre primeiros passos no uso de Docker, bem como dicas e truques na manipulação de containers. Palestra realizada para profissionais da UNICID na cidade de São Paulo-SP no dia 29/11/2019.
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...Rodrigo Cândido da Silva
Os microservices tornaram-se o tema mais quente na arquitetura de software, e muito se pode dizer sobre os seus benefícios. Mas é importante compreender que ao começar a decompor o monolito entramos no reino de sistemas distribuídos. Precisamos lidar com cenários de transparência de localização, recuperação de falhas, escalabilidade, autonomia, facilidade de atualização e outros aspectos. Por outro lado, quando tratamos toda essa complexidade, conseguimos definir aplicações que rodam “eternamente” – tornando-se auto-curáveis (self-healing) e muito escaláveis.
O projeto Spring Cloud traz ferramentas para facilitar a aplicação desses conceitos na prática, definindo padrões de implementação para sistemas distribuídos com suporte a gerenciamento de configuração, descoberta de serviços, circuit breakers, roteamento, distribuição de sessões, barramento de controle, dentre outras técnicas. Pode também ser combinado com a plataforma Netflix OSS, que oferece componentes especialmente úteis em um ambiente de microservices, como Eureka (registro), Ribbon (localização), Hystrix (tolerância a falhas), Zulu (roteamento).
Nesta palestra será demonstrado como usar na prática essas ferramentas, bem como os desafios e lições aprendidas – tudo com base em casos reais de uso de uma arquitetura de microservices implementada com Spring Cloud e Netflix OSS.
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Renato Groff
Apresentação sobre alternativas/serviços oferecidos pelo Microsoft para a implementação de arquiteturas baseadas em Microsserviços. Palestra realizada em 26/11/2019 durante um evento promovido pela comunidade Azure Talks na cidade de São Paulo-SP.
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...Renato Groff
Apresentação sobre alternativas/serviços oferecidos pelo Microsoft para a implementação de arquiteturas baseadas em Microsserviços. Palestra realizada em 17/01/2020 durante um evento promovido pela comunidade Azure Talks na cidade de São Paulo-SP.
Internet das coisas - A revolução já começouJose Wilker
Esse é o material da palestra que foi realizada em São Luís do Maranhão sobre Internet das Coisas (Internet of Things) com o objetivo de explicar como realizar transferência de mensagens entre serviços, com o objetivo de tornar aplicações web mais seguras e escaláveis distribuindo serviços.
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...Renato Groff
Slides de apresentação realizada no dia 12/05/2020 (terça) focando na implementação de aplicações distribuídas com Azure Service Bus e Azure Functions.
Palestrantes:
- Gustavo Bellini Bigardi
- Renato Groffe
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Renato Groff
Apresentação sobre o uso de Kubernetes como solução para orquestração de containers. Palestra realizada em 28/01/2020 em evento promovido pela comunidade .NET SP em São Paulo-SP.
Um método para o desenvolvimento de software baseado em microsserviçosThiago Pereira
Trabalho de conclusão do curso (TCC 2) de Engenharia de Software da Universidade Federal do Ceará, campus de Quixadá.
Este trabalho propõe um método, ou seja, um conjunto de passos bem definidos para auxiliar o desenvolvimento de software baseado em microserviços.
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
Microservices é um estilo arquitetural que têm revolucionado o desenvolvimento de aplicações através de pequenos serviços, desacoplados e com foco em executar uma tarefa específica comunicando-se através de Web APis ou mensagens assíncronas. Nesta palestra será apresentado como microservices é capaz de solucionar seus problemas no desenvolvimento de sistemas robustos e escaláveis. Serão abordadas as principais características deste paradigma, quais as vantagens e desvantagens em comparação a arquiteturas monolíticas, exemplos e situações de uso.
Escalando infra em ops em um ambiente de hiper crescimentoRenan Capaverde
DevOps é um tipo de cultura, não é um cargo, muito menos um time. Nesta seção, queremos compartilhar a história do Nubank buscando sanidade e equilíbrio entre Dev e Ops em uma arquitetura de microserviços.
Vamos demonstrar como evoluímos de um time de engenharia sem ninguém dedicado à Infraestrutura para um time responsável pela evolução horizontal da plataforma, mantendo times responsáveis pela operação dos seus próprios serviços.
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)Wellington Silva
Palestra apresentada em 02/12/2016 no meetup do GruPy-SP que além de abordar o que é o Docker e como ele se posiciona em comparação com as tradicionais máquinas virtuais, tem como principal intenção mostrar como uma aplicação pode ser levada de um ambiente local para um cluster de máquinas Docker. O demo está disponível no GitHub em https://github.com/wsilva/demo-flask-swarm
Palestra apresentada em 29/11/2016 no 12º meetup de Laravel em SP com a intenção de mostrar na essência o que são contêineres (Linux e Windows), da onde vem o Docker com direito a uma demonstração montando contêineres manualmente usando Go Lang. Demo disponível no GitHub: http://github.com/wsilva/container-from-scratch-demo
Mais conteúdo relacionado
Semelhante a Do monolito aos microserviços com Docker (PHPSP+IMA)
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Renato Groff
Apresentação sobre alternativas/serviços oferecidos pelo Microsoft para a implementação de arquiteturas baseadas em Microsserviços. Palestra realizada em 26/11/2019 durante um evento promovido pela comunidade Azure Talks na cidade de São Paulo-SP.
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...Renato Groff
Apresentação sobre alternativas/serviços oferecidos pelo Microsoft para a implementação de arquiteturas baseadas em Microsserviços. Palestra realizada em 17/01/2020 durante um evento promovido pela comunidade Azure Talks na cidade de São Paulo-SP.
Internet das coisas - A revolução já começouJose Wilker
Esse é o material da palestra que foi realizada em São Luís do Maranhão sobre Internet das Coisas (Internet of Things) com o objetivo de explicar como realizar transferência de mensagens entre serviços, com o objetivo de tornar aplicações web mais seguras e escaláveis distribuindo serviços.
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...Renato Groff
Slides de apresentação realizada no dia 12/05/2020 (terça) focando na implementação de aplicações distribuídas com Azure Service Bus e Azure Functions.
Palestrantes:
- Gustavo Bellini Bigardi
- Renato Groffe
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Renato Groff
Apresentação sobre o uso de Kubernetes como solução para orquestração de containers. Palestra realizada em 28/01/2020 em evento promovido pela comunidade .NET SP em São Paulo-SP.
Um método para o desenvolvimento de software baseado em microsserviçosThiago Pereira
Trabalho de conclusão do curso (TCC 2) de Engenharia de Software da Universidade Federal do Ceará, campus de Quixadá.
Este trabalho propõe um método, ou seja, um conjunto de passos bem definidos para auxiliar o desenvolvimento de software baseado em microserviços.
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
Microservices é um estilo arquitetural que têm revolucionado o desenvolvimento de aplicações através de pequenos serviços, desacoplados e com foco em executar uma tarefa específica comunicando-se através de Web APis ou mensagens assíncronas. Nesta palestra será apresentado como microservices é capaz de solucionar seus problemas no desenvolvimento de sistemas robustos e escaláveis. Serão abordadas as principais características deste paradigma, quais as vantagens e desvantagens em comparação a arquiteturas monolíticas, exemplos e situações de uso.
Escalando infra em ops em um ambiente de hiper crescimentoRenan Capaverde
DevOps é um tipo de cultura, não é um cargo, muito menos um time. Nesta seção, queremos compartilhar a história do Nubank buscando sanidade e equilíbrio entre Dev e Ops em uma arquitetura de microserviços.
Vamos demonstrar como evoluímos de um time de engenharia sem ninguém dedicado à Infraestrutura para um time responsável pela evolução horizontal da plataforma, mantendo times responsáveis pela operação dos seus próprios serviços.
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)Wellington Silva
Palestra apresentada em 02/12/2016 no meetup do GruPy-SP que além de abordar o que é o Docker e como ele se posiciona em comparação com as tradicionais máquinas virtuais, tem como principal intenção mostrar como uma aplicação pode ser levada de um ambiente local para um cluster de máquinas Docker. O demo está disponível no GitHub em https://github.com/wsilva/demo-flask-swarm
Palestra apresentada em 29/11/2016 no 12º meetup de Laravel em SP com a intenção de mostrar na essência o que são contêineres (Linux e Windows), da onde vem o Docker com direito a uma demonstração montando contêineres manualmente usando Go Lang. Demo disponível no GitHub: http://github.com/wsilva/container-from-scratch-demo
Webinar de introdução apresentado via hangout para equipe da Umbler em 25/11/2016 mostrando na essência o que são contêineres (Linux e Windows), da onde vem o Docker, demo montando contêineres manualmente usando Go Lang, e o estado atual da adoção da tecnologia.
Workshop de introdução apresentado na Novatec em 06/10/2016 mostrando na essência o que são contêineres (Linux e Windows), da onde vem o Docker, o que são LXC e demos montando contêineres manualmente, com LXC e com Docker além de alguns exemplos básicos de utilização do Docker.
Palestra ministrada online (https://youtu.be/qjZMHsqSmSE) com o objetivo de mostrar Docker para quem está começando e nunca tinha visto Docker antes. Contextualizamos e mostramos o Docker em funcionamento
Palestra apresentada dia 09 de agosto de 2016 no 7º meetup de Docker SP ministrado na Viva Real em Sao Paulo. Algumas demos foram apresentadas para dar ideia do que é capaz de fazer com o Docker.
Palestra sobre Gnu/Linux num contexto de software livre ministrado na EACH (Escola de Artes Ciências e Humanidades) - USP (Universidade de São Paulo) em 08/06/2015
Talk presented at Meetup Laravel SP #3 about docker from basics to docker orchestration.
Presented in 2015-05-07
Video da apresentação:
https://youtu.be/mR2px-mKjd0
13. Feedback Loop
• PDCA - Plan, Do, Check, Act
• Retomada de contexto é custosa
• Testes diminuem o tempo de feedback loop
14. Feedback Loop
• PDCA - Plan, Do, Check, Act
• Retomada de contexto é custosa
• Testes diminuem o tempo de feedback loop
• Continuous Integration e Continuous Deployment / Delivery
15. Feedback Loop
• PDCA - Plan, Do, Check, Act
• Retomada de contexto é custosa
• Testes diminuem o tempo de feedback loop
• Continuous Integration e Continuous Deployment / Delivery
• Muitos bugs - falta de confiança para colocar em produção
16. –Conway’s Law
“Organizations which design systems ... are constrained to
produce designs which are copies of the communication
structures of these organizations”
19. Big Monolith
• Aumento do sistema, mais pessoas para mantê-lo
• The Mythical Man-Month do Frederick Brooks: "Adding manpower
to a late software project makes it later"
20. Big Monolith
• Aumento do sistema, mais pessoas para mantê-lo
• The Mythical Man-Month do Frederick Brooks: "Adding manpower
to a late software project makes it later”
• 2 pizza team - tamanho dos times - Jeff Bezos da AWS
21. Big Monolith
• Aumento do sistema, mais pessoas para mantê-lo
• The Mythical Man-Month do Frederick Brooks: "Adding manpower
to a late software project makes it later”
• 2 pizza team - tamanho dos times - Jeff Bezos da AWS
• O crescimento leva naturalmente na divisão de equipes
26. Microservice Journey
• Microservice não escala software, escala pessoas
• Art of scalability - Arquitetos do Ebay - 3 dimensões escaláveis:
• horizontal: mais máquinas
27. Microservice Journey
• Microservice não escala software, escala pessoas
• Art of scalability - Arquitetos do Ebay - 3 dimensões escaláveis:
• horizontal: mais máquinas
• particionamento de dados: dividindo coisas similares
28. Microservice Journey
• Microservice não escala software, escala pessoas
• Art of scalability - Arquitetos do Ebay - 3 dimensões escaláveis:
• horizontal: mais máquinas
• particionamento de dados: dividindo coisas similares
• decomposição funcional: dividir responsabilidades diferentes
30. Microservice Journey
• Microservice diminui o contexto, permite serviço coeso, baixo
acoplamento
• APIs para comunicação entre serviços distintos
31. Microservice Journey
• Microservice diminui o contexto, permite serviço coeso, baixo
acoplamento
• APIs para comunicação entre serviços distintos
• Permite utilizar as melhores tecnologias (liguagem, stack) para
resolver cada problema
35. Microservice Journey
• Problemas novos
• aumento de complexidade
• confiabilidade tem que estar no software (hardware falha)
• sempre previnir falhas (de comunicação, rede)
36. Microservice Journey
• Problemas novos
• aumento de complexidade
• confiabilidade tem que estar no software (hardware falha)
• sempre previnir falhas (de comunicação, rede)
• diversos pipelines de entrega (CI/CD) que se interdependem
39. Microservice Journey
• Problemas novos
• smart router - testes AB, deploys blue-green, cannary releases
• log unificado das instâncias
• dashboard central com status de todos os serviços
40. Microservice Journey
• Problemas novos
• smart router - testes AB, deploys blue-green, cannary releases
• log unificado das instâncias
• dashboard central com status de todos os serviços
• monitoria e alarmes para cada serviço
41. Microservice Journey
• Problemas novos
• smart router - testes AB, deploys blue-green, cannary releases
• log unificado das instâncias
• dashboard central com status de todos os serviços
• monitoria e alarmes para cada serviço
• testes integrados mais difíceis de realizar
44. Microservice Journey
• Estratégia
• funções e serviços satélites
• achar os limites do contexto da aplicação - se foi usado DDD fica
mais fácil identificar
45. Microservice Journey
• Estratégia
• funções e serviços satélites
• achar os limites do contexto da aplicação - se foi usado DDD fica
mais fácil identificar
• automatização de pipeline (devops)
46. Microservice Journey
• Estratégia
• funções e serviços satélites
• achar os limites do contexto da aplicação - se foi usado DDD fica
mais fácil identificar
• automatização de pipeline (devops)
• utilizar APIs, pontos de comunicação síncronos e assíncronos
50. Microservice Journey
• Estratégia
• CQRS
• consistência eventual de dados
• aplicar o 12 factor apps para a criação dos novos serviços
• fazer um balanço de qual projeto geram mais valor e dão menos
trabalho (geralmente 1 ou 2 semanas)
51. Microservice Journey
• Estratégia
• CQRS
• consistência eventual de dados
• aplicar o 12 factor apps para a criação dos novos serviços
• fazer um balanço de qual projeto geram mais valor e dão menos
trabalho (geralmente 1 ou 2 semanas)
• com a evolução matamos o monólito por inanição