Serverless Computing é, em tradução livre, a computação sem servidor. Ou seja, um modelo no qual é possível compilar e executar aplicações e serviços sem preocupações com servidores.

Esse é um conceito que vem ganhando bastante atenção da indústria de TI e das organizações em geral, inclusive no Brasil. Por isso, resolvemos detalhá-lo neste artigo. Continue lendo para entender o que é Serverless Computing, como essa abordagem vem revolucionando a infraestrutura como serviço, por que investir nele e muito mais!

O que é Serverless Computing?

As arquiteturas Serverless são projetos de aplicativos que incorporam serviços “Backend as a Service” (BaaS) de terceiros e/ou que incluem execução de código personalizado em contêineres efêmeros gerenciados em uma plataforma “Functions  as a Service” (FaaS).

Ao usar esses conceitos e outros relacionados, essas arquiteturas removem em grande parte, a necessidade de componentes tradicionais sempre ativos, consumindo recursos constantemente.

As “arquiteturas sem servidor” podem se beneficiar de baixo custo operacional, complexidade e lead time de engenharia significativamente reduzidos, entre outros benefícios.

Assim, para responder a pergunta “o que é Serverless Computing”, temos que ter em mente que não se trata de uma “computação sem servidor” literalmente, o termo é uma metáfora. Significa que não precisamos manter um servidor ou serviço ativo 100% do tempo. Ele é mantido em uma nuvem e só precisamos fornecer as instruções necessárias para a nuvem para garantir que o processamento se comporte como queremos.

? Em suma, Serverless Computing é um modelo de execução de computação em nuvem no qual o provedor de nuvem (Amazon Web Services, por exemplo) gerencia dinamicamente a alocação de recursos computacionais e contabiliza com base na quantidade real de recursos consumidos por um aplicativo, em vez do faturamento baseado em recurso pré-alocados.

A Serverless Computing está revolucionando a infraestrutura como serviço

A Serverless Computing é considerada por alguns como a próxima fase na evolução da infraestrutura como serviço, ou IaaS, abstraindo completamente a infraestrutura subjacente dos desenvolvedores e virtualizando o gerenciamento operacional e de tempo de execução por meio de um provedor terceirizado.

Quando você divide a Serverless Computing, ela pode ser considerada uma solução Software as a Service (SaaS) completa. Ela permite que as empresas paguem a terceiros para gerenciar servidores, bancos de dados, lógica de aplicativos e outras funções principais de negócios que foram executadas e gerenciadas internamente no passado.

No início da computação em nuvem, grandes armazéns de dados e servidores eram alugados para qualquer tipo de armazenamento, processamento e segurança. Isso, em muitos casos, ainda está acontecendo hoje, pois a nuvem pública ainda oferece uma opção flexível, escalável e de fácil acesso remoto para organizações modernas e de longa data.

As empresas despejaram grandes quantias de dinheiro na infraestrutura de TI nos tempos anteriores à nuvem, investindo em servidores, aplicativos, redes e muito mais. Mas conforme o IaaS e o PaaS surgiram, o dinheiro e os recursos foram realocados para os custos operacionais em vez de capital e ativos.

A Serverless Computing é a próxima fase da computação em nuvem, à medida que modelos de receita para serviços em nuvem continuam evoluindo. A natureza pay-as-you-go do serverless é um benefício massivo não imaginado anteriormente com serviços tradicionais, e seu relacionamento com a computação de borda e a conectividade da Internet das Coisas (Internet of Things – IoT) pode ter grandes impactos em todos os setores.

Do ponto de vista da infraestrutura, as arquiteturas sem servidor são compostas de aplicativos que dependem significativamente de provedores externos de IaaS e BaaS ou de código personalizado executado em contêineres efêmeros (temporários). Isso tem sido referido por muitos como FaaS, ou Functions as a Service, atualmente fornecido pela Amazon Web Services (AWS).

O uso do FaaS permite que essa atividade se mova para o front end, eliminando a necessidade de um sistema de servidor tradicional que fica atrás de um aplicativo. Esses sistemas sem servidor podem reduzir significativamente o custo operacional e a complexidade.

O FaaS, simplesmente, permite que as empresas executem código de back-end sem gerenciar nenhum dos seus próprios sistemas ou aplicativos de servidor. Essa é uma grande mudança das arquiteturas tradicionais, passando de um modelo linear de baixo desempenho para uma arquitetura flexível de baixa manutenção, operada por terceiros como o AWS, por exemplo.

Esses produtos, e outros semelhantes, permitem que os desenvolvedores carreguem facilmente o código desejado na plataforma sem se preocupar com mais nada. O provedor terceirizado obtém esse código e gerencia tudo o que é necessário para executar, gerenciar e dimensionar seu código e, ao mesmo tempo, fornecer acesso instantâneo a ele, caso deseje atualizar, ajustar ou reverter.

As vantagens de abraçar a revolução sem servidor estão diretamente relacionadas às suas semelhanças com os modelos DevOps. DevOps tornou-se cada vez mais popular em todo o cenário de negócios por causa da flexibilidade e velocidade que promove.

3 tendências em Serverless Computing para ficar atento

O futuro da Serverless Computing ainda está por ser determinado, pois ainda é uma tecnologia relativamente jovem. À medida que os ambientes de ecossistema continuam se tornando mais refinados e a segurança e o avanço da IoT, a infraestrutura de TI, como a conhecemos atualmente, pode mudar radicalmente nos próximos anos.

Confira, a seguir, as principais tendências apontadas pelos especialistas para essa nova abordagem!

1. Serverless baseado em nuvem

A velocidade com que podemos interagir, aprender e fazer com que nossas selfies tenham “máscaras de gato” é tudo devido à ampla gama de serviços baseados em nuvem que os desenvolvedores têm disponível.

Os provedores de nuvem têm se concentrado continuamente na criação de serviços para permitir que os desenvolvedores criem soluções mais inteligentes e escalonáveis, ao mesmo tempo em que reduzem a necessidade de manter a infraestrutura necessária.

A computação sem servidor é um serviço mais recente que os provedores de nuvem disponibilizaram aos desenvolvedores. Estes podem implantar funções em seu provedor de nuvem e disponibilizá-las, semelhante a uma API. O mais interessante é que eles também podem ser projetados como soluções baseadas em eventos. Esses eventos geralmente são criados por outros serviços no ecossistema do provedor de nuvem e permitem que funções interessantes baseadas em gatilhos sejam desenvolvidas.

Um exemplo típico é uma imagem enviada para um armazenamento de arquivos, esse evento chama uma função sem servidor que cria uma miniatura e armazena essa miniatura de volta no armazenamento de arquivos, além de registrar a localização da miniatura nos  bancos de dados NoSQL.

A inserção no banco de dados NoSQL poderia, então, acionar outras funções. Essa função de criação de miniaturas é executada somente sob demanda e o único custo incorrido é quantas vezes a função é invocada. A função será escalada ou redimensionada em tempo real se muitas pessoas estiverem enviando imagens e, em seguida, serão redimensionadas para zero depois de concluídas.

Os benefícios são muitos: nenhuma infraestrutura para manter, um verdadeiro modelo de pagamento por uso que é muito barato, capacidade de escalar projetos para níveis empresariais com uma equipe pequena, funções elasticamente escaladas para tráfego dinâmico etc.

2. Internet das Coisas sem servidor

Dados os recursos limitados disponíveis para a Internet das Coisas, a chamada “Internet das Coisas Serverless” começou a ganhar força. A IoT sem servidor é uma extensão da oferta de computação sem servidor em nuvem, na qual os dispositivos de IoT podem se conectar a um serviço de nuvem que responde aos dispositivos e seus dados com base no código carregado pelo desenvolvedor.

Semelhante ao exemplo acima, um repositório de dados de IoT pode enviar seus dados para o serviço de IoT na nuvem, onde os dados podem ser processados ??posteriormente, movidos para um banco de dados central enquanto outro dispositivo de IoT envia um evento para executar mais trabalho.

A conectividade é um grande obstáculo a ser superado neste exemplo. Em uma computação de ponta a ponta, o cenário de acesso à nuvem pode ser intermitente, digamos, em um cenário de veículo autônomo,  ou inexistente, em dispositivos agrícolas inteligentes. Novas tecnologias estão surgindo para superar o acesso limitado à rede.

Em um cenário de IoT industrial, uma warehouse poderia ter uma rede fechada com computação sem servidor em execução para fornecer comunicação entre todos os seus bancos de dados de IoT.

Os bancos de dados de IoT estão surgindo no cenário tecnológico, onde o banco de dados, como um paradigma de microsserviços, é válido. Nesse cenário, os dispositivos de IoT estão executando um banco de dados distribuído que fornece um espaço físico muito pequeno e que em nada afeta os recursos de energia.

Em um evento de dispositivo, o banco de dados é chamado e pode executar eventos sql NoSQL CRUD (Create Read Update Delete) completos. Uma vez concluído, o dispositivo retornará ao modo de baixa energia. Devido à rede de dispositivos em malha, todos eles interagem de maneira semelhante a uma grande infraestrutura sem servidor baseada em nuvem.

3. Banco de dados sem servidor

Uma endpoint final de Serverless Computing é a prática de um banco de dados sem servidor.

Na verdade, os bancos de dados da computação sem servidor existem há algum tempo com o conceito de DbaaS (Database as a Service). No entanto, o modelo de precificação não refletiu isso e a tecnologia nem sempre está alinhada com o que esse novo conceito.

Bancos de dados foram projetados para estar sempre ligados e, como tal, precisam estar sempre dentro da infraestrutura.

No entanto, voltando ao banco de dados como um micro-serviço, basicamente você tem dissociado o estado do aplicativo de banco de dados do armazenamento do próprio banco.

Quando essas duas partes são separadas e a lógica do banco de dados é executada em uma arquitetura de micro-serviço, é relativamente simples colocá-la em um container ou contê-la e executar a lógica do banco de dados sem servidor.

Conclusão

Como você viu ao longo deste artigo, a Serverless Computing (computação sem servidor) tem como objetivo economizar quantidades significativas de tempo, dinheiro e recursos, hospedando, executando e gerenciando aplicativos e as principais funções de uma empresa.

Usando esse modelo, uma empresa pode ficar livre do volume e do esforço de executar e manter aplicativos de servidor front-end back-end. E, nós sabemos, isso é uma revolução sem precedentes.

Muitos consideram esse o caminho do futuro, especialmente com o crescente interesse em criar ecossistemas de software mais ágeis e personalizáveis. Ao executar os aplicativos dessa maneira, especialmente com velocidade de desempenho, a computação sem servidor deve continuar ganhando atenção ao longo dos próximos anos.

E você está preparado para a Serverless Computing? Faça contato conosco e veja como podemos ajudá-lo a inserir o seu negócio nessa nova realidade!

Sobre a Nuvme

Nuvme nasceu em 2014 para facilitar a adoção da nuvem. Nossos serviços e produtos permitem que as micro e pequenas empresas (MPEs) se igualem em termos de tecnologia às grandes corporações. Buscamos otimizar os recursos de TI, de acordo com o momento de cada cliente.

Nos diferenciamos pela segurança, confiabilidade e eficiência das operações em TI. Entregamos nossos serviços com proximidade e transparência.

Tudo isso com preços competitivos, facilidade de compra e disponibilidade profissional.

Somos parceiros da Amazon Web Services (AWS), hoje a mais poderosa plataforma de serviços em nuvem segura, que oferece poder computacional, armazenamento de banco de dados, distribuição de conteúdo e outras funcionalidades para ajudar as empresas em seu dimensionamento e crescimento. FALE CONOSCO AGORA!