De uma infraestrutura monolítica a uma plataforma distribuída: a Webmecanik obtém ganhos em escalabilidade e desempenho graças ao Kubernetes
OVHcloud e Webmecanik


+ de 2000 empresas clientes

+ de 8000 utilizadores

+ de 250 milhões de e-mails enviados por mês graças a campanhas direcionadas e adaptadas
O contexto
A Webmecanik, um editor de software inovador, é especializada em marketing automation e CRM. Oferece ferramentas poderosas e intuitivas que permitem às empresas gerir as suas campanhas de marketing de forma eficaz. E tudo isto personalizando a experiência de cliente em grande escala.
Com um forte compromisso em matéria de RSE, a Webmecanik posiciona-se como líder europeu no domínio do marketing automation, pondo a tecnologia ao serviço do humano e do desempenho sustentável. Também é uma das principais contribuidoras para o Mautic, um projeto open-source.
O desafio
Assegurar que os nossos serviços são disponibilizados com todas as boas práticas em matéria de alta disponibilidade. Mas também oferecer elevados desempenhos aquando do onboarding de grandes contas, com volumes de transações que se contam aos milhões por dia (por exemplo, e-mails, visitas na Web, exibição de formulários). Todas estas tarefas constituíam de início um trabalho fastidioso e moroso, nomeadamente devido à utilização de servidores físicos.
Neste modelo, e para garantir uma acessibilidade e um funcionamento contínuos, era necessário afetar recursos numa base de cliente a cliente. Sem contar que era preciso ter em conta os picos de consumo e, eventualmente, a sazonalidade, que tornavam a implementação pouco rentável e pouco eficaz.
Outro eixo de melhoramento situava-se ao nível da preparação da infraestrutura antes da entrega ao cliente. O funcionamento com servidores Bare Metal implica, no mínimo, uma configuração. Esta pode revelar-se morosa: preparação do sistema operativo (SO), da rede pública e da rede privada vRack. Esta etapa de preparação do servidor físico antes de ele acolher a produção para os clientes finais costuma ser demorada.
A solução

Foi realizada uma migração de infraestrutura para Kubernetes, por razões de escalabilidade, de implementação de novos clientes, mas também para poder transpor a infraestrutura para diferentes localizações. Assim, as escolhas tecnológicas passaram do monolítico para o distribuído. A arquitetura evoluiu de uma base de servidores físicos dedicados para a virtualização e containers, tornando-se, por fim, altamente industrializável.
De facto, tecnologicamente, o Kubernetes permite, graças à utilização de blue prints, ficheiros de configuração estandardizados que descrevem a arquitetura desejada, implementar a mesma infraestrutura e os mesmos serviços profissionais no seu seio. Tudo isto, independentemente do local ou do fornecedor.
Tal reformulação, efetuada em 2022, permitiu a implantação em novas zonas geográficas para abrir novos mercados (Canadá, Estados Unidos, Ásia-Pacífico), mas também para melhorar o controlo preciso dos componentes em caso de aumento da atividade. Já a parte dos dados, nomeadamente as bases de dados, está situada em servidores dedicados, uma vez que a aplicação alojada em Kubernetes foi implementada segundo um princípio stateless. Isto significa que os dados de produção não se encontram no cluster. Esta escolha foi feita por razões de desempenho e de respeito pelas boas práticas e pelos princípios do cloud-native.
Deste modo, as modificações podem ser realizadas a uma escala local (com cada pessoa a ser atribuída a um namespace distinto). Isto passa-se sem afetar a totalidade da plataforma, garantindo uma personalização e uma experiência individual ideais para cada cliente.
«Na nossa infraestrutura, o Kubernetes permite-nos gerir um número maciço de pods e a sua repartição pelos clusters.»
David Coutelle, diretor técnico da Webmecanik
A plataforma da Webmecanik beneficia igualmente de flexibilidade e segurança graças ao isolamento fornecido pelo vRack. De facto, as infraestruturas baseadas numa solução Managed Kubernetes Service podem ser usadas de forma inteiramente privada, ou seja, inacessíveis a partir da Internet, para comunicações isoladas. Isto também se aplica aos servidores dedicados.
O resultado
Agora, com a passagem da infraestrutura para Kubernetes, destacam-se vários pontos positivos.
- A integração de clientes de todas as dimensões efetua-se com maior tranquilidade, independentemente da localização.
- As equipas de desenvolvimento podem centrar-se em atividades de mais-valia. Também ganham rapidez, graças a implementações facilitadas de ambientes de pré-produção, a fim de detetar anomalias e corrigi-las mais velozmente.
- A faturação, clara e sem custos ocultos, permite o planeamento e a antecipação de custos atuais e futuros.
Ao oferecer a possibilidade de gerir em tempo real o aumento do número de containers, o Kubernetes permitiu escalar partes específicas da aplicação e funcionar em microsserviços para tirar o máximo proveito da tecnologia. A capacidade de autocura, o reinício de elementos (como os pods) que já não estão num estado ideal, constitui um ponto forte para ajudar as equipas Run a obter a máxima disponibilidade.
Fazer o mesmo com servidores dedicados é tecnicamente possível, embora seja muito mais complexo. O Kubernetes proporciona flexibilidade, uma maior rapidez de implementação, bem como mecanismos de escalabilidade temporários.
«Hoje em dia, nomeadamente graças ao Kubernetes, temos a capacidade de trabalhar para clientes que enviam até 15 milhões de e-mails por dia e de gerir o respetivo tracking. Com a utilização do Argo CD associado ao Kubernetes, pudemos aplicar à nossa plataforma uma estratégia inteligente e escalável de atualização de aplicações.»
David Coutelle, diretor técnico da Webmecanik