A tecnologia avança rapidamente. Ou talvez apenas pareça avançar rápido, porque novos movimentos, abordagens e arquiteturas estão surgindo por toda parte. Neste mês, foi a ascensão repentina das arquiteturas “serverless”, que passaram a dominar o feed do Twitter e a atenção de todos. Pelo menos para quem está no mundo de Dev/Ops.
Para quem trabalha com infraestrutura, arquitetura e operações de rede e ainda não foi bombardeado por essa nova arquitetura, trata-se de uma evolução lógica: monólito –> microsserviços –> arquiteturas serverless. É uma decomposição ainda maior das aplicações: uso empresarial –> serviço –> função.

Literalmente, trata-se de funções. Funções orientadas a eventos e de granularidade fina.
E cada uma delas se concentra em um escopo de lógica de aplicação ainda menor do que o de um microsserviço. Enquanto um microsserviço pode conter toda a lógica de aplicação necessária para implementar um “serviço de perfil”, a arquitetura serverless divide isso ainda mais em funções individuais. Uma para fazer login, outra para fazer logout, uma para alterar sua senha e outra para redefini-la. Basicamente, é como criar um serviço pequeno e específico para cada ação que você possa realizar em um aplicativo.
O motivo pelo qual isso é chamado de “serverless” é que se trata, basicamente, de uma forma altamente evoluída de PaaS. O que é bom para o PaaS, pois, como mercado, ele nunca chegou a se tornar o gigante que esperava ser. Ele meio que fica ali, recebendo elogios dos fanboys que o adoram, mas, na maior parte do tempo, tem sido ignorado, crescendo a um ritmo que está longe de ser tão empolgante quanto o da nuvem privada ou pública — e certamente não como o SaaS. Em uma arquitetura serverless, o provedor de nuvem é responsável por tudo, exceto pelo código necessário para executar uma ação quando um usuário pressiona um botão, marca uma caixa de seleção ou clica em um link. Essa é a parte de evento de “orientada a eventos”: quando o usuário pressiona o botão execute função_na_nuvem. Essa função geralmente faz parte de uma API maior, gerenciada por outro serviço na nuvem.
O importante aqui é que a pessoa que escreve a função não provisiona, configura nem inicia uma máquina virtual ou um contêiner. Ela não precisa se preocupar com detalhes operacionais, como escalabilidade. Basta escrever um código e, com o clique de um botão, voilà! Funcionalidade instantânea.
Isso é a nuvem levada ao extremo, pois a pilha pela qual os desenvolvedores agora são responsáveis se reduz a uma única camada: a camada de aplicação. Nada mais importa, como diria o Metallica. Todos os detalhes operacionais ficam a cargo da plataforma subjacente. É NoOps, pelo menos do ponto de vista do desenvolvedor.
Porque você sabe que há servidores, serviços, infraestrutura e uma rede por trás da plataforma que viabilizam esse recurso mágico. Só que o desenvolvedor não precisa se preocupar com isso. Mas você, como profissional de operações de infraestrutura ou de rede, precisa.
É por isso que é improvável que as empresas embarquem nessa tendência tão cedo. Uma façanha dessas exige um ambiente de computação em nuvem totalmente operacional, que incorpore não apenas recursos de provisionamento de máquinas virtuais ou contêineres, mas também o autoescalonamento automático. Em outras palavras, escalonar sem parâmetros nem intervenção dos desenvolvedores. Isso deve simplesmente acontecer, ora bolas, e ponto final. Não é autosserviço, é serviço automático. Não se trata apenas de escalonamento, mas também de provisionamento automático. E monitoramento, geração de relatórios e praticamente tudo o que hoje está relacionado às operações. É por isso que vemos esse modelo principalmente em ambientes de provedores de nuvem bem estabelecidos; somente eles dispõem da infraestrutura, da automação e da orquestração subjacentes necessárias para sustentar um modelo operacional tão amplamente autônomo.
Portanto, neste momento, a maior parte da atenção em torno da computação sem servidor está voltada a explorar o conceito e descobrir como trabalhar com as soluções atualmente disponíveis na nuvem: Amazon Lambda, Google Cloud Functions, Microsoft Azure Functions, e IBM OpenWhisk. Isso não significa que não existam ofertas para auxiliar implementações locais, como Serverless e Iron.io. Mas, por enquanto, a computação sem servidor ainda está em seus estágios bem (bem) iniciais.
Ainda assim, você provavelmente começará a ouvir rumores sobre serverless. Por enquanto, são basicamente os motores de uma nova arquitetura começando a funcionar. É improvável que isso afete a maioria das organizações no curto prazo (nos próximos 12 a 15 meses), mas é bom entender do que se trata antes que ela faça uma parada nos boxes do ambiente on-premise.
O New Stack tem uma ótima visão geral caso você queira saber mais sobre serverless e seus benefícios e desafios atuais.
Sobre o autor

Lori MacVittie é engenheira distinta e evangelista-chefe no Escritório do CTO da F5, com ampla experiência em entrega de aplicações, estratégia de automação e infraestrutura. Ela é conhecida por transformar complexidade em clareza, seja definindo diretrizes para agentes de IA, analisando arquiteturas multinuvem frágeis ou investigando os limites de sistemas escaláveis. Ela acumula mais de trinta anos de experiência no setor, abrangendo desenvolvimento de aplicações, arquitetura de TI e operações de redes e sistemas. Antes de ingressar na F5, atuou como editora de tecnologia e recebeu diversos prêmios. MacVittie tem mestrado em Ciência da Computação e é uma autora prolífica, com publicações que abrangem segurança, nuvem e arquitetura empresarial. Ela também é uma entusiasta de jogos de tabuleiro e videogames, além de ter opiniões assumidamente fortes sobre queijos.
Mais publicações de Lori Mac VittiePublicações relacionadas no blog

Entrega e proteção de agentes de IA em fábricas de IA: F5 para a arquitetura de referência NVIDIA OpenShell para agentes de IA seguros
As soluções da F5 ampliam a Arquitetura de Referência NVIDIA OpenShell para agentes de IA seguros.
Como medir – e minimizar – o custo total de propriedade do seu Kubernetes
O Kubernetes pode ser baixado e executado gratuitamente, mas sua manutenção está longe de não ter custos. Assim como outras grandes plataformas de código aberto que são “gratuitas” apenas em um sentido simplista, o Kubernetes quase certamente exigirá investimentos para ser implantado e operado.
As-Code: a pilha de TI contínua
Infraestrutura, configuração, pipeline, operações. De repente, tudo é “como código”. Lori MacVittie busca esclarecer a terminologia e identificar os diferentes componentes de uma stack contínua de TI.
O estado da entrega de aplicações em 2017: automação, APIs e DevOps
Explore o relatório State of Application Delivery de 2017. Leia o blog retrospectivo da F5 sobre o início da ascensão das redes declarativas e dos pipelines de DevOps.
DevOps Summit: onde a rede foi convidada para a festa
No DevOps Summit NY, falou-se muito não apenas sobre DevOps, mas também sobre contêineres, IoT e microsserviços. As sessões se concentraram não só na mudança cultural necessária para crescer em escala com uma abordagem DevOps, mas também fizeram questão de incluir...
F5 e Nutanix convergem em infraestrutura no .NEXT
Aplicações empresariais como Microsoft SharePoint e Exchange, juntamente com a VDI, continuam sendo a espinha dorsal da sua empresa. A produtividade, embora não seja tão atraente quanto o lucro, é um fator essencial para o sucesso das operações empresariais atuais. Deixar de...