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

Post on 20-Mar-2017

91 views 4 download

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

Microsserviços e Node.js

Daniel Carli e Heucles

O QUE SÃO MICROSSERVIÇOS?

POR QUE MICROSSERVIÇOS?

PREOCUPAÇÕES

RESILIÊNCIA

● 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

PERFORMANCE

● ASSÍNCRONO POR DEFINIÇÃO

● FACILIDADE EM ESCALAR

○ DOCKER SWARMING, LOAD BALANCING

● SERVERLESS ARCHITECTURE

○ AWS LAMBDA, AZURE FUNCTIONS, GOOGLE CLOUD FUNCTIONS

PERFORMANCE + NODE

RASTREABILIDADE

● LOGGING/AUDITING

○ BUNYAN, WINSTON

● MONITORAMENTO

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

RASTREABILIDADE + NODE

CARACTERÍSTICAS DE MICROSSERVIÇOS

ESPECIALIZAÇÃO

● PEQUENO E ESPECIALIZADO

● GERENCIAMENTO DE DEPENDÊNCIAS COM ECOSSISTEMA RICO

○ NPM

● FRAMEWORKS LEVES

○ EXPRESS, HAPI, RESTIFY…

● COESÃO

ESPECIALIZAÇÃO + NODE

COMUNICAÇÃO

● COMUNICAÇÃO SIMPLIFICADA E PADRONIZADA

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

● SERVICE TO SERVICE

COMUNICAÇÃO + NODE

AUTOMAÇÃO

● DOCKER FRIENDLY

● CLOUD SERVICES READY

○ AWS-SDK, AZURE-SDK…

● TASK RUNNERS

○ NPM, GULP, GRUNT

● CI/CD

○ TRAVIS, CIRCLE CI, JENKINS…

AUTOMAÇÃO + NODE

QUESTÕES GERAIS

● 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 ?

Obrigado!

Estamos contratando!trabalheconosco@concretesolutions.com.br

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