Le centre de données
Chaque entreprise possède un "data center" où sont stockées et gérées les données de l'entreprise. Ces centres de données ou "on premise" sont des locaux où sont installés des équipements informatiques qui permettent de stocker, traiter et transmettre les données. Les data centers sont maintenus par une équipe de professionnels qui sont chargés de gérer les accès, la reprise en cas de panne, la sauvegarde, le cryptage et le maintien en condition opérationnelle (MCO).
Le MCO est un système de réplication des données qui comprend plusieurs concepts tels que la localisation géographique du centre, la sécurité physique et le contrôle d'accès, l'alimentation et l'environnement, les composants réseau, les composants de calcul, les composants de stockage et la continuité de service.
La localisation géographique du centre est importante pour assurer la sécurité et la disponibilité des données. La sécurité physique et le contrôle d'accès sont essentiels pour empêcher les intrusions et les pertes de données. L'alimentation et l'environnement sont également importants pour assurer la disponibilité et la sécurité des données.
Les composants réseau, de calcul et de stockage sont nécessaires pour traiter et stocker les données. La continuité de service est importante pour assurer la disponibilité des données en cas de panne ou de catastrophe naturelle.
Il est également important d'avoir des locaux de secours en cas de panne ou d'incident majeur pour garantir la sécurité et la continuité des données.
Le cloud c'est quoi ?
Le cloud est caractérisé par :
- Le libre-service à la demande, il provisionne ses propres ressources, il ne consomme que ce dont il a besoin (self-service)
- Il fournit un large accès au réseau, on a des serveurs partout dans le monde qui sont interconnectés par des fibres optiques
- Mise en commun des ressources, au lieu d'avoir un serveur centralisé, on a une rationalisation des serveurs et l'on prend une part de ces serveurs. On fait donc une économie d'échelle
- Elasticité rapide, qui permet rapidement de faire évoluer notre serveur (rajouter ou diminuer des ressources) sans devoir racheter de l'hardware
- Service mesuré: on remonte des métriques, c'est-à-dire des analyses sur les ressources que l'on utilise.
Il comporte plusieurs types de services :
- Software as a service (SaaS) : Logiciel comptable à travers un éditeur qui utilise le cloud, Office 365 en est un autre exemple
- Platform as a service (PaaS) : Plateforme préinstallée, mise à disposition en quelques clics (AWS par exemple) avec des systèmes préinstallés
- Infrastructure as a service (IaaS) : L'infrastructure comme service, qui provisionne des serveurs directement
Le cloud possède des modèles de déploiement :
- Cloud privé : C'est la même infrastructure que les autres, mais dans un centre de données privé (qui n'est pas public)
- Cloud communautaire : Pour les entreprises qui ont les mêmes logiciels, mêmes normes de sécurité, etc.
- Cloud public : AWS, Google Cloud, etc.
- Cloud hybride : On mélange les clouds ensemble, par exemple AWS pour des ressources publiques et un cloud privé pour les données sensibles.
Quels sont les avantages ? Prenons le graphique suivant :

Ce graphique représente le résultat entre les ressources informatiques par rapport à leurs coûts, du moins une estimation sur le long terme. On met cette estimation sur une durée, qui en fonction de sa croissance a des budgets qui augmentent. On estime alors le coût, et si nos estimations sont bonnes, on aura une infrastructure qui conviendra totalement à la demande client.
Le souci et vous le voyez en bleu :

On voit dans le graphique que l'on a des ressources dépensées et qui ne sont pas utilisées. On a donc dépensé de l'argent qui n'est pas nécessaire à l'instant T. Donc ceci est une estimation, maintenant les années sont passées et on ajuste le graphique avec la réalité :

On voit que la croissance n'est plus linéaire, mais surtout que nous sommes sortis du budget et souvent nous avons dépensé plus que ce que l'on utilisait. C'est là que l'intervention Cloud voit son premier avantage ! Le cloud permet de mesurer la consommation et d'adapter cette consommation en temps réel et non plus par année. On fait donc de l'élasticité à la volée, on a donc comme graphique :

Le Cloud permet un système adaptatif qui s'ajuste en temps réel à l'achat des ressources nécessaires, évitant ainsi de dépenser plus que ce qui est utilisé.
Les cas d'utilisation du Cloud sont variés et incluent notamment l'environnement de développement, la démonstration de faisabilité (POC), l'hébergement des sites web, les plans de continuité de service et de reprise d'activité, la sauvegarde et l'archivage autogéré, le datawarehouse Big Data, l'augmentation du trafic, le machine learning et la migration. Le Cloud offre une solution flexible et évolutive pour les entreprises qui souhaitent optimiser leur infrastructure informatique tout en réduisant les coûts et en améliorant la productivité.
AWS
Jeff Bezos et son CTO Werner Vogels ont créé le cloud d'Amazon en 2006 en investissant des milliards de dollars dans des ressources et des centres de données répartis dans le monde entier. Initialement utilisé uniquement par Amazon, AWS est aujourd'hui disponible pour tout le monde.
Le modèle de consommation d'AWS consiste à mettre à disposition des ressources à la demande et à les sécuriser en les répartissant à plusieurs endroits pour être tolérant aux pannes. Vous pouvez démarrer en fonction de vos besoins sans aucun engagement et bénéficier d'une maintenance et d'une administration simplifiées, nécessitant une seule personne pour maintenir ce dont vous avez besoin. AWS représente donc des ressources informatiques, mises à disposition de manière sécurisée et flexible dans le monde entier.
Comment controler et gérer les ressources
Dans l'administration des ressources AWS, il existe trois méthodes :
-
La console AWS, disponible sur le web, offre une interface utilisateur conviviale pour l'utilisation des services AWS.
-
Le CLI d'AWS permet d'effectuer des actions qui ne sont pas disponibles dans la console.
-
Le kit de développement logiciel AWS est une partie applicative qui permet à des applications de s'authentifier et d'utiliser des ressources AWS. Les commandes sont directement intégrées dans le code de l'application.
En ce qui concerne la certification, voici quelques informations utiles :
-
La console est accessible via un site web et nécessite une connexion avec un nom d'utilisateur et un mot de passe. Ces informations sont permanentes.
-
La ligne de commande nécessite l'utilisation d'une "access key" et d'une "secret key" qui sont fournies par l'administrateur lors de la configuration initiale. Ces informations sont permanentes.
-
Le kit de développement logiciel utilise un rôle IAM pour gérer les accès et les identifiants, qui fournit un jeton temporaire. Un rôle est fourni pour chaque utilisateur afin d'accéder aux ressources, et ces informations sont temporaires.
Console AWS
Voici les différentes options disponibles lors de la connexion à la console AWS :
- Liste de l'ensemble des services que l'on peut utiliser par catégorie
- Création d'une solution en direct grâce à des menus permettant de paramétrer rapidement des ressources dans un service
- Des tutoriels pour mieux comprendre la console et ses services
- Possibilité d'épingler les services favoris directement dans l'onglet "services" (favoris)
- La console est disponible par téléphone et peut être installée
- Système de gestion des alertes dans la barre de navigation (interventions sur des ressources, etc.)
- Analyse des quotas (limites) par services. Cette limite peut être augmentée, ce qui permet d'identifier les clients.
- Gestion de la facturation et des coûts par services
- Localisation des services en cours, ainsi si l'on veut provisionner dans une région particulière, il suffit de changer cette localisation dans la barre de navigation.
- Astuce : la région de Virginie du Nord comporte l'ensemble des services disponibles AWS, alors que certaines régions sont plus limitées.
- Support (documentation, centre de support, forums, etc.)
- AWS CloudShell qui permet d'obtenir une instance pour stocker des scripts pour notre travail de développeur ou administrateur système, sans coût supplémentaire.
Lorsque l'on crée un groupe, cela permet de grouper nos ressources pour un compte particulier. Ainsi, lorsque l'on assigne des ressources pour le service marketing, par exemple, on ajoute des balises qui permettent de remonter d'un coup des ressources et d'agir dessus de manière centralisée.
En ce qui concerne les crédits AWS, si l'on rencontre des incidents, il se peut qu'Amazon nous fournisse des crédits. Si l'on suit des formations, on peut également gagner des crédits, ce qui permet d'obtenir des crédits gratuits pour nos services. Tout ceci est directement disponible dans la console.
La console fournit une source unifiée pour la gestion de nos ressources cloud et hybrides en mode web.
Command line interface
La Command Line Interface (CLI) est un outil open-source qui fonctionne sur Linux, Windows et macOS. Tous les services d'AWS sont accessibles via la ligne de commande, avec une granularité bien supérieure à celle de la console. La CLI est très utile pour automatiser les déploiements et pour débugger. C'est un outil que vous utiliserez souvent dans vos projets.
Software development Kit
Il permet :
- La gestion de l'infrastructure en tant que code (Infrastructure as Code) : cela permet de provisionner des ressources directement à partir de programmes (de code) hébergés dans les applications.
- L'utilisation de l'API de référence pour les principaux langages de programmation.
- L'appel des services et ressources AWS directement via le CLI.
- L'accès à de nombreuses documentations, guides, forums et blogs pour faciliter l'utilisation et la résolution de problèmes.
Les services et le compte racine AWS
Cette rubrique parlera des notions, nous irons plus en profondeur dans d'autres sections. Voici les listes des services présents avec leurs codes couleurs :

On va se contenter des les lister, on rentrera en profondeur dans des sections différentes :
Les services de bases:
- AWS Identity and Access Management (IAM) : permet de s'identifier et de créer des règles d'authentification pour les services AWS
- Amazon Virtual Private Cloud (VPC) : permet de créer un réseau privé virtuel pour provisionner des ressources
- Amazon Elastic Compute Cloud (EC2) : permet de provisionner des instances de machines virtuelles
- Amazon Elastic Block Store (EBS) : permet de fournir du stockage bloquant pour les instances EC2
- Amazon Simple Storage Service (S3) : permet de stocker des objets non attachés à des instances EC2.
Les services intégrés AWS:
-
Elastic Load Balancer (ELB): permet de répartir dynamiquement le trafic entrant vers les machines qui attendent ce trafic.
-
Auto Scaling: permet de définir des stratégies de répartition de charge dynamique.
-
Amazon Route 53: service DNS qui lie les noms de domaine aux adresses IP.
-
Amazon Relational Database Service (RDS): service de base de données relationnelle.
-
AWS Lambda: service sans serveur qui exécute du code en fonction de déclencheurs tels que des actions sur des services.
-
AWS Elastic Beanstalk: permet de provisionner une plateforme complète en fonction du code ou de la fonctionnalité applicative.
-
Amazon Simple Notification Service (SNS): permet de notifier les utilisateurs en envoyant des SMS et des e-mails.
-
Amazon CloudWatch: service de surveillance et de mesure des services.
-
Amazon CloudFront: service de livraison de contenu à grande vitesse pour des ressources telles que des vidéos et des images.
-
AWS CloudFormation: service d'infrastructure en tant que code qui permet d'héberger des scripts de configuration d'infrastructure pour créer des environnements de manière cohérente et reproductible.
Facturation
Pour accéder à votre facturation, rendez-vous dans le "tableau de bord de ma facturation" accessible depuis la navbar. Vous y trouverez un aperçu centralisé de vos dépenses. Pour être vigilant, il est conseillé de consulter régulièrement cette section ou de créer des alertes pour vous aider à suivre votre consommation.
Il est important de noter que si vous utilisez la version gratuite d'AWS, certaines fonctionnalités peuvent ne pas être illimitées. Vous pouvez consulter les limites dans la console.
Pour créer des alertes, accédez à la sidebar de votre tableau de bord, cliquez sur "Budgets" et sélectionnez "Créer un budget".

Les 4 options mentionnées précédemment permettent de fixer des limites de dépenses, afin de surveiller les équipes et d'éviter des erreurs pouvant entraîner des dépassements budgétaires. Pour illustrer cela, prenons l'exemple du budget coût :

On peut alors facilement définir des alertes en fonction de :
- La période
- Des coûts réels et prévisionnels en fonction d'un pourcentage ou d'une valeur absolue
Nous pouvons ajouter plusieurs alertes dans cet écran en fonction de plusieurs conditions. Il est important de faire attention à cette section pour éviter les mauvaises surprises !
Notez bien que par défaut, seul le compte racine a accès à la facturation. Toutefois, il est important de noter que l'IAM permet de déléguer la facturation à un autre membre. Pour cela, rendez-vous dans la Navbar -> Mon compte -> Accès des utilisateurs et des rôles IAM aux données de facturation -> modifier -> Activer l'accès des utilisateurs/rôles IAM -> mettre à jour.
Maintenant, nous pouvons ajouter dans l'IAM le rôle pour permettre à d'autres utilisateurs d'accéder à la facturation. Nous verrons cela dans la section IAM.
Cost explorer
Il arrive que pendant des tests ou des demos, vous oubliez de supprimer un service. Pour cela pas de panique, "Cost explorer" (mettez le en favoris ça en vaut le coup), vous permets de récupérer des rapports de couts :

Dans le graphique, quand on a une dépense linéaire ça ne nous donne pas forcément l'information de la région qu'il faut décommisionner. Pour cela on peut cliquer sur "Explorer les coûts" et au dessus du graphique vous pouvez voir : régions. Cliquez dessus, on aura alors un code couleur par région :

Et en ajoutant par service, on pourra voir le service qui génère une dépense non voulue.

Dans le graphique, quand on a une dépense linéaire ça ne nous donne pas forcément l'information de la région qu'il faut décommisionner. Pour cela on peut cliquer sur "Explorer les coûts" et au dessus du graphique vous pouvez voir : régions. Cliquez dessus, on aura alors un code couleur par région :

Et en ajoutant par service, on pourra voir le service qui génère une dépense non voulue.





