[Azure] Optimisation de vos chargement dans Azure Datawarehouse

Contexte :

Suite à la mise en place de données dans un projet Azure chez un client nous avons été confronté à des problèmes de performance lors de l’intégration des données dans notre Azure Datawarehouse

Afin de gagner du temps nous récupérons différentes interfaces sous format Csv que nous transformons en format .parquet

L’intérêt du format parquet est de gagner du temps lors de l’exploitation de ces différentes interfaces car le format parquet permet de structurer les données et de stocker les données de manière pré formaté.

Dans notre cas nous avons souhaité héberger ces données dans un service distribué comme Azure Data Lake.

Ce service est un service distribué qui permet de stocker les fichiers « formatés ». L’intérêt de ce système de stockage est de gagner du temps sur l’interrogation de ces fichiers car nous sommes sur un système distribué.

Lire la suite

[Azure] Installation d’une Gateway DataFactory

Contexte : Dans notre exercice nous essayons de réaliser une copie de données entre des données en local et Azure Data Lake store.
Pour réaliser ce transfert nous allons utiliser le service Azure Data Factory et nous avons besoins de réaliser une Gateway pour sécuriser les données entre notre machine local et notre Azure Data Lake Store.

Lire la suite

//Build 2017 Day1 – Sessions

Pour cette première journée j’ai participé à plusieurs sessions:

1- Bring your desktop apps to UWP and the Windows Store using the Desktop Bridge

Dans cette session on nous a expliqué le but du bridge => Créer un pont entre l’ancien App model de Windows qui existe depuis les premières versions de celui-ci et le nouveau App model qui existe depuis 2011/2012 avec Windows 8.

Avantages:

  • Simplicité
  • Pas d’élévations de droit lors de l’installation/utilisation
  • Installation sûre (qui ne va pas aller modifier les clés de registre par exemple)
  • Offrir la possibilité d’avoir des MAJ automatiques et différentielles
  • Ouverture à la monétisation simple (via le store)
  • ….

Le fonctionnement est assez simple, il faut fournir un MSI à l’outil, celui-ci va le convertir en APPX (Si la conversion ne marche pas, c’est qu’il faut changer du code qui n’est pas supporté (ou pas encore) par le Bridge)

Le Bridge est en constante évolution avec le support de plus en plus d’API: la règle est simple, toutes les API publiques – non cassées – sont ou seront supportées.

Les dernières nouveautés sont:

  • Support du préinstall
  • Objets com
  • Déclaration de règles firewall
  • Support du wack
  • Support des applications sans MSI (un .exe avec des dll)

La version complète d’office qui sera bientôt dans le store utilise ce même Bridge !

 

2- Bot capabilities, patterns and principles

Cette session est orientée sur les patterns qu’il faut/qu’il ne faut pas utiliser pour créer un bot, exemple :

  • A NE PAS FAIRE => un bot avec un seul dialog (1 question) qui utilise 100 LUIS intents (choses que le bot peut faire) avec 100 différents énoncés == 10000 diférentes choses que l’utilisateur peut dire (ET n possibilités non prévues)
  • A Faire => Guider l’utilisateur, avec des questions précises, avec une UI (questions avec des boutons de réponses)

3- Cortana skills development: Get started

Super nouveauté qui ouvre énormément de  possibilités . Malheureusement inutile en France pour l’instant, Cortana skills n’est disponible qu’aux USA et on a pas d’informations d’infos sur la date de disponibilité dans les autres pays.

Cortana skills permet de déployer des skills (l’équivalent d’un bot) directement dans Cortana (PC, téléphone ou autre device qui supporte Cortana)

Un skill c’est une « unité d’intelligence conversationnelle » qui aide les utilisateurs via un service, ou autrement un Bot qui utilise le channel Cortana (et donc l’UI de cortana) pour interagir et fournir de l’information à un utilisateur.

L’authentification avec un compte d’une organisation est possible, la récupération des données de l’utilisateur aussi (par le service/bot)

On a eu droit à deux démos :

  • Commande d’une pizza Domino’s (sans application installée sur le PC)
  • Recherche d’un collègue pour faire du code review (le bot va chercher de l’information avec Microsoft Graph => scénario avec l’authentification)

Ressources dispo ici

4- Snapshot debugging and profiling in Microsoft Azure: Next generation diagnostics for your in-production cloud apps 

Super session qui montre les futures fonctionnalités de Visual Studio/Azure (qui seront complètement ouverts en preview à la fin de l’été).

  • Snapshots

Cette nouvelle fonctionnalité d’Application Insights permet de prendre un snapshot de l’application en prod quand une exception se déclenche via la télémétrie.

On peut aussi via Visual Studio Enterprise avoir des snappoints ( l’équivalent d’un point d’arrêt mais pour faire un snapshot et non pas arrêter l’exécution du code) et des logpoints (qui nous permettent d’insérer des logs sans redéployer l’application ni écrire du code !)

Les snapshots sont téléchargeable et peuvent être rejoués dans Visual studio.

  • Application Insight Profiler

Outil pour analyser et améliorer les applications déployés dans Azure pour plus détails voir https://azure.microsoft.com/en-us/blog/app-insights-app-map-and-profiler/

//Build 2017 Day1

Cette année la build est de retour à la « maison » à Seattle. Avec @timothelariviere nous couveront les trois jours de la conférence.

Contrairement aux anciennes version de la //Build, cette année la première journée est consacrée à l’IA et Azure

Les annonces de la Keynote:

  • Quelques chiffres:
    • 500 millions de devices sous Windows 10 !
    • 100 millions d’utilisateurs actifs office 365
    • 12 millions d’organisations dans l’Azure Active Directory
    • 90% des TOP 500 entreprises utilisent le Cloud de Microsoft
  • Microsoft passe du Mobile First Cloud First au Intelligent Cloud/Intelligent Edge
  • Azure Iot Edge (fonctionne sur Windows/linux et les petits devices)
  • Plusieurs démos qui démontrent l’utilisation de l’IA : Workplace safety (analyse en temps réel de flux vidéos pour détecter les risques sur un chantier) , Intelligent meetings, Cortana …
  • Azure :
    • Cloud shell : CLI disponible directement dans la version Web (et app) d’azure, sans rien installé !
    • Azure mobile App dispo sous iOS et Android (la version UWP arrive bientôt)
    • Debug de la prod avec des snapshot (super feature)
    • MySQL et PostgresSQL as a service (grosse annonce)
    • Azure Cosmos DB
    • Azure Stack (l’extension d’azure pour avoir un « Azure en local »)
  • Visual Studio 2017 for mac passe en GA avec .Net Core 2.0 en preview !
  • Support des Azure Functions et des logic Apps dans VS 2017
  • Cognitive Services : 4 nouveaux services : Bing custom search, custom Vision Service, Custom Decision Service et Video indexer
  • Bots : Trois nouveaux canaux : Cortana Skills, Skype for Business (ENFIN !) et Bing.
  • AI translation for PowerPoint : plugin de traduction en live d’une présentation PowerPoint

Et pour finir, je vous laisse admirer cette vidéo =>

Création d’un cluster SQL SERVER 2016 dans Azure (IAAS)

Objectif :

L’objectif de ce blog est de vous présenter toutes étapes permettant de créer un système de haute disponibilité  SQL SERVER dans Azure

Voici un peu le détail de l’architecture :

1

Dans ce blog nous allons aborder les sujets suivants :

  • Création du réseau virtuel permettant aux machines de communiquer
  • Création des VM nécessaires à notre architecture
  • Installation des Contrôleurs de domaines depuis Azure
  • Préparation du cluster
  • Installation de SQL Server 2016 en mode cluster

Pré requis :

  • SQL SERVER 2016
  • Un compte Azure
  • 1 réseau virtuel
  • 4 machines Virtuelle :
  • 2 Contrôleurs de domaine (DC1 / DC 2) (Windows Server 2012 R2)
  • 2 machines SQL SERVER 2016 (Windows Server 2012 R2)
  • De l’huile de coude et un peu de bonnes volontés 🙂

Partie 1 : Création d’un réseau virtuel 

Afin que nos machines puissent communiquer nous allons créer un réseau virtuel :

2

3

Le reseau est créé :  4

Partie 2 :Création des 4 machines virtuelles nécessaires à notre configuration :

Dans le portail Azure il faut vous rendre dans l’onglet :

Machine Virtuelles :

5

Nous recherchons Windows Server 2012 R2 DATACENTER

6

Une fois la sélection faite nous allons choisir le type de machine pouvant héberger notre « labs » de test :

7

Dans notre cas j’ai choisis 2 machine A0 de base pour les machines Active Directory et 2 machines A1 de base pour les machines SQL Server.

Il est évident que pour des configurations de production ces machines seraient trop juste et risquerai d’être sous dimensionnée par rapport à vos besoins.

Suivant vos besoins vous être libre de choisir les machines qui se rapproche le plus de votre usage.

Voici le détail de création des machines, vous devez répliquer cette opération autant de fois que votre architecture le nécessite.

8

9

 

Partie 3 Installation du contrôleur de domaine :

Un fois la machine DC1 installée connectez vous en remote et installez l’active Directory :

Rendez vous dans Add Roles and Features sur le Serveur :

17.jpg

Choisissez le service Active Directory

14

Une fois installé rendez vous dans l’onglet active directory :

18

Une fois réalisé il faut promouvoir le controleur de domaine :

19

Votre Active Directory est créée

Il faut rajouter le DNS de la machine primaire a toutes les machines du réseau :

Rendez vous sur le portail azure et dans les paramètre de votre machine modifier le serveur DNS Mettez l’adresse du DNS principal comme celui de votre controleur de domaine que vous venez de créer :

22

Ajouter le DC2 en nouveau contrôleur de domaine sur le domaine :

24

Si vous avez besoin d’aide pour l’installation d’un contrôleur de domaine vous pouvez suivre les étapes suivantes :

http://www.windows8facile.fr/windows-server-2012-installer-active-directory-dns-dhcp/

Une fois votre active directory installé vous pouvez ajouter vos 2 machines SQL au Domaine.

N’oubliez pas d’ajouter le DNS secondaire a vos machine le DNS secondaire correspondant a l’adresse IP de la machine DC2.

23

 

Une fois les machines SQL relié on va préparer l’installation du cluster :

On va ajouter 2 disques qui nous permettrons de faire la réplication :

Dans le portail Azure réaliser l’étape suivante :

25

Le disque va s’ajouter sur la machine il faut le formater et le monter pour qu’il soit disponible :

Aller dans le computer management :

26

Ensuite Formater le volume et attribuez lui la lettre F comme lettre de montage :

 

Sur la machine nous allons installer le cluster

27

Sur la machine nous allons installer le cluster ( On retourne dans le menu Add Roles and Features )

28

En suite connecter vous au portail de configuration et effectuez les opérations suivantes :

29

Cliquer sur Validate Configuration et effectuer les opérations suivantes :

3031323334

Il faut en suite modifier les propriétés de l’adresse IP du Cluster :

35.jpg

Rendez-vous sur le DC1 ou DC2 et ajouter un répertoire qui va nous permettre de créer le Quorum du cluster :

C:\Quorum :

Ajouter les droits en lecture / Ecriture au cluster sur ce répertoire (le cluster étant un ordinateur)

1

 

2

Retourner sur la machine SQL1 et réaliser les actions suivantes :

3

 

476

Telechager DataKeeper qui est un outil qui va nous permettre de simuler le SAN d’hébergement de notre cluster et le miroir de stockage sur azure.

Datakeeper est disponible ici et peut être demandé en version de démonstration pour 14 jours.

Pour plus d’information : http://us.sios.com/products/datakeeper-cluster/

Installer Datakeeper et ajouter y votre licence :

8

Ouvrir l’outil Datakeeper et réaliser les actions suivantes :

Creer un job :

Connectez vous  aux deux serveurs SQL ( SQL1 et SQL2 )

910

Nommer le job comme vous le souhaitez.

Attention pour fonctionner DataKeeper necessite qu’un second disque soit monter pour réaliser le miroir ( action que nous avons réaliser précédement)

Içi nous allons « mirrorer » les disques F que nous avons monter précédements, ils permetteront d’heberger notre cluster :

1112

Nous allons creer un mirroir synchrone pour notre cas :

13

Une fois l’action réalisé DataKeeper nous informe que le volume est éligible au cluster cliquez sur oui :

 

14

Dans DataKeeper verifier que la synchronisation fonctionne bien :

 

15

Partie 4 :Installation de SQL Server 2016 :

Sur la machine SQL 1 :

16171819

Dans notre cas nous allons faire demarrer le service avec notre compte administrateur mais l’idéal est de creer un compte de service spécifique pour le demarrage des services

2021

En suite lancer l’installation suivante :

2223242526

On spécifie une IP pour le Cluster SQL Server

27

Ne pas oublier d’ajouter un administrateur

28

 

Rendez-vous sur la machine SQL2 :

313233343536

Votre cluster est prêt :

N’oubliez pas d’activer les ports distants pour accéder depuis l’extérieur a SQL Server  :

Et d’installer le management studio :

40

pour l’installer cliquer sur le liens suivant qui va vous envoyer sur une page web pour telecharger l’outil et l’installer :

39

Merci a Datakeeper pour leur aide dans l’élaboration de ce tutoriel :

Si vous avez besoins voici des liens utiles :

Creating a SQL Server 2014 AlwaysOn Failover Cluster (FCI) Instance in Windows Azure IaaS #Azure #Cloud

https://azure.microsoft.com/fr-fr/documentation/articles/active-directory-new-forest-virtual-machine/

https://channel9.msdn.com/Series/Windows-Azure-IT-Pro-IaaS/05

https://azure.microsoft.com/fr-fr/documentation/articles/active-directory-install-replica-active-directory-domain-controller/

https://blogs.technet.microsoft.com/askcore/2015/06/24/windows-server-failover-cluster-on-azure-iaas-vm-part-1-storage/

https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-windows-classic-portal-sql-alwayson-availability-groups/

Bon courage.

Julien PIERRE                                                                                                                                       Consultant MSBI

 

 

 

 

 

Nouveautés de SQL Server 2016 et POWER BI

Nouveautés de SQL Server 2016

Stretch Database.

Stretch Database permet d’archiver les tables contenant des données historiques. Par exemple une table des commandes (Order) contient des données récentes et des données plus anciennes. L’idée est de conserver les commandes récentes dans la base locale et d’archiver les commandes plus anciennes dans Azure et ce de manière totalement transparente. SQL Server se débrouille pour déplacer les données automatiquement et charger les données de la base locale et distante de manière transparente. Stretch Database migre l’intégralité de la table vers Azure. Lire la suite