Na Invillia, toda quarta-feira, ao meio dia, paramos uma hora para nos nutrir com as dicas, how-tos, boas práticas e tendências selecionadas por nossos especialistas em Product, Agile, Back e Front, Mobile, Quality, Security e Data. Uma troca de experiência vital para quem adora o novo. E essencial para que a inovação nunca pare. Se tecnologia está no sangue. A gente faz questão de deixá-la circulando cada vez mais_
Na veia_ Inovar mais rápido e com menos custos aproveitando o poder da cloud_
4 minutos de leitura
No artigo de hoje, resumimos a enriquecedora edição sobre introdução ao Serverless Computing, ou Computação sem Servidor, apresentada por Oswaldo Neto, nosso Head of Technology e expert no assunto.
O que é o Serverless Computing e desmistificando a “falácia”_
Serverless Computing é um conjunto de práticas, estratégia e serviços que permitem desenvolver aplicações com agilidade para que as organizações possam inovar e responder às mudanças com mais rapidez.
Mas será que a computação é mesmo sem servidor? É possível executar aplicativos na cloud sem servidor? Claro que não 🙂 Trata-se de um termo cunhado pelo marketing para simplificar o que representa uma nova forma de criar produtos e serviços digitais e rodá-los em nuvem, terceirizando a execução do código para um cloud provider. Será ele que vai alocar dinamicamente os recursos da máquina sob demanda, cuidando do servidor em nome dos clientes. Dando a segurança e a liberdade para podermos concentrar esforços em estratégia, inovação e entrega.
Princípios do Serverless Computing_
- Não ter servidor para gerenciar – o nome “serverless” parte muito daqui. Não precisamos nos preocupar com o servidor, sistema operacional, atualizações, configurações, manutenção, planejamento de capacidade. Construímos e executamos aplicações com a nossa lógica de negócio, consumindo recursos de cloud sem termos que cuidar deles.
- Pagar somente pelo uso do serviço (computing) – quando provisionamos recursos dedicados o mais normal é utilizarmos apenas uma pequena parte e o resto é desperdiçado. E isso tem um custo muito elevado. Com o serverless apenas pagamos pelo que efetivamente usamos.
- Escalabilidade contínua – o ambiente serverless onde executamos as aplicações é altamente escalável. É um serviço disponibilizado por corporações gigantes e credíveis, como a Amazon, a Microsoft e a Google, oferecendo uma grande flexibilidade de acordo com as necessidades a cada momento.
- Tolerância a falha é intrínseca ao serviço (computing) – para uma aplicação ser tolerante a falha e garantir alta disponibilidade, não pode rodar em um único data center, em uma única região. É preciso redundância. Ao adotar o serverless, isto é intrínseco, faz parte. É diferente de servidores dedicados em que temos que tomar decisões de arquitetura e infraestrutura considerando as suas restrições e atributos de qualidade.
A estratégia Serverless-first_
Serverless-first refere-se a uma organização que adota o serverless no dia a dia para entregar valor e atingir as métricas e objetivos do negócio:
- Prioriza os princípios serverless no ciclo de desenvolvimento e operação das aplicações
- Entende que não se aplica para todos os tipos de carga de trabalho
- Incorpora tecnologias utilizando servidor quando é necessário
Quando falamos de serverless, falamos de um conceito que é a função. Essa unidade de código é muito poderosa porque permite expressar tudo o precisamos em relação aos requisitos. Na imagem está um exemplo utilizando node.js em AWS Lambda. Tem o nome da função que é myHandler, alguns parâmetros que recebemos, um objeto que vai ter todas as informações do evento, dados do contexto e um callback, ou seja, como é retornado o valor esperado para essa função.
Function-as-a-Service (FaaS)_
FaaS é o que traduz o ambiente de execução de funções na nuvem, onde apenas temos que escrever o código e conectá-lo com eventos e recursos:
- Serviço de cloud computing para construir, executar e gerenciar funções
- Modelo de execução orientado a eventos (event-driven)
- Executa em stateless containers
- Lógica de negócio se beneficia de outros serviços de computação do provedor de FaaS
Serverless Application Model (SAM)_
O SAM é um framework de código aberto desenvolvido pela própria Amazon:
- Assegura uma sintaxe abreviada, simples e limpa para expressar funções, APIs, bancos de dados e mapeamentos de origens de eventos
- Fornece um ambiente para construir, executar, testar e provisionar aplicações na AWS
- Ajuda a construir aplicações mais rápido
Porquê usar serverless computing sempre que possível?_
- Ganhamos agilidade e minimizamos o tipo de trabalho que menos agrega valor, como gerenciar servidores e cuidar da infraestrutura. Podemos focar o tempo na inovação, criação de mais funcionalidades, melhoria da experiência do usuário, desenvolvimento e evolução do produto
- Temos um custo com computação extremamente baixo quando comparado ao servidor dedicado. Podemos otimizar investimentos e alocá-los onde efetivamente mais importa e traz resultados ao negócio
Na Invillia temos o know-how e a experiência nas tecnologias, abordagens e metodologias mais top do mercado, sugerido e aplicando a melhor a cada caso concreto. Estamos sempre estudando, enriquecendo conhecimentos, antecipando o que aí vem, testando, indo mais além. Para criar e continuamente aprimorar junto de quem está revolucionando seus mercados, os produtos e serviços digitais mais inovadores, resilientes, robustos, escaláveis e com a melhor experiência de utilização. É o nosso Global Growth Framework em ação_