Déploiement dans Azure depuis VSTS
Adrien Siffermann
@asiffermann
15/09/2016 - Inspiré de faits réels
Qu’est ce qu’on déploit ?
Une application (très) simple
 Un projet ASP.NET Core
 Un projet de base de
données (SSDT)
GitFlow
 Isoler, suivre et valider les développements
 Deux branches principales
 Durée de vie infinie
 master : produ...
Environnements
 develop
 0.1.0-alpha.4
 Version de développement
Integration
« INT »
 release/* ou hotfix/*
 1.0.0-be...
Builds
 Toutes strictement identiques
 Utilisation des meta-tasks VSTS
 Version, Build, Package
 Artifacts :
 Un pack...
Découverte du projet VSTS
Bon… On déploit ?
Rien à faire ?
 Grande période d’indisponibilité
 Démarrage à froid
 Première requête très lente
 Fichiers verrouillés...
Blue-Green deployment
http://martinfowler.com/bliki/BlueGreenDeployment.html
 Deux environnements de production
identique...
Stop - Deploy - Start - Swap
 On arrête le slot dédié
 Fichiers verrouillés
 Déploiement sur le slot dédié
 On démarre...
Et la base de données ?
Database Snapshots
 Générer un état intermédiaire de déploiement
 Nouvelle colonne non-nullable
 Changement de type d’u...
Azure SQL Incremental Deployment
 Configuration identique
 Mini match
 Récupère la version déployée
de la base de donné...
Préproduction
 Restauration des données de production
 Récupération d’une sauvegarde récente
 Ajout de l’utilisateur SQ...
Azure SQL Database Restore
 Récupère la dernière sauvegarde
Point in Time
 Sauvegarde automatique SQL Azure
 Restaure l...
Azure SQL Execute Query
 Exécute un script SQL sur une
base de données SQL Azure
 Modes d’exécution :
 Fichier
 Inline...
A vos déploiements !
 Gratuites, Open Source, et maintenues !
 Plus de tâches à venir : AzCopy, …
 Visual Studio Market...
Q&A
Merci !
Adrien Siffermann
adrien@siffermann.me - @asiffermann - http://geeklearning.io
Prochain SlideShare
Chargement dans…5
×

Déploiement dans Azure depuis Visual Studio Team Services

195 vues

Publié le

Présentation d'un flux de déploiement d'une Azure WebApp et d'une base de données SQL Azure entièrement automatisé avec Visual Studio Team Services. Présentée dans le cadre du meetup AZUG FR du 15 septembre 2016.

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
195
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Gestion fiable du cycle de vie des applications
    Corrections à chaud, tout en préservant le cycle de développement
    Limite les collisions entre développeurs lors des itérations
    Conserve une agilité dans les développements
  • Déploiement dans Azure depuis Visual Studio Team Services

    1. 1. Déploiement dans Azure depuis VSTS Adrien Siffermann @asiffermann 15/09/2016 - Inspiré de faits réels
    2. 2. Qu’est ce qu’on déploit ?
    3. 3. Une application (très) simple  Un projet ASP.NET Core  Un projet de base de données (SSDT)
    4. 4. GitFlow  Isoler, suivre et valider les développements  Deux branches principales  Durée de vie infinie  master : production-ready  develop : intégration  Des branches de support  Durée de vie limitée  feature : développement en parallèle  release : préparation des livraisons  hotfix : corrections en production http://nvie.com/posts/a-successful-git-branching-model/
    5. 5. Environnements  develop  0.1.0-alpha.4  Version de développement Integration « INT »  release/* ou hotfix/*  1.0.0-beta.0  Version à tester Validation « VAL »  master  1.0.0+0  Données de production Preproduction « PRE »  Déploiement initié manuellementProduction « PRO » -Edge / -Val -Int -Val Edge / -Pre / -Pre -Pro Prod
    6. 6. Builds  Toutes strictement identiques  Utilisation des meta-tasks VSTS  Version, Build, Package  Artifacts :  Un package WebDeploy  Un ou plusieurs package DACPAC http://geeklearning.io/the-9-steps-to-deploy-your-aspnet-core-10-application-to-azure-from-vsts/
    7. 7. Découverte du projet VSTS
    8. 8. Bon… On déploit ?
    9. 9. Rien à faire ?  Grande période d’indisponibilité  Démarrage à froid  Première requête très lente  Fichiers verrouillés  Echec du déploiement  Pas de rollback possible http://geeklearning.io/a-successful-azure-web-app-deployment-process/
    10. 10. Blue-Green deployment http://martinfowler.com/bliki/BlueGreenDeployment.html  Deux environnements de production identiques  Un actif, servant tout le traffic  Un inactif, sur lequel on déploie la nouvelle version  On intervertit le routage  L’actif devient inactif, et inversement  Azure Web Apps Deployments Slots  Un slot dédié au déploiement par environnement
    11. 11. Stop - Deploy - Start - Swap  On arrête le slot dédié  Fichiers verrouillés  Déploiement sur le slot dédié  On démarre le slot dédié  Démarrage à froid  On intervertit le routage entre les deux slots
    12. 12. Et la base de données ?
    13. 13. Database Snapshots  Générer un état intermédiaire de déploiement  Nouvelle colonne non-nullable  Changement de type d’une clé primaire  Scripts de provisionning  Sur un environnement avancé, on peut avoir à déployer plusieurs DACPAC  Les snapshots  Le résultat de la compilation du projet  Ne pas déployer une version antérieure  Déployer les versions dans l’ordre
    14. 14. Azure SQL Incremental Deployment  Configuration identique  Mini match  Récupère la version déployée de la base de données ciblée  Déploie uniquement les DACPAC nécessaires, dans l’ordre de leur version  Enregistre la nouvelle version de la base de données
    15. 15. Préproduction  Restauration des données de production  Récupération d’une sauvegarde récente  Ajout de l’utilisateur SQL  Utilisateur dédié à cet environnement  Utilisé dans la ConnectionString  Exécuter un script SQL sur la base restaurée
    16. 16. Azure SQL Database Restore  Récupère la dernière sauvegarde Point in Time  Sauvegarde automatique SQL Azure  Restaure la base de données
    17. 17. Azure SQL Execute Query  Exécute un script SQL sur une base de données SQL Azure  Modes d’exécution :  Fichier  Inline  Script prédéfini  Variables SQLCMD  WorkingDirectory
    18. 18. A vos déploiements !  Gratuites, Open Source, et maintenues !  Plus de tâches à venir : AzCopy, …  Visual Studio MarketPlace  https://marketplace.visualstudio.com/items?itemName=geeklearningio.gl-vsts-tasks- azure  GitHub  https://github.com/geeklearningio/gl-vsts-tasks-azure  Blog  http://geeklearning.io  Toutes nos tâches de build & release VSTS  https://marketplace.visualstudio.com/search?term=publisher%3A"Geek%20Learning"&tar get=VSTS
    19. 19. Q&A
    20. 20. Merci ! Adrien Siffermann adrien@siffermann.me - @asiffermann - http://geeklearning.io

    ×