Volodymyr Tsap, CTO da SHALB DevOps Company, Cloud Native Evangelist, chefe da equipe de engenharia DevOps.
Leia mais de Volodymyr Tsap
À medida que cresce o número de clientes empresariais de software como serviço (SaaS), os fornecedores B2B enfrentam o desafio de alinhar seu software aos altos padrões corporativos. No entanto, para certos setores, a natureza multilocatária do SaaS baseado em nuvem torna-o uma opção inviável por motivos de segurança, conformidade e desempenho. Neste artigo, exploraremos vários cenários de implementação da arquitetura SaaS, com foco na implantação em ambientes gerenciados pelo cliente como uma alternativa para clientes de nível empresarial.
Antes de começarmos, vamos revisar brevemente o significado do termo SaaS, ou Software como Serviço: é um modelo de distribuição de software que concede aos usuários acesso a produtos, ferramentas ou serviços baseados em nuvem por meio de assinatura.
A seguir, exploraremos diferentes cenários de implementação de SaaS em um ambiente de nuvem.
Multitenancy é um conceito frequentemente associado ao SaaS, porque um modelo SaaS convencional implica que vários clientes utilizarão recursos de infraestrutura específicos. No entanto, a extensão do compartilhamento de recursos pode variar dependendo da arquitetura SaaS: eles podem ou não ser compartilhados dentro de uma determinada implementação, conforme mostrado nos exemplos abaixo.
O cenário 1 ilustra um modelo clássico de consumo de serviços SaaS.
Neste cenário, todos os clientes são implantados numa conta cloud do fornecedor onde partilham todos os recursos: a aplicação SaaS, capacidades computacionais e uma base de dados.
O cenário dois descreve um modelo de implementação com compartilhamento parcial de recursos.
Conforme ilustrado no diagrama, os clientes compartilham um aplicativo/recurso de computação SaaS, mas têm bancos de dados dedicados implantados para cada usuário. Embora esse ambiente possa ser considerado multilocatário do ponto de vista do cliente, tecnicamente falando, algumas partes dele são multilocatários e outras não.
Ambos os exemplos podem ser caracterizados como multilocatários, pois incorporam o compartilhamento de recursos, embora com algumas variações.
SaaS de locatário único implica uma arquitetura em que o cliente SaaS é um locatário. Em ambientes de locatário único, os clientes são implantados com um conjunto dedicado de recursos para os quais possuem direitos exclusivos. Como os produtos do modelo de locatário único não podem ser compartilhados, os locatários são livres para personalizar o software SaaS de acordo com suas necessidades.
O diagrama abaixo descreve um ambiente SaaS de locatário único com uma pilha dedicada por locatário.
Nos exemplos anteriores, as infraestruturas multilocatário e de locatário único são implantadas em uma conta de nuvem do provedor, o que torna determinados processos comuns a todos os clientes. O diagrama do Cenário 3 mostra que, apesar de serem implantados em infraestruturas isoladas, os locatários ainda são gerenciados e operados coletivamente, compartilhando os processos de implantação, monitoramento e integração. Além disso, se uma nova versão do software SaaS for lançada, o provedor a atualiza para todos os locatários simultaneamente.
Esses exemplos sugerem que todos os ambientes SaaS incorporam, até certo ponto, alguma forma de multilocação, independentemente de sua arquitetura. Como tal, não é surpreendente que os clientes, motivados por preocupações de segurança e privacidade de dados, ainda prefiram instalar software nos seus próprios ambientes.
Neste caso, a instalação no local pode parecer a escolha ideal, garantindo ao cliente controlo total sobre recursos, serviços e dados. No entanto, certos desafios dos sistemas locais, como a necessidade de adquirir e manter hardware e software, a contratação de pessoal com competências tradicionais de TI para gestão e as opções limitadas de escalabilidade, podem torná-los altamente ineficientes para empresas dinâmicas e de rápido crescimento. Além disso, muitas ferramentas e arquiteturas de segurança são adaptadas para ambientes em nuvem, impactando potencialmente seu desempenho no local.
A solução é instalar o software em ambientes gerenciados pelo cliente e executar uma instância de réplica do SaaS na conta de nuvem da empresa.
A pesquisa realizada pela Replicated comprova que esta opção é altamente popular entre os clientes: 79% dos entrevistados aumentaram seus negócios de software de “ambientes gerenciados pelo cliente” devido à alta demanda, enquanto 56% dos entrevistados relataram ter mais de 10 novas instalações de clientes a cada mês.
Uma das principais vantagens desta abordagem é a maior segurança e controle que ela proporciona.
Vamos dar uma olhada mais de perto neste modelo de implementação.
Num modelo SaaS com recursos dedicados, os clientes pagam pelas licenças, mas não têm acesso aos containers com código. Na verdade, os clientes não têm controle sobre o ambiente onde o aplicativo SaaS é executado.
Pelo contrário, a implantação da réplica SaaS em uma conta na nuvem dá ao cliente controle total sobre o sistema. Isso concede acesso ao código SaaS e ao ambiente de tempo de execução subjacente. Com acesso total à infraestrutura de servidores, o cliente pode alocar recursos, selecionar tipos de instância, personalizar o dimensionamento e até mesmo migrar a aplicação SaaS para outro data center — opções impossíveis com o modelo SaaS tradicional.
A execução de SaaS em uma infraestrutura dedicada oferece recursos avançados de segurança, como servidores dedicados e a liberdade de implementar ferramentas de segurança proprietárias. Mas a implantação do SaaS em uma conta na nuvem vai um passo além, pois concede aos clientes acesso ao sistema de arquivos SaaS. Isso permite realizar varreduras de vulnerabilidades em todas as camadas da postura de segurança, incluindo imagens de contêineres, para garantir uma implantação segura sem configurações incorretas.
Além disso, como sua equipe de TI tem controle total sobre recursos, serviços e dados, você decide quem pode acessá-los e em que condições.
Uma das desvantagens desse cenário é o complicado processo de instalação e a necessidade de dar suporte aos clientes nas etapas iniciais e nas atualizações futuras. De acordo com a pesquisa Replicada, a instalação complexa está entre os principais motivos pelos quais a instalação e configuração do software SaaS no ambiente de um cliente pode levar até 14 dias. O compromisso de simplificar esse processo para seus clientes leva os fornecedores de SaaS a desenvolver instaladores de nuvem personalizados para seus softwares, e é aqui que o Cluster.dev pode ajudar.
A estrutura de código aberto Cluster.dev visa enfrentar os desafios das empresas SaaS que criam software para ambientes gerenciados pelo cliente. Ele permite agrupar o código do software com uma infraestrutura pré-configurada em um único pacote de instalação, possibilitando a criação de um instalador em nuvem com um clique para software SaaS. Esse tipo de instalação permite que os clientes lancem o produto perfeitamente, sem habilidades ou conhecimentos especializados. O script facilita a instalação em qualquer plataforma de nuvem ou no local, empregando modelos e codificando as melhores práticas na implantação e nas operações do dia 2.
As preocupações com a segurança e conformidade dos dados obrigam certos clientes a explorar formas alternativas de implementação de SaaS. Embora a opção de implementar SaaS diretamente em uma conta na nuvem pareça atraente para clientes empresariais do ponto de vista de segurança e controle, instalações complicadas e a necessidade de oferecer suporte aos clientes por meio de atualizações podem dificultar esse processo para fornecedores de SaaS. Cluster.dev oferece às empresas melhores opções de implantação de software, permitindo um único comando de instalação em nuvem para seu SaaS, garantindo um início fácil para novos clientes.
Anastasiya Kulyk, redatora técnica da SHALB, é coautora deste artigo.
YOUTUBE.COM/THENEWSTACK
A tecnologia avança rápido, não perca um episódio. Inscreva-se em nosso canal no YouTube para transmitir todos os nossos podcasts, entrevistas, demonstrações e muito mais.
SE INSCREVER