Il y a quelques semaines, j’assistais à une présentation de notre équipe d’infrastructure d’entreprise qui passait en revue la présentation d’un pilote que nous allions démontrer à un client cette semaine-là. Le pilote portait sur la création automatisée d’un environnement de développement pour les développeurs de cette entreprise, en infrastructure infonuagique publique, sur la technologie Windows Azure de Microsoft.
Lors de cette démo, j’étais littéralement étonné (tout comme notre client le fut) de l’agilité à laquelle nous sommes parvenus avec ce pilote et, bien que je sais que nous fonctionnons en partie de cette façon à l’interne pour nos environnements de développement, c’était la première fois que j’assistais à une démonstration plus complète. J’étais fasciné du progrès que la technologie a faite au cours des dernières années dans cette approche du « Cloud », particulièrement en terme de gestion d’infrastructure, de virtualisation sur demande, du nuage hybride et supervision des environnements. En effet, Bowman Hall de WIRED Magazine a déclaré que 2012 devait être “l’année du nuage hybride”.
Orckestra a maintenant 7 ans et, récemment, en pensant à mon premier billet, j’ai pensé parler en tout premier lieu de ma vision du nuage, mais d’abord dans cette perspective de développement en nuage privé et public (nuage hybride). Le développement est au cœur de nos activités et faire un retour en arrière sur nos pratiques et son évolution au fil des dernières années me semblait une bonne façon de vous communiquer les nouvelles possibilités qu’offre l’utilisation de tels environnement dans votre entreprise à des fins de développement logiciel.
Nous développons chaque année des centaines de milliers de lignes de code pour des clients variés, pour des projets qui s’échelonnent parfois sur plus d’un an. Depuis le début, nous avons eu besoin d’infrastructures et d’ordinateurs nous permettant de reproduire des environnements à serveurs multiples et permettre le développement en isolation des membres de l’équipe pour éviter les arrêts trop fréquents, et le besoin de supporter des environnement clients multiples et très variés : développement, tests intégrés assurances qualité, production, multiples technologies, et ainsi de suite.
Nous avons donc eu recours à plusieurs stratagèmes :
– Stations de travail portables connectées à des serveurs physiques;
– Virtualisation d’environnements complets sur VMWare, incluant les serveurs pour chaque développeur utilisés pour le code et la compilation;
– Nuage privé, migration plus récentes sur System Center 2010 et Windows Server 2010 –
– Hyper-V et Data Protection Manager, permettant la redondance en quasi temps réel dans deux centre de données physiques;
– Disques virtuels (.VHD) sur disque SSD (Solid State Drive) sur les portables de développeurs de concert avec des ressources isolées sur notre nuage privé interne, de manière à mieux utiliser les ressources et la vitesse des portables pour la compilation.
Avantages d’un nuage hybride pour les environnements de développement
Le pilote effectué devait permettre de provisionner tous les serveurs nécessaires pour un projet donné afin que les nouveaux développeurs se joignant à l’équipe de projet aient un environnement dédié dans le nuage public (Windows Azure).
Généralement, les avantages d’une telle approche sont les suivants :
– Rendre le démarrage de nouveaux projets beaucoup plus rapide, sans avoir à mettre en place de nouvelles infrastructures ni de serveurs;
– Intégrer de nouvelles ressources de développement et en réduire grandement les délais d’attente pour un environnement;
– Réduire les coûts et dépenses en capital en infrastructure et licences pour parvenir à ne payer que pour les ressources utilisées lors des périodes plus intenses de développement.
Prochain billet : Vers une architecture en nuage privé utilisée pour la gestion du développement multi-environnements.