Microsoft Azure Red Shirt Dev Tour : que faut-il retenir ? 2/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

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

• 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

Data

Une rapide présentation des nouvelles fonctionnalités de SQL Server 2017 a d’abord été faite :

  • Multi environnement : On Premise, IAAS, SQL Database, ou d’autres Cloud Provider
  • In Memory mode.
  • « Performance Recommandation », basée sur des recommandations en fonction de l’utilisation de la base de données.
  • SQL Attack Threat Detection.
  • Vulnerability Assessment (GDPR tooling support)
  • Dynamic Data Masking

Un nouveau service a ensuite été présenté plus en détail « Azure Database Migration Service » suivi d’une démonstration. Ce service permet la migration d’une Base de données SQL Server On Premise vers une base de données SQL Database sans interruption de service.

Microsoft conforte son positionnement « open-source » avec la mise à disposition des bases de données en mode PAAS : PostgreSQL As a Service et MySQL As a Service.

Avec l’arrivée de nouveaux usages et le développement d’applications distribuées ( IoT : Billions d’objets connectés, Mobile Apps : Millions d’utilisateurs ) qui sont déployées et utilisées dans le monde entier, un système de base de données distribuées est vite devenu un challenge.

Microsoft propose le service Azure Cosmos DB qui répond à cette problématique.

Les fonctionnalités majeures de Azure Cosmos DB présentées à cet évènement sont les suivantes :

  • Service de Base de Données distribuées globalement (à travers le monde entier)
  • Synchronisation des données en quasi temps réel entre les différentes régions
  • Base de données multi-modèle (Table, Document, Graph)
  • Liste des APIs Cosmos DB (MongoDB, DocumentDB, Table Storage, Gremlin Graph, Spark, Cassandra )
  • Scalabilité sur demande
  • Tarification en fonction des besoins de « compute » et de stockage
  • Haute disponibilité et Haute performance (Latency & Thoughput etc.)
  • Configuration du mode de consistance des données (strong / eventual) par base de données ou par opération.
  • Journalisation de toutes les opérations effectuées, ces opérations sont disponibles via le Change Feed d’une collection DocumentDB.
  • Forte intégration avec les autres services Azure : Azure Function (input / ouput), Azure Search etc.
    Exemple : Exécution automatique d’une Azure Function lorsque des opérations sur la CosmosDB sont effectuées.

Containers

Microsoft a fait un gros effort sur la mise à disposition de services PAAS pour le développement et la gestion d’applications « conteneurisées ».

Le déploiement et la gouvernance de conteneurs est maintenant plus rapide et sécurisée à l’aide d’orchestrateurs connue de la communauté (Docker, Kubernetee…) ou via une plateforme de conteneur entièrement managée par Microsoft (Azure Service Fabric).

Le support des containers est multiple dans Azure :

  • Azure Container Service (AKS)
  • Azure Service Fabric
  • Web Apps
  • Azure Batch

Une démonstration de l’intégration Docker dans l’environnement .NET avec Visual Studio 2017 a été présenté :

  • Création d’une application web ASP.NET Core
  • Activation du support Docker sur le projet (Windows ou Linux), Visual Studio créé automatiquement un fichier de configuration «.dockerfile ».
  • Lancement de l’application depuis Visual Studio en conservant la même expérience de debugging.

ServerLess

La plénière s’est terminée sur la partie ServerLess. Microsoft met en avant ces offres ServerLess / FAAS (Function As A Service) avec les services Azures tels que Azure Function ou encore Logic Apps. Avec la montée en puissance du cloud, de nouvelles architectures ont fait leur apparition.

L’architecture ServerLess change radicalement la façon de structurer un projet, nous n’avons plus un découpage par couche logicielle logique ou physique (architecture monolithique) mais par domaines métiers ou techniques décomposées en micro services. Le pattern de programmation « Event Based Pattern » est utilisé pour échanger des données en se basant sur le publication / réception d’évènements.

Note : Microsoft a publié un excellent article sur le Design et les considérations à prendre lors de la mise en place d’une architecture microservices dans Azure.

Même si le terme ServerLess n’est pas systématiquement lié à des Micro Services, ces deux types d’architectures se marient à merveille !

Quels sont les fonctionnalités présentées sur les Azure Functions ?

  • Plan de consommation dynamique – On paye uniquement pour les ressources consommées
  • Forte intégration avec les outils de développement, Visual Studio 2017 & VS Code
  • Support des pipelines d’intégration continue et déploiement continue VSTS.
  • 2 modes d’exécution d’une Azure Function : Scripts / Assembly Précompilée

Les systèmes de déclencheurs répondant à la plupart des besoins sont :

  • Appel via une requête HTTP – HTTP Trigger
  • Déclencher de façon périodique – Time Trigger
  • Réception d’un message IoT – EventHub Trigger
  • Workflow avancé avec l’intégration Logic Apps.
    Exemples : lors de la réception d’un Tweet avec le hastags #azureredtour ou lors de la mise à jour d’un enregistrement CRM
  • Lorsqu’une opération est effectuée sur une DocumentDB
  • Déclencher lorsqu’une action est effectuée sur un GitHub – GitHub Web Hook Trigger
  • La liste exhaustive est disponible ici.

Non présentées durant cet évènement, Les Durable Functions est une extension très intéressante permettant de simplifier la gestion d’état et l’orchestration d’un flux de travail dans un environnement ServerLess. 

Une démonstration sur la mise en place d’une architecture microservice à clôturer la plénière. Le cas d’utilisation était de décorréler le traitement d’un workflow d’approbation et de l’externaliser dans une Azure Function. Un portail web s’occupait de récupérer les inputs de l’utilisateur et de les sauvegarder en base de données (DocumentDB). L’ Azure Function déclenchée lors de l’ajout d’un enregistrement faisait appel aux APIs Cognitive Services (reconnaissance d’image) pour approuver l’ image téléchargée par un utilisateur

Si vous êtes intéressé par la mise en place d’une architecture ServerLess n’hésitez pas à vous inscrire au Webinear du 13 Février (19h-20h) « Building event-driven applications using serverless architectures » présenté par Microsoft.

Happy Cloud Coding !

Actualités