Bridestory usa contêineres na AWS para melhorar a agilidade

Bridestory

Problemas crescentes

A Bridestory foi lançada em 2014 como uma solução completa para as noivas encontrarem fontes de inspiração para o casamento e se conectarem com fornecedores em potencial. Com sede na Indonésia, a Bridestory tem uma base de usuários em rápida expansão, com cerca de 700.000 visitantes, incluindo usuários nas Filipinas e em Singapura. Dois anos após o lançamento, a startup estava enfrentando problemas crescentes decorrentes de sua arquitetura monolítica. A lenta iteração e a dificuldade de implantação e escalabilidade estavam interferindo no tempo para a comercialização, que era uma prioridade máxima. Havendo desenvolvido sua arquitetura original na Nuvem Amazon Web Services (AWS), a Bridestory começou a consultar os arquitetos da Nuvem AWS sobre a migração para uma infraestrutura baseada em contêineres.

“Estamos atingindo nossas métricas desde o final de 2018. Antes, levávamos em média três semanas para lançar um grande recurso. Agora, nossos desenvolvedores estão bem equipados para fazer pequenos lançamentos diariamente, com menos de 1% de falha.”

Doni Hanafi, diretor de tecnologia da Bridestory

  • Sobre a Bridestory
  • A Bridestory é uma aplicação Web e móvel desenvolvida para inspirar as noivas e ajudá-las a se conectar com fornecedores no ramo de casamentos. O site recebe até 700.000 visitantes por mês e está se expandindo globalmente, com usuários na Indonésia, em Singapura e nas Filipinas. 

  • Benefícios
    • Faz implantações diariamente, e não a cada três semanas.
    • Apresenta menos de 1% de falhas.
    • Escala automaticamente para acomodar a base global de usuários em expansão.
    • Acelera em três vezes o tempo para a comercialização de uma nova marca.
    • Melhora a produtividade e a satisfação dos funcionários com o trabalho, o que incentiva a retenção.
  • Serviços da AWS usados

De monólito para microsserviços

Doni Hanafi, diretor de tecnologia da Bridestory, trabalhou com sua equipe para começar a dividir a aplicação em serviços menores e a configurar contêineres do Docker com o Amazon Elastic Container Service (Amazon ECS). Mantendo o tempo para a comercialização e a confiabilidade como seus principais critérios, o objetivo da Bridestory era implantar recursos menores de tantos em tantos dias para reduzir a taxa de falhas.

Os primeiros três e quatro meses foram dedicados à análise de pilhas de tecnologias para encontrar a infraestrutura certa para workloads direcionadas, visando a uma solução que melhorasse a agilidade com escalabilidade automática. Em seguida, a startup começou o desacoplamento progressivo, partindo da construção de novos recursos no ambiente de microsserviços. A Bridestory usa o Amazon Relational Database Service (Amazon RDS) para armazenar todos os dados de transações e considerou o AWS Database Migration Service (AWS DMS) particularmente útil durante o processo de migração. De acordo com Hanafi, “ao usarmos o AWS DMS, podemos copiar dados em tempo real, sincronizando-os do nosso antigo banco de dados do Amazon RDS no monólito com o novo banco de dados de microsserviços. Além disso, é fácil criar uma replicação no Amazon RDS, que usamos muito para nossas ferramentas de BI. A replicação é muito confiável e não tivemos nenhum problema significativo com os dados até agora.”

A mesma arquitetura, uma marca diferente

A nova arquitetura de microsserviços transformou as operações. Como conta Hanafi, “estamos atingindo nossas métricas desde o final de 2018. Antes, levávamos em média três semanas para lançar um grande recurso. Agora, nossos desenvolvedores estão bem equipados para fazer pequenos lançamentos diariamente, com menos de 1% de falha.” Usando sua infraestrutura em contêineres, a empresa também lançou uma aplicação chamada Parentstory. “O isolamento é o segredo de nosso novo modelo de microsserviços com multilocação”, ele explica. “Junto dos arquitetos da AWS, estamos constantemente analisando como usar a mesma arquitetura com o mesmo código-fonte, mas com uma marca, clientes e banco de dados totalmente diferentes.” Com essa abordagem “reciclada”, a equipe conseguiu lançar a aplicação Parentstory quase três vezes mais rápido em comparação à Bridestory.

Ao usar a AWS, a equipe de Hanafi também se tornou mais eficiente. Ele conclui: “Estamos migrando para o Amazon Elastic Container Service para Kubernetes (Amazon EKS), o que nos dá mais flexibilidade no isolamento de recursos. Com a AWS, estamos descobrindo novas maneiras de aprender e experimentar, o que é fundamental para os engenheiros e resulta em uma alta retenção de funcionários.”

O diagrama abaixo ilustra a infraestrutura da AWS na Bridestory e na Parentstory:

Infraestrutura da AWS na Bridestory e Parentstory

Saiba mais

Para obter mais informações, acesse Contêineres.