SlideShare uma empresa Scribd logo
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
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para descomplicar sua vida

Mais conteúdo relacionado

Mais procurados

Segurança no Desenvolvimento de Software
Segurança no Desenvolvimento de SoftwareSegurança no Desenvolvimento de Software
Segurança no Desenvolvimento de Software
Marcelo Fleury
 
Palestra sobre o FirefoxOS
Palestra sobre o FirefoxOSPalestra sobre o FirefoxOS
Palestra sobre o FirefoxOS
Yelken Heckman Ferreira Gonzales
 
Uma linha tênue entre arquitetura de software e o dia a dia dev
Uma linha tênue entre arquitetura de software e o dia a dia devUma linha tênue entre arquitetura de software e o dia a dia dev
Uma linha tênue entre arquitetura de software e o dia a dia dev
Eduardo Cesar
 
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
Giovanni Bassi
 
Conhecendo o Jenkins para implementar CI/CD
Conhecendo o Jenkins para implementar CI/CDConhecendo o Jenkins para implementar CI/CD
Conhecendo o Jenkins para implementar CI/CD
Bruno Ribeiro
 
Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011
Kleitor Franklint Correa Araujo
 

Mais procurados (6)

Segurança no Desenvolvimento de Software
Segurança no Desenvolvimento de SoftwareSegurança no Desenvolvimento de Software
Segurança no Desenvolvimento de Software
 
Palestra sobre o FirefoxOS
Palestra sobre o FirefoxOSPalestra sobre o FirefoxOS
Palestra sobre o FirefoxOS
 
Uma linha tênue entre arquitetura de software e o dia a dia dev
Uma linha tênue entre arquitetura de software e o dia a dia devUma linha tênue entre arquitetura de software e o dia a dia dev
Uma linha tênue entre arquitetura de software e o dia a dia dev
 
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
 
Conhecendo o Jenkins para implementar CI/CD
Conhecendo o Jenkins para implementar CI/CDConhecendo o Jenkins para implementar CI/CD
Conhecendo o Jenkins para implementar CI/CD
 
Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011
 

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

Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application Insights
Renato Groff
 
TDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAMTDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAM
Marco Antonio Maciel
 
Monitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed TracingMonitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed Tracing
Renato Groff
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
tdc-globalcode
 
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...
Walter Coan
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
Jose Wilker
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShell
Igor Abade
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a ponta
Elias Nogueira
 
JSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaJSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com Java
Dr. Spock
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
Giovanni Bassi
 
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escalDev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
Luiz Guilherme Bauer Fraga Moreira
 
Aplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
Aplicações resilientes e Chaos Engineering em .NET com Polly + SimmyAplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
Aplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
Walter Coan
 
AmbevTech Day - Introdução ao Azure IoT
AmbevTech Day - Introdução ao Azure IoTAmbevTech Day - Introdução ao Azure IoT
AmbevTech Day - Introdução ao Azure IoT
Walter Coan
 
Testes de Software - Módulo 1
Testes de Software - Módulo 1Testes de Software - Módulo 1
Testes de Software - Módulo 1
Rodrigo Paes
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
Flávio Lisboa
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaCleber Dantas
 
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade....NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
Renato Groff
 
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Center
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App CenterTDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Center
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Center
tdc-globalcode
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensource
CDS
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensource
CDS
 

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

Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application Insights
 
TDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAMTDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAM
 
Monitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed TracingMonitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed Tracing
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...
Azure Sphere, Azure IoT Edge e modelos de IA em microcontroladores: avanços t...
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShell
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a ponta
 
JSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaJSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com Java
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escalDev rioclaro   gerenciando o ciclo de vida das suas aplicações em larga escal
Dev rioclaro gerenciando o ciclo de vida das suas aplicações em larga escal
 
Aplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
Aplicações resilientes e Chaos Engineering em .NET com Polly + SimmyAplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
Aplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
 
AmbevTech Day - Introdução ao Azure IoT
AmbevTech Day - Introdução ao Azure IoTAmbevTech Day - Introdução ao Azure IoT
AmbevTech Day - Introdução ao Azure IoT
 
Testes de Software - Módulo 1
Testes de Software - Módulo 1Testes de Software - Módulo 1
Testes de Software - Módulo 1
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade....NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
.NET Core 3.0 e ASP.NET Core 3.0 Deep Dive: conhecendo as principais novidade...
 
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Center
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App CenterTDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Center
TDC2018SP | Trilha Mobile - Precisamos falar sobre Visual Studio App Center
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensource
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensource
 

Mais de Walter Coan

CODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
CODECON Caminhos para Formação de um Arquiteto de Soluções em NuvemCODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
CODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
Walter Coan
 
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das CoisasTalk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
Walter Coan
 
TechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container Apps
Walter Coan
 
Shift left DevOps Experience
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps Experience
Walter Coan
 
DevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das Coisas
Walter Coan
 
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
Walter Coan
 
Primeira certificação no Azure: AZ-900
Primeira certificação no Azure: AZ-900Primeira certificação no Azure: AZ-900
Primeira certificação no Azure: AZ-900
Walter Coan
 
Novidades da plataforma Azure IoT
Novidades da plataforma Azure IoTNovidades da plataforma Azure IoT
Novidades da plataforma Azure IoT
Walter Coan
 
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#Desenvolvimento de aplicações para o Microsoft Azure utilizando C#
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#
Walter Coan
 
Microsoft Reactor Desenvolvimento serverless com azure function
Microsoft Reactor Desenvolvimento serverless com azure functionMicrosoft Reactor Desenvolvimento serverless com azure function
Microsoft Reactor Desenvolvimento serverless com azure function
Walter Coan
 
Azure Floripa - Introdução a plataforma Azure IoT
Azure Floripa - Introdução a plataforma Azure IoTAzure Floripa - Introdução a plataforma Azure IoT
Azure Floripa - Introdução a plataforma Azure IoT
Walter Coan
 
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT EdgeUtilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Walter Coan
 
Azure Sphere: a evolução da plataforma de IoT concebida com princípios de seg...
Azure Sphere: a evolução da plataforma de IoT concebida com princípios de seg...Azure Sphere: a evolução da plataforma de IoT concebida com princípios de seg...
Azure Sphere: a evolução da plataforma de IoT concebida com princípios de seg...
Walter Coan
 
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Walter Coan
 
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...
Walter Coan
 
Canal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event GridCanal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event Grid
Walter Coan
 
Internet das Coisas na Medicina - Summit ACM 2021
Internet das Coisas na Medicina - Summit ACM 2021Internet das Coisas na Medicina - Summit ACM 2021
Internet das Coisas na Medicina - Summit ACM 2021
Walter Coan
 
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
Walter Coan
 
Azure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingAzure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential Computing
Walter Coan
 
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
Walter Coan
 

Mais de Walter Coan (20)

CODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
CODECON Caminhos para Formação de um Arquiteto de Soluções em NuvemCODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
CODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
 
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das CoisasTalk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
 
TechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container Apps
 
Shift left DevOps Experience
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps Experience
 
DevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das Coisas
 
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
 
Primeira certificação no Azure: AZ-900
Primeira certificação no Azure: AZ-900Primeira certificação no Azure: AZ-900
Primeira certificação no Azure: AZ-900
 
Novidades da plataforma Azure IoT
Novidades da plataforma Azure IoTNovidades da plataforma Azure IoT
Novidades da plataforma Azure IoT
 
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#Desenvolvimento de aplicações para o Microsoft Azure utilizando C#
Desenvolvimento de aplicações para o Microsoft Azure utilizando C#
 
Microsoft Reactor Desenvolvimento serverless com azure function
Microsoft Reactor Desenvolvimento serverless com azure functionMicrosoft Reactor Desenvolvimento serverless com azure function
Microsoft Reactor Desenvolvimento serverless com azure function
 
Azure Floripa - Introdução a plataforma Azure IoT
Azure Floripa - Introdução a plataforma Azure IoTAzure Floripa - Introdução a plataforma Azure IoT
Azure Floripa - Introdução a plataforma Azure IoT
 
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT EdgeUtilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
 
Azure Sphere: a evolução da plataforma de IoT concebida com princípios de seg...
Azure Sphere: a evolução da plataforma de IoT concebida com princípios de seg...Azure Sphere: a evolução da plataforma de IoT concebida com princípios de seg...
Azure Sphere: a evolução da plataforma de IoT concebida com princípios de seg...
 
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
 
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...
MVPConf 2021 - .NET + Azure Functions Dicas e truques no desenvolvimento serv...
 
Canal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event GridCanal .NET - Utilizando o Event Hub e o Event Grid
Canal .NET - Utilizando o Event Hub e o Event Grid
 
Internet das Coisas na Medicina - Summit ACM 2021
Internet das Coisas na Medicina - Summit ACM 2021Internet das Coisas na Medicina - Summit ACM 2021
Internet das Coisas na Medicina - Summit ACM 2021
 
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
TDC Transformation 2021 - Certificação AZ-900 Azure Fundamental: Conceitos, d...
 
Azure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential ComputingAzure Weekend 2ed - Azure Confidential Computing
Azure Weekend 2ed - Azure Confidential Computing
 
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
 

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

  • 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 walter.coan@gmail.com – walter.s@univille.br – 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