An Interest In:
Web News this Week
- March 28, 2024
- March 27, 2024
- March 26, 2024
- March 25, 2024
- March 24, 2024
- March 23, 2024
- March 22, 2024
September 23, 2021 04:59 pm GMT
Original Link: https://dev.to/biglucas/serverless-basico-51m7
Serverless bsico
Serverless uma arquitetura baseada em funes como um servio (FaaS - Function as a Service), o principal objetivo que o desenvolvedor se preocupe apenas com o cdigo da funo (lgica do negcio) e a responsabilidade pela configurao do ambiente/mquina que vai rodar o cdigo fique por conta do provedor de cloud.
Caractersticas
- Ambiente sem estado para rodar o cdigo, cada evento que aciona a funo PODE ser processado em um ambiente completamente novo, isso limita por exemplo a utilizao do sistema de arquivos do ambiente onde o cdigo est rodando e um novo processamento est desacoplado dos processamentos anteriores.
- Tempo de execuo limitado, o processamento deve ocorrer dentro de um perodo de tempo, se a execuo no estiver completa o ambiente onde o cdigo est rodando simplesmente morre.
- Orientado a eventos, cada funo de uma aplicao serverless tem um ou mais gatilhos que acionam a execuo do cdigo.
Cdigo bsico com o framework Serverless
# serverless.ymlprovider: name: aws runtime: nodejs14.x memorySize: 512 timeout: 3functions: users: handler: ./UserHandler.handler events: - http: method: GET path: users cors: true
// UserHandler.js// aws sampleexports.handler = async function(_event, _context) { const service = new UserService(); const response = await service.findAll(); return JSON.stringify(response);}
Com o comando abaixo possvel realizar a implantao da funo no provedor de cloud.
npx serverless deploy
Quando uma requisio chegar na rota registrada no API Gateway um novo evento ser disparado e este evento pode ser processado por uma funo nova (cold) ou por uma funo ativa (warm).
Diferenas entre serverless e uma arquitetura cloud com contineres
- Uma grande diferena que o serverless te fora a quebrar suas operaes e definir muito bem qual a responsabilidade da funo. Isso imposto basicamente pelo tempo limite de execuo e pelos valores maiores cobrados para execues com tempo maior ou com consumo de memria maior.
- As funes serverless ficam desativadas quando no existem eventos para processar, diferentemente de um continer rodando uma aplicao que fica 100% do tempo rodando mesmo sem requisies.
Principais ferramentas
- Serverless framework.
- AWS Lambda.
- Azure Functions.
- Google Cloud Functions.
- Infraestrutura como cdigo.
Referencias
- Artigo da Red Hat sobre Serverless.
- Artigo da AWS sobre Lambda.
- Exemplo de cdigo com AWS Lambda.
- Exemplo de cdigo com Azure Functions.
- Exemplo de cdigo com Google Cloud Functions.
- Exemplo "hello world" com o Framework Serverless.
- Modelo de projeto com o framework Serverless.
- Serverless (FaaS) vs. Contineres.
Original Link: https://dev.to/biglucas/serverless-basico-51m7
Share this article:
Tweet
View Full Article
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To