Microsserviços e Node.js (Daniel Carli e Heucles Junior)

23

Transcript of Microsserviços e Node.js (Daniel Carli e Heucles Junior)

Page 1: Microsserviços e Node.js (Daniel Carli e Heucles Junior)
Page 2: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

Microsserviços e Node.js

Daniel Carli e Heucles

Page 3: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

O QUE SÃO MICROSSERVIÇOS?

Page 4: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

POR QUE MICROSSERVIÇOS?

Page 5: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

PREOCUPAÇÕES

Page 6: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

RESILIÊNCIA

Page 7: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

● TOLERANTE A FALHAS

○ FERRAMENTAL QUE RECUPERA A APLICAÇÃO DE EXCEÇÕES NÃO TRATADAS

○ FERRAMENTAL QUE SUPORTA CLUSTERIZAÇÃO EM MÚLTIPLOS PROCESSOS

○ PM2, FOREVER, NODEMON, MONIT

● PASSÍVEL DE DEGRADAÇÃO

○ CAPACIDADE DE CONTROLAR THROUGHPUT DA APLICAÇÃO

● VELOCIDADE NA INICIALIZAÇÃO

● BATTLE TESTED

○ NETFLIX, WALMART, PAYPAL, LINKEDIN, UBER, ITAÚ

RESILIÊNCIA + NODE

Page 8: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

PERFORMANCE

Page 9: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

● ASSÍNCRONO POR DEFINIÇÃO

● FACILIDADE EM ESCALAR

○ DOCKER SWARMING, LOAD BALANCING

● SERVERLESS ARCHITECTURE

○ AWS LAMBDA, AZURE FUNCTIONS, GOOGLE CLOUD FUNCTIONS

PERFORMANCE + NODE

Page 10: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

RASTREABILIDADE

Page 11: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

● LOGGING/AUDITING

○ BUNYAN, WINSTON

● MONITORAMENTO

○ KEYMETRICS/PM2, STATSD, KIBANA/GRAFANA/DATADOG, NEW RELIC

RASTREABILIDADE + NODE

Page 12: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

CARACTERÍSTICAS DE MICROSSERVIÇOS

Page 13: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

ESPECIALIZAÇÃO

Page 14: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

● PEQUENO E ESPECIALIZADO

● GERENCIAMENTO DE DEPENDÊNCIAS COM ECOSSISTEMA RICO

○ NPM

● FRAMEWORKS LEVES

○ EXPRESS, HAPI, RESTIFY…

● COESÃO

ESPECIALIZAÇÃO + NODE

Page 15: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

COMUNICAÇÃO

Page 16: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

● COMUNICAÇÃO SIMPLIFICADA E PADRONIZADA

○ HTTP, SOCKET, AMQP, MQTT, STOMP, COAP

● SERVICE TO SERVICE

COMUNICAÇÃO + NODE

Page 17: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

AUTOMAÇÃO

Page 18: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

● DOCKER FRIENDLY

● CLOUD SERVICES READY

○ AWS-SDK, AZURE-SDK…

● TASK RUNNERS

○ NPM, GULP, GRUNT

● CI/CD

○ TRAVIS, CIRCLE CI, JENKINS…

AUTOMAÇÃO + NODE

Page 19: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

QUESTÕES GERAIS

Page 20: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

● JAVASCRIPT

○ Atwood's Law

● FÁCIL DE APRENDER

● FÁCIL DE TESTAR

○ MOCHA, CHAI, SUPERTEST, SINON, REWIRE

● FÁCIL DE PUBLICAR (DEPLOY)

● ECOSSISTEMA RICO

○ PACOTES, EMPRESAS, PROFISSIONAIS, CURSOS, CONSULTORIAS

POR QUE NODE ?

Page 21: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

Obrigado!

Page 22: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

Estamos [email protected]

Page 23: Microsserviços e Node.js (Daniel Carli e Heucles Junior)

www.concretesolutions.com.brblog.concretesolutions.com.br

Rio de Janeiro – Rua São José, 90 – cj. 2121Centro – (21) 2240-2030

São Paulo - Rua Sansão Alves dos Santos, 433 4º andar - Brooklin - (11) 4119-0449