SlideShare uma empresa Scribd logo
1 de 28
Fabiano Guizellini Modos
Arquite de Software - HBSIS
@fmodos
 Não vou falar sobre Servless e FAAS
 2014 – Real Time Java com Node.js
Cargo: Hipster Lider Técnico de uma Startup com poucos usuários
 2018 – Architecting For Resilience
Cargo: Arquiteto de Software reponsável por projetos que podem afetar
faturamento, pagamento e transporte de uma das maiores empresas do Brasil
 Banco de Dados
 Message Queue
 NoSQL
 Aplicação
 Fornecedor Cloud/Datacenter
 Hardware/Network
 Outros...
O SISTEMA NÃO PODE PARAR
NUNCA.
Redundância
Load Balancer
VM
APP
VM
APP
VM
APP
VM
APP
VM
APP
VM
APP
CLUSTER
Banco de Dados
CLUSTER
Message Queue
CLUSTER
NOSQL
ERP
FILIAL 1
ERP
FILIAL 2 ERP
FILIAL 1 FILIAL 2
AS IS TO BE
ABB – Architectual Building Blocks
“Stable Abstractions... Never mention the name of anything concrete and volatile”
Livro: Clean Architecture by Uncle Bob
Cluster
BD
Aplicação
LB
Technology
Architecture
Business
Architecture
Aplicação
Datacenter
Information
Architecture
CRM Users
SBB – Solutions Building Blocks
TicketID Content Status SLA ServiceI
D
Tickets
TicketID Typ
e
Content Statu
s
ServiceID
Events
TicketID: 425-877-
243
TicketID Content Status SLA ServiceI
D
425-877-243 {Dados NFe} PENDING 1 minuto Mensageria1
TicketID Typ
e
Content Statu
s
ServiceID
425-877-243 XML {Dados Nfe} PENDI
NG
MensageriaN-
ABC
TicketID Typ
e
Content Statu
s
ServiceID
425-877-243 XML {Dados Nfe} FINISH
ED
MensageriaN-
ABC
425-877-243 ENV {XML ASSINADO} PENDI
NG
MensageriaN-
ABC
TicketID Typ
e
Content Statu
s
ServiceID
425-877-243 XML {Dados Nfe} FINISH
ED
MensageriaN-
ABC
425-877-243 ENV {XML ASSINADO} FINISH
ED
MensageriaN-
ABC
425-877-243 RET {Numero Lote} PENDI
NG
MensageriaN-
ABC
TicketID Content Status SLA ServiceI
D
425-877-243 {Dados NFe} AUTORIZAD
O
1 minuto Mensageria1
TicketID Typ
e
Content Statu
s
ServiceID
425-877-243 XML {Dados Nfe} FINISH
ED
MensageriaN-
ABC
425-877-243 ENV {XML ASSINADO} FINISH
ED
MensageriaN-
ABC
425-877-243 RET {Numero Lote} FINISH
ED
MensageriaN-
ABC
425-877-243 ERP {XML Distribuição} PENDI
NG
MensageriaN-
ABC
425-877-243 HTTP {XML Distribuição} PENDI
NG
MensageriaN-
ABC
425-877-243 E-
Mail
{XML Distribuição} PENDI
NG
MensageriaN-
ABC
425-877-243 Portal {XML Distribuição} PENDI
NG
MensageriaN-
ABC
TicketID Typ
e
Content Statu
s
ServiceID
425-877-243 XML {Dados Nfe} FINISH
ED
MensageriaN-
ABC
425-877-243 ENV {XML ASSINADO} FINISH
ED
MensageriaN-
ABC
425-877-243 RET {Numero Lote} FINISH
ED
MensageriaN-
ABC
425-877-243 ERP {XML Distribuição} FINISH
ED
MensageriaN-
ABC
425-877-243 HTTP {XML Distribuição} FINISH
ED
MensageriaN-
ABC
425-877-243 E-
Mail
{XML Distribuição} FINISH
ED
MensageriaN-
ABC
425-877-243 Portal {XML Distribuição} FINISH
ED
MensageriaN-
ABC
 SRP (Single Responsability Principle)
“The SRP says to separate the code that different actor depends on”
Livro Clean Architecture by Uncle Bob
Evento
“Compra
Aprovada”
Diretor(a) de
Marketing
Diretor(a)
Financeiro
 Regra de negócio com Input e Output bem definidos
 Funções “imutáveis”
“The purpose of a procedure is more important than its implementation”
Livro: Timeless Law Of Software Development
Evento
“Celular
Adicionado
Carrinho”
Calcula Valor
Carrinho
Evento
“Valor
Carrinho
Alterado”
INPUT OUTPUT
Cart: 5,
Produto: Celular,
Valor: 20,00
Cart: 5,
Valor: 30,00
 Isolar ações que acessam camada de infraestrutura
Evento
“Compra
Aprovada”
Atualizar
Histórico de
Compras no
BD
Enviar E-
mail
Confirmação
Citação no livro SRE: Minimal APIs
“perfection is finally attained no when there is no longer more to add, but
when there is no longer anything to take away” by Antoine Saint Expéry
Infraestrutura: “Fornece recursos técnicos genéricos
que suportam as camadas mais altas: envio de
mensagem para o aplicativo, persistência de domínio...”
by Eric Evans
Regras de Negócio
EventManager
Infraestrutura
Gerenciador de Eventos
• Definido Interface IEventManager com métodos para se
registrar e submeter eventos
• Implementação básica da IEventManager com threads e
controle de fila em memória.
Gerenciador de Eventos
Regra de Negócio
• Desenvolvido o MVP do sistema orientado a eventos
• Definido interface de IRepository para modelos de dados
• Implementação concreta de IRepository com persistência em Memória
ou MongoDB devido praticidade
Gerenciador de Eventos
Regra de Negócio
Persistência
• Desenvolvimento da camada de persistência a partir das
interfaces de IRepository que criamos para atender o MVP
Gerenciador de Eventos
Regra de Negócio
Escalabilidade
Persistência
• Implementação da IEventManager para troca de eventos
via RabbitMQ
Gerenciador de Eventos
Resiliência
Regra de Negócio
Escalabilidade
Persistência
• Utilizamos Hystrix Framework para controle de Timeout ou
Exception ao se comunicar com a camada de infraestrutura.
• Message Queue: Evoluimos a implementação do IEventManager em
Memória e utilizamos ele como contingência.
• NoSQL: Algumas informações são armazenadas no BD Relacional
• BD Relacional: Utilizamos o H2 como contingência
• Aplicamos Resiliência somente nas funcionalidades do MVP
Gerenciador de Eventos
Resiliência
Regras de Negócio
Escalabilidade
Persistência
Camada Infraestrutura
 Código de resiliência é código, grandes chances de bug.
 Sistemas distribuidos e orientados a eventos são complexos.
 Desenhe a solução inicial baseada em ABB e não SBB: Mais foco na necessidade
do negócio.
 Solução Orientada a Eventos: Crie Regras de Negócios que são iniciadas a partir
de eventos e possuem responsabilidade única (SRP)
 Clean Architecture: Respeite as camadas, acesso a camadas de infraestrutura
somente via Abstração/Interface
 MVP possui as funcionalidades mais importante do sistema: leve isso em
consideração nas rotinas de resiliência.
 Não foi em Cobol
NEGÓCIO > TECNOLOGIA
Fabiano Guizellini Modos
@fmodos

Mais conteúdo relacionado

Mais procurados

De um sistema legado para micro serviços com GraphQL
De um sistema legado para micro serviços com GraphQLDe um sistema legado para micro serviços com GraphQL
De um sistema legado para micro serviços com GraphQLTaller Negócio Digitais
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacAndre Baltieri
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Eduardo Pires
 
.NET Core Internals. O que é o .NET Platform Standard?
.NET Core Internals. O que é o .NET Platform Standard?.NET Core Internals. O que é o .NET Platform Standard?
.NET Core Internals. O que é o .NET Platform Standard?Victor Cavalcante
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Bernardo Porto
 
Escalabilidade com docker - ASP.NET Conference 2016
Escalabilidade com docker - ASP.NET Conference 2016Escalabilidade com docker - ASP.NET Conference 2016
Escalabilidade com docker - ASP.NET Conference 2016Rodolfo Fadino Junior
 
Data Science em uma instituição financeira moderna
Data Science em uma instituição financeira modernaData Science em uma instituição financeira moderna
Data Science em uma instituição financeira modernaNubank
 
Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFBruno Borges
 
Uma introdução à SRE - Site reliability engineering
Uma introdução à SRE - Site reliability engineeringUma introdução à SRE - Site reliability engineering
Uma introdução à SRE - Site reliability engineeringThiago Ferreira
 
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Renato Groff
 
Palestra web moderna v2
Palestra web moderna v2Palestra web moderna v2
Palestra web moderna v2GeneXus
 
ASP.NET MVC, para sua vida melhorar
ASP.NET MVC, para sua vida melhorarASP.NET MVC, para sua vida melhorar
ASP.NET MVC, para sua vida melhorarWaldyr Felix
 
Palestra Torquebox - JUDCON SP 2013
Palestra Torquebox - JUDCON SP 2013Palestra Torquebox - JUDCON SP 2013
Palestra Torquebox - JUDCON SP 2013Rubem Azenha
 
Campus Party - Desenvolvendo com ASP.NET MVC e jQuery
Campus Party - Desenvolvendo com ASP.NET MVC e jQueryCampus Party - Desenvolvendo com ASP.NET MVC e jQuery
Campus Party - Desenvolvendo com ASP.NET MVC e jQueryAlexandre Tarifa
 
Introdução à programação para web com Java - Módulo 01: Conceitos básicos
Introdução à programação para web com Java -  Módulo 01: Conceitos básicosIntrodução à programação para web com Java -  Módulo 01: Conceitos básicos
Introdução à programação para web com Java - Módulo 01: Conceitos básicosProfessor Samuel Ribeiro
 
Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.XEduardo Pires
 
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScriptTDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScripttdc-globalcode
 

Mais procurados (20)

De um sistema legado para micro serviços com GraphQL
De um sistema legado para micro serviços com GraphQLDe um sistema legado para micro serviços com GraphQL
De um sistema legado para micro serviços com GraphQL
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no Mac
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast
 
.NET Core Internals. O que é o .NET Platform Standard?
.NET Core Internals. O que é o .NET Platform Standard?.NET Core Internals. O que é o .NET Platform Standard?
.NET Core Internals. O que é o .NET Platform Standard?
 
Mvc
MvcMvc
Mvc
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010
 
Escalabilidade com docker - ASP.NET Conference 2016
Escalabilidade com docker - ASP.NET Conference 2016Escalabilidade com docker - ASP.NET Conference 2016
Escalabilidade com docker - ASP.NET Conference 2016
 
Data Science em uma instituição financeira moderna
Data Science em uma instituição financeira modernaData Science em uma instituição financeira moderna
Data Science em uma instituição financeira moderna
 
Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSF
 
Uma introdução à SRE - Site reliability engineering
Uma introdução à SRE - Site reliability engineeringUma introdução à SRE - Site reliability engineering
Uma introdução à SRE - Site reliability engineering
 
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
Nuvens com Ênfase em Azure - Locatech + Locaneers - Abril-2019
 
Middlewares ASP.NET
Middlewares ASP.NETMiddlewares ASP.NET
Middlewares ASP.NET
 
Palestra web moderna v2
Palestra web moderna v2Palestra web moderna v2
Palestra web moderna v2
 
ASP.NET MVC, para sua vida melhorar
ASP.NET MVC, para sua vida melhorarASP.NET MVC, para sua vida melhorar
ASP.NET MVC, para sua vida melhorar
 
Web assembly
Web assemblyWeb assembly
Web assembly
 
Palestra Torquebox - JUDCON SP 2013
Palestra Torquebox - JUDCON SP 2013Palestra Torquebox - JUDCON SP 2013
Palestra Torquebox - JUDCON SP 2013
 
Campus Party - Desenvolvendo com ASP.NET MVC e jQuery
Campus Party - Desenvolvendo com ASP.NET MVC e jQueryCampus Party - Desenvolvendo com ASP.NET MVC e jQuery
Campus Party - Desenvolvendo com ASP.NET MVC e jQuery
 
Introdução à programação para web com Java - Módulo 01: Conceitos básicos
Introdução à programação para web com Java -  Módulo 01: Conceitos básicosIntrodução à programação para web com Java -  Módulo 01: Conceitos básicos
Introdução à programação para web com Java - Módulo 01: Conceitos básicos
 
Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.X
 
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScriptTDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScript
 

Semelhante a TDC2018FLN | Trilha Arquitetura - Architecting for Resilience

Plano para medição de capacidade e performance em redes virtuais por Leonidas...
Plano para medição de capacidade e performance em redes virtuais por Leonidas...Plano para medição de capacidade e performance em redes virtuais por Leonidas...
Plano para medição de capacidade e performance em redes virtuais por Leonidas...Joao Galdino Mello de Souza
 
Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linuxaviram
 
Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsHoracio Ibrahim
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosRodney Repullo
 
SAP na Nuvem da AWS - Benefícios de Negócio
SAP na Nuvem da AWS - Benefícios de NegócioSAP na Nuvem da AWS - Benefícios de Negócio
SAP na Nuvem da AWS - Benefícios de NegócioAmazon Web Services LATAM
 
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWSAWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWSAmazon Web Services LATAM
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infosimples
 
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS - ARC201 - ...
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS -  ARC201 - ...Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS -  ARC201 - ...
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS - ARC201 - ...Amazon Web Services
 
AAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcambAAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcambMicrosoft Brasil
 
Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Andre Bretas
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
Riverbed SteelHead WAN Optimization (Otmização de WAN)
Riverbed SteelHead WAN Optimization (Otmização de WAN)Riverbed SteelHead WAN Optimization (Otmização de WAN)
Riverbed SteelHead WAN Optimization (Otmização de WAN)Bravo Tecnologia
 
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDERO BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDERFernando Rizzato
 

Semelhante a TDC2018FLN | Trilha Arquitetura - Architecting for Resilience (20)

Plano para medição de capacidade e performance em redes virtuais por Leonidas...
Plano para medição de capacidade e performance em redes virtuais por Leonidas...Plano para medição de capacidade e performance em redes virtuais por Leonidas...
Plano para medição de capacidade e performance em redes virtuais por Leonidas...
 
VMware Portfolio 2015
VMware Portfolio 2015VMware Portfolio 2015
VMware Portfolio 2015
 
Pense Aberto, Pense Linux
Pense Aberto, Pense LinuxPense Aberto, Pense Linux
Pense Aberto, Pense Linux
 
1 Ids On Campus V3a
1 Ids On Campus V3a1 Ids On Campus V3a
1 Ids On Campus V3a
 
Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_ics
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para Negocios
 
SAP na Nuvem da AWS - Benefícios de Negócio
SAP na Nuvem da AWS - Benefícios de NegócioSAP na Nuvem da AWS - Benefícios de Negócio
SAP na Nuvem da AWS - Benefícios de Negócio
 
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWSAWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
AWS Webinar Series Brasil: Modernize seus Workloads Windows na AWS
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
 
Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)Infraestrutura em nuvem com Amazon Web Services (AWS)
Infraestrutura em nuvem com Amazon Web Services (AWS)
 
IoT Frameworks
IoT FrameworksIoT Frameworks
IoT Frameworks
 
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS - ARC201 - ...
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS -  ARC201 - ...Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS -  ARC201 - ...
Arquiteturas e Estratégias para Criar Aplicações Modernas na AWS - ARC201 - ...
 
AAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcambAAB301 - Rich Internet Application - wcamb
AAB301 - Rich Internet Application - wcamb
 
Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
Mobile Back end as a Service na AWS
Mobile Back end as a Service na AWSMobile Back end as a Service na AWS
Mobile Back end as a Service na AWS
 
Riverbed SteelHead WAN Optimization (Otmização de WAN)
Riverbed SteelHead WAN Optimization (Otmização de WAN)Riverbed SteelHead WAN Optimization (Otmização de WAN)
Riverbed SteelHead WAN Optimization (Otmização de WAN)
 
Keynote AWS RoadShow Belo Horizonte 2013
Keynote AWS RoadShow Belo Horizonte 2013Keynote AWS RoadShow Belo Horizonte 2013
Keynote AWS RoadShow Belo Horizonte 2013
 
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDERO BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
O BACK-END PERFEITO PARA APLICAÇÕES DELPHI E C++ BUILDER
 

Mais de tdc-globalcode

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadetdc-globalcode
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...tdc-globalcode
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucessotdc-globalcode
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPAtdc-globalcode
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinotdc-globalcode
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...tdc-globalcode
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicestdc-globalcode
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publicatdc-globalcode
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#tdc-globalcode
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocustdc-globalcode
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?tdc-globalcode
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golangtdc-globalcode
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QAtdc-globalcode
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciatdc-globalcode
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Servicetdc-globalcode
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETtdc-globalcode
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8tdc-globalcode
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...tdc-globalcode
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#tdc-globalcode
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Coretdc-globalcode
 

Mais de tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Último

VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresAnaCarinaKucharski1
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxDianaSheila2
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 

Último (20)

VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptx
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 

TDC2018FLN | Trilha Arquitetura - Architecting for Resilience

  • 1. Fabiano Guizellini Modos Arquite de Software - HBSIS @fmodos
  • 2.  Não vou falar sobre Servless e FAAS
  • 3.  2014 – Real Time Java com Node.js Cargo: Hipster Lider Técnico de uma Startup com poucos usuários  2018 – Architecting For Resilience Cargo: Arquiteto de Software reponsável por projetos que podem afetar faturamento, pagamento e transporte de uma das maiores empresas do Brasil
  • 4.  Banco de Dados  Message Queue  NoSQL  Aplicação  Fornecedor Cloud/Datacenter  Hardware/Network  Outros...
  • 5. O SISTEMA NÃO PODE PARAR NUNCA.
  • 7.
  • 8.
  • 9. ERP FILIAL 1 ERP FILIAL 2 ERP FILIAL 1 FILIAL 2 AS IS TO BE
  • 10. ABB – Architectual Building Blocks “Stable Abstractions... Never mention the name of anything concrete and volatile” Livro: Clean Architecture by Uncle Bob Cluster BD Aplicação LB Technology Architecture Business Architecture Aplicação Datacenter Information Architecture CRM Users
  • 11. SBB – Solutions Building Blocks
  • 12. TicketID Content Status SLA ServiceI D Tickets TicketID Typ e Content Statu s ServiceID Events TicketID: 425-877- 243 TicketID Content Status SLA ServiceI D 425-877-243 {Dados NFe} PENDING 1 minuto Mensageria1 TicketID Typ e Content Statu s ServiceID 425-877-243 XML {Dados Nfe} PENDI NG MensageriaN- ABC TicketID Typ e Content Statu s ServiceID 425-877-243 XML {Dados Nfe} FINISH ED MensageriaN- ABC 425-877-243 ENV {XML ASSINADO} PENDI NG MensageriaN- ABC TicketID Typ e Content Statu s ServiceID 425-877-243 XML {Dados Nfe} FINISH ED MensageriaN- ABC 425-877-243 ENV {XML ASSINADO} FINISH ED MensageriaN- ABC 425-877-243 RET {Numero Lote} PENDI NG MensageriaN- ABC TicketID Content Status SLA ServiceI D 425-877-243 {Dados NFe} AUTORIZAD O 1 minuto Mensageria1 TicketID Typ e Content Statu s ServiceID 425-877-243 XML {Dados Nfe} FINISH ED MensageriaN- ABC 425-877-243 ENV {XML ASSINADO} FINISH ED MensageriaN- ABC 425-877-243 RET {Numero Lote} FINISH ED MensageriaN- ABC 425-877-243 ERP {XML Distribuição} PENDI NG MensageriaN- ABC 425-877-243 HTTP {XML Distribuição} PENDI NG MensageriaN- ABC 425-877-243 E- Mail {XML Distribuição} PENDI NG MensageriaN- ABC 425-877-243 Portal {XML Distribuição} PENDI NG MensageriaN- ABC TicketID Typ e Content Statu s ServiceID 425-877-243 XML {Dados Nfe} FINISH ED MensageriaN- ABC 425-877-243 ENV {XML ASSINADO} FINISH ED MensageriaN- ABC 425-877-243 RET {Numero Lote} FINISH ED MensageriaN- ABC 425-877-243 ERP {XML Distribuição} FINISH ED MensageriaN- ABC 425-877-243 HTTP {XML Distribuição} FINISH ED MensageriaN- ABC 425-877-243 E- Mail {XML Distribuição} FINISH ED MensageriaN- ABC 425-877-243 Portal {XML Distribuição} FINISH ED MensageriaN- ABC
  • 13.  SRP (Single Responsability Principle) “The SRP says to separate the code that different actor depends on” Livro Clean Architecture by Uncle Bob Evento “Compra Aprovada” Diretor(a) de Marketing Diretor(a) Financeiro
  • 14.  Regra de negócio com Input e Output bem definidos  Funções “imutáveis” “The purpose of a procedure is more important than its implementation” Livro: Timeless Law Of Software Development Evento “Celular Adicionado Carrinho” Calcula Valor Carrinho Evento “Valor Carrinho Alterado” INPUT OUTPUT Cart: 5, Produto: Celular, Valor: 20,00 Cart: 5, Valor: 30,00
  • 15.  Isolar ações que acessam camada de infraestrutura Evento “Compra Aprovada” Atualizar Histórico de Compras no BD Enviar E- mail Confirmação Citação no livro SRE: Minimal APIs “perfection is finally attained no when there is no longer more to add, but when there is no longer anything to take away” by Antoine Saint Expéry
  • 16. Infraestrutura: “Fornece recursos técnicos genéricos que suportam as camadas mais altas: envio de mensagem para o aplicativo, persistência de domínio...” by Eric Evans
  • 18. Gerenciador de Eventos • Definido Interface IEventManager com métodos para se registrar e submeter eventos • Implementação básica da IEventManager com threads e controle de fila em memória.
  • 19. Gerenciador de Eventos Regra de Negócio • Desenvolvido o MVP do sistema orientado a eventos • Definido interface de IRepository para modelos de dados • Implementação concreta de IRepository com persistência em Memória ou MongoDB devido praticidade
  • 20. Gerenciador de Eventos Regra de Negócio Persistência • Desenvolvimento da camada de persistência a partir das interfaces de IRepository que criamos para atender o MVP
  • 21. Gerenciador de Eventos Regra de Negócio Escalabilidade Persistência • Implementação da IEventManager para troca de eventos via RabbitMQ
  • 22. Gerenciador de Eventos Resiliência Regra de Negócio Escalabilidade Persistência • Utilizamos Hystrix Framework para controle de Timeout ou Exception ao se comunicar com a camada de infraestrutura. • Message Queue: Evoluimos a implementação do IEventManager em Memória e utilizamos ele como contingência. • NoSQL: Algumas informações são armazenadas no BD Relacional • BD Relacional: Utilizamos o H2 como contingência • Aplicamos Resiliência somente nas funcionalidades do MVP
  • 23. Gerenciador de Eventos Resiliência Regras de Negócio Escalabilidade Persistência Camada Infraestrutura
  • 24.
  • 25.  Código de resiliência é código, grandes chances de bug.  Sistemas distribuidos e orientados a eventos são complexos.
  • 26.  Desenhe a solução inicial baseada em ABB e não SBB: Mais foco na necessidade do negócio.  Solução Orientada a Eventos: Crie Regras de Negócios que são iniciadas a partir de eventos e possuem responsabilidade única (SRP)  Clean Architecture: Respeite as camadas, acesso a camadas de infraestrutura somente via Abstração/Interface  MVP possui as funcionalidades mais importante do sistema: leve isso em consideração nas rotinas de resiliência.
  • 27.  Não foi em Cobol NEGÓCIO > TECNOLOGIA