com aws lambda com vuejs/nuxt.js side …...2019/05/17  · aws lambda serviço serverless da aws...

49
Serverless Side-Rendering com Vuejs/Nuxt.js com AWS Lambda

Upload: others

Post on 14-Jul-2020

48 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

Serverless Side-Rendering com Vuejs/Nuxt.js com AWS Lambda

Page 2: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Quem sou eu?

▪ Nome: Júlio César Ferreira Guedes.▪ Trabalho: Blueticket.▪ Função: Analista/Desenvolvedor Front-end.

Linkedin: https://www.linkedin.com/in/julioguedes/

Page 3: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Blueticket▪ +2M de usuários cadastrados

▪ +600 mil usuários únicos mês

▪ +1 milhão de acessos no total

▪ 200 á 20 mil usuários simultâneos

Page 4: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Show Guns N Roses

Page 5: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Show Guns N Roses - EC2

Page 6: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Como fica o Auto-Scale ?

▪ Não daria tempo de subir máquinas tão rápido em um servidor tradicional

▪ Servidor em carga máxima seria caríssimo

Page 7: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Vue.jsVuejs é um framework simples para a construção de interfaces de usuário.

fonte: vuejs.org

Page 8: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

React

Github

Angular

Vuejs

Page 9: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Vuejs + Cloudfront + S3 bucket ?

Page 10: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Problemas com SEO!

Page 11: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Nuxtjs (SSR)É um framework para criação de aplicações Vue.js, seja ela universal, gerada estaticamente ou single page application.fonte: nuxtjs.org

Page 12: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Github

Nuxtjs

Page 13: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Instalação

Page 14: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Instalação - Várias opções

▪ Qual framework Server-Side quer usar ?

▪ Qual framework UI quer usar ?

▪ Qual framework de test quer usar ?

▪ Axios, eslint, prettier...

Page 15: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Features

Page 16: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Nuxtjs - Features

▪ Routing system baseado em pastas e arquivos

▪ Hierarquia layout/página (propriedades head nas páginas)

▪ Middlewares

▪ Plugins

▪ AsyncData/Fetch

Page 17: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Nuxtjs - Routing (Feature)

▪ Basic routing

▪ Dynamic routing

Page 18: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Nuxtjs - Hierarquia Layout/Página (Feature)

Page 19: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Nuxtjs - Middlewares (Feature)

▪ São funções customizáveis que são executadas antes de renderizar uma página

▪ Ficam localizados na pasta /middleware

Page 20: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

▪ São usados antes mesmo da inicialização da instância do Vue, para justamente poder ter algo injetado na aplicação.

▪ Ficam localizados na pasta /plugins

Nuxtjs - Plugins (Feature)

Page 21: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

▪ Fazem a requisição no server-side antes de carregar a página

▪ A página só é carregada após o retorno da requisição

Nuxtjs - AsyncData/Fetch (Feature)

Page 22: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Fluxo de uma requisição Nuxtjs

Page 23: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

▪ Grande performance (melhores práticas nodejs).

▪ Mais de 50 módulos (PWA, SPA e etc…)

▪ Soluções preparadas para sistemas complexos

Nuxtjs - Vantagens

Page 24: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Nuxtjs - Módulos de Renderização

▪ Single Page Applications (SPA)

▪ Static Generated (Pre Rendering)

▪ Server Rendered (Universal SSR)

Page 25: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

▪ É o modo mais popular do Nuxt

▪ Preparado para receber o SEO

▪ Comunicação Server Side/Client Side

Server Side Rendered (Universal SSR)

Page 26: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Este é o tradicional Single Page Application do Vue.js.

Single Page Applications (SPA)

Page 27: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

É o melhor dos dois mundos:

▪ Não há necessidade de um servidor nodejs rodando

▪ Benefício do SEO configurado no seu site.

Static Generated (Pre Rendering)

Page 28: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Nuxtjs - Resumindo

▪ Você tem 3 aplicações complexas em um só sistema.

▪ Mude a medida de sua necessidade.

Page 29: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Nuxt + AWS LambdaServerless ? Sim!

Page 30: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Primeiro: O que éServerless ?

Page 31: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

ServerlessExistem:▪ Serverless Computing

▪ Serverless (framework)

Page 32: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Serverless Computing

▪ Veio para simplificar o deployment do código em produção

▪ Não precisa provisionar ou gerenciar o servidor

▪ Aplicativos ganham escalabilidade automaticamente

▪ Foco no desenvolvimento da aplicação.

Page 33: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Page 34: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

É um framework serverless que ajuda no build, deploy e auto-scaling do seu sistema baseado em funções.

É free e Open Source!

Serverless(Framework)

Page 35: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Como Funciona esse Serverless Framework?

Page 36: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

▪ Passo 1: Você seleciona um Servidor Provider: AWS, Google Cloud, Azure..

▪ Passo 2: Autenticação.

▪ Passo 3: Build & deploy!

Serverless(Framework) - Passos

Page 37: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

AWS Lambda ▪ Serviço Serverless da AWS▪ Modelo do tipo "pay-as-you-go", ou seja,

pague o que usar▪ Acionado por eventos▪ Execução ilimitada de execuções paralelas▪ Suporte a várias linguagens, exemplo:

java, python, nodejs, e etc...

Page 38: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

AWS Lambda - Quanto custa?

Page 39: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Page 40: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Como o Nuxt se comunica com o AWS Lambda ?

Page 41: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Através de uma função handler

Page 42: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Page 43: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Pode se usar em todas as aplicações ?

Page 44: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Tem alguns caso que Não.

Page 45: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Quais os casos que NÃO se deve usar ?

Em todos os casos de conexões persistentes como websockets, stream, social real-time chat e etc...

Page 46: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Em todos os outros… Sim!

Page 47: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

www.blueticket.com.br

Em resumo...▪ Você paga apenas o que usar▪ Menos tempo cuidando do servidor▪ Expectativa de economia de +50%

em comparação

Page 48: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

Dúvidas ?

Email: [email protected]: https://www.linkedin.com/in/julioguedes/

Page 49: com AWS Lambda com Vuejs/Nuxt.js Side …...2019/05/17  · AWS Lambda Serviço Serverless da AWS Modelo do tipo "pay-as-you-go", ou seja, pague o que usar Acionado por eventos Execução

Fim!Obrigado pela

atenção!