As melhores soluções de computação sem servidor

[ad_1]

modern-cloud-technology-background-banner-illustration-id1202009412.jpg
Imagem: sigoisette, Getty

O que é computação sem servidor?

A Wikipedia descreve a computação sem servidor como: “um modelo de execução de computação em nuvem no qual o provedor de nuvem aloca recursos de máquina sob demanda, cuidando dos servidores em nome de seus clientes”. Embora isso seja preciso, é um pouco seco e requer uma boa quantidade de conhecimento técnico para decifrar. Por outro lado, alguns anos atrás, tive a sorte de ouvir a computação sem servidor descrita a um grupo de estudantes da Universidade de Notre Dame por um jovem engenheiro brilhante usando uma analogia de lavanderia. Aconteceu mais ou menos assim.

Quando se trata de lavanderia, você tem algumas opções para fazer isso. Você pode comprar sua própria máquina de lavar, instalá-la em sua casa e com isso aproveitar as conveniências ao lado das despesas e manutenção da propriedade do eletrodoméstico. Outra opção é levar suas roupas a uma lavanderia, que não exige que você tenha máquina de lavar, mas ainda tem que providenciar o sabonete e o secador de lençóis e uma cesta. Por fim, você pode optar por deixar suas roupas em uma lavanderia a seco, informar a quantidade de goma que deseja e voltar mais tarde para pegar o produto acabado.

Nesta analogia da lavanderia, comprar sua própria máquina de lavar é semelhante às opções tradicionais de computação no local. Você investe algum capital e, em seguida, é responsável não apenas pelo código que é executado no servidor, mas também pelo hardware, rede e carga de nível de sistema operacional que acompanha esse servidor.

O exemplo da lavanderia se alinha perfeitamente com a execução de um ambiente virtual ou em contêiner para hospedar seu aplicativo na nuvem. Pense na AWS EC2. Você não precisa se preocupar com a equipe de limpeza tropeçando em um cabo e derrubando todo o seu aplicativo, mas ainda é responsável por coisas como configurar o sistema operacional, patches de segurança etc.

Finalmente chegamos à metáfora da lavanderia e ao objetivo deste artigo. Com a computação sem servidor, você normalmente não se preocupa muito com “como a roupa é lavada”. Você fornece suas instruções (ou seja, o código), entrega-o ao provedor de sua escolha e espera para receber de volta o produto de trabalho finalizado. Embora não seja perfeito para todas as situações, ele definitivamente tem uma lista crescente de vantagens para os desenvolvedores, bem como para os negócios que eles suportam.

Quais são os benefícios da computação sem servidor?

Sem gerenciamento de servidor

Embora a computação sem servidor realmente seja executada em um servidor, não é o seu servidor. Ele é gerenciado por um provedor de serviços especializado no gerenciamento de servidores em escala. Isso significa que eles serão mais eficientes e econômicos nessas tarefas do que a maioria das empresas, e os desenvolvedores podem se concentrar no que são realmente bons: desenvolver código.

Pay as you go/escalabilidade inerente

Tomando uma sugestão de alguns planos de telefone, a computação sem servidor normalmente é executada em um modelo de pagamento conforme o uso. Seu código é executado apenas quando necessário e você não paga pela memória, armazenamento ou CPU quando seu aplicativo está ocioso. Além disso, a computação sem servidor é “escalável horizontalmente”. Isso significa que, se 10 pessoas tentarem executar seu aplicativo ao mesmo tempo, 10 instâncias separadas de suas funções sem servidor serão “ativadas” simultaneamente para atender à demanda.

Iterações mais rápidas

Com arquiteturas sem servidor, não há necessidade de fazer implantações de aplicativos em massa ou qualquer tipo de configuração de “backend”. Os desenvolvedores podem atualizar partes ou todo o aplicativo como funções independentes. Isso pode reduzir bastante o tempo necessário para atualizar, corrigir e adicionar novos recursos.

VEJA: AWS Lambda, uma estrutura de computação sem servidor: Uma folha de dicas (PDF grátis) (TechRepublic)

Computação sem servidor: as melhores ferramentas do mercado

À medida que empresas e engenheiros adotam uma abordagem sem servidor, o número de fornecedores que fornecem recursos sem servidor continua a crescer. Embora a maioria seja construída com um conjunto comum de objetivos de arquitetura, existem algumas diferenças distintas entre abordagem e implementação.

AWS Lambda

Pioneiro da computação sem servidor, o AWS Lambda é a solução sem servidor para algumas das maiores empresas do mundo. Originalmente focado em Node.js, agora o AWS Lambda pode oferecer suporte a Node, Java, Go, PowerShell, C#, Python e Ruby imediatamente e tem uma API de tempo de execução que permite adicionar mais idiomas, se necessário. É bem documentado, fácil de começar e você recebe 1 milhão de solicitações gratuitas para sua API resultante todos os meses.

Funções do Google Cloud

O Google Cloud Functions opera de maneira semelhante ao AWS Lambda, embora o número de linguagens de desenvolvimento compatíveis não seja tão grande. Ele também tem um nível gratuito; nesse caso, seus primeiros 2 milhões de solicitações de cada mês são cobertos. Uma maneira pela qual o Google está tentando diferenciar esse produto é focando na estrutura de código aberto FaaS (função como serviço) para proteger seus clientes do aprisionamento de fornecedores. Na prática, a maioria dos aplicativos sem servidor podem ser escritos de maneira independente do fornecedor, independentemente do provedor de serviços, mas geralmente é demorado e você precisa equilibrar as compensações entre o tempo de lançamento no mercado versus a capacidade (e a realidade) que em algum momento você precisará para levantar e transferir seu código entre provedores de serviços.

Ofertas sem servidor como o AWS Lambda não atingiram o grande momento, mas o Kubernetes pode ajudar (TechRepublic)

Serviço de Aplicativo do Azure da Microsoft

O Azure da Microsoft ganhou muito terreno nos últimos anos e seu App Service não é exceção. Assim como o AWS Lambda, o App Service oferece uma ampla variedade de opções de linguagem de desenvolvimento. O próprio modelo de programação tende a ser um pouco mais sofisticado, o que significa flexibilidade ao custo da complexidade. Enquanto a maioria de seus concorrentes trabalha com um modelo direto de entradas e saídas (geralmente blocos JSON), o Serviço de Aplicativo depende de uma série de gatilhos e associações. O aumento pode ser um pouco mais acentuado se você estiver acostumado com as APIs RESTful tradicionais, mas à medida que você entender, verá que também há vantagens.

Em termos de preços, o Serviço de Aplicativo do Azure oferece suporte a um modelo de pagamento conforme o uso, mas também tem alguns cenários em que você paga uma taxa por hora. Novamente, isso pode fornecer outro nível de flexibilidade, mas torna a decifração do plano de preços um mistério. Embora exista claramente algum tipo de nível gratuito, não é evidente sem conversar com um vendedor em que consiste esse nível gratuito.

Mesa de ar

Eu posso receber algumas críticas por incluir o Airtable como uma opção sem servidor, porque é uma solução muito mais de propósito único em comparação com um provedor de computação sem servidor geral. Dito isso, se você está procurando apenas operações simples de CRUD sem servidor, o Airtable oferece uma opção de código baixo/sem código que você pode querer conferir.

Considerações finais sobre as opções de computação sem servidor

Os fornecedores sem servidor listados neste artigo representam apenas um punhado do que está disponível no mercado. Existem muitos outros por aí, e qual é o melhor para você depende de sua experiência de desenvolvimento, seu ambiente de computação maior e seus objetivos finais. A arquitetura sem servidor não é uma bala mágica. No entanto, o número de situações em que ele pode fornecer escala instantânea, baixo investimento inicial e ciclos de desenvolvimento mais rápidos é significativo e cresce a cada dia.

[ad_2]
Fonte link