Situação (antes da nossa atuação)
A Data System, com 29 anos de experiência no setor de varejo de calçados e roupas, construiu ao longo de sua trajetória o software USE, reconhecido por sua capacidade de atender às particularidades desse segmento. Por quase três décadas, a empresa trouxe as melhores soluções para que lojas de varejo de moda pudessem se desenvolver, expandir e alcançar mais sucesso.
No entanto, à medida que a Data System crescia e ganhava mais clientes, a arquitetura atual do software começou a mostrar suas limitações. A empresa tentou resolver esses problemas por meio de um projeto de modernização “Big Bang”, mas devido ao tamanho e à complexidade do software, essa iniciativa se mostrou inviável.
Com isso, a Data System se via diante de um grande desafio: como continuar crescendo e atendendo mais clientes sem comprometer a eficiência operacional e a performance de suas soluções.
Implicações
A situação enfrentada pela Data System trouxe várias implicações negativas para a operação e o negócio da empresa:
- Custo de Infraestrutura Crescente: Para manter os clientes atuais, a Data System precisava investir cada vez mais em infraestrutura. Esse custo tinha uma tendência de aumentar proporcionalmente à medida que novos clientes eram adquiridos, tornando a expansão do negócio financeiramente insustentável a longo prazo.
- Alto Custo Operacional: Atualizar, implantar e manter o software para cada cliente era um processo consideravelmente caro. Esses custos elevados eram resultado tanto da arquitetura da solução quanto do tamanho da infraestrutura necessária.
- Problemas de Escala, Disponibilidade e Performance: À medida que a complexidade aumentava, a Data System começou a enfrentar problemas relacionados à escala, disponibilidade e performance da aplicação. Esses gargalos afetavam negativamente a experiência do usuário e a eficiência operacional da empresa.
O que fizemos
Para resolver os desafios enfrentados pela Data System, iniciamos um processo de diagnóstico arquitetural para mapear a arquitetura existente, a estratégia organizacional e identificar as causas dos problemas. Com um diagnóstico detalhado, trabalhamos em recomendações diretas para ajudar a Data System no curto e médio prazo, alinhadas à estratégia da empresa.
As recomendações focaram em alterações na arquitetura do software, propondo a adoção de um estilo multi-tenant. Essa abordagem permitiria que uma única aplicação, com um único deploy, atendesse múltiplos tenants (inquilinos), reduzindo significativamente a necessidade de infraestrutura e os custos associados.
Além de detalhar as alterações necessárias na arquitetura, nossa equipe apoiou o time de engenharia da Data System fornecendo exemplos de código para facilitar a implementação das mudanças na aplicação. Com isso, garantimos que a equipe interna pudesse realizar as adaptações de forma eficiente e segura.
Entregáveis
Nossa atuação resultou nos seguintes entregáveis para a Data System:
- Visão da Arquitetura Atual: Um mapeamento detalhado da arquitetura existente, identificando os pontos fortes e fracos, bem como as causas dos problemas enfrentados.
- Desenho de Arquitetura de Software e Solução: Proposta de uma nova arquitetura com foco no modelo multi-tenant, detalhando as alterações necessárias para a transição.
- Códigos de Exemplo: Exemplos de código fornecidos para apoiar o time de engenharia da Data System no processo de modernização da aplicação.
- Workshops sobre C#: Sessões de treinamento e workshops para a equipe de engenharia, abordando aspectos específicos do C# que seriam relevantes para a modernização da aplicação.
Feedbacks
As primeiras alterações em produção da aplicação apresentaram um potencial de redução de custos significativo, o que incentivou a Data System a continuar no processo de modernização. A empresa reconheceu a importância de executar testes de performance para garantir que os atributos de qualidade acordados com o negócio fossem mantidos.
Além disso, foi reforçada a necessidade de modernizar partes da aplicação desenvolvidas em tecnologias legadas, destacando a importância de continuar investindo na atualização da infraestrutura tecnológica para sustentar o crescimento e a eficiência operacional.