Escalando Aplicações SaaS usando Arquitetura com Zero Compartilhamento

video case
Porte da Empresa
Porte da empresa

Pequeno

Mercado de Atuação
Mercado de Atuação

Software

País
País

Brasil

Porte da Empresa
Porte da empresa

Pequeno

País
País

Brasil

Mercado de Atuação
Mercado de Atuação

Software

Banner Sobre

Sobre o Cliente

A OpsFactor é uma empresa especializada em fornecer soluções inovadoras no formato de Software como Serviço (SaaS) para empresas que buscam aprimorar seus processos de Planejamento de Vendas e Operações (S&OP) e Planejamento, Programação e Controle da Produção (PCP). Através de seu sistema, a OpsFactor disponibiliza uma ampla variedade de recursos e funcionalidades, possibilitando às empresas a execução mais eficiente desses processos, especialmente em ambientes complexos.

Uma das principais vantagens proporcionadas pela OpsFactor é um fluxo de trabalho completo e abrangente para o planejamento de diversas etapas, incluindo demanda, eventos, distribuição, produção e aquisição de materiais. Isso implica que as empresas podem visualizar e coordenar todas essas atividades em uma única plataforma, simplificando a sincronização e otimização dos processos. A execução ágil do S&OP e de processos operacionais, como PCP e Deployment, é viabilizada pela OpsFactor, possibilitando que as empresas atendam de forma mais rápida e eficaz às demandas do mercado.

Imagem banner
Imagem banner

O Desafio

A OpsFactor enfrentava diversos obstáculos relacionados à gestão de seu sistema oferecido como Software como Serviço (SaaS), o qual adota a característica de "shared nothing" (nenhum compartilhamento). Nesse modelo, cada cliente possui um ambiente separado para a segregação de redes e dados, permitindo a definição de ranges de IPs personalizados e possibilitando uma integração segura por meio de VPN site-to-site .

Na arquitetura anterior, o sistema utilizava uma estrutura com EC2 para hospedar a aplicação desenvolvida em Spring Boot e um RDS para abrigar o banco de dados SQL. Contudo, com o aumento da base de clientes, a gestão de múltiplos ambientes tornou-se desafiadora para a equipe de desenvolvimento e operações enxuta da OpsFactor.

A empresa também enfrentava dificuldades relacionadas aos clientes empresariais, que adotavam processos distintos de homologação para novas versões do sistema. Esses procedimentos demandavam a implementação individualizada das atualizações para cada cliente.

Diante desse cenário, a empresa estava em busca de uma solução que facilitasse a gestão do SaaS, mantendo a característica de nenhum compartilhamento, aprimorando a disponibilidade e fortalecendo o controle de governança. A necessidade de administrar e atualizar diversos ambientes individuais para cada cliente, assegurando segurança, escalabilidade e conformidade, representava um desafio significativo.

A Solução

A CloudDog implementou o AWS Control Tower para aprimorar a administração das contas de cada cliente. Além disso, aconselhou a externalização das variáveis de ambiente, possibilitando a containerização da aplicação por meio do Docker. Para melhorar a eficiência operacional, os processos transacionais e em lote foram segregados e integrados através de um sistema de mensageria SQS.

Adicionalmente, a equipe utilizou o CodePipeline e o CodeBuild para construir as imagens da aplicação, disponibilizando-as em um contêiner centralizado através do Elastic Container Registry.

A implementação do AWS Service Catalog foi adotada para organizar os templates de infraestrutura. Isso permitiu a personalização automatizada do tamanho da infraestrutura de acordo com as necessidades individuais de cada cliente, simplificando a gestão do SaaS. Ao mesmo tempo, essa abordagem possibilitou a segregação de custos, administração de acessos, reforço da segurança e garantia de conformidade.

Arquitetura

A arquitetura desenvolvida para atender às demandas da OpsFactor envolve múltiplas contas na AWS, cada uma desempenhando um papel específico. Segue uma descrição detalhada da arquitetura e suas respectivas contas:

  • Conta de Gerenciamento: Responsável pelo gerenciamento e governança da infraestrutura da OpsFactor. Esta conta utiliza serviços como AWS Single Sign-On (SSO) para facilitar o acesso a recursos, Amazon Organizations para gerenciar a estrutura de contas e políticas, Amazon CloudTrail para registrar atividades e auditorias, AWS Config para avaliar e rastrear a conformidade das configurações, AWS Control Tower para padronizar e gerenciar as melhores práticas de segurança, e AWS Budgets para monitorar os gastos.
  • Conta de Logs: Dedicada ao armazenamento e gerenciamento de logs gerados pelos serviços da arquitetura. Nessa conta, o Amazon S3 é utilizado para armazenar logs de forma segura e durável.
  • Conta de Auditoria: Focada na segurança e auditoria dos ambientes da OpsFactor. Esta conta configura serviços como AWS Security Hub, Amazon Detective, Amazon GuardDuty, Amazon Inspector e Amazon Athena. O AWS Security Hub centraliza informações de segurança e oferece insights sobre possíveis riscos e violações. O Amazon Detective é utilizado para análise de anomalias e investigação de possíveis ameaças. O Amazon GuardDuty realiza detecção contínua de ameaças e atividades maliciosas. O Amazon Inspector identifica antecipadamente riscos de segurança e vulnerabilidades. O Amazon Athena é utilizado para consultar logs armazenados na conta de Logs, permitindo pesquisas e análises eficientes.
  • Contas de Clientes: Dedicadas aos ambientes de cada cliente da OpsFactor. Nessas contas, toda a infraestrutura é criada e mantida, incluindo VPC, Banco de Dados RDS, Containers do ECS, Load Balancer, CloudWatch Dashboards e Alarmes. Os ambientes são configurados a partir de templates do Service Catalog, permitindo uma implantação padronizada e personalizada para cada cliente.

arquitetura-opsfactor.png

Essa arquitetura possibilita uma segregação eficaz de recursos e dados entre os clientes da OpsFactor, garantindo segurança, conformidade e escalabilidade necessárias. A utilização de contas separadas e serviços especializados permite que a empresa gerencie cada aspecto da infraestrutura de maneira eficiente, proporcionando um serviço de alta qualidade aos seus clientes.

Resultados

Os resultados provenientes da implementação da arquitetura proposta pela CloudDog para a OpsFactor englobam diversos avanços:

  • Aprimoramento na Gestão do SaaS: A implementação do AWS Control Tower proporcionou um gerenciamento mais eficaz das contas de cada cliente, garantindo maior segurança e segregação de custos. Isso simplificou a administração de acessos, reforçou a segurança e promoveu a conformidade.
  • Maior Disponibilidade: A adoção de containers com Docker e a segregação dos processos transacionais e em lote, integrados através do sistema de mensageria SQS, contribuíram para ampliar a disponibilidade do sistema. A arquitetura em contas separadas evita que problemas em um ambiente afetem os demais.
  • Automação do Processo de CI/CD: A utilização do CodePipeline e do CodeBuild acelerou a construção das imagens da aplicação, simplificando o processo de implementação para os clientes. As imagens da aplicação são agora disponibilizadas e gerenciadas pelo AWS Service Catalog.
  • Implantação de Novas Versões: Através do AWS Service Catalog, a OpsFactor passou a exercer um controle mais preciso sobre a implementação de atualizações de software para seus clientes. Agora, é possível agendar a aplicação de novas versões do sistema na data e hora combinada com cada cliente, evitando interrupções indesejadas nos processos.

Esses resultados conferiram à OpsFactor uma gestão mais eficiente do SaaS, maior disponibilidade do sistema, aprimoramento no controle de governança e um processo de implementação simplificado. Com uma equipe enxuta, a empresa pôde enfrentar os desafios de manutenção e evolução dos ambientes individuais de forma mais eficaz, atendendo às necessidades dos clientes e fomentando o crescimento do negócio.

Tags

#case #opsfactor

Fale com nossos
especialistas em Nuvem AWS