P.1 Training for Cloud Practitioner Exam'
Se base sur les cours de David Tucker depuis la plateforme Pluralsight.
AWS
Se créer un compte AWS dans un premier temps, activer le compte et limiter le budget pour gérer les dépenses.
Dans les paramètres du comptes > Security Credentials il est possible de créer une clé sécurisée à un compte IAM (moindre privilège) pour lui donner accès à des ressources et les CLI en toute sécurité.
Les clés d'accès se composent de deux parties : un ID de clé d'accès (par exemple, AKIAIOSFODNN7EXAMPLE) et une clé d'accès secrète (par exemple, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). Vous devez utiliser à la fois l’ID de clé d’accès et la clé d’accès secrète pour authentifier vos demandes.
Les Data Center
Afin de lancer un produit comme un réseau social, il est possible de créer son propre data center. Néanmoins il y a plusieurs contraintes :
Un investissement conséquent dès la mise en route du projet
Difficulté dans les prévisions
Lorsqu’on souhaite offrir son service à un autre continent, recréer un data center mettra plusieurs mois. D’ici la fin de ce déploiement, le public cible ne sera peut être plus intéressé par l’offre.
Maintenir les data center coûtent chers !
La sécurité des data center doit être gérée par les entreprises.
Les bénéfices du cloud computing
Économies d’échelles
échanger les dépenses en capital contre des dépenses variables
S’adapte à la demande rapidement (pas besoin de plusieurs mois)
Vitesse et agilité
Lancer et tester de nouvelles idées est simple
Responsabilités partagées sur les serveurs
Accès à de nouvelles technologies de pointes
Pas de dépenses sur la maintenance de data centers
Il est possible de lancer son business mondialement et rapidement grâce à la fiabilité du service
Les différents types de cloud computing
Le cloud computing fournit à la demande de puissance de calcul, de stockage de base de données, d'applications et d'autres ressources informatiques par le biais d'une plateforme de services en cloud via Internet, avec une tarification à la carte.
IaaS : L'IaaS, ou Infrastructure-as-a-Service, est la solution la plus proche d'une infrastructure sur site. Les services d'infrastructure, tels que le stockage et la virtualisation, sont fournis par un tiers lorsque vous en avez besoin par l'intermédiaire d'un cloud sur Internet. Les principaux inconvénients de l'IaaS sont les suivants : potentiels problèmes de sécurité chez le fournisseur, incertitude quant à la fiabilité du service et systèmes multi-clients où le fournisseur partage les ressources de l'infrastructure entre plusieurs clients.
PaaS : Le modèle PaaS, ou Platform-as-a-Service, s'éloigne un peu plus de la gestion d'infrastructure entièrement sur site. Le fournisseur héberge le matériel et les logiciels sur sa propre infrastructure et met à disposition de l'utilisateur une plateforme via Internet, sous la forme d'une solution intégrée, d'une pile de solutions ou d'un service.
SaaS : Le SaaS (Software-as-a-Service), ou services d'applications cloud, est la forme la plus globale des services de cloud computing. Il fournit une application complète gérée par un fournisseur par l'intermédiaire d'un navigateur web.
Les modèles de Cloud
AWS Region et Zones
Regions : Chaque région est dans une situation géographique précise en mode cluster. Availability Zones : Contient un ou plusieurs data center, les zones de disponibilités sont incluses dans chaque régions. Redondance, réseau et connectivité sont aux rdv pour les zones. Il y a aussi les VPC (Cloud Privé Virtuel) qui ressemble beaucoup à un réseau traditionnel exécutable dans un centre de données. Après avoir créé un VPC, on peut ajouter des sous-réseaux.
Local et Wavelenght Zone
Amazon CloudFront est un service web qui accélère la distribution du contenu web statique et dynamique, tel que les fichiers .html, .css, .js et les images, aux utilisateurs. CloudFront diffuse le contenu par l'intermédiaire d'un réseau mondial de centres de données appelés "edge locations". Lorsqu'un utilisateur demande du contenu que host depuis un serveur avec CloudFront, la demande est acheminée vers l'emplacement périphérique qui fournit la latence (délai) la plus faible, de sorte que le contenu est livré avec la meilleure performance possible.
Le cloud et son économie
Dans un cloud privé, on utilise ces termes pour le financement
CapEx : Capitalized Expenditure : coût de déploiement initial
OpEx : Operating Expenditure : coût journalier
Le Cloud permet de s’adapter à la demande ! Réduction de coût
En résumé :
Organiser et optimiser les coûts
AWS Migration Hub (idéal pour une migration on premise vers cloud) vous permet d'évaluer vos besoins en matière de migration, de définir votre stratégie de migration et de modernisation et de tirer parti de l'automatisation pour simplifier votre transformation.
Business Case
Pour créer un business case, il faut :
Analyser les charges de travail
prévoir les besoins en infrastructure
créer une analyse du coût total de possession des deux options
Intéressant d’utiliser AWS Migration Hub et Migration Evaluator ensemble
AWS Support : Permet d’avoir une visibilité des ressources et outils d’AWS, possible d’avoir des résultats en fonction de filtres
AWS Personal Health Dashboard : “AWS Personal Health Dashboard fournit des alertes et des conseils pour les événements AWS qui pourraient affecter votre environnement.”
AWS Trusted Advisor : “AWS Trusted Advisor vous aide à optimiser les coûts, à améliorer les performances, à améliorer la sécurité et la résilience, et à opérer à grande échelle dans le cloud.” Différents cas d’utilisation comme l’optimisation des coûts, la performance, la sécurité, la résilience et préviens si l’on approche des limites de nos services.
Les différents services support d’AWS
Il existe plusieurs plans en fonction de notre budget. En tant qu’apprenant, le plus intéressant est évidemment le gratuit :
AWS Trusted Advisor – accès aux vérifications Trusted Advisor de base et aux directives d'allocation de vos ressources en suivant les bonnes pratiques pour améliorer les performance et la sécurité.
AWS Health – Offre une vue personnalisée de l'état des services AWS et envoie des alertes quand vos ressources sont affectées.
Les ressources pour le déploiement
AWS possède BEAUCOUP de ressources pour aider les admins et les dev dans leur déploiement. Certaines aides sont propres à AWS, d’autres à des partenaires (professionnels spécialistes des produits AWS).
Catalog & MarketPlace
AWS Catalogue : permet aux administrateurs informatiques de créer, gérer et distribuer des catalogues de produits approuvés aux utilisateurs finaux, qui peuvent accéder aux produits dont ils ont besoin via un portail personnalisé. Les administrateurs peuvent contrôler quels utilisateurs ont accès à chaque produit afin de garantir la conformité aux stratégies commerciales de votre entreprise.
AWS MarketPlace : Catalogue payant de tierce-parties. Solution comme des AMI, CloudFormation et SaaS.
Comprendre les principaux services AWS
La console AWS => Accès via le navigateur web et applis mobiles ! Accès à plus de 150 services - Idéal pour tester et déployer de nouvelles machines AWS CLI => administration des ressources en ligne de commande - bien pour l’automatisation
Les services informatiques
Les trois principaux services :
Amazon EC2 : Elastic Compute Cloud
Ce service se rapproche de la virtualisation dans son utilisation, on peut déployer des machines avec des caractéristiques hardware définies en fonction du besoin (serveur web, accès à une interface windows etc …)
Il existe plusieurs types d’instance dans le but de préciser nos besoins en mémoire, processeur et stockage. Amazon a des instances bien définies avec des catégories comme “Général”, “Compute optimized”, “Memory optimized” ou encore “Accelerated computing” parfait pour le machine learning. Les prix dépendent de l’instance sélectionnée.
Pour le root, il existe deux types d’instances de stockage : Instance Store (stockage éphémère, si le serveur s’éteint les données sont perdues) et Elastic Block Store - EBS (stockage persistent)
Amazon Machine Image (AMI) : Template pour des instances EC2. Les AMI peuvent se partager à travers des comptes AWS
Lors de l’allocation de ressources, il est important de faire les estimations de coûts en fonction du besoin hardware, sa criticité et sa durée. Les prix varient fortement, il faut optimiser les coûts.
AWS Elastic Beanstalk
Automatise le déploiement de l’EC2 avec le scaling, load balancing, provisioning et du monitoring. Idéal pour le PaaS. Supporte les langages Java, .NET, PHP, NodeJS, Python, Ruby, Go et Docker.
Grâce à Docker on peut inclure plein d’autres langages et appli. Avec Elastic Beanstalk, vous pouvez rapidement déployer et gérer des applications dans le cloud AWS sans avoir à vous familiariser avec l'infrastructure qui fait fonctionner ces applications.
Elastic Beanstalk réduit la complexité de la gestion sans restreindre le choix ou le contrôle. Il vous suffit de télécharger votre application, et Elastic Beanstalk gère automatiquement les détails du provisionnement de la capacité, de l'équilibrage de la charge, de la mise à l'échelle et de la surveillance de l'état de santé de l'application et la surveillance de l'état de santé de l'application.
AWS Lambda
Lancer le code sans se soucier de l’infra ! Lambda s’adapte aux requêtes. Essentiel pour le serverless architecture.
Le prix est basé sur l’activité de Lambda.
Service de Container
AWS App Runner idéal pour les débutants, c’est un déploiement simple d’une appli ou d’une API
Amazon ECS (Elastic Container Service) : “Décrivez simplement votre application et les ressources requises et Amazon Elastic Container Service (Amazon ECS) lancera, surveillera et mettra à l’échelle votre application grâce à des options de calcul flexibles avec des intégrations automatiques à d’autres services AWS de support dont votre application a besoin”
Le réseau avec AWS
Amazon VPC est un cloud privé virtuel. IP range, masque sous-réseaux, routages … Il supporte les sous-réseaux publics ou privés. NAT possible et on peut connecter les VPC entre eux à travers le Peering connections.
Security Groups : Fonctionne comme un firewall au niveau des instances. Une instance peut faire partie de plusieurs security groups.
Network ACL : Fonctionne au niveau des sous-réseaux, permets d’autoriser et de fermer les trafics entre instances.
AWS VPN : Create un tunnel vers notre VPC, utilisable pour data center vers VPC. Contrairement à Direct Connect, le VPN utilise internet et non une ligne direct.
AWS Direct Connect
Service qui permet de connecter facilement un data center privé vers les services AWS sur une ligne privée (pas internet).
Amazon Route 53
C’est le DNS !! En plus d’être un service global. Intéressant de pouvoir utiliser plusieurs DNS secondaires, on va dire de la redondance ! Extrêmement utile si nos instances sont réparties dans plusieurs régions. 53 pour le port 53 du DNS
Elastic Load Balancing
Distribue le trafic dynamiquement, en fonction de l’activité. Il existe 3 types de ELB :
Application Load Balancer
Network Load Balancer
Classic Load Balancer
Amazon CloudFront
Amazon API Gateway
AWS Global Accelerator
Optimise le trafic réseau AWS (à la place d’internet) pour accélérer les transmissions de données jusqu’à 60% plus rapides (routage interne AWS).
Offre deux IP publiques pour certains services ce qui permet d’éviter la résolution DNS pour ces mêmes services. Le routage fonctionne avec les EC2, Network load balancer ou application load balancer.
Le scaling avec EC2
Fonctionnement Horizontal :
Auto-scaling Group : permet de mettre des règles de scaling et paramètres spécifiques à des instances EC2
Se base sur des templates
Peut être personnalisé avec un minimum, maximum et le nombre d’instances EC2 souhaitées
Analyse si les configs sont bonnes
Peut être utilisés sur plusieurs AZ dans une région
Elastic Load Balancer
En relation avec auto-scaling group, ils communiquent et détectent les crash des serveurs. Si cela arrive, une instance sera recréée et ELB sera informé grâce à auto-scaling.
Stockage & Data Transfer
Amazon S3
Simple Storage Service - Les objets sont stockés dans les buckets, il fonctionne comme un drive. On peut partager des objets avec un lien internet. Peut servir d’hébergement à un site static.
Politique de cycle de vie :
On peut définir un temps de vie de nos objets dans le S3
définition de transition d’un objet d’un bucket vers un autre
définir de supprimer des anciennes versions de nos documents
Possibilité d’améliorer les transfert avec S3 Accélération
=> Héberger un site web statique sur un S3
Quand un S3 est créé, il faut éditer ses paramètres pour activer le rôle serveur web. A cela il faut ajouter le nom de la page souhaitée (généralement index.html) puis valider. Enfin, il faut upload notre site statique au nom de index.html et éditer ses permissions pour le rendre public à l’internet mondiale.
Amazon S3 Glacier
Archive des données.
Le délai de récupération des données peut prendre de quelques secondes (Instant Retrieval) à 12h (Deep archive).
Amazon Block Store est comme un disque dur externe, redondance dans les availibility zones, snapshots possibles, peut crypter ses disques.
Elastic File System est l’équivalent d’un système de fichiers partagés entre instances. Idéal pour les systèmes Linux (pour Windows on utilisera Amazon FSx pour Windows File Server).
Amazon Snowball / Snowmobile pour le transfert de données d’un point physique vers AWS.
Last updated