Conheça o conceito Serverless da Amazon AWS

Não é novidade para ninguém que a Amazon revolucionou o mercado de consumo mundial, com o desenvolvimento de marketplaces, Streaming (Amazon Prime) e popularização de automações tecnológicas aplicadas em ambientes domésticos (olá Alexa!). No entanto, um dos principais produtos da gigante tecnológica é o serviço de hospedagem em nuvem, o Amazon Web Services (AWS).

Tamanho o sucesso e desenvolvimento deste produto, que com o recente anúncio da saída de fundador da empresa, Jeff Bezos, do cargo de CEO da Amazon, quem assumirá a presidência do grupo é Andy Jassy, que até então era o principal executivo do segmento da AWS, sendo responsável por sua implantação e escalanomento global. Esta é uma clara demonstração de como o serviço de hospedagem da Amazon foi um sucesso mercadológico, sendo um dos principais ativos da companhia. 

O Amazon Web Services é a plataforma de nuvem mais adotada no planeta, abrangendo milhões de clientes, desde startups, grandes empresas e conglomerados, até os maiores órgãos governamentais. A AWS oferece uma grande quantidade de serviços e recursos de hospedagem na nuvem, desde infraestrutura, armazenamento e banco de dados, machine learning e inteligência artificial, data lakes entre outros. Além disso, possuí uma vasta comunidade, com centenas de milhares de clientes, de parceiros integradores de sistemas e provedores independentes.

Além de oferecer uma extensa gama de serviços, cabe destacar o que a Amazon vem investindo de forma agressiva na evolução do AWS Serveless (AWS Lambda), que tem como ponto principal a auto execução de códigos na forma de funções.

A arquitetura Serveless é um meio de descrever as práticas e estratégias que permitem desenvolver aplicações mais ágeis para que se possa inovar e responder com maior rapidez. Como tudo no mundo dos softwares, a expressão Serveless Computing não tem uma definição precisa, é necessário a compreensão de pontos relevantes.

Nos últimos anos, no mundo da arquitetura e infraestrutura, houve grande evolução passando de on promise (máquinas físicas dentro das empresas) para Infrastructure as Service (maquina real/virtual gerenciada pelo usuário e administrada pelo servidor) e posteriormente para Platform as a Service e/ou Containers as a Service (gerenciamento e provisionamento de máquinas virtuais).

Mais recentemente, surgiu o formato Back-end as a Service, sendo o primeiro passo para consolidar a arquitetura serveless.  Basicamente o BaaS  dispensou o trabalho de gerenciamento dos servidores e infraestrutura dos serviços atrelados, no entanto, não se dispensava por completo a utilização dos servidores, sendo necessário um servidor always-on para o processamento das requisições e aplicações das regras de negócio.

O segundo passo para a consolidação dos serveless, foi um formato onde a aplicação da lógica é escrita por desenvolvedores, mas o código é acionado por eventos que são gerenciados de forma direta pelos provedores dos serviços de nuvem. De forma sintética, estas aplicações são implantadas em “containers” que são iniciados sob demanda automática quando são chamados. Este processo foi denominado como Function as a Service, FaaS.

Ou seja, não há a necessidade de provisionar ou gerenciar servidores onde os aplicativos são executados, e como resultado, estes podem ganhar escalabilidade de forma automática. Isso significa que a equipe de desenvolvedores poderá focar na inovação e criação de novos produtos, concentrando-se no core business da empresa, podendo deixar de lado as preocupações com o gerenciamento e operação de servidores, que já estará programada para ser executada pelo Computing Serveless

Com a implantação deste tipo de arquitetura, o provedor de nuvem é responsável pelas execuções dos servidores físicos e aloca, de forma dinâmica, os recursos deles em nome dos usuários, que podem implantar códigos diretamente na produção. 

No caso da arquitetura sem servidor desenvolvida pela Amazon, as tarefas de gestão de infraestrutura são gerenciadas todas pela AWS Lambda, que é um serviço de computação orientado que permite com que se execute código em resposta a eventos de mais de 150 fontes AWS e SaaS nativamente integradas, sem a necessidade de gerenciar servidores.

Por se tratar de uma utilização sob demanda, só haverá cobrança pelas funções serveless que de fato forem utilizadas. Desta forma, não haverá pagamento por provisionamento excessivo. Ou seja, você pagará apenas pelo tempo de computação que consome.

No entanto, é importante frisar, que ainda que o Serveless realize o gerenciamento de forma direta de um servidor, é necessária a realização da execução das funções para execução dos códigos, o que já é uma grande economia de mão de obras por parte dos desenvolvedores.

Em suma O AWS LAMBDA além de ser o pioneiro e mais difundido sistema serveless  no mundo, tem a facilidade de integração com diversos outros APIs e ampla comunidade de integradores, o que gera maior confiabilidade durante a instalação dos processos. 

Autor
Darvin Silveira
CEO Envolve Labs