Introduction
- Définitions. Cloud publics, privés, privés externalisés et Virtual Datacenter (VDC).
- Différences entre IaaS, PaaS et VDC.
- Rôle des API et SDK.
- Des API pour les offres PaaS ? Suffit-il juste de pousser un WAR ?
- Notions de CloudApp (Application Cloud) et CloudPlatform ("Plateforme Cloud").
- Introduction de l'offre AWS d'Amazon.
- Services de type IaaS et "IaaS étendu" ou PaaS.
Exercice
Questions-réponses sur le chapitre.
Les outils de base d'Amazon Web Services
- Présentation du SDK et des API (SOAP, REST).
- La console Amazon - que vous n'utiliserez plus trop ensuite, grâce à cette formation !
- Les outils de base pour EC2, S3 et SQS.
- EBS pour les volumes de stockage EC2.
- Le modèle de sécurité AWS (SecurityGroups, ...).
- Présentation d'Amazon IAM.
- Exemple de politiques de sécurité.
Exercice
Mise en oeuvre de AWS grâce à la console Web. Définition de différents profils et utilisateurs Amazon IAM avec des droits restreints.
Les coûts d'utilisation d'Amazon Web Services
- Le modèle des comptes Amazon.
- Notion de Consolidated Account.
- Modèle de coût. Quota d'utilisation gratuite.
- Facteurs les plus influents sur les coûts.
- Comprendre les informations de coûts remontées par la console.
- Outils supplémentaires pour le suivi et l'analyse des coûts avec AWS.
Démonstration
Analyse de coûts. Présentation d'une solution de suivi des coûts et mise en place.
Les outils en ligne de commande des composants AWS
- Présentation des outils CLI dédiés aux composants EC2, ELB et RDS.
- Présentation de l'outil S3CMD.
- Mise en oeuvre de ces outils sous Linux.
Exercice
Création de scripts simples permettant de mettre en place l'infrastructure virtuelle d'une application.
Mise en oeuvre des composants AWS
- Présentation des possibilités des services EC2, S3, SQS, RDS.
- Présentation du modèle de programmation des services EC2, S3, SQS, RDS.
- Comment les applications Java peuvent-elles utiliser ces ressources ?
- Mise en oeuvre des composants Amazon AWS avancés.
- Présentation des possibilités des services VPC (Virtual Private Cloud) et de Beanstalk (Tomcat as a Service).
- Présentation du modèle de programmation des services VPC et de Beanstalk.
Exercice
Création de ressources virtuelles avec les services EC2, S3, SQS, RDS. Déploiement d'une application Java (pré-codée) faisant usage de ces ressources. Démonstrations de mise en oeuvre de composants AWS avancés.
Industrialisation et pratiques DevOps, instances "à base de rôle"
- Tout est virtuel, tout peut changer de manière invisible. Besoin de traçabilité, de répétabilité.
- Infrastructure as Code (IaC).
- Bonnes pratiques et outils disponibles.
- Définition et utilité des architectures Cloud avec des instances basées sur les rôles.
- Mécanisme Cloud-Init et notion de UserData.
Exercice
Définitions de scripts IaC structurés. Création de scripts exécutables sur plusieurs CloudPlatforms cibles. Exécution "tracée et contrôlée" des scripts. Ecriture de scripts IaC compatibles Dev. Test, Preprod et Prod. Poursuite des travaux en incluant la notion d'instances basées sur des rôles.
Création d'images Cloud AMI
- Les bases des images virtuelles.
- Créer des AMI avec Amazon.
- Intégration avec la Software Factory.
- Usine à création d'images en mode SaaS - CloudImageFactory.
Exercice
Création d'une image AMI AWS simple "à la main" puis création d'une image AMI à base de rôle grâce à Teevity CloudImageFactory.