Quel Azure DevOps choisir ? Services, Server 2019 ou hybride ?
Quelques clarifications sur la terminologie
Nous sommes en avril 2019, le nouveau Azure DevOps Server 2019 vient juste de sortir. Il est donc temps de jeter un coup d’œil aux différentes possibilités d’hébergement de ce produit.
Mais avant ça, une petite clarification sur les différents noms associés s’impose :
Visual Studio Team System, Team Foundation Server, Team Foundation Services, Visual Studio Online, Visual Studio Team Services, Azure DevOps et maintenant Azure DevOps Server & Azure DevOps Services : Facile de s’y perdre si l’on ne suit pas assidument toute l’actualité 😊
Bonne nouvelle ! Vous pouvez maintenant oublier tous les anciens noms et ne vous en rappeler que d’un seul : Azure DevOps. C’est le nom pour qualifier le produit, disponible en 2 versions :
- Azure DevOps Services pour la version SaaS, hébergée sur Azure par Microsoft.
- Azure DevOps Server pour la version on-premise, que vous pouvez installer sur vos propres serveurs.
Après cette petite clarification, il est maintenant temps de voir les avantages et inconvénients de chacune de ces 2 solutions (Saas ou on-premise), et aussi envisager une 3e solution potentielle (une sorte de solution hybride ?).
Petite parenthèse sur les licences d’accès
À ce jour, les licences d’accès client (CAL) ont un pricing identique que ce soit pour la version Saas ou on-premise :
- Vous démarrez avec 5 licences d’accès basiques.
- Vous pouvez ensuite aller sur le Marketplace Azure et acheter quelques licences d’accès basiques supplémentaires à travers la page Azure DevOps Services Users.
La seule différence notable au niveau pricing pour démarrer sur Azure DevOps est que la version on-premise nécessite d’avoir acheté au moins une licence Visual Studio (Professionnelle ou Enterprise) pour avoir le droit d’utiliser Azure DevOps Server 2019 en production (Mais j’imagine que si vous lisez cet article de blog, c’est déjà le cas pour vous 😉)
Documentation officielle sur le sujet ici et ici.
Azure DevOps Services : La solution recommandée au démarrage dans la plupart des cas
Pour cette version, les avantages sont plutôt simples à lister :
- Pas d’installation ou de serveur à maintenir (Gestion du Scaling, Failover, etc.).
- Mise à jour automatique avec les dernières fonctionnalités à chaque Sprint (~15 nouvelles annonces toutes les 3 semaines).
- 1800 minutes par mois d’Azure Pipelines pour builder ou déployer votre projet en utilisant les pools de machines hébergés par Microsoft (Ubuntu, VS2017, MacOSX, etc.).
- Pricing gratuit pour les projets open source.
- Exposition https sécurisée, protégée par Azure AD (Active Directory), très pratique pour des équipes éclatées dans le monde.
- Sécurité des Datacenters Azure (Non non, vous ne pouvez pas rentrer facilement dans un Datacenter Azure pour changer un disque dur manuellement 😊).
En bref, si vous souhaitez utiliser le produit sans avoir à vous inquiéter de quoi que ce soit, foncez sur Azure DevOps Services !
Quelques inconvénients à conserver en tête :
- Langue anglais uniquement.
- La localisation de l’hébergement des données, défini au niveau géographique et non pas au niveau datacenter : Pas possible de choisir une localisation des données en France uniquement.
Référence officielle ici
Azure DevOps Server 2019 : Garder tout sous contrôle (mais prendre en charge toute la maintenance associée avec)
Vous n’avez pas la chance de pouvoir basculer dans le cloud Azure avec Azure DevOps Services ? Pas d’inquiétudes, la version Azure DevOps Server 2019 vous laisse installer le produit où vous le souhaitez (vos propres serveurs en général). Les principaux avantages sont :
- Multi-langues (français, japonais, etc.).
- Maitrise de la localisation de vos données (qui peuvent rester à l’intérieur de votre réseau d’entreprise).
- Maitrise sur le timing des mises à jour du produit (lorsque vous avez besoin de les valider, planifier mais aussi guider vos utilisateurs à l’utilisation des nouvelles fonctionnalités).
- Pas de limite sur les jobs concurrents dans les Builds et Releases. (Référence ici).
- Accès aux packages stockés sur Azure DevOps Artifacts avec une licence d’accès basique.
En résumé, vous pouvez utiliser Azure DevOps Server 2019 version on-premise lorsque vous avez des besoins forts sur la localisation des données, le timing des montées de version ou sur la langue utilisée (mais soyez préparés aux charges de maintenance associées)
Les principaux inconvénients sont :
- !!! LES COÛTS EN INFRASTRUCTURE !!! : Je ne m’attarde pas plus sur le sujet. Ce n’est pas évident d’égaler un SLA de 99,9% et un niveau de sécurité équivalent à un datacenter sur ses serveurs internes.
- Les coûts de mise à jour : Oui, vous conservez la maitrise sur les mises à jour, mais planifier une migration n’est pas transparente et représente un coût, plus particulièrement si vous avez beaucoup personnalisé votre version.
Une configuration hybride : Premiers pas vers le Cloud ?
Avec la récente version d’Azure DevOps Server 2019, une fonctionnalité très intéressante a fait son apparition : La possibilité de faire tourner Azure DevOps Server 2019 sur une machine virtuelle Azure et d’utiliser le service managé Azure SQL Database pour stocker ses données.
Annonce officielle ici
Finalement vous obtenez :
- Les mêmes avantages que la version on-premise d’Azure DevOps server 2019.
- Plus besoin de maintenir du hardware, et possibilité de tirer parti de l’élasticité du cloud Azure (Besoin de plus de CPU ? de mémoire vive ? de stockage ? Aucun souci, le problème peut être réglé en quelques clics sur le portail Azure)
- Plus besoin de gérer son propre service de base de données SQL (gestion du failover, du scaling, des backups, etc.)
- Mon avantage préféré : Vous obtenez aussi la possibilité de pouvoir localiser vos données dans n’importe quel datacenter Azure (en France par exemple) et vous bénéficiez de sa sécurité et de ses certifications (Qui veux un Azure DevOps qui tourne dans un environnement certifié pour exécuter des données de santé sensibles telle qu’HDS (Hébergeurs de Données de Santé) ? 😊)
En résumé, si vous souhaitez un Azure DevOps Server certifié HDS ou si vous souhaitez vous débarrasser de ces serveurs physiques dans vos locaux, cette configuration hybride est peut-être la bonne solution pour vous !
Conclusion
Pour des petites entreprises, ainsi que pour les plus grandes qui souhaitent bouger vers le Cloud pour externaliser la gestion de leur infrastructure, Azure DevOps Services est la version qui convient.
Si vous voulez migrer vers le Cloud progressivement, la configuration hybride est peut-être un bon compromis pour démarrer.
Et enfin même si vous n’êtes pas encore prêt pour migrer vers le Cloud maintenant, Azure DevOps Server 2019 vous permet de tout gérer comme vous le sentez à l’instar des anciennes versions de Team Foundation Server.
J’espère que cet article vous aura fourni quelques informations.
Que le code soit avec vous !
Commentaires