SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Introdução
+
# whoami
Eduardo Nunes Pereira
Engenheiro de software com 11 anos de experiência
em desenvolvimento web. Especializado em
construir softwares utilizando PHP, Javascript
(Node.JS) e Amazon Web Services.
github.com/eduardonunesp
br.linkedin.com/in/eduardonunesp
Modelo tradicional
Banco
de dados
Negócios
Apresentação
http://martinfowler.com/articles/microservices.html
• Integração continua mais difícil
• Atualizar um ou mais componentes pode significar o
“redeploy” da aplicação inteira.
• Escalar componentes individuais é quase impossível.
• Impacto no desenvolvimento
• Componentes fortemente unidos requerem uma maior
coordenação entre os desenvolvedores.
• Base de código (git/svn/…) enormes, requer maior esforço
para manter e extender o repositório.
• Vantajoso para um projeto rápido, mas a longo prazo irá
manter o projeto “amarrado" as tecnologias envolvidas.
Aplicações modernas
Mobile
Web Apps
IoT
Serviços
• Aplicações modernas consomem serviços
• Aplicações modernas oferecem serviços
• Serviços de acordo e para qualquer device.
Microservices : Nutshell
• Comunicação entre processos na rede
• Funcionalidades entregues via requisições HTTP,
TCP, PubSub, Queue
• Utilização de protocolos leves
• "Do One Thing And Do It Well” - UNIX Philosophy
Modelo moderno
Banco de Dados
Negócios
Apresentação
http://martinfowler.com/articles/microservices.html
Target : Particionamento
• Serviços distribuídos de forma granular
• Micro aplicativos independentes
• Evolução de componentes individuais
• Deploy em pequenas partes, e com test A / B
• Escalabilidade de forma simples
• Melhor distribuição entre os times de dev.
SOA ?
• Uma evolução do SOA
• Ser leve, aspecto principal simplicidade
• Fazer uma coisa e fazer bem (lembra da filosofia Unix)
• Kickstart, menos bla-bla-bla e mais code-code-code
• REST, sem milhões de parâmetros e nomes do tipo:
”ws-alguma-coisa".
• Padrão de comunicação mais flexível HTTP / QUEUE /
PUBSUB / TCP.
Desvantagens
• Deploy de uma arquitetura monolítica é bem mais simples
• Requer uma maior automação e utilização de ferramentas
de análise
• Complexidade da operação, monitoramento, gerenciamento
de um número enorme de diferentes processos
• Muitos padrões de comunicação podem dificultar um
diagnóstico.
• Rede: Falhas, Timeouts e Latência (mais selvagem ainda na
internet).
Fatores importantes
• Codebase (GIT)
• Dependency Management
• Build, Release and Run
• Port Binding
• Disposability
• Logs
http://12factor.net/
• Sistema de empacotamento e distribuição super
simples NPM
• Kickstart: npm init, npm install, “code-code-code"
• Metodologia leve e focada
• I/O asynchronous
• Excelente performance (thanks V8)
• MEAN Stack (Mongo, ExpressJS, AngularJS, Node.JS)
• Pattern matching: Maneira flexível de controlar as
regras de negócio
• Transport Independence: Como as mensagens são
transportadas não é algo que deve focar.
• Plugins: Vários plugins já desenvolvidos
• Seneca: Ferramentas para organizar as regras de
negócio do seu App em forma de Microservices.
–Torvalds, Linus (2000-08-25).
“Talk is cheap. Show me the
code.”
Referências
• Martin Fowler / James Lewis
• http://martinfowler.com/articles/microservices.html
• http://nginx.com/blog/microservices-at-netflix-
architectural-best-practices/
• http://www.slideshare.net/adrianco (Cockcroft)
• http://microservices.io/patterns/microservices.html
• http://theartofscalability.com/
Recomendações
Obrigado

Mais conteúdo relacionado

Mais procurados

Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021Renato Groffe
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021Renato Groffe
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5Waldyr Felix
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework LaminasFlávio Lisboa
 
A trilogia Spring MVC + Spring Data + AngularJS
A trilogia  Spring MVC + Spring Data + AngularJSA trilogia  Spring MVC + Spring Data + AngularJS
A trilogia Spring MVC + Spring Data + AngularJSEmmanuel Neri
 
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Renato Groff
 
Aplicações Distribuídas com .NET e Apache Kafka
Aplicações Distribuídas com .NET e Apache KafkaAplicações Distribuídas com .NET e Apache Kafka
Aplicações Distribuídas com .NET e Apache KafkaGustavo Bellini Bigardi
 
Visual Studio Summit 2018 - CI/CD usando Azure DevOps Projects
Visual Studio Summit 2018 - CI/CD usando Azure DevOps ProjectsVisual Studio Summit 2018 - CI/CD usando Azure DevOps Projects
Visual Studio Summit 2018 - CI/CD usando Azure DevOps ProjectsAndré Dias
 
Integrating Microservices
Integrating MicroservicesIntegrating Microservices
Integrating MicroservicesThiago Ramos
 
Wordpress para portais (cms)
Wordpress para portais (cms)Wordpress para portais (cms)
Wordpress para portais (cms)Valter Rodrigues
 
TCC 1 - Um método para o desenvolvimento de software baseado em microserviços
TCC 1 - Um método para o desenvolvimento de software baseado em microserviçosTCC 1 - Um método para o desenvolvimento de software baseado em microserviços
TCC 1 - Um método para o desenvolvimento de software baseado em microserviçosThiago Pereira
 
Demoiselle e o novo paradigma HTML5 Restful
Demoiselle e o novo paradigma HTML5 RestfulDemoiselle e o novo paradigma HTML5 Restful
Demoiselle e o novo paradigma HTML5 RestfulDemoiselle Framework
 
Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPjesuinoPower
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseConfigurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseAlberlan Barros
 
React e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer CirclesReact e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer CirclesJosé Barbosa
 

Mais procurados (20)

Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
 
Desvendando ASP.NET MVC
Desvendando ASP.NET MVCDesvendando ASP.NET MVC
Desvendando ASP.NET MVC
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
 
Microservices com ASP.NET 5
Microservices com ASP.NET 5Microservices com ASP.NET 5
Microservices com ASP.NET 5
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
O que esperar do framework Laminas
O que esperar do framework LaminasO que esperar do framework Laminas
O que esperar do framework Laminas
 
A trilogia Spring MVC + Spring Data + AngularJS
A trilogia  Spring MVC + Spring Data + AngularJSA trilogia  Spring MVC + Spring Data + AngularJS
A trilogia Spring MVC + Spring Data + AngularJS
 
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
 
Aplicações Distribuídas com .NET e Apache Kafka
Aplicações Distribuídas com .NET e Apache KafkaAplicações Distribuídas com .NET e Apache Kafka
Aplicações Distribuídas com .NET e Apache Kafka
 
Visual Studio Summit 2018 - CI/CD usando Azure DevOps Projects
Visual Studio Summit 2018 - CI/CD usando Azure DevOps ProjectsVisual Studio Summit 2018 - CI/CD usando Azure DevOps Projects
Visual Studio Summit 2018 - CI/CD usando Azure DevOps Projects
 
Integrating Microservices
Integrating MicroservicesIntegrating Microservices
Integrating Microservices
 
Wordpress para portais (cms)
Wordpress para portais (cms)Wordpress para portais (cms)
Wordpress para portais (cms)
 
TCC 1 - Um método para o desenvolvimento de software baseado em microserviços
TCC 1 - Um método para o desenvolvimento de software baseado em microserviçosTCC 1 - Um método para o desenvolvimento de software baseado em microserviços
TCC 1 - Um método para o desenvolvimento de software baseado em microserviços
 
Demoiselle e o novo paradigma HTML5 Restful
Demoiselle e o novo paradigma HTML5 RestfulDemoiselle e o novo paradigma HTML5 Restful
Demoiselle e o novo paradigma HTML5 Restful
 
Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SP
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
Sua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shiftSua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shift
 
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseConfigurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
 
Roadmap Demoiselle Framework v3
Roadmap Demoiselle Framework v3Roadmap Demoiselle Framework v3
Roadmap Demoiselle Framework v3
 
React e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer CirclesReact e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer Circles
 

Destaque (20)

Blue bead worn tree
Blue bead worn treeBlue bead worn tree
Blue bead worn tree
 
Virtual city presentation
Virtual city presentationVirtual city presentation
Virtual city presentation
 
Aircraft and pictures (飛機照片)
Aircraft and pictures (飛機照片)Aircraft and pictures (飛機照片)
Aircraft and pictures (飛機照片)
 
Mohamed original(1)
Mohamed original(1)Mohamed original(1)
Mohamed original(1)
 
Dinamica friccion
Dinamica friccionDinamica friccion
Dinamica friccion
 
SBT Concepts, part 2
SBT Concepts, part 2SBT Concepts, part 2
SBT Concepts, part 2
 
Presentation about România
Presentation about RomâniaPresentation about România
Presentation about România
 
GSA Article Shifting Focus
GSA Article  Shifting FocusGSA Article  Shifting Focus
GSA Article Shifting Focus
 
SmartOwner Client Brochure - 2015
SmartOwner Client Brochure - 2015SmartOwner Client Brochure - 2015
SmartOwner Client Brochure - 2015
 
BAHASA INDONESIA KLAS 9
BAHASA INDONESIA KLAS 9BAHASA INDONESIA KLAS 9
BAHASA INDONESIA KLAS 9
 
HAPPYWEEK 205 - 2017.02.06.
HAPPYWEEK 205 - 2017.02.06.HAPPYWEEK 205 - 2017.02.06.
HAPPYWEEK 205 - 2017.02.06.
 
Enlisting the sun final-5.14.13-r6
Enlisting the sun final-5.14.13-r6Enlisting the sun final-5.14.13-r6
Enlisting the sun final-5.14.13-r6
 
Telecom Sector Study
Telecom Sector StudyTelecom Sector Study
Telecom Sector Study
 
Nework diag presentan 007
Nework diag presentan 007Nework diag presentan 007
Nework diag presentan 007
 
Nework diag presentan 003
Nework diag presentan 003Nework diag presentan 003
Nework diag presentan 003
 
Escuelas al centro marco legal
Escuelas al centro marco legalEscuelas al centro marco legal
Escuelas al centro marco legal
 
Monal gupta
Monal guptaMonal gupta
Monal gupta
 
Vehicle skid control
Vehicle skid controlVehicle skid control
Vehicle skid control
 
ecologia.
ecologia.ecologia.
ecologia.
 
Curriculum Vitae
Curriculum VitaeCurriculum Vitae
Curriculum Vitae
 

Semelhante a Introdução a Microservices com Node.JS

Desafio de crescer
Desafio de crescerDesafio de crescer
Desafio de crescerGuilherme
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesFábio Rosato
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Giovanni Bassi
 
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çouJose Wilker
 
Service deployer FISL 2013
Service deployer FISL 2013Service deployer FISL 2013
Service deployer FISL 2013choreos
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de MicroservicosNorberto Enomoto
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...tdc-globalcode
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018Graziella Bonizi
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Maurício Linhares
 
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...Mario Guedes
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Renato Groff
 
Tecnologias Web 2.0
Tecnologias Web 2.0 Tecnologias Web 2.0
Tecnologias Web 2.0 Duarte Nunes
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTGDGFoz
 

Semelhante a Introdução a Microservices com Node.JS (20)

DevTalk 08/2019
DevTalk 08/2019DevTalk 08/2019
DevTalk 08/2019
 
Desafio de crescer
Desafio de crescerDesafio de crescer
Desafio de crescer
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Vantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservicesVantagens e desvantagens de uma arquitetura microservices
Vantagens e desvantagens de uma arquitetura microservices
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
 
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
 
Web tools pt-br
Web tools pt-brWeb tools pt-br
Web tools pt-br
 
Service deployer FISL 2013
Service deployer FISL 2013Service deployer FISL 2013
Service deployer FISL 2013
 
(A18) LabMM3 - Ajax
(A18) LabMM3 - Ajax(A18) LabMM3 - Ajax
(A18) LabMM3 - Ajax
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
 
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
Extreme Experience 2018 | Estudo de Caso: Aplicação DataSnap para 10.000 usuá...
 
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
Docker + Bancos de Dados: descomplicando a montagem de ambientes de Desenvolv...
 
Tecnologias Web 2.0
Tecnologias Web 2.0 Tecnologias Web 2.0
Tecnologias Web 2.0
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Preparando sua arquitetura para microservicos
Preparando sua arquitetura para microservicosPreparando sua arquitetura para microservicos
Preparando sua arquitetura para microservicos
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoT
 

Introdução a Microservices com Node.JS

  • 2.
  • 3.
  • 4. # whoami Eduardo Nunes Pereira Engenheiro de software com 11 anos de experiência em desenvolvimento web. Especializado em construir softwares utilizando PHP, Javascript (Node.JS) e Amazon Web Services. github.com/eduardonunesp br.linkedin.com/in/eduardonunesp
  • 6. • Integração continua mais difícil • Atualizar um ou mais componentes pode significar o “redeploy” da aplicação inteira. • Escalar componentes individuais é quase impossível. • Impacto no desenvolvimento • Componentes fortemente unidos requerem uma maior coordenação entre os desenvolvedores. • Base de código (git/svn/…) enormes, requer maior esforço para manter e extender o repositório. • Vantajoso para um projeto rápido, mas a longo prazo irá manter o projeto “amarrado" as tecnologias envolvidas.
  • 8. Serviços • Aplicações modernas consomem serviços • Aplicações modernas oferecem serviços • Serviços de acordo e para qualquer device.
  • 9.
  • 10. Microservices : Nutshell • Comunicação entre processos na rede • Funcionalidades entregues via requisições HTTP, TCP, PubSub, Queue • Utilização de protocolos leves • "Do One Thing And Do It Well” - UNIX Philosophy
  • 11. Modelo moderno Banco de Dados Negócios Apresentação http://martinfowler.com/articles/microservices.html
  • 12. Target : Particionamento • Serviços distribuídos de forma granular • Micro aplicativos independentes • Evolução de componentes individuais • Deploy em pequenas partes, e com test A / B • Escalabilidade de forma simples • Melhor distribuição entre os times de dev.
  • 13.
  • 14. SOA ? • Uma evolução do SOA • Ser leve, aspecto principal simplicidade • Fazer uma coisa e fazer bem (lembra da filosofia Unix) • Kickstart, menos bla-bla-bla e mais code-code-code • REST, sem milhões de parâmetros e nomes do tipo: ”ws-alguma-coisa". • Padrão de comunicação mais flexível HTTP / QUEUE / PUBSUB / TCP.
  • 15. Desvantagens • Deploy de uma arquitetura monolítica é bem mais simples • Requer uma maior automação e utilização de ferramentas de análise • Complexidade da operação, monitoramento, gerenciamento de um número enorme de diferentes processos • Muitos padrões de comunicação podem dificultar um diagnóstico. • Rede: Falhas, Timeouts e Latência (mais selvagem ainda na internet).
  • 16. Fatores importantes • Codebase (GIT) • Dependency Management • Build, Release and Run • Port Binding • Disposability • Logs
  • 18.
  • 19. • Sistema de empacotamento e distribuição super simples NPM • Kickstart: npm init, npm install, “code-code-code" • Metodologia leve e focada • I/O asynchronous • Excelente performance (thanks V8) • MEAN Stack (Mongo, ExpressJS, AngularJS, Node.JS)
  • 20.
  • 21.
  • 22. • Pattern matching: Maneira flexível de controlar as regras de negócio • Transport Independence: Como as mensagens são transportadas não é algo que deve focar. • Plugins: Vários plugins já desenvolvidos • Seneca: Ferramentas para organizar as regras de negócio do seu App em forma de Microservices.
  • 23.
  • 24. –Torvalds, Linus (2000-08-25). “Talk is cheap. Show me the code.”
  • 25. Referências • Martin Fowler / James Lewis • http://martinfowler.com/articles/microservices.html • http://nginx.com/blog/microservices-at-netflix- architectural-best-practices/ • http://www.slideshare.net/adrianco (Cockcroft) • http://microservices.io/patterns/microservices.html • http://theartofscalability.com/