Azure SQL Edge – Synchronisation des données

Après avoir déployé Azure SQL Edge, j’ai profité des différents capteurs de température qui surveillent mon domicile pour intégrer des données dans une base créé spécifiquement sur mon instance SQL locale sur le Raspberry.

Pour aller à l’essentiel, j’ai installé un conteneur Node-Red sur un autre serveur Docker, mais j’aurais très bien pu réutiliser le moteur Moby du Raspberry hôte de ma solution Azure IoT.

Node-Red

Le but n’est pas d’expliquer en détail Node-Red, mais un petit overview est toujours intéressant, cela pourrait vous donner des idées ….

Node-Red est un outil de programmation basé sur des flux de données initié en 2013 par des employés d’IBM. Chacun des nœuds prends (ou pas, s’il s’agit de déclencheurs par exemple) des données en entrée, effectue une tâche, et potentiellement fournit un flux de données en sortie. N’hésitez pas à télécharger et à tester, cela peut fournir bien des services (qui a osé penser à l’appel de la solution de maintenance de OLA Hallengren pour des instances SQL Server Express ….).

Comme bien des projets open-source, chacun peut apporter sa contribution et développer ses propres nodes. Ainsi, si vous ne trouvez pas votre bonheur avec les composants installés par défaut, piochez dans le catalogue … C’est exactement ce que j’ai fait pour pouvoir communiquer avec mon instance Azure SQL Edge, j’ai ajouté un composant MSSQL.

Mon flux est donc extrêmement simple. Toutes les minutes, je récupère les valeurs des capteurs de température que j’insère dans la base SQL Server sur mon Raspberry.

Requêtes time-series

Une des fonctionnalités spécifiques de l’édition Edge de SQL Server est de pouvoir requêter simplement des données « groupées » par sous-ensembles au travers de la fonction SQL Date_Bucket. Cette fonction renvoie une Date Heure depuis le 1er janvier 1900.

Pour l’exemple suivant, j’ai opté pour des intervalles de temps de 10 minutes, alors que mes capteurs remontent des informations toutes les minutes.

Cela permet de lisser les données lorsque l’on n’a pas besoin d’informations très détaillée par exemple. Il est techniquement possible d’écrire une requête similaire, probablement au travers de la clause OVER, mais cela serait bien plus complexe. La fonction Date_Bucket permet de sélectionner un type d’intervalle (jour, semaine, heure, minute, seconde) mais également la portée de cet intervalle. Vraiment simple à utiliser.

Synchronisation des données vers Azure

Nous venons d’aborder le premier bénéfice de Azure SQL Edge avec sa capacité à exécuter des requêtes Time Series.

Nous allons maintenant aborder la synchronisation des données vers la base AzureSQLEdgeReplica hébergée en mode PaaS sur Azure (Single Database en mode basique pour cette démo). Azure SQL Edge peut faire office d’abonné dans une réplication transactionnelle en mode PUSH, mais cela ne sert à rien dans le cas présent puis qu’il est question de remonter des données dans une base sur Azure afin de l’exploiter hors site, pour du reporting par exemple.

Je créé également un utilisateur de base de données spécifique pour la synchronisation. Db_owner n’est pas vraiment nécessaire dans le cas présent, mais il s’agit que d’une démo.

Ne pouvant pas utiliser de mécanisme tel que le log shipping vers Azure SQL Database, ni la réplication (seulement en tant qu’abonné), Il faut alors se tourner vers le service Azure Data Sync.

La technologie se base sur des triggers afin de capturer les changements de données. Désolé, j’aurais préféré vous vendre quelque chose de plus sexy, mais ce n’est pas le cas.

Sur la base « destination », on va donc créer un groupe de synchronisation :

Lors de la création de ce groupe de synchronisation, je spécifie la base AzureDataSyncMetaData contenant les métadonnées nécessaires au fonctionnement de la solution.
Cette base a été créée pour un test précédent. Elle peut en effet servir à différents groupes de synchronisation.
Ensuite je spécifie la fréquence de synchronisation et le vainqueur en cas de conflit un peu comme une réplication de fusion en somme.

Une fois le groupe créé, il faut alors ajouter un membre (par rapport au modèle Hub And Spoke de Azure Data Sync). Dans notre cas, il s’agit d’ajouter l’instance Azure SQL Edge qui fonctionne sur le Raspberry Pi.

Si vous n’avez pas créé d’agent SQL Azure Data Sync, c’est le moment, sinon, vous pouvez utiliser un agent existant.

<Configuration de Microsoft SQL Data Sync>

Si vous n’avez pas encore créé votre agent, il faut :

  • Télécharger l’agent
  • Installer l’agent et fournir un login Windows lui permettant de s’exécuter
  • Sur le portail Azure : générer Azure une clé (toujours sur le même écran qui vous permet de créer un nouvel agent)
  • Sur l’application Agent SQL Data Sync : soumettre la clé copiée depuis le portail et fournir un Login SQL permettant de se connecter à la base Azure contenant les métadonnées (SQLDataSyncUser dans mon cas)
  • Sur l’application Agent SQL Data Sync : Enregistrer une connexion vers l’instance SQL Server que l’on souhaite synchroniser. Ici, il s’agit donc de Azure SQL Edge qui tourne sur le Raspberry

Une fois terminé, vous pouvez valider la connectivité avec le service de synchronisation sur Azure en cliquant sur Ping Sync Service.

</Configuration de Microsoft SQL Data Sync>

Sur le portail vous pouvez donc sélectionner l’agent de synchronisation ainsi qu’indiquer quel est le sens de synchronisation. Nous souhaitons pousser les données vers Azure, donc « To The hub » afin de recopier els données vers la base AzureSQLEdgeReplica.

A présent 2 bases sont répertoriées dans la topologie, la base SQL Azure et la base locale du Raspberry. Cliquer sur Tables afin d’ajouter les tables participant au process de synchronisation. Attention, contrainte de clé primaire obligatoire pour pouvoir synchroniser.

En fonction des données à remonter vers Azure et de l’intervalle de synchronisation choisi au niveau du sync group, vous devez voir arriver vos données sur Azure

Ce que nous pouvons vérifier au travers de SSMS

Les données sont à présent présentes sur Azure, prêtes à être exploitées.

Happy Azure SQL Edge !

Publié dans Azure, Containers, Docker, IoT, Linux, SQL Server | Tagué , | Laisser un commentaire

Cockpit – K8s scaling

Chose promise chose due … Le billet précédent faisait référence à une vidéo que j’avais faite en Aout 2019. Je l’ai retrouvée et publiée sur Youtube.

L’interface Cockpit, présent un service hébergé par un cluster 3 nœuds sous CentOS. Sur un écran non visible, en ligne de commande, je changeais le nombre de pods du replicaset. On voit donc les Pods qui s’agglutinent au service Kubernetes au fur et à mesure qu’ils sont jugés opérationnels par Kubernetes.

Publié dans Kubernetes, Linux | Tagué | Laisser un commentaire

Ubuntu – Installation de Cockpit

Si vous lisez quelques articles sur ce blog, il ne vous aura pas échappé que l’OS Linux est de plus en plus présent. Que ce soit pour le support de Docker ou bien de Kubernetes, ou même pour supporter directement SQL Server. Mes compétences et mon offre de service reste toujours focalisée sur SQL Server, mais en tant que consultant je me dois de connaitre les OS, les plateformes de virtualisation, les possibilités offertes par les Clouds public le plus populaires mais aussi toucher au matériel comme les serveurs et baie de disques afin de vous conseiller au mieux sur vos choix d’architecture.

Historiquement, Windows s’administrait de manière graphique, à la souris. Mais il était également possible d’effectuer des tâches d’administration en ligne de commande. J’avoue pour ma part utiliser de plus en plus de PowerShell, voire exclusivement du PowerShell pour certaines choses.

Linux, quant à lui, s’administre exclusivement en ligne de commande, même si pour le fun on peu monter une interface graphique. Je ne vais pas entrer dans des querelles de chapelles à savoir quelle distribution est la meilleure, ce n’est pas mon propos. Pour ma part, j’utilise volontiers du CentOS et de l’Ubuntu serveur, et en poste client Ubuntu desktop, Fedora. Je ne me permettrai pas de juger des capacités de l’une ou l’autre. Mon discours est simple. Chacun de mes clients à ses habitudes, ses compétences, je me plie donc à leur standard, tant qu’il respecte ce qui est supporté par SQL Server.

Revenons à nos moutons, ou plutôt à nos IHMs. Windows, vous connaissez. Le serveur Manager qui se lance automatiquement à l’ouverture de session (grrrrrr, je ne supporte pas et je désactive systématiquement). La console PowerShellISE, le gestionnaire de service, l’event viewer … Bref vous êtes en terrain connu.

Mais avez-vous remarqué cette fenêtre qui apparait, en fonction de la version de votre OS serveur ?

Je détaillerais l’installation dans un autre billet, mais, en 2 mots, une interface Web qui vous permet d’administrer votre serveur. Un « Must Have » si vous voulez mon avis. Et je trouve le graphisme particulièrement réussi.

Revenons maintenant à Linux. Depuis que SQL Server est supporté sur Linux, je me suis concocté une panoplie de scripts d’administration, en Bash ou en PowerShell puisqu’il est à présent possible d’installer les modules PowerShell sur Linux. Mais je souhaitais aussi retrouver une interface graphique qui me permette de vérifier les éléments de base sans avoir à me connecter en SSH et utiliser un HTOP ou autre.

Depuis des années j’utilise Cockpit, un projet sponsorisé par Red Hat, que ce soit sur Ubuntu ou CentOS.

Mon précédent billet parlait du déploiement de Azure SQL Edge sur un Raspberry Pi3 sous Ubuntu 18.04. Je n’avais encore jamais testé sur plateforme ARM, mais Cockpit fonctionne parfaitement. Les images Docker sont disponibles et fonctionnent parfaitement sur le runtime Moby.

L’installation se fait en quelques lignes de script :

sudo add-apt-repository universe

sudo apt-get update

sudo apt-get install cockpit cockpit-docker

Reste ensuite à se connecter à l’interface Web.
HTTP://[ip or DNS]:9090

Je ne vais pas forcément détailler tous les onglets, mais on peut ainsi superviser l’activité système (CPU, Stockage, Réseau, services, ..). Notez également, et c’est là un intérêt majeur, on peut voir les conteneurs qui s’exécutent sur l’OS (cela fonctionne même avec Kubernetes, il faut que je vous retrouve la vidéo faite il y a plusieurs mois lors d’une démo de Scaling d’un réplicaset …).

On retrouve les conteneurs créés précédemment. On peut également accéder au détail du conteneur, à la log, le stopper, le redémarrer, bref utile …

Happy Cockpit !

Publié dans Linux | Tagué | Laisser un commentaire

Azure SQL Edge – Déploiement sur Raspberry Pi3

Il y a quelques semaines j’ai au le plaisir d’animer un Webinar (de 4 heures  …) sur la modernisation de votre plateforme SQL Server. Tout le début de session était consacré à l’archéologie informatique et le retour sur les « vieilles » versions SQL Server. La genèse, les années 2000 et les versions actuelles, avec les nouvelles fonctionnalités apparues au fur et à mesure de l’évolution du produit.

Ensuite, il était fait la part belle au choix de la plateforme : Windows, Linux, Docker, Kubernetes … et bien sur toutes els possibilités offertes par Azure, autant en IaaS que PaaS.

Oui SQL Server est … partout. Ou presque ! On était sur plateforme x86, x64 et ia64 il y a presque 20 ans déjà. Mais pas de ARM ! Non, effectivement, il n’est pas possible à l’heure actuelle d’installer SQL Server pour linux sur un Raspberry (j’ai essayé … on n’est pas très loin, mais non).

Je devrais plutôt dire qu’il n’était pas possible d’installer SQL Server sur plateforme ARM. Car la sortie de l’édition Edge, encore en preview au moment où ce billet est écrit, de SQL Server va changer la donne.

Azure SQL Edge, what ?

Azure SQL Edge est une édition de SQL Server, à l’emprunte système extrêmement faible, pouvant s’exécuter sur plateforme ARM et Intel sur du matériel de type Raspberry ou équivalent (pas d’Arduino) en tant que conteneur. Elle offre des fonctionnalités son présentes dans les autres éditions SQL Server telles que le stockage et le traitement de données de type Time Series comme InfluxDB. Imaginez tout simplement les capteurs d’une chaine de production stockant toutes leurs mesures sur Azure SQL Edge. Vous pouvez requêter cette base de données en T-SQL ou bien produire des rapports de type PowerBI par exemple. Mais plus encore, SQL Edge vous permettra d’uploader vos données vers un Data Center Azure afin, par exemple, d’utiliser les services de Machine Learning et l’IA pour faire de la détection prévisionnelle de panne ou bien surveiller les métriques et être alertés en cas de déviance ou d’anomalies sur les données collectées.

Mais cela reste avant tout un « vrai » SQL Server avec tout ce que vous connaissez déjà : performance, sécurité, simplicité d’utilisation …

Ce billet se concentre sur le déploiement, on ne peut pas vraiment parer l’installation, de Azure SQL Edge. D’autres billets vont suivre pour les cas d’usage …

Installation de l’OS sur le Raspberry Pi

Mon bureau ressemble un peu à une caverne d’Alibaba, peuplé de construction en Lego, de drones, modèles réduits de voitures mythiques, vieux (et moins vieux) appareils photos, de voitures pilotées via Arduino (Uno et R3), de Raspberry Pi (2, 3 et 4) et d’autres gadgets aussi inutiles qu’indispensables. Facile donc de piocher dans cette réserve un bon vieux Raspberry Pi 3 B+ pourvu de 4 cores 1.4 Ghz et 1 GB de RAM. Je ne vous cache pas que 2GB de mémoire est quand même plus confortable. Le point crucial ici concerne le processeur qui doit nécessairement être en 64bits.

Je ne suis pas là pour vous faire un tutorial d’installation de Ubuntu sur Raspberry, mais sachez que c’est extrêmement simple.

Téléchargez l’image de Ubuntu 18.04 en 64Bits, ce point est crucial, le processeur et l’OS doivent être en 64Bits. J’ai testé avec une 20.04 mais tous les packages ne semblent pas disponibles chez Microsoft au moment où ce billet a été écrit. A l’aide de Rufus ou Win32DiskImager, rendez bootable une carte SD de 16GB minimum et … c’est tout !

Bootez le Raspberry PI 3 et connectez-vous (par défaut le user et le password sont ubuntu). Vous devez changer le mot de posse lors de votre première connexion. Attention, vous êtes en qwerty ….

Prenez le temps de renommer votre OS … Juste afin d’être plus propre.

sudo hostnamectl set-hostname UbuntuRPi3

sudo reboot

Cool, notre Raspberry est prêt à l’emploi.

Création de l’IoT Hub sur Azure

Il ne vous aura pas échappé que dans Azure SQL Edge, il y a … Azure ! On va donc créer des ressources au travers du portail.

Afin de pouvoir gérer les ressources de cette démo de manière indépendante, un groupe de ressource spécifique est créé.

Ensuite, il faut créer une ressource de type IoT Hub qui va permettre d’enrôler le Raspberry.

Vous pouvez accepter tous les paramètres par défaut des écrans suivants, du moins pour ce qui concerne cette prise en main.

Quelques minutes plus tard, votre Hub est prêt à l’emploi.

Il faut ensuite enregistrer le device, cliquer sur l’item IoT Edge et cliquer ensuite sur le bouton d’ajout :

Nommez votre device et enregistrez :

J’ai opé pour le même nom que celui donné au niveau HostName sur la configuration du Raspberry, mais je pense que ces valeurs peuvent différer sans pour autant poser de problème. Mais je trouve cela bien plus clair.

Afin d’installer l’IoT Edge runtime sur le Raspberry, nous devons récupérer la chaine de connexion, cliquer sur le nom du device que vous venez de créer :

Par défaut, pour éviter tout problème de sécurité, les chaines sont masquées à l’affichage, d’où la présence de pictogrammes pour visualiser le texte masqué.
Conservez la chaine de connexion, elle va servir plus tard….

Installation du runtime IoT Edge

On peut à présent retourner sur le Raspberry afin d’y installer le package nécessaire à l’exécution du runtime IoT Edge.

Quelques lignes de code afin de récupérer les informations du repository Microsoft et d’ajouter les clés publiques.

curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list

sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/

curl https://packages.microsoft.com/keys/microsoft.asc | gpg –dearmor > microsoft.gpg

sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/

sudo apt-get update

Si vous suivez ce Blog, ou bien si vous avez eu l’occasion de me suivre durant une session lors de SQL Saturday, ou bien lors de Webinar, il ne vous aura pas échappé que je fais assez souvent référence aux conteneurs, à Docker, à Kubernetes. En effet, la containerisation semble être la virtualisation 2.0. Et SQL Server s’accommode parfaitement de ce type de plateforme. SQL Server est supporté dans un conteneur depuis la version 2017 et SQL Server 2019 apporte le support de Kubernetes.

Azure SQL Edge va s’exécuter dans un conteneur, mais pour le coup il s’agit du moteur Moby et non pas Docker … Le nom vous est familier ? Possible …. Une VM Moby se cache derrière Docker Desktop.

sudo apt-get install –y moby-engine moby-cli

La proximité avec Docker est flagrante : les lignes de commande sont absolument similaires.

Une fois installé il faut alors installer IoT Edge qui va permettre au Raspberry de se connecter à Azure.

sudo apt-get install -y iotedge

Un message explicite nous invite à modifier le fichier de configuration afin d’y spécifier note chaine de connexion obtenue dans le portail Azure.

On édite le fichier et on localise la section adéquate :

sudo nano /etc/iotedge/config.yaml

Et on redémarre IoTEdge.

sudo systemctl restart iotedge

Attention à votre connexion internet qui doit autoriser l’accès à des ports spécifiques (5671 et 8883) vers Azure. Pour ma part, je filtre les connexions sortantes, et cela m’a occasionné quelques erreurs.

sudo iotedge check

Une fois utilisé un autre routeur sur lequel je filtre beaucoup moins, les problèmes de connexion ont disparus.

IoT Edge étant démarré, deux images sont présentes sur le Runtime Moby et l’IoT Edge Agent est bien démarré

On va pouvoir procéder au déploiement de SQL Server.

Déploiement de Azure SQL Edge

Il est à présent possible de télécharger l’image de SQL Server sur notre Raspberry. L’intérêt des solution IoT Azure est de pouvoir gérer le parc de devices, qui peuvent être très nombreux, depuis la console Azure. Le déploiement de SQL Server va se faire via le portail.

Dans le Marketplace, recherchez « Azure SQL Edge » et cliquer sur Créer.

Si tout s’est correctement déroulé depuis le début, vous devriez pouvoir rechercher votre Raspberry Pi en cliquant sur le bouton adéquat.

SQL Server reste SQL Server, y compris dans un conteneur. Or, lors de la création d’un conteneur à partir d’une image SQL Server, vous devez spécifier le mot de passe pour le compte SA au travers d’une variable d’environnement. En cliquant sur AzureSQLDatabaseEdge, une page de configuration spécifique vous est présentée afin de positionner vos variables d’environnement.

Vous pouvez valider et lancer le déploiement. Il n’y a plus qu’à patienter…. En fonction du débit de votre ligne internet.

Yesssssss, SQL Server semble fonctionner.

Et l’on peut confirmer cela au travers des images installées et des containers en cours d’exécution

Tout semble en ordre. Le port 1433 semble bien être redirigé vers le conteneur … Reste donc à tester via SSMS !

Yeeeaaaahhhh, tout fonctionne parfaitement. Azure SQL Edge est déployé sur un Raspberry Pi 3.

Il n’y a plus qu’à jouer avec cette nouvelle édition de SQL Server ….

Happy SQL Server on ARM !

Publié dans Azure, Containers, Docker, IoT, Linux, SQL Server | Tagué | 1 commentaire

Renouvèlement MVP

Heureux de faire partie un an de plus des MVP Data Platform.

Happy MVP day !

Publié dans CV | Tagué | Laisser un commentaire

Modernisation de votre plateforme SQL Server – Slides et démos

Je voudrais d’abord remercier tous les participants à cette matinée SQL Server qui a été particulièrement bien suivie malgré sa longueur … les plus courageux étaient encore présents après 4 heures de présentation …

Merci à Jean Glaudon, Microsoft Data & AI Sales Specialist, et Stéphane Papaix, Microsoft Cloud Solution Architect pour avoir enduré un retard certain pour leur prise de parole. Oups, désolé, soit il y avait trop de contenu, soit je parle trop ?
Merci enfin à Fabien Balny et Benoit Moussaron-Navarre, j’ai hâte de dépoussiérer les Expériences Labs après ces semaines de fermeture forcée …

Vous pouvez d’ores et déjà récupérer les slides et les démos sur mon OneDrive public ainsi que sur mon GitHub https://github.com/conseilit/Events/tree/master/Webinar%20202006%20-%20Modernisation%20de%20votre%20plateforme%20SQL%20Server

Le replay de l’évènement sera prochainement disponible.

Happy SQL Azure …

Publié dans Azure, SQL Azure, SQL Server | 1 commentaire

Webinar – Modernisation de votre plateforme SQL Server

« Winter is coming » comme disent nos amis anglophones !

Voire l’hiver est déjà là ! En effet, Windows 2008 (R2) et SQL Server 2008 (R2) ne disposent plus de support depuis … Juillet 2019. Presque un an déjà. Et je rencontre toujours ce type de plateforme lors de mes interventions chez mes clients. Il est plus que temps de migrer afin de rafraichir votre plateforme …

Alors, j’entends d’ici des voix s’élever comme quoi une migration c’est compliqué, cela prend du temps, cela coute cher … Je ne peux pas nier que cela demande un peu de travail. Mais il y a aussi de nombreux bénéfices à migrer : profiter de nouvelles fonctionnalités liées à la base de données.

Et se pose inévitablement la question de la plateforme : doit-on virtualiser SQL Server ? Doit-on privilégier une infrastructure OnPremise ou bien basculer la charge de travail sur un cloud Public tel que Microsoft Azure.

Accompagné par des intervenants Microsoft, je vous propose de passer une matinée ensemble afin de parler modernisation de votre plateforme SQL Server.

Windows, Linux, Docker, Kubernetes : quelles sont les solutions proposées pour moderniser votre plateforme SQL Server. De plus, Azure s’installe progressivement comme une extension de votre Datacenter. Comment tirer le meilleur parti du Cloud Microsoft pour SQL Server ?

Après un rappel historique, ce Webinar vous donnera un aperçu des opportunités d’hébergement OnPremise et Microsoft Azure.

Je vous donne donc rendez-vous le Vendredi 26 juin pour cette matinée destinée à la modernisation de la plateforme SQL Server. Aucune excuse pour louper ce Webinar, un vendredi matin il n’y a pas de mise en production !

Cet évènement est totalement gratuit !

Il suffit de vous inscrire à l’adresse suivante : https://www.eventbrite.com/e/matinee-sql-server-modernisation-de-la-plateforme-tickets-106346904454

Un lien pour vous connecter au Teams Live vous sera communiqué ultérieurement.

Happy Webinar !

Publié dans Azure, Non classé, SQL Azure, SQL Server | Laisser un commentaire

PowerSaturday 2020 en ligne – L’agenda

L’édition 2020 du #PowerSaturday se rapproche. Plus que quelques heures pour faire partie des 850+ inscrits à la conférence. Plus de 42 sessions et autant de speakers prêts à donner de leur temps pour vous transmettre leurs connaissances dans la bonne humeur. Oui c’est un Samedi, et si le seul attrait technique ne suffit pas, pensez au tirage au sort qui sera effectué en fin de journée … Que des beaux lots à gagner !

Alors, motivé ? Pour les inscriptions, cela se passe ici

D’un point de vue Agenda, j’aurais le plaisir d’aborder à 10h15 l’évolution de SQL Server au travers de Docker, Kubernetes pour terminer sur SQL Server 2019 Big Data Cluster.

See you on Saturday

Publié dans Conférence, Evènements, Kubernetes, Linux, SQL Server | Tagué , | Laisser un commentaire

COVID-19 – Consulting gratuit SQL Server

La période de confinement due au virus COVID-19 ne signifie pas pour autant que c’est la fin du monde. En général, les grands évènements permettent à une société, au sens civil du terme, de se poser des questions quant à la manière d’être ou de travailler. Même si je n’étais pas né en 1968, il est clair que les évènements d’alors on fait évoluer la société.

Nul doute que les évènements actuels, liés au confinement, à la fermeture de bon nombre de magasins va entrainer un bon nombre de questionnements sur différents sujets, relatifs à la délocalisation de certaines industries liées au domaine médical, à la notion de service public qui doit faire fi des règles économiques dès que touchant au domaine de la santé. De même l’opposition entre commerce « local » et l’économie numérique n’est pas aussi simple que cela à traiter. Il est probable que de fervents opposants au commerce en ligne se réjouissent de pouvoir réaliser leurs courses en ligne …

< Parenthèse publicitaire >

J’en profite au passage pour exhorter les sites de commerce en ligne à réaliser une passe d’optimisation de leurs bases de données et du code de leurs sites Web. Il n’y a rien de plus horripilant que d’attendre parfois quelques dizaines de secondes qu’une page web s’affiche lorsque l’on est en train de passer commande, quand cela aboutit, ou bien passer 5 minutes 40 à regarder un sablier tourner, sans parler des erreurs http 500 … Quelques journées de consulting pour faire un bilan de santé de votre infrastructure ne représentent qu’une fraction de vos coûts et peut grandement améliorer l’expérience utilisateur, et probablement votre chiffre d’affaire. Une occasion en or de tester des offres cloud offrant une élasticité sans comme mesure. Ajouter des ressources lorsque la charge augmente et les diminuer lorsque cela sera plus nécessaire. Note particulière pour l’éducation nationale : oui nos enfants peuvent suivre des cours sur Internet, parfois en vision conférence. Mais le simple fait de récupérer des devoirs sur les sites de collèges est parfois … impossible.

</ Parenthèse publicitaire >

Les changements à venir vont probablement toucher à l’organisation du travail avec le recours au télétravail comme j’ai pu en parler ici. Le présentiel a des avantages, le télétravail également. 100% de n’importe laquelle des solutions n’est pas souhaitables, soyons clair. Nous avons besoin de contact humain. Mai sil ne faut plus exclure cette possibilité comme je le vois dans certaines sociétés. Et puis comme l’a rappelé un ami, ce n’est pas simple en mettre en place car pouvant introduire une fracture de communication entre les présents et distants.

La crise sanitaire fait clairement bouger le lignes, autant au niveau de la société, j’ai l’impression de voir un peu plus d’humanité et de solidarité entre les personnes, mais aussi au niveau du business. On ne peut que louer les annonces faites par des éditeurs qui offrent, certes pour une durée limitée mais rien ne les y obligeait, l’accès gratuit à leurs logiciels pour continuer l’activité. Pour certains, il y avait déjà des options gratuites.

Notons par exemple (il est certain que j’en oublie, passer moi le message et je complèterai la liste) :

L’organisation du travail est modifiée, mais il est possible de transformer cela en opportunité. Opportunité pour se former. Imaginez des centaines d’heures de formations totalement gratuites fournies par la communauté SQL Server. Cela se trouve sur le site du PASS : https://www.pass.org/Learn/Recordings/Listing.aspx

Profitez également de cette période pour vous certifier sur les produits. Il est possible de passer les certifications MCP à domicile, en respectant certaines consignes.

Pour ma part, j’ouvre un Teams pour des heures de consulting totalement gratuit.

Vous pouvez poser vos questions, me présenter vos problèmes vos blocages ou simplement venir discuter, par chat ou même audio-vidéo. Pour cette semaine, les créneaux 10h-12h sont ouverts. Pour la suite, j’adapterai les horaires en fonction de ma charge de travail. Il est probable que je donne également des formations en ligne totalement gratuites.

Contreparties :

  • Me fournir votre adresse email pour vous ajouter à l’équipe !
  • M’autoriser à présenter le problème lors de mes conférences, toutes données anonymisées bien entendu.

Je ne peux pas vous garantir un résultat systématique, certains problèmes peuvent prendre plus de temps pour être résolus. Mais il y aura des pistes.

Voici le lien pour le Teams :

https://teams.microsoft.com/l/team/19%3a447e43b5f216411f88a4b5352d4406da%40thread.tacv2/conversations?groupId=91ba2077-515a-4f28-8a31-49f995134d23&tenantId=218e2fe8-d131-42e3-8928-7b8c5de1514b

Happy COVID-19 Work From Home !

Publié dans Non classé | Laisser un commentaire

Télétravail – une occasion de changer les préjugés

La « crise » sanitaire que traverse actuellement la France, et bien d’autres pays, doit être un déclencheur. Un déclencheur pour changer les mentalités. Et j’avoue que nous Français, relativement enclins à ignorer les règles, somme en train de nous responsabiliser socialement en adoptant les bons gestes en matière de distanciation sociale.

Rapporté à ma petite personne, à ma petite entreprise de consulting, cela pourrait avoir des conséquences plutôt … désagréables. Une grande majorité d’entre nous ne dispose pas d’indemnité journalières, ou bien, ce service extrêmement onéreux s’accompagne d’un nombre relativement important de jours de carence. Pour simplifier, pas de travail, pas de revenu.

Mais hors de question de se plaindre. Ce statut est un choix, un choix de mode de vie et de travail.

10 ans, cela fait 10 ans que j’ai créé ma société et c’est quelque chose que je n’ai jamais regretté. Il ne faut pas non plus se voiler la face, ce n’est pas simple tous les jours. Et à ceux qui me disent souvent « tu fais ce que tu veux, tu n’as pas de parton », je rétorque que j’ai autant de patron que de clients !

Depuis que j’ai commencé mon activité de consultant indépendant, j’ai très souvent proposé 2 devis à mes clients : une version en mode présentiel et une version en mode « télétravail ». Et pour être transparent, j’applique même un TJ inférieur en prise de main à distance car je considère que c’est un « avantage » pour moi que de travailler depuis mon bureau.

Mais faire du télétravail ne signifie pas pour autant « glander ». Et c’est peut-être là que les mentalités doivent changer. Travailler depuis son domicile ne signifie pas travailler moins, passer son temps dans la piscine (OK, elle est encore à 10 ou 12°) ou dans son jardin. La technologie actuelle, accès à internet « relativement » rapide et stable, les logiciels tels que Teams et équivalents, une webcam, un micro, un casque permettent de travailler de manière quasi identique que l’on soit au bureau ou bien chez soi.

Doit-on contrôler la personne qui travaille ? Difficile de répondre à cette question. J’ai un avis personnel, certes, qui est de ne pas faire de contrôle, mais je ne suis pas certain que ce soit une réponse universelle. J’applique la même rigueur de travail en présentiel et à distance, mais je sais aussi que certaines personnes en sont incapables. En revanche, chacun ayant un certain nombre de tâches à effectuer, généralement associées à un planning prévisionnel, si les délais ne sont pas tenus, cela fait office de contrôle de fait. Et puis, a-t-on vraiment besoin de contrôler quelqu’un avec qui on a passé 6 heures en conférence audio-vidéo dans la journée ? Monter une réunion à 5, 10 ou 20 personnes dans Teams est un jeu d’enfant. On peut tout à fait travailler à distance en ayant plus d’interactions qu’en présentiel.

Je ne parviendrais certainement pas à convaincre tout le monde d’adopter ou d’essayer le télétravail mais je reste convaincu que cela mérite d’être tenté. Pour des raisons de santé, vu la situation actuelle, mais également d’un point de vue écologique. Il est intéressant de constater que la baisse des émissions de toutes particules néfastes à notre planète à chuté depuis quelques semaines. Moins d’embouteillages en premier lieu. Revenons quelques dizaines d’années en arrière, une grande majorité des gens vivaient et travaillaient dans un périmètre géographique restreint. Aujourd’hui la distance moyenne domicile-travail ne fait que s’accroitre. Je veux bien croire que l’équation n’est pas aussi simple, mais à mon niveau, le télétravail signifie aussi revitaliser les commerces locaux, malgré le commerce en ligne …

Malheureusement, il reste des secteurs d’activité où le télétravail est impossible. D’autres où la mise en place est et restera problématique, mais en ce qui me concerne, activité de conseil orienté bases de données (et IT en général) qui tend à évoluer vers le « Cloud », est-ce que le présentiel doit être la norme ?

Je continuerais pour ma part à prendre du plaisir à me déplacer chez mes clients, nous avons tous besoins d’entretenir un lien social, et 100% télétravail me parait illusoire. Je prendrais toujours autant de plaisir à animer une formation sur site ou dans un centre de formation. Je serais aussi le premier à donner de mon temps pour organiser des évènements comme les SQLSaturday qui rassemblent un bon nombre de passionnés à chaque édition.

Mais il est peut-être temps de revoir le modèle historique du lieu de travail et donner sa chance au télétravail. Employeurs, managers, faites confiance à vos collègues. Salariés, la confiance ne se donne pas, elle se mérite. A vous de prouver par votre attitude que le télétravail peut avoir une plus-value pour votre entreprise, et entrer ainsi dans une relation gagnant-gagnant.

Pour ma part, mon planning reste quasi complet, grâce notamment à des clients qui me font confiance depuis des années pour des interventions régulières effectuées à distance.

Stay at home, stay safe, stay tuned …

Publié dans Non classé | 1 commentaire