A computação sem servidor é um modelo de execução de computação em nuvem que aloca recursos de máquina conforme usados. Em um modelo sem servidor, os desenvolvedores podem criar e executar aplicativos sem gerenciar servidores e pagar apenas pela quantidade exata de recursos usados. Em vez disso, o provedor de serviços de nuvem é responsável por provisionar, gerenciar e escalonar a infraestrutura de nuvem que executa o código do aplicativo.
A computação sem servidor, apesar do nome, não elimina os servidores. Em vez disso, ele simplifica o desenvolvimento de aplicativos ao abstrair tarefas de infraestrutura de rotina. Isso significa que você não vê, configura, gerencia ou escalona as máquinas que executam seus aplicativos. Basicamente, você paga pelo serviço do servidor, e não pelo servidor em si.
Do ponto de vista do desenvolvimento, é como se não houvesse servidores. Os desenvolvedores escrevem o código, o implantam na produção e o provedor de nuvem cuida do resto.
Quando se trata de criar aplicativos, os desenvolvedores normalmente têm uma série de outras tarefas de gerenciamento de servidor que precisam executar para implantar o código, como definir recursos para processamento e armazenamento, aplicar patches, balanceamento de carga e muito mais. Todos esses itens extras levam a tempos de provisionamento mais longos e mais sobrecarga operacional que, no fim, desacelera as equipes de desenvolvimento.
A computação sem servidor tenta fornecer uma experiência "sem servidor" invisível para os desenvolvedores, eliminando a necessidade de pensar nos servidores ou em qualquer coisa que um aplicativo possa precisar executar. Em vez disso, o provedor de serviços faz todo o trabalho nos bastidores para garantir que você tenha os recursos para executar seu código e atender aos requisitos sem ser cobrado por capacidade ociosa.
Pense na computação sem servidor como levar água para sua casa. Você pode cavar o próprio poço, testar a qualidade da água, instalar e manter todo o encanamento externo necessário para executá-lo na casa. Ou você pode se conectar ao principal sistema de abastecimento da sua cidade. Basta ligar a torneira de água e pegar a quantidade de água que quiser exatamente quando precisar, e a cidade enviará uma fatura mensal com a quantidade exata de água que você consome.
Da mesma forma, os provedores de nuvem ativam automaticamente os recursos de infraestrutura e os ambientes de execução necessários para executar seus aplicativos sem servidor e reduzem automaticamente o escalonamento a zero quando a execução é concluída. Normalmente, você é cobrado com base nos recursos durante o tempo de execução. No entanto, isso pode variar de acordo com o serviço e o fornecedor.
Mas não é o caso de outros tipos de computação em nuvem não fornecem recursos sob demanda com pagamento por utilização? É verdade que modelos de serviço na nuvem comoInfrastructure as a Service (IaaS) ePlataforma como serviço (PaaS) também oferecem acesso sob demanda a recursos de computação.
No entanto, a infraestrutura em nuvem alocada para você permanece ativa mesmo que não seja usada. Também é sua responsabilidade escalonar a capacidade do servidor ou configurar seus aplicativos para aumentar ou diminuir a escala em resposta à demanda do usuário.
Por outro lado, as arquiteturas sem servidor são orientadas a eventos. Nesse modelo, o provedor só fornece recursos quando um evento aciona a execução do seu código e faz o escalonamento automático e instantâneo das solicitações.
Principais definições:
Sem servidor
PaaS
Contêineres
VMs
Na computação em nuvem sem servidor, geralmente há dois tipos de serviços: funções como serviço (FaaS) e back-end como serviço (BaaS).
No desenvolvimento, o termo "sem servidor" é geralmente usado para descrever ofertas FaaS. No entanto, é importante observar que, tecnicamente, o FaaS é um subconjunto da tecnologia sem servidor. A computação sem servidor inclui qualquer tipo de serviço em que o gerenciamento, a configuração, o escalonamento e o faturamento do servidor são abstraídos do usuário final. Isso pode incluir bancos de dados, armazenamento, streaming de eventos, mensagens e gateways de API.
Alguns dos exemplos de computação sem servidor mais comuns e emergentes incluem:
Melhor produtividade dos desenvolvedores
Os desenvolvedores sem servidor se concentram em escrever códigos e otimizar a lógica de negócios em vez de se preocupar com provisionamento, gerenciamento ou escalonamento de infraestrutura.
Escalonabilidade imediata
Arquiteturas sem servidor são escalonadas verticalmente ou verticalmente por natureza. Ao contrário do escalonamento automático em outros tipos de computação em nuvem, que requer regras de ajuste, o escalonamento automático sem servidor é instantâneo e pode ser escalonado para zero.
Preços flexí
Os modelos de preços sem servidor geralmente são cobrados com base no uso real e no tempo necessário para executar uma função. Você também não paga pela capacidade inativa, o que ajuda a reduzir os custos operacionais associados à execução e ao gerenciamento dos seus próprios servidores.
Implantação mais rápida
A computação sem servidor pode ajudar a reduzir a dificuldade de definir a infraestrutura para equipes de DevOps quando se trata de integração, teste, entrega e implantação. Assim, eles podem se concentrar em escrever e implantar o código diretamente na produção.
Use qualquer idioma
Os ambientes sem servidor são compatíveis com qualquer linguagem ou framework, o que permite que as equipes desenvolvam nessa linguagem ou com o framework (Go, Python, Java, Node.js, .NET e muito mais) que se sentem mais à vontade.
Uma das maiores desvantagens da computação sem servidor é que ela ainda é uma tecnologia relativamente nova. Por isso, ele ainda não é adequado para atender a todos os casos de uso em potencial.
Também está claro que algumas das atuais fraquezas serão resolvidas com o tempo, à medida que a computação sem servidor continua a evoluir. Muito trabalho já está sendo feito em implementações de código aberto de sem servidor e maneiras de tornar os serviços em nuvem mais abertos para tornar as soluções portáteis em diferentes plataformas e ambientes.
Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.