Les tendons et les muscles qui font fonctionner le cloud computing sont tout aussi importants que les applications Web et mobiles qui s'exécutent dessus. Alors que de nombreuses entreprises se concentrent sur les fonctionnalités disponibles dans les applications, en augmentant l'adoption par les utilisateurs d'une application ou en se concentrant sur les revenus générés par un service qui s'exécute sur le Web, il existe également l'infrastructure sous-jacente qui permet à ces applications de fonctionner de manière fiable et à un niveau élevé. -niveau de performance. Pour la plupart, un fournisseur de services de cloud computing comme Amazon (avec AWS ou Amazon Web Services) isole les développeurs, les scientifiques des données et les propriétaires d'entreprise de la complexité de l'infrastructure.
Pourtant, il existe également une excellente occasion de modifier cette infrastructure cloud de manière à aider votre entreprise, les applications Web et mobiles que vous exécutez et vos clients. Le concept d '«infrastructure en tant que code» est apparu il y a quelques années comme un moyen d'aider les entreprises à gérer tous les services disparates qui s'exécutent dans le cloud. Auparavant, ils pouvaient avoir utilisé des scripts ou d'autres outils pour gérer leur infrastructure informatique, mais ces outils étaient souvent difficiles à utiliser et complexes. Cette situation est encore exacerbée lorsque votre personnel doit gérer le provisionnement, le contrôle de version et d'autres variables.
Bien que nous aimions penser que l'infrastructure cloud fonctionne indépendamment des applications et des services que nous devons déployer, il existe des possibilités de fournir des services afin qu'ils fonctionnent tous de manière transparente et de tirer parti des nouveaux services Amazon. Cela signifie encore plus de contrôle sur le fonctionnement de l'infrastructure et sur ce que vous pouvez faire avec vos applications qui s'exécutent par-dessus.
AWS CloudFormation, comme son nom l'indique, est un moyen de «former le cloud» – ce qui signifie qu'il permet aux entreprises de gérer et de contrôler les piles d'applications et les ressources nécessaires à vos applications Web et mobiles. Il donne accès aux composants d'infrastructure à votre disposition et vous permet de tous les gérer à partir d'un seul et même central interface de ligne de commande.
Un exemple de ce que vous pouvez faire: pour ceux qui découvrent le cloud computing, AWS CloudFormation utilise des modèles pour faciliter le processus (essentiellement, c'est un fichier JSON ou JavaScript Object Notation que vous pouvez utiliser pour suivre et gérer les ressources). Avec les modèles, vous pouvez définir et suivre toutes les ressources AWS dont vous avez besoin. Il supprime les conjectures de la partie gestion de l'infrastructure du cloud computing. Les modèles prédéfinis rendent cela encore plus facile, offrant un accès aux ressources les plus utilisées d'une manière prête à être déployée.
Une fois que vous avez sélectionné un modèle (en tant que fichier JSON ou modèle prédéterminé), vous téléchargez ensuite ce fichier de configuration dans CloudFormation. Le concept «infrastructure en tant que code» entre en jeu ici parce que vous utilisez un morceau de code (le fichier de notation d'objet JavaScript) pour gérer et contrôler toutes les ressources, y compris la pile d'applications, le stockage, les serveurs, la mémoire et toute autre variable dont vous avez besoin pour vos applications.
Sommaire
Avantages d'AWS CloudFormation
Comme vous pouvez l'imaginer, l'utilisation d'AWS CloudFormation signifie qu'il existe une méthode principale de contrôle de l'infrastructure plutôt qu'un ensemble disparate de paramètres et de contrôles. Une fois que vous avez configuré le modèle et que vous l'avez téléchargé, l'exécution de l'infrastructure comme vous le souhaitez est une simple question «d'exécuter ce code» dans le cloud. Le modèle unique ou une série de modèles que vous créez devient le seul moyen de gérer l'infrastructure AWS.
En raison de cette approche unique du centre de commande, il est également plus facile de répliquer et de déployer une autre infrastructure pour des piles d'applications supplémentaires à l'aide du même modèle. Cela facilite également le déploiement d'une infrastructure à des fins de test et de développement. Cela offre plus de flexibilité dans la façon dont vous développez et testez des applications d'entreprise, et comment vous testez les contraintes et ajoutez des services supplémentaires pour votre infrastructure sans la confusion d'avoir plusieurs points de configuration.
En raison de cette flexibilité dans la façon dont vous contrôlez et gérez l'infrastructure, les modèles CloudFormation ont exactement les mêmes avantages qu'un morceau de code logiciel normal. Cela inclut le contrôle de version pour ces modèles, la possibilité de créer les modèles dans un langage de programmation comme vous le feriez pour n'importe quelle autre application, et également de travailler en équipe pour analyser la pile d'applications, les ressources AWS et les variables de performance selon les besoins.
Un autre avantage de la gestion de votre infrastructure de cette manière est que vous automatisez l'ensemble du processus. Une fois que vos modèles sont tous configurés et prêts à être déployés, et que votre équipe a travaillé ensemble pour modifier tous les paramètres, le déploiement du modèle est incroyablement facile – il suffit de télécharger ce modèle et de le déployer dans CloudFormation.
Un avantage supplémentaire, comme c'est généralement le cas avec tout processus d'infrastructure cloud, est que vous pouvez évoluer facilement avec une demande accrue ou lorsque vous devez déployer plus d'applications à un plus grand groupe d'utilisateurs. Vous pouvez répliquer les modèles dans CloudFormation et lancer une toute nouvelle infrastructure avec de nouvelles applications sans réinventer la roue.