Globalcode – Open4education
Arquitetura .NET – .NET + Microsserviços: alternativas open
source para descomplicar a sua vida
Renato Groffe – Walter Coan
Globalcode – Open4education
Renato Groffe
Microsoft Most Valuable Professional (MVP)
Multi-Plataform Technical Audience Contributor (MTAC)
20 anos de experiência na área de Tecnologia
Community Leader, Autor Técnico e Palestrante
https://renatogroffe.medium.com/
Globalcode – Open4education
Walter Silvestre Coan
Microsoft MVP em Azure 2020/2021
Certificações
Azure Solutions Architect
Azure Security Engineer
Azure IoT Developer – Specialty
Azure Developer – Associate
Azure Administrator - Associate
Azure Fundamentals
MCT
MCSD – MCSA (C# e Web Apps)
AWS Academy Accredited Educator
AWS Certified Developer – Associate
AWS Certified Cloud Practitioner
Sun Certified Programmer em Java 5.0
Mestre em Ciência da Computação na área de Sistemas
Distribuídos e Redes de Sensores sem Fio - PUCPR
Pós-Graduado em Engenharia de Software - PUCPR
Bacharel em Informática - UNIVILLE
Professor no Bacharelado em Sistemas de Informação e do
Bacharelado em Engenharia de Software da UNIVILLE
walter.coan@gmail.com – walter.s@univille.br – www.waltercoan.com.br
Globalcode – Open4education
Agenda
Resiliência e Chaos Engineering
CQS e CQRS
Mensageria
Exemplos práticos
Globalcode – Open4education
Algumas práticas comuns
com Microservices
Implementações resilientes e Chaos
Engineering
Adoção de técnicas como CQS e CQRS
Uso de mensageria
Globalcode – Open4education
Polly: Tratamento de Falhas e
Resiliência em .NET
Garantir uma alta disponibilidade da
aplicação
Tratar falhas que certamente irão ocorrer
Impedir o mau funcionamento de uma
aplicação
Globalcode – Open4education
Polly: Tratamento de Falhas e
Resiliência em .NET
Aplicações Web, desktop, mobile…
Tratamento de falhas e resiliência com
um código mais simples (evitando try-
catch, loops)
Suporte a Patterns como Retry, Circuit
Breaker, Timeout e Fallback
Globalcode – Open4education
Circuit Breaker
Close
Half-
Open
Open
O padrão Circuit Breaker, popularizado
por Michael Nygard em seu livro, Release
It!, pode impedir que um aplicativo tente
repetidamente executar uma operação
que provavelmente falhará. Permitir que
continue sem esperar que a falha seja
corrigida ou desperdiçar ciclos de CPU
enquanto determina que a falha é de
longa duração. Ele também permite que
um aplicativo detecte se a falha foi
resolvida. Se o problema parece ter sido
corrigido, o aplicativo pode tentar invocar
a operação.
Fonte: https://docs.microsoft.com/pt-br/azure/architecture/patterns/circuit-breaker?WT.mc_id=AZ-MVP-5003638
Globalcode – Open4education
Simmy
Simmy é uma ferramenta de Engenharia de Caos (Chaos
Engineering) e injeção de falhas, integrando-se ao projeto de
resiliência Polly para .NET
AsyncPolicyWrap
CircuitBreakerAsync
BulkheadAsync
InjectExceptionAsync
Globalcode – Open4education
CQS e CQRS em .NET com
MediatR
Implementação do pattern Mediator
Favorece um baixo acoplamento
Facilita implementações baseadas em
CQS (Command-query Separation) e
CQRS (Command query responsibility
separation)
Globalcode – Open4education
Mensageria em .NET com
MassTransit
Descomplica a implementação de
aplicações distribuídas
Suporte a diversas soluções de
mensageria
Globalcode – Open4education
Exemplos práticos
https://github.com/renatogroffe/DotNet6-Microservices-TDC_Connections-2022
https://github.com/waltercoan/tdc2022con-webapi-dotnet6-polly-simmy
.NET + Microsserviços: alternativas open source para descomplicar a vida | TDC Connections 2022

Mais conteúdo relacionado

PPTX
Application Insights: identificando problemas de performance em aplicações le...
PPTX
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
PPTX
Tecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
PPTX
.NET + Microsserviços: alternativas open source para descomplicar a sua vida ...
PPTX
Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017
PPTX
Mocking Test - ThinkUp! - Abril/2017
PPTX
Testes de interfaces Web com Selenium
PPTX
TDD e BDD - Developers-SP - Abril/2017
Application Insights: identificando problemas de performance em aplicações le...
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
Tecnologias em 2021: no que ficar de olho? | WTT2021 - Mackenzie
.NET + Microsserviços: alternativas open source para descomplicar a sua vida ...
Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017
Mocking Test - ThinkUp! - Abril/2017
Testes de interfaces Web com Selenium
TDD e BDD - Developers-SP - Abril/2017

Mais procurados (20)

PPTX
Behavior-Driven Development (BDD) - Abril/2017
PPTX
Do Monolítico aos Micro Serviços no Azure
PPTX
.NET Core e Testes de Unidade - Visual Studio Summit 2017
PPTX
Behavior-Driven Development (BDD) - DevOps Summit 2016
PPT
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
PPTX
Dapper - Developers-SP - Junho/2017
PPTX
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
PPTX
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
PPTX
Minicurso sobre as tecnologias WCF e Web API
PPTX
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
PPTX
A trilogia Spring MVC + Spring Data + AngularJS
PPTX
.NET Standard 2.0: reuso de código entre projetos legados e .NET Core - .NET ...
PPTX
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
PPTX
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
PPTX
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
PPTX
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
PPTX
O novo ASP.NET - Campinas .NET - Março/2017
PPTX
Application Insights - Campinas .NET - Março/2017
PDF
Zabbix, Grafana e os conteineres Docker
PPTX
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Behavior-Driven Development (BDD) - Abril/2017
Do Monolítico aos Micro Serviços no Azure
.NET Core e Testes de Unidade - Visual Studio Summit 2017
Behavior-Driven Development (BDD) - DevOps Summit 2016
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
Dapper - Developers-SP - Junho/2017
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
Minicurso sobre as tecnologias WCF e Web API
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
A trilogia Spring MVC + Spring Data + AngularJS
.NET Standard 2.0: reuso de código entre projetos legados e .NET Core - .NET ...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
Boas práticas na implementação de APIs REST com ASP.NET Core - Agosto-2019
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
O novo ASP.NET - Campinas .NET - Março/2017
Application Insights - Campinas .NET - Março/2017
Zabbix, Grafana e os conteineres Docker
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Anúncio

Semelhante a .NET + Microsserviços: alternativas open source para descomplicar a vida | TDC Connections 2022 (20)

PPTX
Aplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
PPTX
Aplicações Resilientes e Chaos Engineering em .NET com Polly + Simmy | Festiv...
PPTX
Polly: aplicações .NET resilientes e um melhor tratamento de falhas
PPTX
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
PDF
Clean code part 2
PPTX
Dividindo para Conquistar: microserviços com o jeitinho .NET
PPTX
Brownfield applications: dicas, técnicas e experiências
PPT
TDC2016SP - Trilha Microservices
PDF
TDC2017 | POA Trilha Arquitetura - Antifragilidade e desenvolvimento de software
PPT
ASP.NET Core + Containers: implementando aplicações escaláveis de forma desco...
PPT
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
PPT
TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...
PPSX
TDC2018SP | Trilha Arq .Net - Performance e feature
PPT
Tdc 2013 eric lemes - integracoes entre sistemas-2
PDF
Construindo um micro-serviço Java 100% funcional em 15 minutos
PDF
Internet das coisas - A Revolução já começou
PPTX
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
PPTX
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
PPTX
Dividindo para conquistar: microservicos com o jeitinho .NET
PPT
Monitorando serviços REST com o Application Insights e Distributed Tracing
Aplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
Aplicações Resilientes e Chaos Engineering em .NET com Polly + Simmy | Festiv...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
Clean code part 2
Dividindo para Conquistar: microserviços com o jeitinho .NET
Brownfield applications: dicas, técnicas e experiências
TDC2016SP - Trilha Microservices
TDC2017 | POA Trilha Arquitetura - Antifragilidade e desenvolvimento de software
ASP.NET Core + Containers: implementando aplicações escaláveis de forma desco...
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...
TDC2018SP | Trilha Arq .Net - Performance e feature
Tdc 2013 eric lemes - integracoes entre sistemas-2
Construindo um micro-serviço Java 100% funcional em 15 minutos
Internet das coisas - A Revolução já começou
Cloud Native Microservices - Rumo a uma Arquitetura de Microsserviços Nativos...
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
Dividindo para conquistar: microservicos com o jeitinho .NET
Monitorando serviços REST com o Application Insights e Distributed Tracing
Anúncio

Mais de Renato Groffe (20)

PPTX
Kubernetes e Escalabilidade: processando milhares/milhões de acessos simultân...
PPTX
.NET 7: principais novidades no Desenvolvimento Back-End | Visual Studio Summ...
PPTX
Orquestrando processos de negócio com .NET + Azure Durable Functions | Cloud4...
PPTX
Dapr + Microservices: descomplicando a implementação de Aplicações Distribuíd...
PPTX
Kubernetes e Escalabilidade: processando milhares/milhões de acessos simultân...
PPTX
kind + Kubernetes: ambientes locais, testes de integração | DevOps Experience...
PPTX
.NET 7: novidades no Desenvolvimento Back-End | Agrotools - Novembro-2022
PPTX
OpenTelemetry + Jaeger + .NET: Monitoramento e Tracing Distribuído em Aplicaç...
PPTX
.NET 7: novidades no Desenvolvimento Back-End | Protech Solutions - Agosto-2022
PPTX
Pipeline as Code + Azure DevOps: automações com o Azure Pipelines | DevOps Ex...
PPTX
Kubernetes e Escalabilidade | Paraná Banco - Julho-2022
PPTX
Kubernetes + KEDA: escalando aplicações de forma descomplicada | Cloud Confer...
PPTX
.NET: Passado, Presente, Futuro, Mercado de Trabalho… | Generation Brazil
PPTX
Azure Container Apps: visão geral e primeiros passos | Azure Weekend 2022 - P...
PPTX
Tracing Distribuído em Aplicações com OpenTelemetry + Jaeger | Cloud Conferen...
PPTX
Tracing Distribuído em Aplicações com OpenTelemetry + Jaeger | DevOps Experie...
PPTX
Kubernetes + KEDA: escalando aplicações de forma descomplicada | DevOps Exper...
PPTX
Nuvem em 2022: primeiros passos, Azure, tecnologias, carreira | SENAI Santo A...
PPTX
Testes de carga com k6 | Loft - Fevereiro-2022
PPTX
Microservices, Mensageria e Escalabilidade com Kubernetes + KEDA | MVPConf La...
Kubernetes e Escalabilidade: processando milhares/milhões de acessos simultân...
.NET 7: principais novidades no Desenvolvimento Back-End | Visual Studio Summ...
Orquestrando processos de negócio com .NET + Azure Durable Functions | Cloud4...
Dapr + Microservices: descomplicando a implementação de Aplicações Distribuíd...
Kubernetes e Escalabilidade: processando milhares/milhões de acessos simultân...
kind + Kubernetes: ambientes locais, testes de integração | DevOps Experience...
.NET 7: novidades no Desenvolvimento Back-End | Agrotools - Novembro-2022
OpenTelemetry + Jaeger + .NET: Monitoramento e Tracing Distribuído em Aplicaç...
.NET 7: novidades no Desenvolvimento Back-End | Protech Solutions - Agosto-2022
Pipeline as Code + Azure DevOps: automações com o Azure Pipelines | DevOps Ex...
Kubernetes e Escalabilidade | Paraná Banco - Julho-2022
Kubernetes + KEDA: escalando aplicações de forma descomplicada | Cloud Confer...
.NET: Passado, Presente, Futuro, Mercado de Trabalho… | Generation Brazil
Azure Container Apps: visão geral e primeiros passos | Azure Weekend 2022 - P...
Tracing Distribuído em Aplicações com OpenTelemetry + Jaeger | Cloud Conferen...
Tracing Distribuído em Aplicações com OpenTelemetry + Jaeger | DevOps Experie...
Kubernetes + KEDA: escalando aplicações de forma descomplicada | DevOps Exper...
Nuvem em 2022: primeiros passos, Azure, tecnologias, carreira | SENAI Santo A...
Testes de carga com k6 | Loft - Fevereiro-2022
Microservices, Mensageria e Escalabilidade com Kubernetes + KEDA | MVPConf La...

.NET + Microsserviços: alternativas open source para descomplicar a vida | TDC Connections 2022

  • 1. Globalcode – Open4education Arquitetura .NET – .NET + Microsserviços: alternativas open source para descomplicar a sua vida Renato Groffe – Walter Coan
  • 2. Globalcode – Open4education Renato Groffe Microsoft Most Valuable Professional (MVP) Multi-Plataform Technical Audience Contributor (MTAC) 20 anos de experiência na área de Tecnologia Community Leader, Autor Técnico e Palestrante https://renatogroffe.medium.com/
  • 3. Globalcode – Open4education Walter Silvestre Coan Microsoft MVP em Azure 2020/2021 Certificações Azure Solutions Architect Azure Security Engineer Azure IoT Developer – Specialty Azure Developer – Associate Azure Administrator - Associate Azure Fundamentals MCT MCSD – MCSA (C# e Web Apps) AWS Academy Accredited Educator AWS Certified Developer – Associate AWS Certified Cloud Practitioner Sun Certified Programmer em Java 5.0 Mestre em Ciência da Computação na área de Sistemas Distribuídos e Redes de Sensores sem Fio - PUCPR Pós-Graduado em Engenharia de Software - PUCPR Bacharel em Informática - UNIVILLE Professor no Bacharelado em Sistemas de Informação e do Bacharelado em Engenharia de Software da UNIVILLE [email protected][email protected] – www.waltercoan.com.br
  • 4. Globalcode – Open4education Agenda Resiliência e Chaos Engineering CQS e CQRS Mensageria Exemplos práticos
  • 5. Globalcode – Open4education Algumas práticas comuns com Microservices Implementações resilientes e Chaos Engineering Adoção de técnicas como CQS e CQRS Uso de mensageria
  • 6. Globalcode – Open4education Polly: Tratamento de Falhas e Resiliência em .NET Garantir uma alta disponibilidade da aplicação Tratar falhas que certamente irão ocorrer Impedir o mau funcionamento de uma aplicação
  • 7. Globalcode – Open4education Polly: Tratamento de Falhas e Resiliência em .NET Aplicações Web, desktop, mobile… Tratamento de falhas e resiliência com um código mais simples (evitando try- catch, loops) Suporte a Patterns como Retry, Circuit Breaker, Timeout e Fallback
  • 8. Globalcode – Open4education Circuit Breaker Close Half- Open Open O padrão Circuit Breaker, popularizado por Michael Nygard em seu livro, Release It!, pode impedir que um aplicativo tente repetidamente executar uma operação que provavelmente falhará. Permitir que continue sem esperar que a falha seja corrigida ou desperdiçar ciclos de CPU enquanto determina que a falha é de longa duração. Ele também permite que um aplicativo detecte se a falha foi resolvida. Se o problema parece ter sido corrigido, o aplicativo pode tentar invocar a operação. Fonte: https://docs.microsoft.com/pt-br/azure/architecture/patterns/circuit-breaker?WT.mc_id=AZ-MVP-5003638
  • 9. Globalcode – Open4education Simmy Simmy é uma ferramenta de Engenharia de Caos (Chaos Engineering) e injeção de falhas, integrando-se ao projeto de resiliência Polly para .NET AsyncPolicyWrap CircuitBreakerAsync BulkheadAsync InjectExceptionAsync
  • 10. Globalcode – Open4education CQS e CQRS em .NET com MediatR Implementação do pattern Mediator Favorece um baixo acoplamento Facilita implementações baseadas em CQS (Command-query Separation) e CQRS (Command query responsibility separation)
  • 11. Globalcode – Open4education Mensageria em .NET com MassTransit Descomplica a implementação de aplicações distribuídas Suporte a diversas soluções de mensageria
  • 12. Globalcode – Open4education Exemplos práticos https://github.com/renatogroffe/DotNet6-Microservices-TDC_Connections-2022 https://github.com/waltercoan/tdc2022con-webapi-dotnet6-polly-simmy