• Home
  • Insights
  • Arquitetura Serverless: Alta Disponibilidade e Eficiência como Estratégia de Negócio

Arquitetura Serverless: Alta Disponibilidade e Eficiência como Estratégia de Negócio

6 minutos de leitura

Autor Mario Klein

Mario Klein

Tech Lead na BASE Digital

Arquitetura Serverless

Em todo projeto de software, há uma jornada que começa com a identificação de um problema e culmina na entrega de uma solução para os usuários finais. Para eles, o que importa é que a tecnologia funcione e torne seu dia a dia mais fácil. No entanto, por trás do processo, há desafios importantes que precisam ser resolvidos para garantir que o sistema esteja disponível, normalmente através da internet, funcionando ininterruptamente, 24 horas por dia, 7 dias por semana, 365 dias por ano.

Essa necessidade de alta disponibilidade traz à tona questões técnicas que, muitas vezes, passam despercebidas pelas equipes de negócio (sendo apenas um desejo intrínseco), mas que são críticas para as equipes de TI e desenvolvimento. O planejamento eficiente não só garante a qualidade do produto, mas também reduz custos, minimiza riscos e melhora a experiência do usuário final.

Embora esses desafios sejam frequentemente gerenciados pelas equipes técnicas, é essencial que as áreas de negócio também compreendam a importância das decisões arquiteturais, especialmente porque muitas vezes são elas que contratam e financiam o desenvolvimento do software. A escolha da arquitetura pode ter um impacto significativo nos custos de hospedagem e manutenção, tornando-a um ponto crucial para o sucesso do projeto.

Neste artigo, será explorado como uma arquitetura serverless pode oferecer uma solução que combina alta disponibilidade, escalabilidade e eficiência de custos. O objetivo é mostrar, de maneira acessível para públicos técnicos e não técnicos, que escolher uma abordagem serverless não é apenas uma escolha tecnológica, mas uma decisão estratégica que beneficia todo o negócio.



O que é uma Arquitetura Serverless?

Arquitetura serverless é um modelo de computação em nuvem que permite criar e executar aplicações sem que seja necessário gerenciar servidores diretamente. Nesse modelo, toda a infraestrutura por trás do sistema é gerenciada automaticamente pelo provedor de nuvem. Isso significa que as equipes de desenvolvimento podem focar exclusivamente no que realmente importa:

O código e a lógica de negócios.

Uma das grandes vantagens dessa abordagem é que você paga apenas pelo que usa. Diferentemente de modelos e arquiteturas tradicionais, onde empresas precisam contratar servidores com capacidade fixa (que muitas vezes ficam ociosos, especialmente fora do horário comercial), essa arquitetura cobra apenas pelos recursos realmente consumidos. Por exemplo, em horários de pouca demanda, como a madrugada, os custos podem ser drasticamente reduzidos ou até zerados, dependendo dos serviços utilizados pela aplicação.

Outro ponto de destaque é a escalabilidade automática. Se a aplicação precisar processar milhões de requisições ou apenas algumas poucas, os recursos se ajustam de forma automática para atender à demanda, sem a necessidade de intervenção manual. Essa flexibilidade não apenas simplifica o trabalho das equipes de TI, mas também garante que a aplicação ofereça um desempenho consistente, independentemente do volume de usuários.

Do ponto de vista da equipe de desenvolvimento, a escolha por uma arquitetura serverless, permite que ela possa se concentrar em criar soluções mais inovadoras e eficientes, sem perder tempo com tarefas como configuração de infraestrutura e provisionamento de servidores. Essa abordagem acelera o desenvolvimento de novos sistemas, reduz custos operacionais e aumenta a eficiência.



Comparação entre Arquitetura Serverless e Arquiteturas Tradicionais

Na escolha da arquitetura para um projeto, é importante avaliar diversos fatores, como custos, flexibilidade, eficiência e os desafios de desenvolvimento e gerenciamento. As arquiteturas tradicionais frequentemente acarretam em custos mais elevados e exigem maior esforço de gerenciamento. Já a arquitetura serverless elimina a complexidade de gerenciar servidores, permitindo que as equipes concentrem sua atenção na entrega de valor para os usuários.

A tabela a seguir apresenta uma comparação direta entre os dois modelos, destacando alguns aspectos que os diferenciam:

Tabela 1: Comparação entre arquitetura serverless e tradicional em aspectos como custos, escalabilidade, segurança e tempo de implementação.

Tabela 1: Comparação entre arquitetura serverless e tradicional em aspectos como custos, escalabilidade, segurança e tempo de implementação.

BASE Digital



Não Existe Bala de Prata

Apesar dos inúmeros benefícios oferecidos pelas arquiteturas e serviços serverless, elas podem não ser uma solução perfeita para todos os cenários. Existem desafios importantes que precisam ser considerados e planejados cuidadosamente antes de optar por esse modelo.

Um dos principais pontos de atenção é o vendor lock-in, que ocorre quando a aplicação depende fortemente de serviços específicos de um provedor de nuvem. Essa dependência pode dificultar migrações de serviços ou até mesmo da arquitetura ou mudanças de fornecedor. Para mitigar esse risco, é importante adotar práticas de desenvolvimento que abstraiam a integração com os serviços utilizados. Por exemplo, criar camadas de código intermediárias que facilitem a adaptação da solução a outros provedores no futuro. Essa abordagem pode reduzir significativamente o esforço necessário para uma eventual migração, porém pode aumentar o tempo de desenvolvimento inicial e que não é visível para o usuário.

A escolha das ferramentas de banco de dados também é crítica. Bancos de dados relacionais tradicionais, frequentemente utilizados em arquiteturas tradicionais, podem não ser a melhor opção em ambientes serverless, pois geralmente requerem conexões persistentes. No entanto, são mais familiares para muitas equipes e, em alguns casos, podem ser mais simples de implementar inicialmente. Alternativas como bancos NoSQL ou soluções serverless nativas dos provedores de nuvem são mais adequadas para esse ambiente, embora possam ter custos iniciais mais altos. Ainda assim, essas opções geralmente oferecem melhor custo-benefício em cenários de alta demanda.

Por fim, o desafio da latência merece atenção, especialmente em sistemas que ficam inativos por longos períodos. Um efeito chamado cold start ocorre quando o sistema precisa ser carregado antes de executar uma tarefa, causando pequenos atrasos nas respostas. Esse problema pode ser mitigado com práticas como manter o sistema ativo por meio de execuções periódicas (warm starts), ou otimizar o processo de inicialização para acelerar o carregamento.



OC por Você

Na BASE já trabalhamos com alguns projetos nessa arquitetura. Atualmente é uma boa opção para um MVP (do inglês, Minimum Viable Product, Produto Mínimo Viável), onde a necessidade de agilidade na entrega de uma primeira versão e a possibilidade de escalar a aplicação são características essenciais para a continuidade do MVP para que ele não se torne um sistema descartável.

Um case relevante dessa arquitetura é o projeto “OC por Você”, do Grupo Oncoclínicas. Nesse projeto, uma plataforma White Label que pode ser licenciada para outras instituições de saúde, tem como principal característica ser um sistema multiplataforma (web e aplicativo mobile nativo) que realiza comunicação real-time através de mensagens e vídeo-chamadas.

OC por Você

OC por Você

BASE Digital

Um grande desafio era garantir que os usuários da plataforma se comunicassem em tempo real. Essa característica já está presente na vida dos usuários com os aplicativos de comunicação existentes no mercado, portanto, o desejo de espelhar as funcionalidades destes aplicativos gigantes em um MVP se tornou um marco de superação dos desenvolvimentos convencionais.

Ao término do projeto, foi entregue ao cliente uma plataforma escalável que em seus primeiros meses de uso já atendia a milhares de usuários com trocas de mensagens chegando à casa das centenas de milhares.

Background

Interoperabilidade na Saúde

Quer entender o que é interoperabilidade na saúde e por que HL7 e FHIR são tão importantes?

Confira o artigo

Conclusão

A arquitetura serverless é uma evolução na forma como aplicações modernas são construídas e executadas. Benefícios como a redução de custos de desenvolvimento e, principalmente, operacionais, escalabilidade automática e simplicidade no monitoramento, fazem dela uma escolha ideal para empresas que precisam solucionar os problemas do dia-a-dia do negócio otimizando recursos.

Nossa experiência de inúmeros projetos realizados nos permite oferecer segurança para ajudar grandes empresas a criar soluções aderentes. Contamos com expertise no desenvolvimento de aplicações utilizando a arquitetura serverless, sempre considerando as características específicas de cada projeto e adaptando-as às necessidades únicas de cada cliente.

A BASE Digital é a parceira ideal para desenvolver aplicações modernas, que solucionam problemas reais com eficiência e foco nos custos.

Autor Mario Klein
Sobre o Autor:

Mario Klein

Tech Lead na BASE Digital

Mario Klein é Tech Lead na BASE Digital e possui ampla experiência em Engenharia e Arquitetura de Sistemas. Além disso, é especialista em bancos de dados e computação em nuvem, com foco em soluções utilizando AWS. Com forte interesse em Inteligência Artificial e sua aplicação em arquiteturas modernas, Mario combina expertise técnica e visão estratégica para criar sistemas escaláveis, eficientes e inovadores.

Siga o Especialista:
Compartilhe:
Copiado para área de trabalho
Co-Criando o Futuro Digital da sua Empresa.

Co-Criando o Futuro Digital da sua Empresa.

Vem transformar sua experiência na construção de produtos e plataformas digitais.