Cloud
Atlassian : une migration titanesque sur AWS
Par Jacques Cheminat, publié le 03 avril 2018
L’éditeur de logiciel australien a choisi de migrer sur AWS pour gérer sa forte croissance. Un chantier débuté en 2015 et qui a entraîné la bascule de 78 000 clients dans le cloud public.
Atlassian n’est pas une jeune start-up, en ayant été créée en 2002. Depuis cette date, l’éditeur australien a accumulé une dette technique sur l’ensemble de ses solutions. Cela signifie qu’au fil du temps, le code des applications a été enrichi et modifié au point que toute mise à jour ou maintenance devient difficile à mettre en œuvre. Dans le même temps, la société a progressé et s’est convertie au modèle SaaS.
Transformer son code en microservices
Jira, système de suivi de bugs et de gestion des incidents, ainsi que Confluence, outil de collaboration, ont été les premières solutions à bifurquer vers le cloud. Chaque client bénéficiait d’une instance personnalisée, en mode conteneur. Selon Mike Tria, directeur de l’infrastructure d’Atlassian, « tout se passait bien au début, mais nous avons rencontré des problèmes quand le système a été obligé de gérer des dizaines de millier de clients, puis des centaines de millier ». Une mise à l’échelle bloquante au point de rationner le nombre d’utilisateurs (2000 personnes) par client sur les différents produits dans le cloud.
Pour résoudre le problème de mise à l’échelle, Atlassian a choisi de migrer ses offres et ses clients sur le cloud public et celui d’AWS en particulier. Le chantier a débuté en 2015 avec un projet nommé Vertigo, car l’équipe en charge du cloud était très motivée, mais avait « le vertige » face à ce projet. Il avait pour objectif de ré-architecturer les logiciels Jira et Confluence pour l’adapter aux contraintes d’AWS. Ils ont modifié le code vieux de 15 ans en microservices. Un toilettage du code prenant en compte la dette technique et qui au final a réduit la base de code. Cet effort a duré pratiquement un an pour être sûr d’avoir un bon socle de code.
La migration, un combat de tous les jours
La migration sur AWS a commencé au début 2017 pour se terminer en décembre de la même année. Pour mener à bien ce chantier titanesque portant sur des dizaines de millier de clients, les équipes d’Atlassian ont automatisé tout ce qui pouvait l’être et ont été conscientes des difficultés. « Nous avons réfléchi sur l’ordre de migration, mais nous n’avons pas pris le parti de commencer par les clients les plus faciles et terminer par les plus difficiles. Nous avons choisi de mixer les deux pour corriger les bugs au fil du projet », souligne Sri Viswanath, CTO d’Atlassian à nos confrères de Techcrunh.
Il ajoute que « la migration est un moment particulier. Cela semble super facile de migrer, mais c’est un combat de tous les jours. Vous tapez sur un mur et vous attendez la réaction ». Pour mener à bien ce projet, il recommande d’impliquer les ingénieurs, les responsables produits et le support. Sans oublier des chargés de clientèle pour assurer les réunions tampons entre les clients et les équipes cloud d’Atlassian.
Au final, l’éditeur australien a transféré 78 000 clients Jira et Confluence vers Amazon Web Services pendant l’année 2017. Certains avantages sont connus comme l’agilité et la flexibilité des ressources informatiques. Le recours aux microservices a permis d’accélérer les déploiements des applications ou de nouvelles fonctionnalités. En cas de goulet d’étranglement, les équipes IT peuvent ajouter des ressources dans le cloud.