Popularizado em 2015 após o lançamento do AWS Lambda, o termo Serverless Computing tem ganhado cada vez mais espaço e apreço pelos desenvolvedores ao redor do mundo e movimentou grandes empresas como Google e Microsoft que também passaram a oferecer esse serviço.
A Serverless Computing é uma evolução da nuvem que permite que as equipes de TI tenham mais tempo para focar em ações estratégicas para o negócio e proporcionar a seus clientes serviços mais ágeis, rápidos e menos custosos para a empresa.
O que é?
O Serverless Computing (em tradução livre, computação sem servidor), ou também chamado FaaS (função como serviço) é um aprimoramento da computação em nuvem, no qual os provedores da serverless se encarregam de provisionar e gerenciar os servidores nos quais os aplicativos estão sendo executados, proporcionando mais escalabilidade, agilidade e alta disponibilidade.
Com a FaaS, os desenvolvedores podem manter seu foco e tempo na criação de novos produtos para solucionar as demandas implícitas e explícitas de seus clientes, ao invés de trabalhar no gerenciamento e operação dos servidores.
A Serverless é normalmente utilizada para o desenvolvimento back-end de aplicativos no qual compreende servidores que armazenam arquivos do aplicativo e os bancos de dados de usuários. Os provedores Serverless Computing além de suportar qualquer tipo de aplicativo ou serviço back-end, permitem que os desenvolvedores escrevam e implantem novos códigos sem se preocupar com a questão da infraestrutura.
Por que usar?
A Serverless Computing é adotada por empresas globais como Netflix, Thomson Reuters, AOL e Telenor e, no Brasil, é utilizada pelas empresas Nubank, SemParar e MaxMilhas, isso porque essa inovadora solução apresenta diversos benefícios para o negócio:
- Redução de custos: as soluções Serverless possibilitam que o usuário pague apenas pelo uso, ou seja, pelos servidores gerenciados, bancos de dados e lógica de aplicativo.
- Flexibilidade e agilidade: os servidores têm uma natureza ajustável sem precisar da intervenção dos clientes, por isso, a Serverless Computing é muito mais ágil para escalar um sistema e para passar o controle do ajuste de desempenho de um servidor ou servidores individuais para unidades de consumo.
- Mais segurança: ao retirar o gerenciamento dos servidores de dentro do ambiente corporativo, ele fica menos exposto à possíveis brechas de segurança e passa a ser monitorado pelas equipes de segurança do próprio provedor, as quais controlam atualizações de segurança necessárias, monitoramento de ameaças e planos para garantia da alta disponibilidade aos clientes.
- Alta disponibilidade: a arquitetura Serverless já possui nos serviços que executam os aplicativos a alta disponibilidade e intolerância a falhas,
- Mais tempo para criar: o Serverless permite terceirizar todo o gerenciamento, provisionamento e dimensionamento dos servidores, dessa forma os desenvolvedores têm mais tempo para criar produtos inovadores e não precisam se preocupar em “apagar incêndios”
- Retorno rápido: outra grande vantagem da Serverless é a possibilidade de reduzir o tempo do lançamento de um aplicativo no mercado, uma vez que essa modalidade de computação permite que os desenvolvedores adicionem códigos e modifiquem outros já existentes, para inserir novos recursos e corrigir bugs.
Como se relaciona com cloud computing?
A Serverless Computing pode ser vista como um aprimoramento da Cloud Computing, criado para suprir demandas que essa por si só não poderia atender. Um exemplo disso é o fato de que na nuvem as quantidades de espaço que poderiam ser alugadas em um servidor eram fixas.
Nesse caso, empresas optavam por comprar mais espaço do que o usual, para evitar que picos no tráfego – como um ataque DDoS – ou na atividade não excedesse os limites mensais contratados e resultasse na “quebra” do aplicativo lá hospedado. Embora os fornecedores de nuvem tenham passado a ofertar modelos de Cloud Computing de dimensionamento automático, eles não compensavam ao negócio em termos de custo-benefício.
Assim, a Serverless surge como um modelo de Cloud Computing mais maduro no qual cabe ao provedor gerenciar de forma dinâmica a alocação dos recursos do servidor, tornando-se uma responsabilidade gerenciada pela própria plataforma.
Leve sua empresa ao mundo da Cloud Computing com a Introduce! Converse com nossos especialistas e encontre a melhor solução de nuvem para seu negócio.