Serverless: tendência ou hype?

Por Boris Kuszka | 20 de Julho de 2018 às 17h08
Intel

Você consegue imaginar um mundo sem servidores? No último artigo falei sobre o ciclo do hype, e como distinguir o que é exagero daquilo que é comercialmente viável. Desta vez, vamos destacar um tópico que vem sendo considerado cada vez mais importante na arquitetura de software e que aparece entre as inovações que deverão conquistar o mercado nos próximos dois a cinco anos: a tecnologia serverless, ou Função como Serviço (FaaS).

Em computação, o servidor é um software ou dispositivo que oferece infraestrutura e proporciona funcionalidade para outros programas ou dispositivos clientes. O termo surgiu no final dos anos 1960 e perdurou até a década de 90, quando as empresas de telecomunicações, que antes ofereciam circuitos de dados ponto-a-ponto dedicados, começaram a oferecer serviços de rede privada virtual (VPN) com qualidade de serviço comparável, mas a um custo menor. O símbolo de uma nuvem começou a ser usado nesta época como um ponto de demarcação que distinguia as ações de responsabilidade do provedor e as de responsabilidade do usuário.

Em 2006, a Amazon lançou oficialmente o conceito de computação em nuvem com a tecnologia Elastic Computer Cloud (EC2), plataforma central de sua subsidiária Amazon Web Services (AWS). A AWS é o braço da companhia que passou a oferecer computação em nuvem on-demand a indivíduos, empresas e governos sob um modelo de subscrição paga. Em 2014, a Amazon introduziu o AWS Lambda, uma plataforma serverless orientada a eventos, capaz de executar códigos em resposta a ocorrências e gerenciar automaticamente os recursos computacionais exigidos pelo programa em execução.

Participe do nosso GRUPO CANALTECH DE DESCONTOS do Whatsapp e do Facebook e garanta sempre o menor preço em suas compras de produtos de tecnologia.

O servidor desapareceu?

Apesar do nome ambicioso, a computação serverless não elimina de fato os servidores. A computação sem servidor é semelhante, em princípio, à computação de ponta, pois traz a funcionalidade típica do servidor para dispositivos locais e é uma extensão natural do conceito de nuvem. O termo serverless é, contudo, um nome impróprio em um sentido técnico. Quando se trata de gestão e redução de despesas, a computação sem servidor pode simplificar as operações e reduzir os custos relacionados ao servidor.

Em termos simples, se você não está mantendo ou gerenciando sua própria infraestrutura para executar seu aplicativo, paga conforme seu uso (nunca por inatividade), obtém o nível exigido de alta disponibilidade, escalabilidade e tolerância a falhas automaticamente do fornecedor, então você está executando um aplicativo serverless.

Serverless vs Containers

Existem muitas similaridades e diferenças entre os containers e a tecnologia sem servidor. O serverless é um modelo de execução de código de computação em nuvem em que o provedor de cloud gerencia completamente a execução de forma granular, invocando funções de forma individual, ao contrário do servidor mais tradicional, que Opera uma longa execução de aplicativos.

A virtualização, a computação em nuvem e até mesmo os containers foram desenvolvidos para empoderar a classe executiva da tecnologia, e entrega aplicações mais rápido do que nunca. Essas tecnologias nos levaram a conceitos como o serverless, ou Função como Serviço (FaaS), que busca essencialmente abstrair a necessidade do habitual sistema de servidor “sempre ligado” por trás de aplicações. Mas mesmo um sistema sem servidor precisa ser executado em um computador em algum lugar. É essa infraestrutura massivamente escalonável que ajuda a ativar todos os benefícios da geração atual de abstração, de serviços reutilizáveis ​​e de aplicativos compostos a um rápido desenvolvimento e transformação digital.

A exemplo de plataformas hospedadas como o AWS Lambda, o FaaS permite que os desenvolvedores se concentrem mais na criação de aplicativos do que no gerenciamento de infraestrutura. Por meio de plataformas abertas e colaborativas, como o Apache OpenWhisk, desenvolvedores podem criar e implantar sua própria plataforma serverless/FaaS em qualquer lugar que desejarem – seja auto-hospedado ou provedor em nuvem.

Como o OpenWhisky funciona

A Red Hat está contribuindo com o Apache OpenWhisk, uma plataforma em nuvem de código aberto e sem servidor que permite executar códigos em resposta a eventos em qualquer escala. O sistema pode ser rodado no Red Hat OpenShift e lida com a infraestrutura e os servidores para que os desenvolvedores possam se concentrar em construir códigos de valor agregado em vez de perder horas no gerenciamento de arquitetura e servidor.

Com o OpenWhisk, é possível desenvolver softwares em horas em vez de semanas, em sua linguagem preferida, podendo combinar códigos personalizados com pacotes plug-and-play a partir de um rico ecossistema de serviços de suporte. Além disso, os criadores de pacotes podem adicionar facilmente seus serviços ao ecossistema crescente do OpenWhisk, o que ao mesmo tempo elimina a necessidade de criar soluções internas para integração de terceiros e aumenta o alcance de uma comunidade mais ampla de desenvolvedores e a adoção de seus produtos e serviços. A comunidade Apache OpenWhisk é impulsionada por contribuidores open source que estão avançando nessa tecnologia de ponta, desenvolvendo habilidades e expandindo os limites da tecnologia FaaS.

O último Red Hat Summit, realizado em São Francisco no mês de maio, reflete o interesse crescente sobre a tecnologia que abstrai o servidor na equação da infraestrutura de software. Em sua 14ª edição, que reuniu um público recorde de 7 mil pessoas, as sessões mais lotadas foram as que abordaram o sistema serverless. Apesar de todas as suas vantagens e benefícios, entretanto, ainda resta saber se a tecnologia está madura o suficiente para que possamos aproveitar todo o seu potencial.

Gostou dessa matéria?

Inscreva seu email no Canaltech para receber atualizações diárias com as últimas notícias do mundo da tecnologia.