SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Lucas Cavalcanti

@lucascs
Autorização de transações
no Nubank
Luiz Hespanha

@luiz_hespanha
Consumindo serviços dos anos 80
com tecnologias atuais
Contexto
Microserviços
~120 serviços
~80 desenvolvedores
~10 squads
3,5 anos
ARQUITETURA GERAL NUBANK
Tecnologias
Datomic
Estabelecimento
Adquirente
Bandeira
Emissor
Cliente Processadora
Link físico
Máquinas físicas
MOTIVAÇÃO
processo de compra com cartão de crédito
DESAFIOS
Máquinas físicas
Protocolos não convencionais
Comunicação via Socket
Hardware de Criptografia
Baixa latência
SÃO PAULO, BRASIL
MÁQUINAS FÍSICAS
MIP
switch
VPC
W
Prod S0
Prod S1
DMZ
Processadora
Estabelecimento
Adquirente
Bandeira
Emissor
Cliente Processadora
Kafka + JSON
???
COMUNICAÇÕES
processo de compra com cartão de crédito
Padrão ISO que define o formato da
mensagem e o fluxo de comunicação
ISO 8583
ISO 8583
ISO 8583
SCODEC
Scala combinator library for working with binary data
scodec.org
SCODEC
val	de02	=	LLIntString.partialField(1,	"DE02	-	PAN”)	
case	class	ProcessingCode(transactionType:	IntString,		
																										fromAccountType:	IntString,		
																										toAccountType:	IntString)	
val	processingCode:	Codec[ProcessingCode]	=		
				(intString(2)	::	intString(2)	::	intString(2)).as[ProcessingCode]	
val	de03	=	processingCode.partialField(2,	"DE03	-	Processing	Code")	
val	de04	=	longPadded(12).partialField(3,	"DE04	-	Amount,	Transaction")	
//…
SCODEC
de02	::	de03	::	de04	::	de05	::	de06	::	de07	::	de09	::	de10	::	de11	::	de12	::	
				de13	::	de14	::	de15	::	de16	::	de18	::	de20	::	de22	::	de23	::	de26	::	de28	::	
				de32	::	de33	::	de35	::	de37	::	de38	::	de39	::	de41	::	de42	::	de43	::	de44	::	
				de45	::	de47	::	de48	::	de49	::	de50	::	de51	::	de52	::	de53	::	de54	::	de55	::	
				de60	::	de61	::	de62	::	de63	::	Nil
"The	AdditionalData	codec"	should		"encode	a	message"	in	{	
				val	expected	=	BitVector("025R2001P6315MCS0110HL0216		".getBytes)	
				val	message	=	AdditionalData.empty("R").copy(	
						se20	=	Some(CardholderVerificationMethod("P")),	
						se63	=	Some(TraceID("MCS",	"0110HL",	MonthDay.of(2,	16))))	
				additionalData.codec.encode(message).require	should	be	(expected)	
		}	
		it	should	"decode	a	message"	in	{	
				val	message	=	BitVector("025R2001P6315MCS0110HL0216		".getBytes)	
SCODEC
COMUNICAÇÃO VIA SOCKET
• Não é cliente/servidor
• Multiplex
• Depois de 7s não adianta mais responder
FINAGLE
A Protocol-Agnostic RPC System
• Pool de conexão
• Detecção de falhas
• Retentativas
• Circuit Breaker
• Timeout
• Load Balancer
• Diversas monitorias
FINAGLE
Funcionalidades
Cliente Servidor
Req
Future[Rep]
type Service[Req, Rep] = Req => Future[Rep]
FINAGLEFINAGLE
Como funciona
FINAGLE
Protocolos
def getPipeline: ChannelPipeline = {
val pipeline = Channels.pipeline()
pipeline.addLast("frame", new LengthFieldBasedFrameDecoder(65535, 0, 2, 0, 2))
pipeline.addLast("decoder", new ScodecDecoder(codec))
pipeline.addLast("frameEnc", new LengthFieldPrepender(2, false))
pipeline.addLast("encoder", new ScodecEncoder(codec))
pipeline
}
val client: Service[Iso8583Msg, Iso8583Msg] = ClientBuilder()
.codec(Codec.ofPipeline(getPipeline))
.hosts(address)
.build()
FINAGLE
Protocolo ISO8583
FINAGLE
Protocolo Proprietário HSM
(-> (bc/builder)
(bc/report-to stats-receiver)
(bc/hosts hosts)
(bc/codec
(.ofPipelineFactory
Codec$/MODULE$
(scala/Function0
(doto (Channels/pipeline)
(.addLast "frame" (LengthFieldBasedFrameDecoder. 65535, 0, 2, 0, 2))
(.addLast "decoder" (decoder))
(.addLast "frameEnc" (LengthFieldPrepender. 2 false))
(.addLast "encoder" (encoder))))))
(defn encoder []
(proxy [OneToOneEncoder] []
(encode [ctx chan value]
(if-let [[cmd params] (when (vector? value) value)]
(-> (ChannelBuffers/dynamicBuffer)
(cmd/->str 4 "0001")
(cmd/->str 2 (name cmd))
(cmd/encode cmd params))
value))))
(defn decoder []
(proxy [OneToOneDecoder] []
(decode [ctx chan value]
(let [counter (cmd/<-str value 4)
cmd (keyword (cmd/<-str value 2))
return-code (cmd/<-str value 2)]
(cond
(#{"00" "02"} return-code)
[:ok (cmd/decode value cmd)]
(#{"01"} return-code)
[:nok])))))
FINAGLE
Futuros
Futuros compõem com map, flatmap, handle e rescue
Callbacks:
onSuccess(f : A => Unit)
onFailure(ex: Throwable => Unit)
Router
Autorizador
Mastercard MIP
Finagle Client
Router
Finagle Client
Finagle Client Finagle Client
Finagle Server
Finagle Client
Autorizador
Finagle Server
Finagle Client
Autorizador
Finagle Server
Finagle Client
Autorizador
Finagle Server
Finagle Client
Criptografia
Finagle Server
Detector de
Fraude
Finagle Server
Criptografia
Finagle Server Finagle Server
HSMHSM
Finagle Client Finagle Client
ISO8583ISO8583
Thrift
ThriftThrift
Thrift
Thrift Thrift Thrift Thrift
Proprietário Proprietário
SERVIÇOS
Detector de
Fraude
BANCO DE DADOS
{“5162920000001234" {:limite 96000M
:status :ativo}
“5162920000004321" {:limite 0M
:status :ativo}
.
.
.
“5162920000009876" {:limite 15M
:status :bloqueado}}
BANCO DE DADOS NA MEMÓRIA
Representação
BANCO DE DADOS NA MEMÓRIA
ATOMS
• Gerencia estado compartilhado, síncrono e independente.
• Mudanças em ATOMS são sempre livres de “race conditions”
Como faz quando precisa reiniciar a aplicação?
KAFKA
Funcionamento
EVENT SOURCING
Garante que todas as mudanças de estado na aplicação
sejam armazenadas como uma sequência de eventos.
EVENTOS
{“5162…12”: {:limite 10M}}
{“5162…23”: {:status :bloqueado}}
{“5162…12”: {:status 5M}}
{“5162…12”: {:status :bloqueado}}
{“5162…23”: {:status :ativo}}
Kafka topic
1) Lemos o valor do offset de cada uma das partições do tópico.
2) Mapa em memória é serializado e encriptado.
3) Geramos um arquivo com estes dois dados e guardamos.
SNAPSHOT
Geração
1) Pegamos o snapshot mais recente.
2) decriptamos e desserializamos o mapa.
3) Mudamos o offset das partições para os valores do arquivo
4) Aguardamos o “replay" das mensagens e liberamos a instância.
SNAPSHOT
Leitura
DESAFIOS
Máquinas físicas
Protocolos não convencionais
Comunicação via Socket
Hardware de Criptografia
Baixa latência
SÃO PAULO, BRASIL
TEMOS VAGAS
• Devops
• Engenheiro de Software
Mais infos em:
https://nubank.com.br/jobs
Nosso stand no evento
OBRIGADO!

Mais conteúdo relacionado

Mais procurados

왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요Jo Hoon
 
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityCilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityThomas Graf
 
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API ManagerWSO2
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
Kubernetes Architecture
 Kubernetes Architecture Kubernetes Architecture
Kubernetes ArchitectureKnoldus Inc.
 
Apache Kafka® Security Overview
Apache Kafka® Security OverviewApache Kafka® Security Overview
Apache Kafka® Security Overviewconfluent
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes VMware Tanzu
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임
 
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례WhaTap Labs
 
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018 AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018 Amazon Web Services Korea
 
Kafka Tutorial: Kafka Security
Kafka Tutorial: Kafka SecurityKafka Tutorial: Kafka Security
Kafka Tutorial: Kafka SecurityJean-Paul Azar
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개if kakao
 
IBM DataPower Gateway - Common Use Cases
IBM DataPower Gateway - Common Use CasesIBM DataPower Gateway - Common Use Cases
IBM DataPower Gateway - Common Use CasesIBM DataPower Gateway
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basicsJuraj Hantak
 
Introduction to OPA
Introduction to OPAIntroduction to OPA
Introduction to OPAKnoldus Inc.
 
REST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsREST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsJon Todd
 
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)Open Source Consulting
 
Alfresco Developer Series: Advanced Workflows
Alfresco Developer Series: Advanced WorkflowsAlfresco Developer Series: Advanced Workflows
Alfresco Developer Series: Advanced Workflowsardentjava
 
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ ClustersIBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ ClustersDavid Ware
 

Mais procurados (20)

왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
 
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityCilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
 
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
Kubernetes Architecture
 Kubernetes Architecture Kubernetes Architecture
Kubernetes Architecture
 
Apache Kafka® Security Overview
Apache Kafka® Security OverviewApache Kafka® Security Overview
Apache Kafka® Security Overview
 
Getting Started with Kubernetes
Getting Started with Kubernetes Getting Started with Kubernetes
Getting Started with Kubernetes
 
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020 AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
AWS기반 서버리스 데이터레이크 구축하기 - 김진웅 (SK C&C) :: AWS Community Day 2020
 
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
 
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018 AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018
 
Kafka Tutorial: Kafka Security
Kafka Tutorial: Kafka SecurityKafka Tutorial: Kafka Security
Kafka Tutorial: Kafka Security
 
Open Policy Agent
Open Policy AgentOpen Policy Agent
Open Policy Agent
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
IBM DataPower Gateway - Common Use Cases
IBM DataPower Gateway - Common Use CasesIBM DataPower Gateway - Common Use Cases
IBM DataPower Gateway - Common Use Cases
 
Prometheus - basics
Prometheus - basicsPrometheus - basics
Prometheus - basics
 
Introduction to OPA
Introduction to OPAIntroduction to OPA
Introduction to OPA
 
REST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTsREST Service Authetication with TLS & JWTs
REST Service Authetication with TLS & JWTs
 
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
 
Alfresco Developer Series: Advanced Workflows
Alfresco Developer Series: Advanced WorkflowsAlfresco Developer Series: Advanced Workflows
Alfresco Developer Series: Advanced Workflows
 
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ ClustersIBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM WebSphere MQ: Managing Workloads, Scaling and Availability with MQ Clusters
 

Semelhante a Consumindo serviços dos anos 80 com tecnologias atuais

Arquitetando uma instituição financeira moderna
Arquitetando uma instituição financeira modernaArquitetando uma instituição financeira moderna
Arquitetando uma instituição financeira modernaLucas Cavalcanti dos Santos
 
Arquitetando uma instituição financeira moderna - Lucas Cavalcanti
Arquitetando uma instituição financeira moderna - Lucas CavalcantiArquitetando uma instituição financeira moderna - Lucas Cavalcanti
Arquitetando uma instituição financeira moderna - Lucas CavalcantiiMasters
 
WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017Edgar Silva
 
Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais Alexandre Freire
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture WorkshopClaudio Acquaviva
 
Supervisão e Monitorização
Supervisão e MonitorizaçãoSupervisão e Monitorização
Supervisão e MonitorizaçãoSAPO Sessions
 
TDC2018FLN | Trilha Arquitetura - Architecting for Resilience
TDC2018FLN | Trilha Arquitetura - Architecting for ResilienceTDC2018FLN | Trilha Arquitetura - Architecting for Resilience
TDC2018FLN | Trilha Arquitetura - Architecting for Resiliencetdc-globalcode
 
Architecting For Resilience
Architecting For ResilienceArchitecting For Resilience
Architecting For ResilienceFabiano Modos
 
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...Amazon Web Services LATAM
 
As percepções Relativas na Application Performance Management, por Gilberto M...
As percepções Relativas na Application Performance Management, por Gilberto M...As percepções Relativas na Application Performance Management, por Gilberto M...
As percepções Relativas na Application Performance Management, por Gilberto M...Joao Galdino Mello de Souza
 
Desenvolvimento e hospedagem com escalabilidade usando PaaS
Desenvolvimento e hospedagem com escalabilidade usando PaaSDesenvolvimento e hospedagem com escalabilidade usando PaaS
Desenvolvimento e hospedagem com escalabilidade usando PaaSGetup Cloud
 
Bypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasilBypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasilWilliam Costa
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedoresJardel Weyrich
 
SonicWALL - Seja o departamento do "Sim" em sua empresa
SonicWALL - Seja o departamento do "Sim" em sua empresaSonicWALL - Seja o departamento do "Sim" em sua empresa
SonicWALL - Seja o departamento do "Sim" em sua empresaBravo Tecnologia
 
Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores Maurício Moreira Neto
 
Cyber Security for Servers in Environment Aggressive
Cyber Security for Servers in Environment AggressiveCyber Security for Servers in Environment Aggressive
Cyber Security for Servers in Environment AggressiveAdvantech
 

Semelhante a Consumindo serviços dos anos 80 com tecnologias atuais (20)

Arquitetando uma instituição financeira moderna
Arquitetando uma instituição financeira modernaArquitetando uma instituição financeira moderna
Arquitetando uma instituição financeira moderna
 
Arquitetando uma instituição financeira moderna - Lucas Cavalcanti
Arquitetando uma instituição financeira moderna - Lucas CavalcantiArquitetando uma instituição financeira moderna - Lucas Cavalcanti
Arquitetando uma instituição financeira moderna - Lucas Cavalcanti
 
WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017
 
Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture Workshop
 
Institucional quality 2020
Institucional quality 2020Institucional quality 2020
Institucional quality 2020
 
Supervisão e Monitorização
Supervisão e MonitorizaçãoSupervisão e Monitorização
Supervisão e Monitorização
 
Institucional Quality 2020
Institucional Quality 2020Institucional Quality 2020
Institucional Quality 2020
 
TDC2018FLN | Trilha Arquitetura - Architecting for Resilience
TDC2018FLN | Trilha Arquitetura - Architecting for ResilienceTDC2018FLN | Trilha Arquitetura - Architecting for Resilience
TDC2018FLN | Trilha Arquitetura - Architecting for Resilience
 
Architecting For Resilience
Architecting For ResilienceArchitecting For Resilience
Architecting For Resilience
 
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...
 
As percepções Relativas na Application Performance Management, por Gilberto M...
As percepções Relativas na Application Performance Management, por Gilberto M...As percepções Relativas na Application Performance Management, por Gilberto M...
As percepções Relativas na Application Performance Management, por Gilberto M...
 
Desenvolvimento e hospedagem com escalabilidade usando PaaS
Desenvolvimento e hospedagem com escalabilidade usando PaaSDesenvolvimento e hospedagem com escalabilidade usando PaaS
Desenvolvimento e hospedagem com escalabilidade usando PaaS
 
Bypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasilBypass de token csrf na pratica secure brasil
Bypass de token csrf na pratica secure brasil
 
Banrisul
BanrisulBanrisul
Banrisul
 
4. cloud ninja rede para faixa preta
4. cloud ninja rede para faixa preta4. cloud ninja rede para faixa preta
4. cloud ninja rede para faixa preta
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores
 
SonicWALL - Seja o departamento do "Sim" em sua empresa
SonicWALL - Seja o departamento do "Sim" em sua empresaSonicWALL - Seja o departamento do "Sim" em sua empresa
SonicWALL - Seja o departamento do "Sim" em sua empresa
 
Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores
 
Cyber Security for Servers in Environment Aggressive
Cyber Security for Servers in Environment AggressiveCyber Security for Servers in Environment Aggressive
Cyber Security for Servers in Environment Aggressive
 

Consumindo serviços dos anos 80 com tecnologias atuais