Você sabe o que é uma arquitetura serverless?

Under Update

 

Quando se fala de datacenters e servidores, uma das tendências mais quentes é a de arquiteturas serverless, definição dada inicialmente para aplicações que rodam em serviços terceirizados na nuvem. Entretanto, este termo se expandiu nos últimos anos, se referindo a contêiners estáticos de computação modelados para soluções eventuais - o chamado Função como Serviço (FaaS).

 

Uma solução serveless consiste basicamente em uma estrutura de servidor web, uma camada FaaS, serviço de token de segurança, autenticação de usuário e banco de dados.

 

Plataformas de FaaS permitem que os desenvolvedores executem códigos que reajam a eventos sem a complexidade de construir e manter uma infraestrutura propriamente dita. Apesar do nome "serverless", ela necessita de servidores para rodar código. O termo se refere principalmente ao fato que uma organização ou desenvolvedor não precisa comprar ou provisionar servidores e máquinas virtuais para rodar uma aplicação.

 

Códigos serverless escritos com FaaS podem ser usados em conjunto com códigos escritos no modelo tradicional de servidores, como microserviços. Numa arquitetura de microserviços, aplicações monolíticas são divididas em serviços menores, possibilitando que o desenvolvimento, gerenciamento e escalonamento de ambientes sejam feitos de forma independente. Por exemplo, uma aplicação web pode ser parcialmente sustentada por microserviços em um servidor e a outra parte rodar em código serverless, como FaaS.

 

Outra inovação que se beneficia de arquiteturas serveless são contêiners como Docker, Mesos e Kubernetes, usados por times de DevOps para acelerar processos de desenvolvimento até a produção de aplicações.

 

Benefícios da arquitetura serverless:

 

Ganho operacional - Plataformas serverless entregam uma separação entre serviços de infraestrutura e aplicações rodando sobre a plataforma. Funcionalidades de escalonamento automático não apenas reduz o custo computacional, mas também o custo de gerenciamento operacional.

 

Inovação mais rápida - Desenvolvedores podem inovar de forma mais rápida, já que o tempo reduzido em operações se traduz em uma aplicação mais eficaz de DevOps e mpétodos ágeis. Preocupações comuns como gerenciamento de identidades, storage e outros ficam na camada FaaS e são resolvidas pelo middleware. Com isso, os engenheiros de produto podem concentrar seus esforços na aplicação e seu core business.

 

Desvantagens das estruturas serverless:

Problemas com APIs de terceiros - Questões de multitenência e restrições proprietárias podem ser problemas decorrentes do uso de APIs de terceiros em uma arquitetura serverless. Ao deixar de lado o controle do sistema para implementar APIs, o sistema pode ficar sujeito a quedas, atualizações indesejadas, questões de segurança e mudanças de custo.

Escassez de ferramentas operacionais - Neste modelo, os desenvolvedores ficam mais dependentes dos fornecedores para debugging e ferramentas de monitoramento. Sistemas mais tradicionais possuem recursos como controle de tráfego e balanceadores de carga, com uma flexibilidade que não é encontrada em arquiteturas serverless.

Complexidade - Arquiteturas de computação distribuídas ainda são relativamente novas, e por isso ainda complexas e demoradas para desenvolver. Isso vale para microserviços e sistemas serverless. Decisões sobre a granularidade de funções, entre outras, podem levar tempo para avaliar, implementar e testar.

Portanto, apesar de todos os seus benefícios operacionais e de escalabilidade, o custo de implementação de uma arquitetura serverless ainda gera dúvidas. Mesmo assim, ela é vista com grande potencial e sua evolução terá um papel disruptor no futuro das organizações e no desenvolvimento de suas aplicações.

Para inovar em seu data center, conte com a consultoria e gerenciamento Under. Deixe a sua infraestrutura a cargo de nossos especialistas e foque na inovação de seu negócio.

Fale com nossos consultores