Plan du cours
1. Détails de la virtualisation
a. Vue d'ensemble des concepts du système d'exploitation
i. CPU, mémoire, réseau, stockage
b. Hyperviseur
i. Superviseur des superviseurs
ii. Machine « hôte » et système d'exploitation « invité »
iii. Hyperviseur de type 1 & hyperviseur de type 2
iv. Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR.
c. Virtualisation du réseau
i. Introduction brève au modèle OSI à 7 couches
1. Focus sur la couche réseau
ii. Modèle TCP/IP ou Protocole Internet
1. Focus sur une seule verticale
a. Couche application : SSL
b. Couche réseau : TCP
c. Couche internet : IPv4/IPv6
d. Couche liaison : Ethernet
2. Structure des paquets
iii. Adressage : Adresse IP et noms de domaine
iv. Pare-feu, équilibreur de charge, routeur, adaptateur
v. Réseau virtualisé
1. Abstractions d'ordre supérieur : sous-réseaux, zones.
d. Exercice pratique :
i. Familiarisation avec un cluster ESXi et le client vSphere.
ii. Créer/mettre à jour des réseaux dans un cluster ESXi, déployer des invités à partir de packages VMDK, activer l'interconnexion entre les invités dans un cluster ESXi.
iii. Apporter des modifications à une instance VM en cours d'exécution et capturer un instantané.
iv. Mettre à jour les règles de pare-feu sur ESXi à l'aide du client vSphere.
2. Cloud Computing : Un changement de paradigme
a. Une voie rapide et peu coûteuse pour rendre un produit/solution disponible dans le monde
b. Partage des ressources
i. Virtualisation d'un environnement virtualisé
c. Principaux avantages :
i. Élasticité des ressources à la demande
1. Concevoir->Coder- >Déployer sans nécessiter d'infrastructure
2. Pipelines CI/CD rapides
ii. Isolation de l'environnement et autonomie verticale
iii. Sécurité par couches
iv. Optimisation des coûts
d. Cloud sur site et fournisseurs de cloud
e. Le cloud comme abstraction conceptuelle efficace pour le calcul distribué
3. Introduction aux couches de solutions cloud :
a. IaaS (Infrastructure as a Service)
i. AWS, Azure, Google
ii. Choisissez un fournisseur pour continuer plus tard. AWS est recommandé.
1. Introduction à AWS VPC, AWS EC2 etc.
b. PaaS (Platform as a Service)
i. AWS, Azure, Google, CloudFoundry, Heroku
1. Introduction à AWS DynamoDB, AWS Kinesis etc.
c. SaaS (Software as a Service)
i. Vue d'ensemble très brève
ii. Microsoft Office, Confluence, SalesForce, Slack
d. Le SaaS repose sur le PaaS qui repose sur l'IaaS qui repose sur la virtualisation.
4. Projet pratique de cloud IaaS
a. Le projet utilise AWS comme fournisseur de cloud IaaS
b. Utilisez CentOS/RHEL comme système d'exploitation pour le reste de l'exercice
i. Alternativement, Ubuntu fera également l'affaire, mais RHEL/CentOS sont préférés.
c. Obtenir des comptes AWS IAM individuels auprès de votre administrateur cloud
d. Chaque étudiant doit effectuer ces étapes indépendamment
i. La capacité de créer son propre infrastructure entière à la demande est la meilleure démonstration du pouvoir du cloud computing.
ii. Utilisez les assistants AWS -- les consoles en ligne AWS -- pour accomplir ces tâches sauf indication contraire.
e. Créer un VPC public dans la région us-east-1
i. Deux sous-réseaux (Subnet-1 et Subnet-2) dans deux zones de disponibilité différentes
1. Consultez https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html pour référence.
ii. Créer trois groupes de sécurité distincts
1. SG-Internet
a. Autorise le trafic entrant de l'Internet sur https 443 et http 80
b. Aucune autre connexion entrante autorisée
2. SG-Service
a. Autorise le trafic entrant uniquement du groupe de sécurité SG-Internet sur https 443 et http 80
b. Autorise ICMP seulement de SG-Internet
c. Aucune autre connexion entrante autorisée
3. SG-SSH :
a. Autorise la connexion SSH:22 uniquement depuis une seule IP correspondant à l'IP publique de la machine de lab de l'étudiant. Si la machine de lab est derrière un proxy, alors l'IP publique du proxy.
f. Déployer une instance d'un AMI correspondant à votre système d'exploitation choisi -- préférablement les dernières versions RHEL/CentOS disponibles dans les AMIs -- et héberger l'instance sur Subnet-1. Attachez l'instance aux groupes SG-Service et SG-SSH.
g. Accéder à l'instance en utilisant SSH depuis votre machine de lab.
i. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html
h. Installer le serveur NGINX sur cette instance
i. https://www.nginx.com/resources/wiki/start/topics/tutorials/install/
i. Mettre en place des contenus statiques de votre choix -- pages HTML, images -- à servir par NGINX (sur le port 80 via HTTP) et définir les URL pour eux.
i. Consultez https://www.nginx.com/resources/admin-guide/serving-static-content/
j. Tester l'URL depuis cette machine même.
k. Créer une image AMI à partir de cette instance en cours d'exécution.
i. Consultez https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html .
l. Déployer ce nouvel AMI et héberger l'instance sur Subnet-2. Attachez l'instance aux groupes SG-Service et SG-SSH.
m. Exécuter le serveur NGINX et vérifier que l'URL d'accès au contenu statique créée à l'étape (i) fonctionne.
n. Créer un équilibreur de charge « classique » élastique et l'attacher au groupe SG-Internet.
i. Consultez https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-getting-started.html
ii. Notez la différence par rapport à l'équilibreur de charge Application et l'équilibreur de charge Network.
o. Créer une règle de routage pour acheminer tout le trafic http 80 et https 443 vers un groupe d'instances composé des deux instances créées ci-dessus.
p. Utiliser n'importe quel outil de gestion de certificats -- java keytool etc. -- pour créer une paire de clés et un certificat auto-signé, puis importer le certificat dans AWS Certificate Manager (ACM)
i. Consultez https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
ii. Alternativement, ACM lui-même peut être utilisé comme autorité de gestion et de signature de certificats et un nouveau certificat peut être demandé à ACM. Dans ce cas, un nom de domaine valide doit être utilisé, les administrateurs du domaine correspondant doivent être disponibles pour valider la requête, et une entrée AWS Route53 doit ensuite être créée pour mapper sur l'IP ELB. Ce sont des étapes plus avancées et donc p.(i) est mieux recommandé.
q. Utiliser ce certificat pour la connexion TLS/SSL de l'ELB pour supporter https
i. Consultez https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-server-cert.html
r. Depuis votre navigateur, accédez à http:://<nom-d'accès-public-elb>/<url-contenu-statique>
s. Vous devriez voir le contenu statique sur votre navigateur.
t. Arrêtez chaque instance une par une et soumettez les URL.
u. Arrêtez les deux instances et soumettez les URL.
5. Surveillance du cloud : Introduction & Projet pratique
a. Métriques AWS CloudWatch
b. Accédez au tableau de bord AWS CloudWatch pour les instances
i. Récupérez les métriques pertinentes et expliquez leur variabilité dans le temps
1. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
c. Accédez au tableau de bord AWS CloudWatch pour l'ELB
i. Observez les métriques de l'ELB et expliquez leur variabilité dans le temps
1. https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html
6. Concepts avancés pour un apprentissage ultérieur :
a. Cloud hybride -- sur site et cloud public
b. Migration : Sur site vers cloud public
i. Migration du code de l'application
ii. Migration de la base de données
c. DevOps
i. Infrastructure as a code
ii. Modèle AWS Cloud Formation
d. Équilibrage automatique
i. Utiliser des métriques AWS CloudWatch pour déterminer la santé
Pré requis
Il n'y a pas de prérequis spécifiques pour suivre ce cours.
Nos clients témoignent (1)
Le formateur vous explique très bien.
Cosmin Simota - Serviciul de Telecomunicatii Speciale
Formation - Cloud computing essentials for managers / software engineers
Traduction automatique