AWS Lambda vs. Google Cloud Functions vs. Azure Functions – desmistificando o Serverless

AWS Lambda vs. Google Cloud Functions vs. Azure Functions - desmistificando o Serverless

Com o crescimento de novas formas de otimização das tecnologias no mercado de TI e da computação em nuvem, o Serverless vem conquistando seu espaço, sendo sua utilização semeada pelos maiores provedores de nuvem.

Também considerado como um modelo FaaS (Function as a Service), Serverless, como o próprio nome já diz, possibilita uma arquitetura de computação em nuvem sem gestão de servidores.

Arquitetura Serverless: o que é?

Essa nova plataforma de serviço em nuvem orientada a eventos, foi criada primeiramente para reduzir o trabalho e o tempo gasto com provisionamento, capacidade de processamento e o gerenciamento como um todo da infraestrutura dos servidores – que passa a ficar nas mãos dos provedores de nuvem.

Serverless foca no desenvolvimento de aplicações e serviços, deixando os desenvolvedores “livres” das preocupações com a infraestrutura de servidores para o seu produto. Além disso, o time de DevOps pode também focar na melhora dos procedimentos e processos que envolvem o desenvolvimento do produto, uma vez que o trabalho de alocação e manutenção da infraestrutura fica a cargo dos provedores de nuvem.

A Amazon foi o primeiro provedor de nuvem a oferecer uma plataforma Serverless através do AWS Lambda. Seguida pela Microsoft (Azure Functions) e Google (Cloud Functions).

AWS Lambda

Como parte da plataforma AWS, utilizando Lambda o desenvolvedor só necessita fazer o upload do seu código e configuração da função, e a arquitetura Serverless gerencia a sua execução e o seu escalonamento – o AWS Lambda não fornece informações detalhadas sobre instâncias ou sobre a infraestrutura em si, somente informações gerais de uso.

Merece destaque que as funções criadas podem ser integradas a outros serviços AWS através da geração de eventos para a função ou a partir de aplicativos móveis.

Outro ponto positivo é a manutenção do “estado de função”, já que a AWS mantém logs das execuções Serverless para posterior utilização pelos serviços da plataforma.

Entretanto o Lambda possui algumas limitações. A que afeta o maior número de usuários é o tempo de execução, que não pode exceder 5 minutos para cada função e o limite de 1000 execuções em paralelo. Outras limitações podem ser vistas aqui.

Sua cobrança é feita pela combinação de solicitações e tempo de computação, com diferentes níveis gratuitos e escalas de preços para cada vez que o serviço é utilizado. Lembrando que, assim como o EC2 e outros serviços, o pagamento segue o modelo pay-as-you-go, de modo que só haverá cobranças se estiver com alguma aplicação em execução.

Azure Functions

O Azure Functions foi criado somente em Março de 2016, e mantém o padrão do diferencial oferecido pelos serviços Serverless.

A plataforma Serverless da Microsoft oferece importantes integrações e funcionalidades. Uma das principais é a capacidade das funções serem escritas e carregadas em suas linguagens nativas (C# e F#), bem como suporte a JavaScript e Python.

Assim como o Lambda, o Azure Functions também permite o acionamento das funções por eventos através de outros serviços integrados a plataforma.

A política de preços é bastante parecida com o AWS Lambda, com a combinação de solicitações e tempo de computação com diferentes níveis de gratuidade e escalas de preços.

Cloud Functions (Google Cloud)

O Google foi o último grande player a disponibilizar uma plataforma Serverless. Atualmente, seu suporte ainda é limitado, permitindo que as funções sejam escritas apenas em JavaScript.

Cloud Functions tem o funcionamento de Serverless conforme as diretrizes da arquitetura. Sua utilização permite integrar diversos serviços que fazem parte da plataforma Google Cloud, criando condições orientadas a eventos para serem executadas.

Sendo considerado mais transparente, o Cloud Functions permite a visualização detalhada da infraestrutura utilizada para a sua aplicação a partir do Serverless.

Também utilizando o modelo de cobrança pay-as-you-go, o Cloud Functions tem o seu cálculo feito por chamadas, tempo de computação e saída de dados – que segue diferentes políticas de preços baseados na utilização do serviço.

Podemos resumir as principais funcionalidades de cada um com a seguinte tabela:

 

Para maiores informações sobre o seu ambiente Serverless e como otimizá-lo, entre em contato com o time da CleanCloud!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.