O que é Arquitetura Serverless?

Arquitetura Serverless, ou “computação sem servidores”, é uma arquitetura de computação orientada a eventos . Sua principal proposta é permitir que as empresas de software criem e mantenham seus aplicativos web sem se preocupar com a infraestrutura em que esses aplicativos estão rodando.

Trata-se de um conceito relativamente novo, que ganhou popularidade devido aos serviços como AWS Lambda , Microsoft Azure , Google Cloud , entre outros.

Antes da Arquitetura Serverless

Para compreender o conceito da Arquitetura Serverless, é necessário compreender como surgiu a demanda por ela. Para isso, vamos analisar os paradigmas que precederam a Arquitetura Serverless.

Infraestrutura In-house

No início das aplicações web, era comum utilizar um hardware contendo um sistema operacional e a aplicação. Alguns chamam essa abordagem de “ infraestrutura in-house “. Em muitos casos, esse hardware era hospedado em um data center, e a software house pagava pelo espaço e infra que utilizava.

Computação Cloud Tradicional

Com o ganho de performance em virtualização de máquinas, começamos a trabalhar com a computação cloud . Na computação cloud tradicional, nossas aplicações ficam em máquinas virtuais onde era possível aumentar (upgrade) ou diminuir (downgrade) o poder de processamento.

Atualmente, a maiorias das aplicações online estão em máquinas virtuais.

Backend as a Service (BaaS)

Com a evolução das provedoras de cloud , surgiu a oferta de serviços de backend já construído e distribuído, conhecido como “BaaS”. Desta forma, a software house pode concentrar seus recursos em regras de negócio de implementação, abstraindo as necessidades de infraestrutura.

Não tão server less assim…

Antes de mergulharmos de cabeça no magnífico conceito da arquitetura Serverless, precisamos desmistificar seu nome tendencioso.

Serverless , traduzido literalmente do inglês, significa “sem servidor”. Isso não é verdade . A arquitetura Serverless ainda é baseada em servidores. Nela, porém, o desenvolvedor não precisa configurar ou se preocupar com a maioria dos aspectos da infraestrutura em que sua aplicação será rodada. Essas decisões dinâmicas de infraestrutura ficam ocultas para o desenvolvedor ou operador.

Com essa possível confusão já desfeita, vamos ao que interessa.

Arquitetura Serverless: Function as a Service (FaaS)

Utilizando uma plataforma Serverless, o time de desenvolvimento da software house não precisa gerenciar a infraestrutura de servidores, como provisionamento, capacidade de processamento, sistemas de armazenamento, atualização dos servidores, entre muitas outras configurações recorrentes: todas essas funções ficam a cargo do provedor cloud.

Com esse trabalho periférico mitigado, os desenvolvedores passam a ter mais mais tempo para se dedicar a suas funções primárias, entregando muito mais software em um mesmo período.

Apesar de ser a vantagem mais óbvia da arquitetura Serverless, o tempo ganho pelo dev é apenas um dos destaques da arquitetura Serverless.

1 Curtida