Open Source et Microsoft Azure,
rêve ou réalité ?
²
Open Source et Microsoft Azure
Rêve ou réalité ?
Christophe Villeneuve
Consultant
AUSY
@hellosct1
²
Open Source et Microsoft Azure
Rêve ou réalité ?
Benjamin Talmard
CTO in residence
Microsoft Accelerator Paris
@benjiiim
startups
N° 4
OSS @ Microsoft
N° 6
https://octoverse.github.com/
OSS @ Microsoft
N° 7
Azure : une plateforme ouverte !
Applications
Clients
Infrastructure
Management
Databases &
Middleware
App Frameworks
La plateforme applicative Microsoft Azure
Services orientés plateforme
App
Service
Cloud
Services
Service
Fabric
Services d’infrastructure
Batch
Services applicatifs
SQL
Database
Redis
Cache
DocumentDB
Search
HDInsight
Stream
Analytics
Machine
Learning
Event
Hubs
Mobile
Engagement
Marketplace
Active
Directory
...
Application
Architecture type
Service de
recherche
Utilisateur Front Drupal
Base de
données
Architecture type
N° 11
Déploiement continu
Front Drupal
Service de
recherche
Utilisateur Front Drupal
Base de
données
Les dates importantes
2001 Drupal
2010 Drupal 7
2015 Drupal 8
- Objet
- Bundle Symfony
- YML / PSR
- Rendu avec Twig
- Direct. Multilangue
Drush = Drupal Shell
Pourquoi choisir Drupal ?
- CMS Open Source
- Nombreuses
récompensés
- Milliers d’extensions
- Répond aux besoins
fonctionnels
- Gestion des blocs
- Robustre
- …
Front Drupal
Choix sur Azure
Service de
recherche
Utilisateur Front Drupal
Base de
données
- Azure Virtual Machine
- Linux + Apache ?
- Linux + Nginx ?
- Windows + IIS ?
- Azure App Service
- Service de plateforme
- Windows + IIS
- Azure App Service sur Linux
- Service de plateforme
- Ubuntu + Apache
Démo
Déroulement (1/6)
Démo
Création et configuration de la Web
App Azure
Déroulement (2/6)
Démo
Configuration du déploiement
Déroulement (3/6)
Démo
Configuration du déploiement
Déroulement (4/6)
Démo
Création du projet et
de son repository Git
Déroulement (5/6)
Démo
Création et
modification du script
de déploiement
Déroulement (6/6)
Démo
Déploiement
Base de données
Choix sur Azure
Service de
recherche
Utilisateur Front Drupal
Base de
données
- Azure Virtual Machine
- MySQL ou MariaDB ?
- Machine seule ou cluster ?
- Services externes
- ClearDB Databases
- ClearDB Clusters
- Azure App Service MySQL in-app
- Pas de production
Base de données
MariaDB
Service de
recherche
Utilisateur Front Drupal
Base de
données
- Fork de MySQL (2009)
- Développer par le créateur de MySQL
- MariaDB 5.x <=> MySQL 5.x
- Fondation (2013)
- Adopté par les distributions linux
- NewSQL = MySQL + NoSQL
- Des storages engines : MariaDB 10.x
- TokuDB, SphinxSE, Connect, Spider…
- Simplifications
- Outils, DevOps, cluster, déploiement, HA…
- De nombreux contributeurs
- Facebook, Google, Taobao, Twitter, Galera…
MariaDB Galera Cluster
Base de données
MariaDB
Service de
recherche
Utilisateur Front Drupal
Base de
données
- Cluster = Grappes de serveurs (réseau)
- Base de données distribué dans un
cluster (MySQL-MariaDB-Percona)
- Solutions
- HA / Pas de perte de transactions /
Scalabilité
- Les plus :
- La réplication synchrone
- Multi-maitre
- Lecture / écriture à tout nœud de cluster
- Réplication parallèle
- Pas de décalage avec les esclaves (slave)
- Pas de transactions perdus
MariaDB Galera Cluster
Comment ça fonctionne ?
MariaDB Galera Cluster
- Galera Cluster
- Multi-maître
- Aucune configuration complexe et configuration
- Maintenance et un suivi simplifiée
- SeveralNines (en option)
- Haute disponibilité (HA)
- Equilibrage de la charge (Load Balancing)
- Application
- Robuste pour les applications critiques
- Innovente, rapide et Flexible (vos besoins)
- Disponibilité de déployer facilement
Comment ça fonctionne ?
MariaDB Galera Cluster & MaxScale
. Proxy intelligent
. Abstraction Layer
. Dév. des Apps plus rapidement
. Séparation Lectures/écritures,
routeur, filtre pare-feu…
. Modifier et réagir des requetes
à la volée = utile pour la perf., la
dispo…
. Sécurité
. Haute disponibilité
. Facilité la gestion du cluster,
Automatisation
Routage
. Extensibilité
.
Démo
Déroulement (1/4)
Démo
Installation
MariaDB Cluster
https://portal.azure.com
Source : https://mariadb.com/kb/en/mariadb-enterprise/mariadb-enterprise-cluster-in-azure-quick-guide/
Déroulement (2/4)
Démo
Obtenir un Token
https://mariadb.com/my_portal
Déroulement (3/4)
Démo
Déroulement (4/4)
Démo
Résultat du déploiement
Démo
Connection
MariaDB (Entreprise) Cluster & APPs Client
- Load balancer
Connection au nœud MaxScale
<clusterName>.<location>.cloudapp.azure.com
MariaDB Maxscale expose 3 services
- 1 RW de Split Router (readwritesplit) – port 4006
- 1 Ecrire Connection Router (Readconnroute au Nœud Master) – port
4007
- 1 Lire connection Routeur (readconroute au Nœud Slave) - Port 4008
Connection
À MariaDB (Entreprise) Cluster & MariaDB MaxScale
Service de recherche
ou de cache distribué ou de CDN ou de …
Service de
recherche
Utilisateur Front Drupal
Base de
données
- Azure Virtual Machine
- Elastic Search
- Solr
- Sphinx
- Services externes
- Algolia
- Azure Search
- Service managé
- Basé sur Elastic Search
Démo
Déroulement (1/2)
Démo
Création de l’instance
Déroulement (2/2)
Démo
Récupération des propriétés
de connexion
N° 38
Microsoft OSS
N° 39
@microsoftfrance @Technet_France @msdev_fr
N° 40
Notez cette session
Et tentez de gagner un Surface Book
Doublez votre chance en répondant aussi
au questionnaire de satisfaction globale
* Le règlement est disponible sur demande au commissariat général de l’exposition. Image non-contractuelle

Open Source et Microsoft Azure, rêve ou réalité ?

  • 1.
    Open Source etMicrosoft Azure, rêve ou réalité ?
  • 2.
    ² Open Source etMicrosoft Azure Rêve ou réalité ? Christophe Villeneuve Consultant AUSY @hellosct1
  • 3.
    ² Open Source etMicrosoft Azure Rêve ou réalité ? Benjamin Talmard CTO in residence Microsoft Accelerator Paris @benjiiim startups
  • 4.
  • 6.
    OSS @ Microsoft N°6 https://octoverse.github.com/
  • 7.
  • 8.
    Azure : uneplateforme ouverte ! Applications Clients Infrastructure Management Databases & Middleware App Frameworks
  • 9.
    La plateforme applicativeMicrosoft Azure Services orientés plateforme App Service Cloud Services Service Fabric Services d’infrastructure Batch Services applicatifs SQL Database Redis Cache DocumentDB Search HDInsight Stream Analytics Machine Learning Event Hubs Mobile Engagement Marketplace Active Directory ... Application
  • 10.
  • 11.
  • 12.
    Front Drupal Service de recherche UtilisateurFront Drupal Base de données Les dates importantes 2001 Drupal 2010 Drupal 7 2015 Drupal 8 - Objet - Bundle Symfony - YML / PSR - Rendu avec Twig - Direct. Multilangue Drush = Drupal Shell Pourquoi choisir Drupal ? - CMS Open Source - Nombreuses récompensés - Milliers d’extensions - Répond aux besoins fonctionnels - Gestion des blocs - Robustre - …
  • 13.
    Front Drupal Choix surAzure Service de recherche Utilisateur Front Drupal Base de données - Azure Virtual Machine - Linux + Apache ? - Linux + Nginx ? - Windows + IIS ? - Azure App Service - Service de plateforme - Windows + IIS - Azure App Service sur Linux - Service de plateforme - Ubuntu + Apache
  • 14.
  • 15.
    Déroulement (1/6) Démo Création etconfiguration de la Web App Azure
  • 16.
  • 17.
  • 18.
    Déroulement (4/6) Démo Création duprojet et de son repository Git
  • 19.
  • 20.
  • 21.
    Base de données Choixsur Azure Service de recherche Utilisateur Front Drupal Base de données - Azure Virtual Machine - MySQL ou MariaDB ? - Machine seule ou cluster ? - Services externes - ClearDB Databases - ClearDB Clusters - Azure App Service MySQL in-app - Pas de production
  • 22.
    Base de données MariaDB Servicede recherche Utilisateur Front Drupal Base de données - Fork de MySQL (2009) - Développer par le créateur de MySQL - MariaDB 5.x <=> MySQL 5.x - Fondation (2013) - Adopté par les distributions linux - NewSQL = MySQL + NoSQL - Des storages engines : MariaDB 10.x - TokuDB, SphinxSE, Connect, Spider… - Simplifications - Outils, DevOps, cluster, déploiement, HA… - De nombreux contributeurs - Facebook, Google, Taobao, Twitter, Galera… MariaDB Galera Cluster
  • 23.
    Base de données MariaDB Servicede recherche Utilisateur Front Drupal Base de données - Cluster = Grappes de serveurs (réseau) - Base de données distribué dans un cluster (MySQL-MariaDB-Percona) - Solutions - HA / Pas de perte de transactions / Scalabilité - Les plus : - La réplication synchrone - Multi-maitre - Lecture / écriture à tout nœud de cluster - Réplication parallèle - Pas de décalage avec les esclaves (slave) - Pas de transactions perdus MariaDB Galera Cluster
  • 24.
    Comment ça fonctionne? MariaDB Galera Cluster - Galera Cluster - Multi-maître - Aucune configuration complexe et configuration - Maintenance et un suivi simplifiée - SeveralNines (en option) - Haute disponibilité (HA) - Equilibrage de la charge (Load Balancing) - Application - Robuste pour les applications critiques - Innovente, rapide et Flexible (vos besoins) - Disponibilité de déployer facilement
  • 25.
    Comment ça fonctionne? MariaDB Galera Cluster & MaxScale . Proxy intelligent . Abstraction Layer . Dév. des Apps plus rapidement . Séparation Lectures/écritures, routeur, filtre pare-feu… . Modifier et réagir des requetes à la volée = utile pour la perf., la dispo… . Sécurité . Haute disponibilité . Facilité la gestion du cluster, Automatisation Routage . Extensibilité .
  • 26.
  • 27.
    Déroulement (1/4) Démo Installation MariaDB Cluster https://portal.azure.com Source: https://mariadb.com/kb/en/mariadb-enterprise/mariadb-enterprise-cluster-in-azure-quick-guide/
  • 28.
    Déroulement (2/4) Démo Obtenir unToken https://mariadb.com/my_portal
  • 29.
  • 30.
  • 31.
  • 32.
    Connection MariaDB (Entreprise) Cluster& APPs Client - Load balancer
  • 33.
    Connection au nœudMaxScale <clusterName>.<location>.cloudapp.azure.com MariaDB Maxscale expose 3 services - 1 RW de Split Router (readwritesplit) – port 4006 - 1 Ecrire Connection Router (Readconnroute au Nœud Master) – port 4007 - 1 Lire connection Routeur (readconroute au Nœud Slave) - Port 4008 Connection À MariaDB (Entreprise) Cluster & MariaDB MaxScale
  • 34.
    Service de recherche oude cache distribué ou de CDN ou de … Service de recherche Utilisateur Front Drupal Base de données - Azure Virtual Machine - Elastic Search - Solr - Sphinx - Services externes - Algolia - Azure Search - Service managé - Basé sur Elastic Search
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
    Notez cette session Ettentez de gagner un Surface Book Doublez votre chance en répondant aussi au questionnaire de satisfaction globale * Le règlement est disponible sur demande au commissariat général de l’exposition. Image non-contractuelle

Notes de l'éditeur

  • #5 Christophe : Souvenir des années 2008-2010 où Microsoft commençait à arriver et à proposer de sponsoriser des évènements => inquiétude des organisateurs… Mais il possédait l’étiquette d’un diable
  • #6 Christophe : aujourd'hui, contribution de Microsoft aux évènements, cela a changé et Microsoft est apprécié dans nos communautés… Microsoft et Linux ont appris à vivre ensemble
  • #7 Benjat Vous avez certainement vu cette slide, en provenance de GitHub. Concrètement, cela illustre qu’un certain nombre de projets sont directement gérés sur GitHub. Donc quand on parle d’Open Source chez Microsoft, cela commence par là : le nombre de projets directement gérés en Open Source
  • #8 Owner : benjat Et pour être très concret, voici quelques annonces de ces derniers mois : SQL Server sur Linux, choses inimaginable il y a encore quelques années. PowerShell, le shell de Windows adoré par les administrateurs Windows mais qui avait besoin d’un coup de pouce pour prendre de l’ampleur. Disponible maintenant sur Linux et en Open Source ! Et une annonce super importante pour les développeurs : l’intégration dans Windows 10 d’un sous système Ubuntu, qui permet de faire tourner des binaires linux dans Bash directement sur Windows. Contribution : Christophe sur Bash on Windows
  • #9 Benjat : pitch habituelle OSS et Azure
  • #10 Benjat : pitch habituelle plateforme Open Source
  • #11 Benjamin Prenons aujourd’hui l’exemple d’une architecture type, comme prétexte pour quelques démonstrations de l’intégration dans Azure de technologies Open Source
  • #12 Christophe sur le déploiement continu
  • #13 Christophe : parler de la première étape : Drupal
  • #14 Benjamin : expliquer les différentes façons d’hoster Drupal dans Azure
  • #15 Benjat Cleanup de la session Suppression du répertoire local Suppression du Resource Group   Préparation de la session : Dans Bash for Windows: Symfony new hellosf Visual Studio code ouvert dans ce répertoire Dossier "C:\Users\benjat\Desktop\demos\oss" ouvert Portail Azure ouvert Vérification http://drupalarchive.azurewebsites.net fonctionnel     Dans le portail Azure Création d'une nouvelle Web App en S3   Dans Bash, configuration de la solution Cd hellosf Git init Git add . Git commit -m "initial"   Dans le portail Azure Switch to PHP 5.6, activate Always On and deactivate Affinity cookie Activate Symfony prod with the following App setting: SYMFONY_ENV=prod Activate local git repository Copy the Git endpoint   Dans Bash, configuration du déploiement git remote add azure <Git URL> azure site deploymentscript --php -t bash   Dans Visual Studio Code Amélioration du script de déploiement en reprenant les éléments sur le bureau   Dans Bash Git add . Git commit - m "Update deployment script" Git push azure master   Dans le browser, aller sur http://symfonyexperiences.azurewebsites.net/ Constater qu'on a un problème de droit Aller sur web/app.php   Dans Visual Studio Code Créer le fichier web.config   Dans Bash, si le déploiement est terminé Git add . Git commit -m "Add web.config" git push azure master   Dans le portail Azure Montrer l'app service plan linux, la web app et browser
  • #16 christophe
  • #17 christophe
  • #18 christophe
  • #19 christophe
  • #20 christophe
  • #21 christophe
  • #22 Benjat
  • #23 Christophe
  • #24 Christophe Améliore la HA, But : Augmenter la disponibilité, Facile la montée en charge, Permet une répartition de la charge, Facilite la gestion des ressources (Proc, RAM, DD...)
  • #25 Christophe 1 graph avec du cluster et load balancer
  • #26 Christophe 1 graph avec du cluster et load balancer
  • #27 Christophe Démo de la mise en place d’un cluster MariaDB
  • #28 christophe
  • #29 christophe
  • #30 christophe
  • #31 christophe
  • #32 christophe
  • #33 christophe
  • #34 christophe
  • #35 Benjat
  • #36 Benjat Dans le portail Azure Création d'un tenant Azure Search dans le même ressource group Création d'un index products avec un field name Expliquer le fait qu'il y a ensuite 2 APIS : l'une pour l'indexation et l'autre pour la recherche Cliquer sur le lien documentation, dans "Documents sur les fonctionnalités" montrez Lucène
  • #37 christophe
  • #38 christophe