Como o próprio nome sugere, o modelo de arquitetura Serverless permite que os desenvolvedores compilem e executem aplicações sem se preocupar com os servidores. Isso não quer dizer que os servidores deixam de existir, mas sim que eles são gerenciados e operacionalizados por terceiros.

A computação Serverless é uma evolução dentro da computação em nuvem, permitindo que os desenvolvedores foquem cada vez na parte essencial de seu produto.

Aplicações Serverless são aquelas que utilizam soluções de Backend as a Service (BaaS); ou que incluem códigos customizados executados em containers efêmeros numa plataforma de Functions as a Service (FaaS).

Dessa forma, o provedor gerencia de forma dinâmica a alocação de recursos das máquinas, garantindo escalabilidade e confiabilidade aos desenvolvedores

Atualmente, os principais provedores de infraestrutura na nuvem (Amazon, Google e Microsoft) estão investindo muito no conceito do Serverless, sendo um tema cada vez mais relevante no mundo de arquitetura de software.

 

Soluções Serverless – FaaS e BaaS

 

Em um primeiro momento, o termo serverless foi atribuído para descrever aplicações que dependem, em partes ou totalmente, de serviços em nuvem para gerenciar a lógica e o estado do servidor.

Geralmente, esses aplicativos possuem a característica básica de serem páginas únicas – utilizando um banco de dados em nuvem (como o Parse e Firebase); e serviços de autenticação (como Auth0 e AWS Cognito).

Essas soluções são chamadas de “Backend as a Service” ou ‘BaaS’.

 

Em alguns casos, certa quantidade da lógica do servidor pode ser escrita pelo desenvolvedor do aplicação.

Esse modelo também é considerado como serverless, mas diferente das arquiteturas tradicionais, o código é executade em containers efêmeros gerenciados por terceiros em plataformas de FaaS – “Functions as a Service”.

 

 

Vantagens

Além de ter um bom fit  com micro serviços e metodologias ágeis de desenvolvimento, as aplicações Serverless também reduzem o time to market do produto, escalam automaticamente e reduzem custos com infraestrutura.

Time to Market

O tempo de entrega de um produto pode ser muito longo, considerando as etapas de planejamento, design e desenvolvimento de software.

Utilizando solução de FaaS e/ou Baas, o time de desenvolvimento e operações pode economizar um bom tempo com os servidores, permitindo que alterações entrem em ambiente de produção mais rapidamente.

 

Redução de custos

Com a alocação dinâmica, é possível escalar os recursos em momentos de pico demanda, e reduzir na baixa. Desta forma, você paga apenas aquilo que é consumido, reduzindo os custos com o provedor de infraestrutura em nuvem.

 

Escalabilidade

As soluções de BaaS e FaaS fazem com que aplicações serverless sejam auto escaláveis, controlando sua capacidade de acordo com unidades de consumo.

 

 

 

 

Amazon Cloud Computing, Reinventando Sempre
Design Sprint - Como aplicar o método do Google no seu projeto?

Compartilhe

Compartilhe este post com seus amigos