mauricio.miranda Postado Outubro 28, 2022 Compartilhar Postado Outubro 28, 2022 O que é serverless? Serverless pode ser traduzido como sem servidor, e é exatamente esse seu propósito, executar trechos de código de uma determinada linguagem de programação sem a necessidade de se preocupar com o gerenciamento de servidores e infraestrutura. Essa tecnologia conta com escalabilidade automática, alta disponibilidade e otimização de custos pagando apenas pela utilização. Soluções serverless As soluções serverless costumam ser divididas em: back-end como serviço (BaaS): é plataforma de serviço que automatiza o backend e infraestrutura necessária para a aplicação. função como serviço (FaaS): é um modelo de execução de computação orientado a eventos. Com ele, os desenvolvedores gravam a lógica, que é implantada em containers totalmente gerenciados por uma plataforma e executada sob demanda. Caso de uso Essa tecnologia é ideal para processar demandas assicronamente e isoladas, como por exemplo processar arquivos em lote, usando o serverless uma evento é gerado que nesse caso é a chegada desse lote, se o serviço estiver parado ou não estiver rodando, ele é buildado e iniciado chamando a tarefa de processamento, após finalizada é verificado se tem mais tarefas a serem realizadas caso não o serviço é eliminado, gastando menos recursos da máquina e gerando um custo bem menor que uma máquina rodando direto. Node.js e Serverless Agora chegou a melhor parte criar um serverless simples usando node.js de forma rápida e pratica. Aqui vamos usar o serverless framework (https://www.serverless.com/framework/docs/getting-started) uma ferramenta npm criada para facilitar ainda mais o desenvolvimento com serverless, para esse exmplo está sendo usada a versão do Node.js 16.15.1. Primeiramente é necessário installar o serverless globalmente : npm i serverless -g Agora vamos criar um projeto serverless usando o comando: serverless Ao finalizar é criada a seguinte estrutura: Basicamente um arquivo handler.js com uma função que será executada, um arquivo serverless.yml com as especificações do serverless que estamos criando, um .gitignore básico e um README padrão demostrando o processo de deploy. é importante destacar o arquivo serverless.yml, responsável por todas as diretivas que regem a aplicação que estamos criando: Explicando os pontos mais importantes do arquivo serverless.yml: service: nome do nosso serviço frameworkVersion: versão do framework do serverless que será usada plugins: São códigos que são adicionados ao serverless e que incrementam ou estendem comandos existentes No print acima usamos o serverless-offline como plugin para que possamos fazer todos os processos que o serverless executa para deploy mas local. provider: Aqui indicamos o responsável por gerenciar a infraestrutura necessária para a aplicação e também é indicado o runtime no nosso caso é o node.js na versão 14, mas poderia ser também outra linguagem caso o projeto fosse utilizar outra como por exemplo python. functions: Aqui será indicada quais funções serão executadas pelo serverless hello: o nome da nossa função no serverless (pode ser usado qualquer nome) handler: o método que será executado na chamada da função events: são os eventos que irão disparar nossa função, no exemplo da imagem acima é uma chamada HTTP do tipo GET ao caminho raiz /. Lembrando que o serverless gera uma rota para nossa api indicada com os path que existem no arquivo. Vamos installar também o serverless offline para podermos testar nossa aplicação localmente sem precisar subir em nenhuma infraestrutura: npm i serverless-offline -D Altere o arquivo handler.js para retornar um hello world e não todo o evento: Agora sim, tudo pronto, vamos rodar nosso serverless local e ver se está ok, basta rodar o comando: serverless offline Ápos isso no terminal é indicado as rotas geradas: Depois, basta agrir essa rota GET no navegador usando a URL http://localhost:3000/ e o resultado é o Hello world adicionado a função: Agora é só editar o arquivo handler.js como quiser e processar a sua demanda com sucesso. Referências https://www.redhat.com/pt-br/topics/cloud-native-apps/what-is-serverless https://aws.amazon.com/pt/serverless/ https://blog.back4app.com/pt/backend-as-a-service/ https://how.kovi.work/construindo-uma-aplicação-serverless-do-zero-cd0d70527d61 3 Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
luiz.melo Postado Novembro 4, 2022 Compartilhar Postado Novembro 4, 2022 Massa!! 1 Link to comment Compartilhe em outros sites Outras opções de compartilhamento...
Postagens Recomendadas
Crie uma conta ou entre para comentar 😀
Você precisa ser um membro para deixar um comentário.
Crie a sua conta
Participe da nossa comunidade, crie sua conta.
Criar minha conta agoraÉ bem rápido!
Entrar
Você já tem uma conta?
Entrar agoraFaça o login agora.