SlideShare une entreprise Scribd logo
1  sur  20
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 : 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/
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
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/
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
 Echec du déploiement
 Pas de rollback possible
http://geeklearning.io/a-successful-azure-web-app-deployment-process/
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
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
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’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
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
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
Azure SQL Database Restore
 Récupère la dernière sauvegarde
Point in Time
 Sauvegarde automatique SQL Azure
 Restaure la base de données
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
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
Q&A
Merci !
Adrien Siffermann
adrien@siffermann.me - @asiffermann - http://geeklearning.io

Contenu connexe

Tendances

Puppet, la philosophie DevOps
Puppet, la philosophie DevOpsPuppet, la philosophie DevOps
Puppet, la philosophie DevOpsJeoffrey Bauvin
 
De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013Stephane Manciot
 
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuDéveloppement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuAhmed Archive
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA Cellenza
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE
 
SUSE OpenStack Cloud 7
SUSE OpenStack Cloud 7SUSE OpenStack Cloud 7
SUSE OpenStack Cloud 7SUSE
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...TelecomValley
 
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec DockerLuis Lopez
 
SUSE Expert Days Paris 2018 - SUSE Openstack Cloud
SUSE Expert Days Paris 2018 - SUSE Openstack CloudSUSE Expert Days Paris 2018 - SUSE Openstack Cloud
SUSE Expert Days Paris 2018 - SUSE Openstack CloudSUSE
 
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Cédric Leblond
 
Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...
Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...
Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...TelecomValley
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?Membré Guillaume
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation ConteneurisationTADx
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC Cellenza
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.ioNicolas Hennion
 
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Fabien Arcellier
 

Tendances (19)

Puppet, la philosophie DevOps
Puppet, la philosophie DevOpsPuppet, la philosophie DevOps
Puppet, la philosophie DevOps
 
De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013
 
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuDéveloppement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA
 
SUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSPSUSE Expert Days Paris 2018 – CaaSP
SUSE Expert Days Paris 2018 – CaaSP
 
SUSE OpenStack Cloud 7
SUSE OpenStack Cloud 7SUSE OpenStack Cloud 7
SUSE OpenStack Cloud 7
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
 
Démo puppet et état du projet
Démo puppet et état du projetDémo puppet et état du projet
Démo puppet et état du projet
 
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des SystèmesSUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
SUSE Expert Days Paris 2018 – Sécurité et Gestion des Systèmes
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 
SUSE Expert Days Paris 2018 - SUSE Openstack Cloud
SUSE Expert Days Paris 2018 - SUSE Openstack CloudSUSE Expert Days Paris 2018 - SUSE Openstack Cloud
SUSE Expert Days Paris 2018 - SUSE Openstack Cloud
 
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
 
Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...
Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...
Soirée du Test Logiciel - Présentation du Lab de test Orange - V. BARON, Soge...
 
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC 02 - [ASP.NET Core] ASP.NET Core MVC
02 - [ASP.NET Core] ASP.NET Core MVC
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
 

En vedette

Conférence Letsignit Microsoft Experiences 2016
Conférence Letsignit Microsoft Experiences 2016Conférence Letsignit Microsoft Experiences 2016
Conférence Letsignit Microsoft Experiences 2016Anne-Sophie Germain
 
Julien Corioland - Keynote - Global Azure Bootcamp 2016 Paris
Julien Corioland - Keynote - Global Azure Bootcamp 2016 ParisJulien Corioland - Keynote - Global Azure Bootcamp 2016 Paris
Julien Corioland - Keynote - Global Azure Bootcamp 2016 ParisAZUG FR
 
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 ParisEstelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 ParisAZUG FR
 
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...AZUG FR
 
Cas usages letsignit
Cas usages letsignitCas usages letsignit
Cas usages letsignitcrochemib
 
London CD - Continuous Delivery vs Copious Regulation
London CD - Continuous Delivery vs Copious RegulationLondon CD - Continuous Delivery vs Copious Regulation
London CD - Continuous Delivery vs Copious RegulationIan Watson
 
MSEXP : Monitoring et sécurisation des identités Azure
MSEXP : Monitoring et sécurisation des identités AzureMSEXP : Monitoring et sécurisation des identités Azure
MSEXP : Monitoring et sécurisation des identités AzureMickaelLOPES91
 
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc BouchoCellenza
 
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamObjet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamthavo001
 
Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...
Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...
Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...Joris Faure
 
Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?Christophe Villeneuve
 

En vedette (17)

Trio profile
Trio profileTrio profile
Trio profile
 
Conférence Letsignit Microsoft Experiences 2016
Conférence Letsignit Microsoft Experiences 2016Conférence Letsignit Microsoft Experiences 2016
Conférence Letsignit Microsoft Experiences 2016
 
Glädjestrategin som förändrade liv
Glädjestrategin som förändrade livGlädjestrategin som förändrade liv
Glädjestrategin som förändrade liv
 
KOC
KOCKOC
KOC
 
Livro 3 ingles
Livro 3   inglesLivro 3   ingles
Livro 3 ingles
 
Julien Corioland - Keynote - Global Azure Bootcamp 2016 Paris
Julien Corioland - Keynote - Global Azure Bootcamp 2016 ParisJulien Corioland - Keynote - Global Azure Bootcamp 2016 Paris
Julien Corioland - Keynote - Global Azure Bootcamp 2016 Paris
 
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 ParisEstelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
 
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
J.L. Boucho, J.Corioland - Azure et les Microservices - Global Azure Bootcamp...
 
Cas usages letsignit
Cas usages letsignitCas usages letsignit
Cas usages letsignit
 
London CD - Continuous Delivery vs Copious Regulation
London CD - Continuous Delivery vs Copious RegulationLondon CD - Continuous Delivery vs Copious Regulation
London CD - Continuous Delivery vs Copious Regulation
 
Desarrollo
DesarrolloDesarrollo
Desarrollo
 
Blog de imformatica
Blog de imformaticaBlog de imformatica
Blog de imformatica
 
MSEXP : Monitoring et sécurisation des identités Azure
MSEXP : Monitoring et sécurisation des identités AzureMSEXP : Monitoring et sécurisation des identités Azure
MSEXP : Monitoring et sécurisation des identités Azure
 
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho[GAB2016] Azure et les Microservices - Jean-Luc Boucho
[GAB2016] Azure et les Microservices - Jean-Luc Boucho
 
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekhamObjet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
Objet direct seminaire_windows_azure_lyon_15_octobre_2013_vincent_thavonekham
 
Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...
Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...
Office 365 hybride, et si on parlait retour d’expériences ! - Global Azure Bo...
 
Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?Open source et microsoft azure reve ou realite ?
Open source et microsoft azure reve ou realite ?
 

Similaire à Déploiement dans Azure depuis VSTS

Esupdays 19 : Packaging Esup Cas
Esupdays 19 : Packaging Esup Cas Esupdays 19 : Packaging Esup Cas
Esupdays 19 : Packaging Esup Cas Ludovic A
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Julien Dubois
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsAZUG FR
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteMicrosoft
 
Java dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASJava dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASGuillaume Sauthier
 
Sql saturday 323 paris 2014 azure migration iaas et paas
Sql saturday 323 paris 2014   azure migration iaas et paasSql saturday 323 paris 2014   azure migration iaas et paas
Sql saturday 323 paris 2014 azure migration iaas et paasChristophe Laporte
 
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...Microsoft Technet France
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...PimpMySharePoint
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versiongoldoraf
 
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans AzureSQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans AzureGUSS
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...vlabatut
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?benjguin
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloudstefounet
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache MavenArnaud Héritier
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...vlabatut
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasMicrosoft
 

Similaire à Déploiement dans Azure depuis VSTS (20)

Esupdays 19 : Packaging Esup Cas
Esupdays 19 : Packaging Esup Cas Esupdays 19 : Packaging Esup Cas
Esupdays 19 : Packaging Esup Cas
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
 
Cedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure DevopsCedric leblond migrer jenkins AWS vers Azure Devops
Cedric leblond migrer jenkins AWS vers Azure Devops
 
Starter Kits
Starter KitsStarter Kits
Starter Kits
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
Java dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnASJava dans Windows Azure, l'exemple de JOnAS
Java dans Windows Azure, l'exemple de JOnAS
 
[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker
 
Sql saturday 323 paris 2014 azure migration iaas et paas
Sql saturday 323 paris 2014   azure migration iaas et paasSql saturday 323 paris 2014   azure migration iaas et paas
Sql saturday 323 paris 2014 azure migration iaas et paas
 
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Git ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de versionGit ou le renouveau du contrôle de version
Git ou le renouveau du contrôle de version
 
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans AzureSQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
SQLSaturday Paris 2014 - Et hop, ma base migre dans Azure
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
 
Présentation1
Présentation1Présentation1
Présentation1
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 

Plus de AZUG FR

I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)AZUG FR
 
Packer, Terraform, Ansible avec Azure
Packer, Terraform, Ansible avec AzurePacker, Terraform, Ansible avec Azure
Packer, Terraform, Ansible avec AzureAZUG FR
 
Tester avant de déployer ; comment tester ses déploiements ARM.
Tester avant de déployer ; comment tester ses déploiements ARM.Tester avant de déployer ; comment tester ses déploiements ARM.
Tester avant de déployer ; comment tester ses déploiements ARM.AZUG FR
 
Dev & run d'un site marchant dans Azure
Dev & run d'un site marchant dans AzureDev & run d'un site marchant dans Azure
Dev & run d'un site marchant dans AzureAZUG FR
 
Azure DNS Privé
Azure DNS PrivéAzure DNS Privé
Azure DNS PrivéAZUG FR
 
Meetup AZUG FR @ IdeaStudio - 5 Février 2019
Meetup AZUG FR @ IdeaStudio - 5 Février 2019Meetup AZUG FR @ IdeaStudio - 5 Février 2019
Meetup AZUG FR @ IdeaStudio - 5 Février 2019AZUG FR
 
Ignite 2018 - Nouveautés governance et management (Manon Pernin)
Ignite 2018 - Nouveautés governance et management (Manon Pernin)Ignite 2018 - Nouveautés governance et management (Manon Pernin)
Ignite 2018 - Nouveautés governance et management (Manon Pernin)AZUG FR
 
Ignite 2018 - Nouveauté stockage (Didier Esteves)
Ignite 2018 - Nouveauté stockage (Didier Esteves)Ignite 2018 - Nouveauté stockage (Didier Esteves)
Ignite 2018 - Nouveauté stockage (Didier Esteves)AZUG FR
 
Ignite 2018 - Coups de coeur (Benoit Sautiere)
Ignite 2018 - Coups de coeur (Benoit Sautiere)Ignite 2018 - Coups de coeur (Benoit Sautiere)
Ignite 2018 - Coups de coeur (Benoit Sautiere)AZUG FR
 
Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)
Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)
Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)AZUG FR
 
GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...
GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...
GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...AZUG FR
 
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data! par Guillaume...
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data!  par Guillaume...GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data!  par Guillaume...
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data! par Guillaume...AZUG FR
 
GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...
GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...
GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...AZUG FR
 
Meetup AZUG FR Dec 2017 @ Arolla
Meetup AZUG FR Dec 2017 @ ArollaMeetup AZUG FR Dec 2017 @ Arolla
Meetup AZUG FR Dec 2017 @ ArollaAZUG FR
 
Meetup AZUG FR Oct 2017 @ Cellenza
Meetup AZUG FR Oct 2017 @ CellenzaMeetup AZUG FR Oct 2017 @ Cellenza
Meetup AZUG FR Oct 2017 @ CellenzaAZUG FR
 
Analysez vos textes avec Cognitive Services
Analysez vos textes avec Cognitive ServicesAnalysez vos textes avec Cognitive Services
Analysez vos textes avec Cognitive ServicesAZUG FR
 
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...AZUG FR
 
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor LeontievGab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor LeontievAZUG FR
 
GAB 2017 PARIS - IoT Azure - Aymeric Weinbach
GAB 2017 PARIS - IoT Azure - Aymeric WeinbachGAB 2017 PARIS - IoT Azure - Aymeric Weinbach
GAB 2017 PARIS - IoT Azure - Aymeric WeinbachAZUG FR
 
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...AZUG FR
 

Plus de AZUG FR (20)

I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)I want my model to be deployed ! (another story of MLOps)
I want my model to be deployed ! (another story of MLOps)
 
Packer, Terraform, Ansible avec Azure
Packer, Terraform, Ansible avec AzurePacker, Terraform, Ansible avec Azure
Packer, Terraform, Ansible avec Azure
 
Tester avant de déployer ; comment tester ses déploiements ARM.
Tester avant de déployer ; comment tester ses déploiements ARM.Tester avant de déployer ; comment tester ses déploiements ARM.
Tester avant de déployer ; comment tester ses déploiements ARM.
 
Dev & run d'un site marchant dans Azure
Dev & run d'un site marchant dans AzureDev & run d'un site marchant dans Azure
Dev & run d'un site marchant dans Azure
 
Azure DNS Privé
Azure DNS PrivéAzure DNS Privé
Azure DNS Privé
 
Meetup AZUG FR @ IdeaStudio - 5 Février 2019
Meetup AZUG FR @ IdeaStudio - 5 Février 2019Meetup AZUG FR @ IdeaStudio - 5 Février 2019
Meetup AZUG FR @ IdeaStudio - 5 Février 2019
 
Ignite 2018 - Nouveautés governance et management (Manon Pernin)
Ignite 2018 - Nouveautés governance et management (Manon Pernin)Ignite 2018 - Nouveautés governance et management (Manon Pernin)
Ignite 2018 - Nouveautés governance et management (Manon Pernin)
 
Ignite 2018 - Nouveauté stockage (Didier Esteves)
Ignite 2018 - Nouveauté stockage (Didier Esteves)Ignite 2018 - Nouveauté stockage (Didier Esteves)
Ignite 2018 - Nouveauté stockage (Didier Esteves)
 
Ignite 2018 - Coups de coeur (Benoit Sautiere)
Ignite 2018 - Coups de coeur (Benoit Sautiere)Ignite 2018 - Coups de coeur (Benoit Sautiere)
Ignite 2018 - Coups de coeur (Benoit Sautiere)
 
Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)
Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)
Ignite 2018 - nouveautés sécurité et réseau (Laurent Yin)
 
GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...
GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...
GAB 2018 PARIS - Enrichir vos applications avec Azure AI services par Houssem...
 
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data! par Guillaume...
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data!  par Guillaume...GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data!  par Guillaume...
GAB 2018 PARIS - Mettez un peu de CI/CD dans vos projets data! par Guillaume...
 
GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...
GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...
GAB 2018 PARIS - Gouvernance Azure, comment éviter les écueils par Benoît Sau...
 
Meetup AZUG FR Dec 2017 @ Arolla
Meetup AZUG FR Dec 2017 @ ArollaMeetup AZUG FR Dec 2017 @ Arolla
Meetup AZUG FR Dec 2017 @ Arolla
 
Meetup AZUG FR Oct 2017 @ Cellenza
Meetup AZUG FR Oct 2017 @ CellenzaMeetup AZUG FR Oct 2017 @ Cellenza
Meetup AZUG FR Oct 2017 @ Cellenza
 
Analysez vos textes avec Cognitive Services
Analysez vos textes avec Cognitive ServicesAnalysez vos textes avec Cognitive Services
Analysez vos textes avec Cognitive Services
 
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
 
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor LeontievGab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
Gab17 lyon - Blockchain as a service dans Azure by Igor Leontiev
 
GAB 2017 PARIS - IoT Azure - Aymeric Weinbach
GAB 2017 PARIS - IoT Azure - Aymeric WeinbachGAB 2017 PARIS - IoT Azure - Aymeric Weinbach
GAB 2017 PARIS - IoT Azure - Aymeric Weinbach
 
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
GAB 2017 PARIS - Tester la sécurité de vos annuaires Active Directory et Azur...
 

Déploiement dans Azure depuis VSTS

  • 1. Déploiement dans Azure depuis VSTS Adrien Siffermann @asiffermann 15/09/2016 - Inspiré de faits réels
  • 2. Qu’est ce qu’on déploit ?
  • 3. Une application (très) simple  Un projet ASP.NET Core  Un projet de base de données (SSDT)
  • 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. 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. 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/
  • 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. 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. 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. Et la base de données ?
  • 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. 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. 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. 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. 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. 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. Q&A
  • 20. Merci ! Adrien Siffermann adrien@siffermann.me - @asiffermann - http://geeklearning.io

Notes de l'éditeur

  1. 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