# A single nova instance
# Configure the OpenStack Provider
provider "openstack" {
user_name = "MyName"
tenant_name = "MyTenant"
password = "MyPwd"
auth_url = "http://myauthurl:5000/v2.0"
region = "RegionOne"
}
resource "openstack_compute_instance_v2" "MonInstance" {
name = "MonInstance"
count = "1"
image_name = ""
flavor_name = "${var.flavor}"
key_pair = "MaCleSSh"
}
Agilité et CI/CD appliquées à l'infra
Style de code
Vérification de la syntaxe
Tests unitaires
Tests d'intégration
Tests fonctionnels de bout en bout
Tolérance aux pannes
Notion de résilience
Load balancers
Floating IPs
Groupes de serveurs stateless
Healthchecks
Mise à l'échelle / élasticité horizontale
Groupe d’instances similaires, autoscaling group
Nombre d’instances variable
Scaling automatique en fonction de métriques
Supervision
Prendre en compte le cycle de vie des instances : DOWN != ALERT
Monitorer les services plutôt que les serveurs
Oublier les adresses IP ! Exposer un web service
Prévoir un healthcheck fonctionnel (use case "métier")
Backup, PCA
Infrastructure : être capable de reconstruire n'importe quel environnement à tout moment
Données (de l'application, logs) : utiliser les modes de stockage bloc (volumes) et objet (dossiers)
Gérer ses images
Utilisation d’images génériques et personnalisation à l’instanciation (cloud-init)
Création d’images offline :
from scratch : diskimage-builder (TripleO)
from scratch avec des outils spécifiques aux distributions (openstack-debian-images pour Debian)
modifiées avec libguestfs, virt-builder, virt-sysprep
Création d’images via une instance :
automatisation possible avec Packer, Terraform, le CLI ou les API du IaaS
Golden images
Adapter le Métier et l'Organisation
Impacts sur les métiers
l'Architecte
l'Intégrateur
l'Administrateur système
l'Administrateur de base de données
Retours d'expériences
Convergence de métiers existants : architecte // intégrateur
doivent se comprendre et collaborer
Apparition d'un nouveau métier : développeur d'infra
Pilotage projet : doit être traité comme un développeur d'application en termes de budget, de compétences requises et d'organisation.
Repenser l'organisation
Adapter l'organisation sans tout chambouler
Une dose d'agilité
Amélioration continue et approche itérative
Conclusion best practices
Le cocktail gagnant
Nécessité d'adapter ses pratiques et ses compétences pour tirer tous les bénéfices attendus d'une migration vers le Cloud. Sinon, risque de ne pas répondre aux attentes et/ou de se contenter d'un cas d'usage « test & dev ».
Application cloud ready (https://12factor.net)
Infrastructure as Code
Passage à l'échelle (scaling)
pets vs cattle
horizontal plutôt que vertical
L'application prend elle-même en charge sa haute disponibilté
Approche et organisation DevOps
Les bénéfices
Infrastructures programmables → + souples que les schémas traditionnels et les workflows associés
MEP mécanisées et reproductibles → dédramatisées, donc + fréquentes, donc dédramatisées => cercle vertueux
Approche « zero admin » des serveurs en production → - d 'erreurs humaines, + de disponibilité des applications
Applications outillées : → exploitabilité industrielle prise en compte dès les phases poc/pilote.
Catalogue de composants → des équipes de développement qui créent + de valeur « métier »
Comment implémenter un service de Compute