O documento discute microserviços e como integrá-los. Ele apresenta aplicações monolíticas versus microserviços, como microserviços podem ser organizados usando bounded contexts, e integração assíncrona usando mensageria. Exemplos de empresas que usam microserviços são apresentados.
Amadurecendo Equipes com Microservicessanchez_ivan
Uma arquitetura de microserviços trás inúmeras vantagens. Por outro lado, organizar um sistema deste modo traz vários desafios. Nesta apresentação eu trago algumas lições aprendidas que podem ser úteis mesmo para equipes que não pretendem aderir completamente a esta nova tendência.
Microservices vem se tornando uma prática cada vez mais utilizada por equipes de desenvolvimento de software. Conheça as motivações e os desafios para se desenvolver com essa abordagem. Saiba mais em http://blog.andrefaria.com
Vantagens e desvantagens de uma arquitetura microservicesFábio Rosato
A demanda cada vez maior por agilidade, inovação e escalabilidade das soluções digitais tem impulsionado a adoção da arquitetura baseada em microservices. Os benefícios desta abordagem são reais e significativos, mas esse estilo arquitetural traz uma série de novos desafios.
Nesta apresentação, vamos fazer um mergulho profundo a partir de exemplos detalhados sobre as vantagens e desvantagens dessa abordagem arquitetural, como por exemplo:
Explorar como realizar a decomposição funcional e como definir taxonomias e granularidades adequadas para os microservices;
Como solucionar problemas arquiteturais como Client-side service discovery e Server-side service discovery, invocação, logging e monitoramento;
Definir protocolos de comunicação (HTTP, AMQP e Websocket) de forma minimizar a latência e lidar com outros requisitos não funcionais;
Como atacar questões de replicação de dados e regras de negócio e dados;
Design Patterns para problemas arquiteturais recorrentes;
Como conduzir a operação e evolução de um sistema nesta abordagem.
Tópicos abordados nesta apresentação realizada durante o Interopmix (24/08/2015):
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microservices
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.
Amadurecendo Equipes com Microservicessanchez_ivan
Uma arquitetura de microserviços trás inúmeras vantagens. Por outro lado, organizar um sistema deste modo traz vários desafios. Nesta apresentação eu trago algumas lições aprendidas que podem ser úteis mesmo para equipes que não pretendem aderir completamente a esta nova tendência.
Microservices vem se tornando uma prática cada vez mais utilizada por equipes de desenvolvimento de software. Conheça as motivações e os desafios para se desenvolver com essa abordagem. Saiba mais em http://blog.andrefaria.com
Vantagens e desvantagens de uma arquitetura microservicesFábio Rosato
A demanda cada vez maior por agilidade, inovação e escalabilidade das soluções digitais tem impulsionado a adoção da arquitetura baseada em microservices. Os benefícios desta abordagem são reais e significativos, mas esse estilo arquitetural traz uma série de novos desafios.
Nesta apresentação, vamos fazer um mergulho profundo a partir de exemplos detalhados sobre as vantagens e desvantagens dessa abordagem arquitetural, como por exemplo:
Explorar como realizar a decomposição funcional e como definir taxonomias e granularidades adequadas para os microservices;
Como solucionar problemas arquiteturais como Client-side service discovery e Server-side service discovery, invocação, logging e monitoramento;
Definir protocolos de comunicação (HTTP, AMQP e Websocket) de forma minimizar a latência e lidar com outros requisitos não funcionais;
Como atacar questões de replicação de dados e regras de negócio e dados;
Design Patterns para problemas arquiteturais recorrentes;
Como conduzir a operação e evolução de um sistema nesta abordagem.
Tópicos abordados nesta apresentação realizada durante o Interopmix (24/08/2015):
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microservices
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.
Arquitetura de Micro Serviços não é uma bala de prata, esta é uma introdução comparando com Arquittura Monolítica. Como também as vantagens e desvantagens de usá-las.
QCon SP 2016 - WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...Tiago Marchetti Dolphine
Veja nessa palestra como a distribuição de serviços, o uso de Web APIs e processamento assíncrono nos fez atingir objetivos de crescimento agressivo e quebrar a barreira de um milhão de pedidos por mês no iFood.
Entre os assuntos abordados:
Modularização de APIs REST e flexibilidade para suporte de aplicações mobile, web, integrações de parceiros além de serviços internos e uso de SDK;
Caching compartilhado de alta performance com Aerospike e com o uso de filas e eventos na AWS, solucionando problemas de escala e alto processamento;
Microservices e migração de serviços monolíticos utilizando Spring Boot, benefícios e problemas enfrentados;
Coleta de métricas com Metrics e Graphite e o monitoramento de APIs, e como isso pode ser estratégico no desenvolvimento.
São explorados sucessos, dificuldades e falhas neste percurso de evolução de sistemas legados e integrações. Também mostramos como estar preparado para um futuro de alto crescimento e elasticidade de acessos.
TCC 1 - Um método para o desenvolvimento de software baseado em microserviçosThiago Pereira
Trabalho de conclusão de curso do curso (TCC 1) de Engenharia de Software da Universidade Federal do Ceará com o tema: Um método para o desenvolvimento de software baseado em microserviços.
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.
Estamos em 2018 e parece que para qualquer problema a solução são os microsserviços, vamos entender primeiro o que envolve tudo isso e tirarmos a conclusão se trata-se de uma moda no universo da tecnologia ou uma necessidade.
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Renato Groff
Apresentação sobre microserviços e o uso de tecnologias disponibilizadas pelo Azure na implementação deste tipo de arquitetura. Palestra realizada em 29/07/2017, em meetup promovido pelo grupo Tecnologia na Prática na cidade de São Paulo-SP.
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Emmanuel Neri
Microservices é muito mais que uma arquitetura de software, pois sua aplicação envolve toda organização, desde de mudanças de culturas, mudanças no dia a dia de desenvolvimento até na estrutura organizacional dos times de desenvolvimentos
Talk apresentada na Faculdade Uniritter, referente a arquitetura de microserviços.
Foi falado sobre a historio dos serviços, principais pessoas, sistemas monolíticos, serviços, até chegar a esta arquitetura de microserviços.
Logo sera publicado o resumo criado para cada slide para melhor entendimento.
Microserviços - Universidade Metodista - EETI 2016Renato Groff
Tópicos abordados nesta apresentação realizada durante o a semana EETI 2016 da Universidade Metodista - São Paulo (02/05/2016):
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microserviços
Conheça o recurso do Azure DevTes Labs que permite criar ambientes de Dev Test com controle de custo por ambiente, definir tipos de maquinas virtuais , softwares pré-definidos e configurados e tambem ambientes de virtual labs para universidades e instituições de ensino
Tópicos abordados nesta apresentação realizada durante o ALM Roadshow 2015 - São Paulo (07/11/2015):
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microservices
Arquitetura de Micro Serviços não é uma bala de prata, esta é uma introdução comparando com Arquittura Monolítica. Como também as vantagens e desvantagens de usá-las.
QCon SP 2016 - WebAPIs e delivery: Matando a fome de 1 milhão de pedidos men...Tiago Marchetti Dolphine
Veja nessa palestra como a distribuição de serviços, o uso de Web APIs e processamento assíncrono nos fez atingir objetivos de crescimento agressivo e quebrar a barreira de um milhão de pedidos por mês no iFood.
Entre os assuntos abordados:
Modularização de APIs REST e flexibilidade para suporte de aplicações mobile, web, integrações de parceiros além de serviços internos e uso de SDK;
Caching compartilhado de alta performance com Aerospike e com o uso de filas e eventos na AWS, solucionando problemas de escala e alto processamento;
Microservices e migração de serviços monolíticos utilizando Spring Boot, benefícios e problemas enfrentados;
Coleta de métricas com Metrics e Graphite e o monitoramento de APIs, e como isso pode ser estratégico no desenvolvimento.
São explorados sucessos, dificuldades e falhas neste percurso de evolução de sistemas legados e integrações. Também mostramos como estar preparado para um futuro de alto crescimento e elasticidade de acessos.
TCC 1 - Um método para o desenvolvimento de software baseado em microserviçosThiago Pereira
Trabalho de conclusão de curso do curso (TCC 1) de Engenharia de Software da Universidade Federal do Ceará com o tema: Um método para o desenvolvimento de software baseado em microserviços.
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.
Estamos em 2018 e parece que para qualquer problema a solução são os microsserviços, vamos entender primeiro o que envolve tudo isso e tirarmos a conclusão se trata-se de uma moda no universo da tecnologia ou uma necessidade.
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Renato Groff
Apresentação sobre microserviços e o uso de tecnologias disponibilizadas pelo Azure na implementação deste tipo de arquitetura. Palestra realizada em 29/07/2017, em meetup promovido pelo grupo Tecnologia na Prática na cidade de São Paulo-SP.
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Emmanuel Neri
Microservices é muito mais que uma arquitetura de software, pois sua aplicação envolve toda organização, desde de mudanças de culturas, mudanças no dia a dia de desenvolvimento até na estrutura organizacional dos times de desenvolvimentos
Talk apresentada na Faculdade Uniritter, referente a arquitetura de microserviços.
Foi falado sobre a historio dos serviços, principais pessoas, sistemas monolíticos, serviços, até chegar a esta arquitetura de microserviços.
Logo sera publicado o resumo criado para cada slide para melhor entendimento.
Microserviços - Universidade Metodista - EETI 2016Renato Groff
Tópicos abordados nesta apresentação realizada durante o a semana EETI 2016 da Universidade Metodista - São Paulo (02/05/2016):
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microserviços
Conheça o recurso do Azure DevTes Labs que permite criar ambientes de Dev Test com controle de custo por ambiente, definir tipos de maquinas virtuais , softwares pré-definidos e configurados e tambem ambientes de virtual labs para universidades e instituições de ensino
Tópicos abordados nesta apresentação realizada durante o ALM Roadshow 2015 - São Paulo (07/11/2015):
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microservices
Microservices - Canal .NET Dev WeekendRenato Groff
Tópicos abordados nesta apresentação realizada durante o Canal .NET Dev Weekend, evento online realizado em 05/12/2015:
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microservices
Oficina tecnológica oferecida no SEBRAE - Startup Like a Boss
Data: 18/10/2017
Com a evolução dos processos ágeis de desenvolvimento de produtos, se faz necessário metodologias e ferramentas mais eficazes que possam refletir na infraestrutura de TI a agilidade necessária para manter tais soluções instaladas, atualizadas e em funcionamento em um curto espaço de tempo. Nesse contexto, DevOps surge como um novo caminho de interação que ajuda a melhorar o relacionamento, comunicação e colaboração entre os times de operação e desenvolvimento de produtos, essencial atender a tempestividade/disponibilidade/confiabilidade de soluções em constante mudança resultantes de suas características inovadoras. Esta oficina é direcionada a empreendedores, colaboradores e startups que buscam tornar o processo evolutivo de seus produtos (MPVs) mais responsivos às demandas de seus clientes.
Apresentação realizada no dia 15/03/2018 no meetup da comunidade Developers-SP "O Palco é Delas!", em homenagem ao mês da mulher.
A Jaqueline Ramos e eu falamos um pouco sobre DevOps, a importância dos testes, a utilização da ferramenta Azure DevTest Labs e seus principais benefícios.
Apresentação realizada no meetup do Developers-SP "O Palco é Delas!", em homenagem ao mês da mulher.
Aqui falamos um pouco sobre a utilização da ferramenta Azure DevTest Labs e seus principais beneficios.
Roteiro
- O que é Entrega Contínua e DevOps?
- O que é Integração Contínua?
- Erros Comuns em Entrega de Software;
- Princípios de Entrega Contínua;
- Práticas em Arquitetura de Software;
O GitLab é um gerenciador de repositórios baseado em Git. Suas ferramentas incluem um wiki, um gerenciador de tarefas e um pipeline de CI/CD, etc. O GitLab é similar ao GitHub, porém, por ser open source, pode ser armazenado em infraestrutura própria, além da versão em nuvem do mesmo, podendo ter repositórios públicos e privados.
GitLab Runner, o GitLab permite que você use o Runner, que é um projeto open source que é usado para executar os jobs e enviar os resultados de volta para o GitLab. Ou seja, ele nos permite buildar sem a necessidade de nenhuma instalação externa.
Veremos uma introdução de como tudo isso funciona.
Palestra descrevendo de forma geral o processo para criar arquiteturas adequadas para micro-serviços e também para refatorar uma aplicação antiga para esta arquitetura.
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.
Resumo da trilha de microserviços apresentado do TDC Florianópolis, abordando algumas tecnologias como Netflix OSS e Docker. Além disso, será explorado a aplicabilidade dos mesmos bem como sua interação com banco de dados e sistemas legados.
Sobre os autores
Airton Fitarelli Junior
Programador Pleno na Ud-Builder, Graduado em Análise e Desenvolvimento de Sistemas, pelo IFRS-BG. Programador há 6 anos nas linguagem C# e PHP e buscando sempre aprender novas tecnologias.
Douglas Picolotto
Gosto de estudar e aprender novas tecnologias e conceitos, melhores práticas de codificação, ALM, arquitetura de software, Ciência de Dados e Aprendizagem Automática (especialmente). Hoje eu sou um Engenheiro de Software, mas também DevOps e líder de equipe.
6. Pros
• Mais fácil de desenvolver (IDE
Support)
• Mais fácil de testar os
componentes(testes de integração
e aceitação)
• Mais fácil de fazer deploy
7. Contras
• Quanto maior, mais difícil de
manter e desenvolver
• Testes de integração podem levar
horas
• Qualquer erro pode quebrar toda a
plicação no deploy
• Difícil de adicionar nova
arquitetura ou framework
8. Contras
• Quanto maior, mais difícil de
manter e desenvolver
• Testes de integração podem levar
horas
• Qualquer erro pode quebrar toda a
plicação no deploy
• Difícil de adicionar nova
arquitetura ou framework
10. O que são?
Pequenos serviços, cada um
executando em seu próprio
processo e se comunicando
através de mecanismos leves
como o HTTP.
11.
12. Pros
• São pequenos sendo fáceis de entender e
dar manutenção
• Não deixam a IDE lenta, o que melhorar a
produtividade
• Inicializam muito mais rápido
aumentando a velocidade de
desenvolvimento
• São mais fáceis de fazer deploy
• Se um microserviço quebrar a aplicação
continua rodando
• Torna o processo de deploy contínua
muito mais fácil
13. Contras
• Mais difícil de gerenciar todos os
componentes
• Complexidade adicional para se trabalhar
com sistemas distribuídos
• Casos de uso que transpassam mais de
um serviço são mais dificeis de testar
• Não há suporte de IDE’s
• Necessita de uma nível de automação
muito maior e mais confiável
16. Microservices e Bounded Contexts
• Cada bounded context possui uma
linguagem ubíquota própria
• O time entende os conceitos de
negócio
• Perfeito candidato para
microserviço