Microsoft Azure Red Shirt Dev Tour : que faut-il retenir ? 1/2

Vous avez manqué le Microsoft Azure Red Shirt Dev Tour qui a eu lieu le Mardi 23 Janvier à Paris ?

Un article signé Romain Lasso, Référent Technique chez Exakis.

Voici un compte rendu de la plénière animée par Scott Guthrie. Cet évènement était avant tout à destination des développeurs Azure.

De nombreux sujets ont été présentés :

• Déploiement d’application Web dans un Azure App Service
• Déploiement d’une application Mobile avec Xamarin Live Player
• Mise en place d’une pipeline DevOps
• SQL Server 2017, SQL Database, Migration d’un server SQL On Premise vers une base de données managée par Azure (SQL Database)
• Présentation du service CosmosDB
• Le support des containers dans Azure
• Architecture ServerLess

Déploiement d’application web dans Azure App Service

Pour commencer, un rapide tour d’horizon des différentes méthodes de déploiement d’une application web sur un Azure App Service ont été présentées. L’accent a été mis sur la facilité qu’offre Azure pour automatiser les déploiements d’application web sur le Cloud.

Déploiement continu vers Azure App Service

Une 1ère démonstration de la fonctionnalité « Deployment Options », disponible sur le portal Azure, a introduit le concept d’automatisation du déploiement. L’application web était développée en NodeJS avec Visual Studio Code.

L’objectif étant de lier un dépôt de source Git à une application web hébergée sur un App Service. A chaque nouveau dépôt de code source sur le Git, un déploiement automatique de l’application web était effectué. Plusieurs dépôts de code source sont supportés (VSTS, GitHub, DropBox, Git local, Git externe…).

Note : Cette fonctionnalité est intéressante sur de petits projets ou POC. En revanche il est conseillé de créer une pipeline CI / CD (build, exécution de tests unitaires, lancement de scripts, mise à jour d’une base de données, gestion des releases par environnement…) sur de plus gros projets.

Continuous Delivery (Preview), le nouveau mode de déploiement Azure

Un nouveau mode de déploiement est disponible depuis le portail Azure « Continuous Delivery (Preview) ». Cette fonctionnalité est toujours en Preview. Si VSTS est utilisé en tant que dépôt de code source, cette fonctionnalité créée automatiquement une définition de Build et de Release. Ces dernières peuvent bien sûr être modifiées dans VSTS par la suite.

Cette démonstration a été suivi par une rapide présentation des options de scalabilité offerte par Azure. Deux modes de scalabilité : Manuelle et Automatique.

Une démonstration sur le déploiement d’une application Web .NET avec Visual Studio 2017 a ensuite été donnée. Rien de nouveau ici, publication d’une web application directement depuis Visual Studio 2017 avec l’option « Publish » en se basant sur un profil de publication.

Note : Ce type déploiement doit uniquement être utilisé pour déployer une application sur un environnement de Dev. Il est fortement recommandé de passer par une pipeline d’intégration / déploiement continue sur les environnements de QA / Prod… Le déploiement sur ces environnements ne doit pas être effectué depuis un poste de développement.

Pour clôturer cette partie, un rapide aperçu des slots de déploiement (Staging, Production…) a été donné. Cette fonctionnalité est très intéressante sur un environnement de production pour nous permettre de revenir à une version stable en cas de déploiement d’une nouvelle version non stable, ou encore pour faire de l’A/B Testing…

Développement d’applications Mobile

Booster le développement d’une Application Mobile avec Xamarin Live Player

L’environnement Microsoft sur le développement d’application Visual Studio 2017, Xamarin et App Center donne aujourd’hui une expérience de développement beaucoup plus riche qu’auparavant. Une démonstration a été faite sur l’outil Xamarin Live Player. Ce dernier permet de compiler, déployer et debugger une application mobile sur iPhone (ou Android) sans avoir un Mac à disposition.

Note : Cet outil est utilisé uniquement lors de la phase de développement de l’application mobile. Un mac reste toutefois nécessaire pour certaines tâches (signature, publication sur le store…)

Une fois le « Pairing process » entre Visual Studio et le Smartphone terminé, un développeur peut déployer son application sur iPhone directement depuis Visual Studio. L’expérience de Debugging est la même que sur émulateur : points d’arrêt, inspection de variables ou autres restent disponible.

La liste des limitations de Xamarin Live Player est disponible ici.

Xaml Live Previewing pour une interface graphique rapide

Une autre fonctionnalité intéressante de Xamarin Live Player est le « Xaml Live Previewing » pour Xamarin Forms. Avec le « Xaml Live Previewing » il est beaucoup plus rapide de créer l’interface graphique de l’application, le rendu est affiché en live sur le device sans avoir à redéployer l’application à chaque modification de l’écran. En savoir plus…

A la fin de cette session une introduction de Microsoft App Center a été faite. Microsoft App Center est la nouvelle plateforme « tout en un » pour le développement d’application mobile, il regroupe l’ensemble des outils nécessaire à la mise en place d’un process DevOps : Build, Test, Distribute, Crash Reporting, Push Notifications…

Petit tour d’horizon sur Dev Ops

Le terme Dev Ops est aujourd’hui devenu à la mode. Cette méthodologie simple dans sa définition reste toutefois compliquée à mettre en œuvre sur de vrais projets. Un tour d’horizon des différentes fonctionnalités de VSTS facilitant l’adoption de cette méthodologie a été présenté :

  • Définition du Backlog, Sprints, Areas…
  • Dashboard, Kanban Board
  • Création de branche directement depuis la plateforme à partir d’une feature / user stories
  • Plusieurs protocoles de contrôleur de source sont gérés (TFS, Git)
  • Git est utilisé dans quasiment tous les développements interne chez Microsoft
  • Amélioration de la gestion des Pull Requets, validation d’une pull request via l’exécution build automatisée.
  • Mise en place d’une pipeline d’Intégration Continue
  • Agent de build sur le Cloud (Windows / Linux) ou On Premise
  • Déclencheurs (Planifier, à la demande ou après chaque dépôt de code source)
  • Release Management
  • Gestion des environnements
  • Slots de déploiement
  • Workflow d’approbation
  • Gates
  • Configuration du déploiement continu directement depuis Azure
  • Support des Containers
  • Plugins disponibles sur la plupart des IDE (Visual Studio, VS Code, XCode, Eclipse…)

La semaine prochaine nous aborderons la partie cloud, à savoir, la Data, les Containers et un aperçu de l’architecture ServerLess dans Azure.

Actualités