SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
GARANTINDO
QUALIDADE
BACK-END
Rodrigo Botti
Back-end, front-end web, full stack…
Quality matters!
AGENDA
▸ Cenário
▸ Continuous Delivery
▸ Ferramentas
▸ Do it live!
▸ Monitoramento e Logs
▸ Futuro
▸ Q&A
▸ Agradecimentos
1.
CENÁRIO
Tecnologias
Cenário atual
Topologia
Microservices
Principais
TECNOLOGIAS
▸ NodeJS
▸ Amazon Web Services (AWS)
INTERNET
MICROSERVICES
MODULARIDADE
Codebase reduzido,
mais fácil de
compreender,
desenvolver, testar e
deployar.
Responsabilidade
única
PARALELISMO
Times diferentes
trabalhando
simultaneamente
em serviços
diferentes.
ESCALÁVEL
Entrega rápida de
funcionalidades
novas e
escalamento
horizontal
independente em
produção.
2.
CONTINUOUS
DELIVERY
Conceito
Pipeline
“Produce software in short cycles
Reliably released at any time
Building, testing and releasing faster
and more frequently
Straightforward and repeatable
deployment process
PIPELINE
Code Push + Webhook
Lint
Test + Coverage
Check de Métricas de Qualidade
Deploy
Report
3.
FERRAMENTAS
Source Control
Automation
Testes
Code Coverage
Code Quality
GIT
GITHUB/GITLAB
(LEEEROOOOOOOOOY...)
JENKINS
▸ Automation server
▸ Pipeline
▸ Groovy DSL
▸ Plugins
▸ Acesso e Autorização
SHOW ME THE CODE!
CÓDIGO
PADRONIZAÇÃO
▸ ESlint
▹ Configurável e extensível
▹ Compatível
▹ Integração com editores
▹ Muitas...muitas regras
TESTES AUTOMATIZADOS
COM COBERTURA
MOCHA
Test framework
CHAI
BDD/TDD assertion library
SINON
Spy, Stub, Mock
NYC
Code Coverage
SHOW ME THE CODE!
QUALITY CHECKS
SONARQUBE
▸ Métricas de qualidade
▹ Code smells
▹ Bugs
▹ Vulnerabilidades
▹ Cobertura de código
▸ Quality Profiles
▸ Quality Gate
4.
LIVE CODING
Quebrar tudo
Consertar
PS
CODE REVIEW
PS
CODE REVIEW
5.
MONITORAMENTO
LOGGING
ELK
LOGGING
SERVIDOR
Centralizado,
ElasticSearch.
COLETA
Assíncrona e
independente da
aplicação. Formato
padronizado.
VISUALIZAÇÃO
Kibana: gráficos e
queries.
MONITORAMENTO
ZABBIX
Health checks e
agent
DYNATRACE
Automated
Performance
Manager
GRAFANA
Painel gráfico.
Cloudwatch,
Zabbix...
HYSTRIX
Circuit-breaker
metrics agregadas
com turbine
6.
FUTURO
FUTURO
▸ Testes de carga automatizados e mais
frequentes
▸ Smoke tests funcionais
▸ Unificação da documentação
7.
Q&A
8.
AGRADECIMENTOS
OBRIGADO!
Dúvidas?
rodrigo.botti@gmail.com
https://www.linkedin.com/in/rodrigo-botti/

Mais conteúdo relacionado

Mais procurados

Como garantir a qualidade de sua API?
Como garantir a qualidade de sua API?Como garantir a qualidade de sua API?
Como garantir a qualidade de sua API?Claudenir Freitas
 
Boris Kuszka (Red Hat) - Tecnologias para diminuir o time-to-market
Boris Kuszka (Red Hat) - Tecnologias para diminuir o time-to-marketBoris Kuszka (Red Hat) - Tecnologias para diminuir o time-to-market
Boris Kuszka (Red Hat) - Tecnologias para diminuir o time-to-marketAgile Trends
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android NooclixIury Teixeira
 
Apresentação na PHP Conference Brasil 2012
Apresentação na PHP Conference Brasil 2012Apresentação na PHP Conference Brasil 2012
Apresentação na PHP Conference Brasil 2012Ariovaldo Carmona
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSAmazon Web Services LATAM
 
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Emmanuel Neri
 
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe muniz6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe munizMatheus de Lara Calache
 
Escalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonEscalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonGuilherme Vierno
 
[O Palco é Delas!] Azure DevTest Labs
[O Palco é Delas!] Azure DevTest Labs[O Palco é Delas!] Azure DevTest Labs
[O Palco é Delas!] Azure DevTest LabsJaqueline Ramos
 
Testes com xUnit + Coding Dojo
Testes com xUnit + Coding DojoTestes com xUnit + Coding Dojo
Testes com xUnit + Coding DojoLetticia Nicoli
 
Monitoramento e controle em suas mãos - - 2º ZABBIX MEETUP DO INTERIOR-SP
Monitoramento e controle em suas mãos - - 2º ZABBIX MEETUP DO INTERIOR-SPMonitoramento e controle em suas mãos - - 2º ZABBIX MEETUP DO INTERIOR-SP
Monitoramento e controle em suas mãos - - 2º ZABBIX MEETUP DO INTERIOR-SPZabbix BR
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosRafael Chaves
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...iMasters
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureGiovanni Bassi
 

Mais procurados (20)

Jboss eap 6
Jboss eap 6Jboss eap 6
Jboss eap 6
 
Como garantir a qualidade de sua API?
Como garantir a qualidade de sua API?Como garantir a qualidade de sua API?
Como garantir a qualidade de sua API?
 
Boris Kuszka (Red Hat) - Tecnologias para diminuir o time-to-market
Boris Kuszka (Red Hat) - Tecnologias para diminuir o time-to-marketBoris Kuszka (Red Hat) - Tecnologias para diminuir o time-to-market
Boris Kuszka (Red Hat) - Tecnologias para diminuir o time-to-market
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 
JavaME
JavaMEJavaME
JavaME
 
Apresentação na PHP Conference Brasil 2012
Apresentação na PHP Conference Brasil 2012Apresentação na PHP Conference Brasil 2012
Apresentação na PHP Conference Brasil 2012
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
ESX Tech Lives - DevOps
ESX Tech Lives - DevOpsESX Tech Lives - DevOps
ESX Tech Lives - DevOps
 
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
 
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe muniz6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
 
Escalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em PythonEscalabilidade e Resiliência de Microservices em Python
Escalabilidade e Resiliência de Microservices em Python
 
São Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOpsSão Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOps
 
Macro Arquitetura de Software
Macro Arquitetura de SoftwareMacro Arquitetura de Software
Macro Arquitetura de Software
 
[O Palco é Delas!] Azure DevTest Labs
[O Palco é Delas!] Azure DevTest Labs[O Palco é Delas!] Azure DevTest Labs
[O Palco é Delas!] Azure DevTest Labs
 
Testes com xUnit + Coding Dojo
Testes com xUnit + Coding DojoTestes com xUnit + Coding Dojo
Testes com xUnit + Coding Dojo
 
Front7 React Native
Front7 React NativeFront7 React Native
Front7 React Native
 
Monitoramento e controle em suas mãos - - 2º ZABBIX MEETUP DO INTERIOR-SP
Monitoramento e controle em suas mãos - - 2º ZABBIX MEETUP DO INTERIOR-SPMonitoramento e controle em suas mãos - - 2º ZABBIX MEETUP DO INTERIOR-SP
Monitoramento e controle em suas mãos - - 2º ZABBIX MEETUP DO INTERIOR-SP
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutos
 
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
DevCommerce Conference 2016: SecDevOps – Testes contínuos de segurança em apl...
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e Azure
 

Semelhante a Garantindo Qualidade num back-end de microserviços

DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaAmazon Web Services LATAM
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiFelipe Caputo
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiMayara Fernandes
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAmazon Web Services LATAM
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
MIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoMIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoCaio Candido
 
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOpsTDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOpstdc-globalcode
 
Implantação de Ambiente de Integração contínua para projeto que usa Java e C
Implantação de Ambiente de Integração contínua para  projeto que usa Java e CImplantação de Ambiente de Integração contínua para  projeto que usa Java e C
Implantação de Ambiente de Integração contínua para projeto que usa Java e CEliane Collins
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeAndré Abe Vicente
 
Como aplicar práticas DevOps em um sistema monólito
Como aplicar práticas DevOps em um sistema monólito Como aplicar práticas DevOps em um sistema monólito
Como aplicar práticas DevOps em um sistema monólito Anderson Silveira
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro ServiçosFernando Ike
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasAmazon Web Services LATAM
 
DevOps na nuvem: Azure DevOps Projects
DevOps na nuvem: Azure DevOps ProjectsDevOps na nuvem: Azure DevOps Projects
DevOps na nuvem: Azure DevOps ProjectsQaladies
 
QA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps ProjectsQA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps ProjectsJaqueline Ramos
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwarePaulo Lacerda
 

Semelhante a Garantindo Qualidade num back-end de microserviços (20)

DevTalk 08/2019
DevTalk 08/2019DevTalk 08/2019
DevTalk 08/2019
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínua
 
Desconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em DelphiDesconstruindo monolitos - Construindo microservicos em Delphi
Desconstruindo monolitos - Construindo microservicos em Delphi
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
MIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoMIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como Código
 
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOpsTDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
 
Implantação de Ambiente de Integração contínua para projeto que usa Java e C
Implantação de Ambiente de Integração contínua para  projeto que usa Java e CImplantação de Ambiente de Integração contínua para  projeto que usa Java e C
Implantação de Ambiente de Integração contínua para projeto que usa Java e C
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
QAOps - Agile Trends 2021
QAOps - Agile Trends 2021QAOps - Agile Trends 2021
QAOps - Agile Trends 2021
 
Como aplicar práticas DevOps em um sistema monólito
Como aplicar práticas DevOps em um sistema monólito Como aplicar práticas DevOps em um sistema monólito
Como aplicar práticas DevOps em um sistema monólito
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
DevOps na nuvem: Azure DevOps Projects
DevOps na nuvem: Azure DevOps ProjectsDevOps na nuvem: Azure DevOps Projects
DevOps na nuvem: Azure DevOps Projects
 
QA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps ProjectsQA Ladies 2018 - Azure DevOps Projects
QA Ladies 2018 - Azure DevOps Projects
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
 
DevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de SoftwareDevOps - Entrega Contínua de Software
DevOps - Entrega Contínua de Software
 

Garantindo Qualidade num back-end de microserviços