SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Microsserviços em Python
Flávio Pimenta
Motivação
Cliente desejava iniciar uma célula de
desenvolvimento de APIs e
microserviços. Sua área de TI odeia Java
por conta de experiências frustantes no
passado e a linguagem que mais usam
atualmente e a que possuem mais
profissionais proficientes é Python.
Agenda
Microserviços
Comparativos
Demo
Overview sobre Microserviços
Django Rest Framework vs Flask vs Nameko
Arquitetura de Referência e demo do Nameko
Microserviços
a long time ago...
Tudo
Client Desktop
Browser
Monolitos
Front
Client Desktop
Browser
Back
Front é front e back é back
Front
Client Desktop
Browser BFF
Mobile
Back
MVC
Front
Browser
BFF
Mobile
MS 1
MS 2
MS 3
MS n
API
GATEWAY
Integrações
Microserviços
Django Rest Framework
vs Flask vs Nameko
Qual framework usar ?
Django REST Framework Flask
● ORM
● Integração de segurança
● Robustez
● Não ORM
● Rápido
● Simples
“Se você é um iniciante, então, o Flask é o
recomendado, pois é uma ótima ferramenta para
aprendizado com vários módulos e bibliotecas. O
Django pode ser utilizado para entregar um produto
final e profissional – o Flask também pode, mas o
Django pode pode ter uma curva de aprendizado um
pouco mais complicada para um iniciante.”
Fonte: https://imasters.com.br/back-end/flask-x-django-como-escolher-o-framework-correto-para-seu-aplicativo-web
Frameworks
Foram analisados 3 frameworks em Python nesta prova de conceito:
Prova de conceito (POC) : serviço http
Andamento da POC de acordo com os requisitos levantados:
Resumo do teste de performance: Flask
Resumo do teste de performance: Django Rest Framework
Resumo do teste de performance: Nameko
Resumo do teste de performance: comparativo de tempos
● Django
● Flask
● Nameko
Resumo da análise dos frameworks
Maturidade
Facilidade de uso
Produtividade
Bibliotecas Nativas
Performance
Custo Benefício
Nameko
Conclusão
Durante a POC construímos um recurso de exemplo nos três
frameworks e vimos que o Nameko é um framework moderno e já
consolidado com o propósito de dar produtividade para a construção
de microserviços, além de um grande diferencial que é trazer de forma
nativa suporte a um broker para comunicação entre os serviços de
forma simples e muito performática. Apesar de não concluirmos todos
os passos da análise de performance na POC, entendemos que
Nameko é a melhor solução para a criação de um ecossistema de
microserviços utilizando a linguagem Python.
nameko.io
Nameko
É um framework criado
para um ecossistema de
microserviços com foco
na implementação de
negócio com
escalabilidade e
facilidade de adicionar
extensões de acordo com
sua necessidade.
nameko.io
Nameko
http
rpc
grpc
Nameko
Inspirado no AmongUs ...
https://github.com/nameko/nameko-examples
OBRIGADO !!
pimenta.dev

Mais conteúdo relacionado

Mais procurados

Arquitetura de microsserviços
Arquitetura  de  microsserviçosArquitetura  de  microsserviços
Arquitetura de microsserviçosRaphael Almeida
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScriptThiago Poiani
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-ServidorIsrael Messias
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação mavenAndré Justi
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring FrameworkNatanael Fonseca
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
Aula03 - protocolo http
Aula03 -  protocolo httpAula03 -  protocolo http
Aula03 - protocolo httpCarlos Veiga
 
Paradigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHPParadigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHPFabio Leal
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilElias Nogueira
 
Estrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasEstrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasLeinylson Fontinele
 
TDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredTDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredJúlio de Lima
 
Programação Concorrente - Introdução
Programação Concorrente - IntroduçãoProgramação Concorrente - Introdução
Programação Concorrente - IntroduçãoFabio Moura Pereira
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumSandy Maciel
 
Testes de ponta a ponta
Testes de ponta a pontaTestes de ponta a ponta
Testes de ponta a pontaElias Nogueira
 
Monitoring and Resiliency Testing our Apache Kafka Clusters at Goldman Sachs ...
Monitoring and Resiliency Testing our Apache Kafka Clusters at Goldman Sachs ...Monitoring and Resiliency Testing our Apache Kafka Clusters at Goldman Sachs ...
Monitoring and Resiliency Testing our Apache Kafka Clusters at Goldman Sachs ...HostedbyConfluent
 
Auditoria de sistemas de informação
Auditoria de sistemas de informaçãoAuditoria de sistemas de informação
Auditoria de sistemas de informaçãoSilvino Neto
 

Mais procurados (20)

Arquitetura de microsserviços
Arquitetura  de  microsserviçosArquitetura  de  microsserviços
Arquitetura de microsserviços
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring Framework
 
Fundamentos de arquitetura Web
Fundamentos de arquitetura WebFundamentos de arquitetura Web
Fundamentos de arquitetura Web
 
Introdução APIs RESTful
Introdução APIs RESTfulIntrodução APIs RESTful
Introdução APIs RESTful
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Aula03 - protocolo http
Aula03 -  protocolo httpAula03 -  protocolo http
Aula03 - protocolo http
 
Paradigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHPParadigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHP
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
Estrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas EstáticasEstrutura de Dados - Aula 06 - Pilhas Estáticas
Estrutura de Dados - Aula 06 - Pilhas Estáticas
 
TDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredTDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-Assured
 
A Linguagem sql
A Linguagem sqlA Linguagem sql
A Linguagem sql
 
Programação Concorrente - Introdução
Programação Concorrente - IntroduçãoProgramação Concorrente - Introdução
Programação Concorrente - Introdução
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando selenium
 
Testes de ponta a ponta
Testes de ponta a pontaTestes de ponta a ponta
Testes de ponta a ponta
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Monitoring and Resiliency Testing our Apache Kafka Clusters at Goldman Sachs ...
Monitoring and Resiliency Testing our Apache Kafka Clusters at Goldman Sachs ...Monitoring and Resiliency Testing our Apache Kafka Clusters at Goldman Sachs ...
Monitoring and Resiliency Testing our Apache Kafka Clusters at Goldman Sachs ...
 
Auditoria de sistemas de informação
Auditoria de sistemas de informaçãoAuditoria de sistemas de informação
Auditoria de sistemas de informação
 

Semelhante a Microserviços em Python: Nameko é a melhor opção

Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindJaydson Gomes
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B Rguestb9d145
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228MoisesInacio
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Getúlio Strapazzon
 
Phpreact flisol-fb-2014
Phpreact flisol-fb-2014Phpreact flisol-fb-2014
Phpreact flisol-fb-2014Adler Medrado
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupPamela Canchanya
 
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...Renato Groff
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webMiguel Galves
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosFelipe Gadelha Ruoso
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1PeslPinguim
 

Semelhante a Microserviços em Python: Nameko é a melhor opção (20)

BDD com SpecFlow
BDD com SpecFlowBDD com SpecFlow
BDD com SpecFlow
 
Bdd com spec flow
Bdd com spec flowBdd com spec flow
Bdd com spec flow
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Django
DjangoDjango
Django
 
Mobicents - Plataforma VoIP Open Source
Mobicents - Plataforma VoIP Open SourceMobicents - Plataforma VoIP Open Source
Mobicents - Plataforma VoIP Open Source
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
 
Phpreact flisol-fb-2014
Phpreact flisol-fb-2014Phpreact flisol-fb-2014
Phpreact flisol-fb-2014
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA Meetup
 
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
10 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - ASP.NET C...
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhos
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1
 

Mais de Flávio Pimenta

Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!Flávio Pimenta
 
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de RequisiçõesDeveloper Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de RequisiçõesFlávio Pimenta
 
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?Flávio Pimenta
 
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custoFlavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custoFlávio Pimenta
 
Extraindo métricas em testes de performance
 Extraindo métricas em testes de performance Extraindo métricas em testes de performance
Extraindo métricas em testes de performanceFlávio Pimenta
 
Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018Flávio Pimenta
 
Aguentando uma enxurrada de requisições com API Gateway + lambda + Kinesis
Aguentando uma enxurrada de requisições com API Gateway + lambda +  KinesisAguentando uma enxurrada de requisições com API Gateway + lambda +  Kinesis
Aguentando uma enxurrada de requisições com API Gateway + lambda + KinesisFlávio Pimenta
 
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!Flávio Pimenta
 
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio PimentaTDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio PimentaFlávio Pimenta
 

Mais de Flávio Pimenta (9)

Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!
 
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de RequisiçõesDeveloper Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições
 
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
 
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custoFlavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custo
 
Extraindo métricas em testes de performance
 Extraindo métricas em testes de performance Extraindo métricas em testes de performance
Extraindo métricas em testes de performance
 
Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018
 
Aguentando uma enxurrada de requisições com API Gateway + lambda + Kinesis
Aguentando uma enxurrada de requisições com API Gateway + lambda +  KinesisAguentando uma enxurrada de requisições com API Gateway + lambda +  Kinesis
Aguentando uma enxurrada de requisições com API Gateway + lambda + Kinesis
 
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
 
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio PimentaTDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
 

Microserviços em Python: Nameko é a melhor opção