Depuis l’avènement des offres de Cloud, ces deux sigles font régulièrement parler d’eux. Que représentent-ils au juste ? Qu’est-ce qu’il les distingue ? Faut-il les opposer ou les associer ?
L'IaaS ou Infrastructure as a Service
L’IaaS s’inscrit dans une tendance observée depuis une bonne vingtaine d’années, consistant à déléguer ses actifs numériques sur des services Cloud. Autorisons-nous quelques parallèles.
- Aux alentours de l’an 2000, si un mélomane souhaitait écouter un morceau du groupe Pearl Jam, il devait habituellement posséder le CD de cette formation. Grâce à des services comme Spotify ou Deezer, il peut désormais écouter le morceau en question sans avoir à sa disposition l’objet physique.
- À la même époque, celui qui désirait jouer à un jeu vidéo particulier devait habituellement acquérir le CD ou la cartouche correspondante. Avec un service tel que Steam, il peut désormais jouer à Baldur’s Gate 3 ou Elden Ring sans avoir à posséder le DVD correspondant.
L’IaaS entre dans une même logique : il n’est plus nécessaire pour une entreprise d’acheter des serveurs informatiques surpuissants et coûteux pour abriter ses logiciels et applications. En louant des services Cloud, elle économise les frais d’achat de tels matériels et les dépenses liées à leur entretien.
Amazon, précurseur de l'IaaS
Le Cloud Computing n’est pas une nouveauté en soi, le concept remonte même jusqu’aux années 60. Toutefois, c’est le développement de l’offre AWS (Amazon Web Services) en 2006 qui a donné à l’IaaS un premier envol. Avant tout connue pour son activité de libraire en ligne puis de marchand de produits les plus divers, Amazon a été le premier à offrir un accès facile et à la demande à l’infrastructure de serveurs qu’elle avait mis en place.
Assez vite, Amazon Web Services a compté un grand nombre de clients prestigieux :
- Netflix
- Samsung
- Airbnb
- Dow Jones
- Expedia
- CIA
- etc.
Microsoft, Google et les autres…
À partir de 2008, d’autres géants de la technologie sont entrés dans la danse dont Microsoft avec Azure, Google (Google Cloud Platform), IBM avec IBM Softlayer plus tard rebaptisé IBM Cloud Infrastructure, mais aussi Oracle et Alibaba pour ne citer qu’eux. Cette concurrence a stimulé l’innovation.
Les entreprises adoptent l'IaaS
Durant les années 2010, des entreprises de toutes tailles ont peu à peu perçu les avantages de l’IaaS, soit la possibilité de pouvoir gérer une informatique dématérialisée ou tout du moins externalisée, incluant des serveurs, des systèmes de stockage, des unités de calcul… Elles ont été sensibles à des facteurs tels que la flexibilité offerte par cette approche.
Chaque fois qu’un besoin se fait sentir en termes de stockage ou de puissance de calcul, il suffit de louer de nouvelles infrastructures au fournisseur de l’IaaS (ou d’adapter l’abonnement mensuel ou annuel en cours). Les développeurs peuvent se concentrer sur leurs tâches de programmation plutôt que d’avoir à se soucier des aspects « matériel ».
L'IaC ou Infrastructure as Code
Si l’IaaS concerne le matériel et plus particulièrement les serveurs en cloud computing, l’IaC (Infrastructure as Code) est concerné par la configuration de ces mêmes serveurs par le biais de scripts. Au lieu d’avoir à configurer manuellement l’état souhaité pour ces infrastructures, celui-ci est modélisé dans des fichiers de code, lesquels sont exécutés sur les serveurs.
Avant l’apparition de l’IaC, chaque infrastructure devait être configurée individuellement, à la main, soit un processus fort chronophage. Cette étape, préalable à l’installation des logiciels, n’était pas à l’abri d’erreurs humaines.
Ainsi donc, toute une série d’outils d’IaC sont peu à peu apparus :
- Terraform de HashiCorp qui prend en compte des outils tels que AWS, Azure, Google Cloud et d’autres ;
- AWS CloudFormation, l’offre d’Amazon pour son service de Cloud ;
- Azure Resource Manager de Microsoft ;
- Google Cloud Deployment Manager, l’outil proposé par Google pour gérer des serveurs Google Cloud Platform ;
- Ansible, développé par Red Hat (affiliée à IBM),
- etc.
IaaS et IaC : points communs et différences
Quel est le point entre ces deux approches ? Chacune vise à aider les entreprises à gérer leurs infrastructures sur le Cloud, de manière plus souple.
La différence est nette :
- L’IaaS s’intéresse à la fourniture et au déploiement d’infrastructures matérielles adaptées au besoin d’une entreprise à un instant t.
- L’IaC est une méthode de contrôle de ces infrastructures par logiciel, soit des scripts habituellement codés en JSON ou YAML.
Quand utiliser l'un ou l'autre ?
Scénarios typiques pour l'IaaS
- Lorsqu’une entreprise est dans sa phase de démarrage, il arrive souvent qu’elle ne dispose pas des budgets adéquats pour investir dans du matériel et donc, l’IaaS va l’aider à démarrer avec un matériel de base, qu’elle pourra faire évoluer au fil de la demande.
- Dans un même ordre idée, lorsque l’entreprise envisage un nouveau projet nécessitant des ressources informatiques, l’IaaS va éviter l’achat d’un équipement spécifique.
- Afin de se prémunir contre toute situation où l’informatique deviendrait inopérante, une entreprise va gagner à disposer de répliques de ses données et logiciels dans d’autres parties du monde.
Scénarios typiques pour l'IaC
- Une entreprise amenée à souvent déployer des environnements de test, développement ou production identiques à l’existant va être aidée en la matière par l’IaC : le code développé pour configurer une infrastructure peut être utilisé tel quel sur la nouvelle infrastructure.
- Les responsables informatiques soucieux d’avoir à leur disposition une trace claire des versions successives de la configuration des serveurs seront aidés en cela par les applications d’IaC. De fait, le code de l’IaC fait office de documentation.
IaaS ou IaC ?
Si vous avez lu ces lignes, l’idée vous est sans doute venu qu’il ne sert à rien d’opposer ces deux approches.
Bien qu’elles puissent être mises en œuvre indépendamment, idéalement, l’IaaS et l’IaC seront utilisées de façon complémentaire.
En clair, l’IaaS fournit les ressources nécessaires à l’informatique de l’entreprise. L’IaC garantit une configuration optimisée desdites ressources.
Alors, il semble bel et bien que la formule gagnante réside dans une association des deux !