vendredi 20 novembre 2015

Visual Studio Dev Essentials : un kit gratuit pour les développeurs

Pour celles et ceux qui l'aurait manquée lors de Connect(); //2015


Microsoft met à la disposition des développeurs une version gratuite fort alléchante de sa suite d'outils Visual Studio.



Seront fournis gratuitement:

  • Visual Studio Express (accessible sous Windows),
  • Visual Studio Code (sous Windows, OS X et Linux),
  • Team Foundation Server Express,
  • L'accès à la communauté Visual Studio et du support (forums, formations, etc.)
  • Un crédit de 25$ par mois sur la plateforme Azure
  • Un Compte Visual Studio Team Services pour 5 utilisateurs
  • Des formations à Pluralsight, Xamarin University mobile, WintellectNOW, Microsoft Virtual Academy 25$ de crédit à HackHands Live Programming Help
et bien d'autres choses encore que vous pouvez découvrir sur le blog MSDN (en anglais).

Pour bénéficier de Visual Studio Dev Essentials, il suffit de s'inscrire au programme.



Cela peut être une bonne alternative gratuite couplée à du MSDN Platform à abonnement Visual Studio with MSDN lorsque vous êtes titulaires d'un contrat de licences en volume.

Pour en savoir plus je vous invite à consulter le blog MSDN qui traite du sujet à l'adresse: http://blogs.msdn.com/b/visualstudio/archive/2015/11/18/news-and-announcements-from-connect-2015.aspx

Sources:

mardi 3 novembre 2015

Comment "Licencier" SQL Server ?


Je me suis rendu compte durant mes missions SAM que bon nombre de clients sont perdus dans les règles de licences des applications qu'ils ont déployées au sein de leur Système d'Information.

Lorsque le mode de licences n'est pas parfaitement saisi par leurs clients, il est très facile pour les éditeurs de leurs vendre des licences dont ils n'ont pas besoin, des services complémentaires inutiles, et, lors d'audit de conformité logicielle leur signifier qu'ils font une utilisation frauduleuse de leurs logiciels, et donc de leur réclamer des pénalités.

Partant de l'idée que les licences ne sont compliquées que si on souhaite les rendre compliquées je vais présenter à travers une série d'articles pour chaque application d'un éditeur, une présentation simple du mode de licence de l'application.

Si vous rencontrez des difficultés lors du choix d'une proposition commerciale ou lors d'un audit de conformité, n'hésitez pas à me contacter, j'essayerai de vous aider mon mieux.

Comment licencier SQL Server 2014 ?


Microsoft propose depuis de nombreuses années SQL Server et ce produit a connu de nombreux modes de "Licencing" différents.
Le mode de licences de SQL Server 2014 a le mérite d'être simple à comprendre et à mettre en application, même s'il peut paraître onéreux.

Versions de SQL Server 2014

SQL Server est proposé sous quatre éditions principales afin de répondre aux différents besoins en terme de fonctionnalités, performances et prix dont les entreprises et les utilisateurs ont besoin:
  • Enterprise Edition: cette version est destinée aux grands data warehouses (entrepôts de données) et aux applications stratégiques.
  • Business Intelligence Edition: cette version propose des fonctionnalités de haut niveau et l'analyse décisionnelle (BI) en libre service.
  • Standard Edition: cette version offre les fonctionnalités élémentaires en base de données, rapports et analyses.
  • Express Edition: cette version est l'édition gratuite de SQL Server créée pour développer et renforcer les applications de bureau, les applications Web et les petites applications serveur (par exemple pour hébreger une CMDB maison...)


Il existe deux autres version de SQL Server venant compléter la gamme et répondant à des besoins spécifiques:
  • SQL Server 2012 Parallel Data Warehouse qui est disponible sous la forme du nouveau Analytics Platform System intégré à l'offre appliance,
  • SQL Server Developer Edition qui offre toutes les possibilités de la version Enterprise, mais qui est uniquement destinée au développement et ne doit pas être utilisé en production.
Une fois le choix de la version SQL Server effectué en fonction de vos besoins, comment allez-vous comptabiliser les licences dont vous avez besoin ? 

SQL Server 2014 Enterprise

Le mode de licences pour SQL Server 2014 Enterprise peut être très simple, il se fait soit :
  • par cœur présent sur le serveur, ce que je vous recommande, et que je vais traiter dans cet article,
  • par licence serveur plus CAL, ce qui est un héritage du mode de licencing des anciennes versions, que je ne recommande pas, et que je ne traiterais pas dans cet article.

Licences par cœur:

Dans ce mode de licences, le nombre d'instances, le nombre d'utilisateurs accédants à la base de données, le nombre de "devices" accédants au serveur n'est pas pris en compte.
La seule chose qui va être comptabilisée est le nombre de cœurs présents sur le serveur.
Il faut néanmoins faire une différenciation entre une attribution de licence à un serveur physique ou à un serveur virtuel.


Attribution de licences à un serveur Physique


  • Lorsque l'on attribue une licence SQL Server 214 Enterprise à un serveur Physique, tous les cœurs présents sur le serveur doivent se voir attribuer une licence.
  • Les Licences SQL Server 2014 Enterprise sont vendues par paquets de deux.
  • Il faut appliquer un coefficient multiplicateur en fonction du type de processeur physique présent sur le serveur.


Par exemple, pour un serveur équipé de deux processeurs six cœurs Intel Xéon, le calcul sera le suivant:


Attribution de licences à un serveur virtuel  

En environnement virtuel, les règles sont presque les mêmes qu'en environnement physique.

"Tous les cœurs virtuels (V-cœur) qui prennent en charge des OSE virtuels exécutant SQL Server 2014 doivent être couverts par une licence cœur avec un minimum de quatre (4) licences cœur par machine virtuelle."


Avec SQL Server 2014 Enterprise Edition, il est possible, et fortement recommandé d'allouer les licences non pas à la machine virtuelle, mais à la machine physique hébergeant les machines virtuelles.

Lorsque l'on attribue des licences SQL Server 2014 Enterprise à un serveur physique hébergeant des machines virtuelles sur lesquelles sont installées des versions de SQL Server 2014 Enterprise, les machines virtuelles sont couvertes par les licences SQL Server 2014 Enterprise Edition attribuées aux cœurs du serveur physique pour le nombre de machines virtuelles suivant:
  • Illimité si Software Assurance (SA),
  • Égal au nombre de licences cœur SQL attribuées au serveur Physique

Dans l'exemple ci-dessus, sans SA, le nombre maximal de machines virtuelles avec SQL Server Enterprise installé serait de 12.

Business Intelligence Edition

Le mode de licencing pour Business Intelligence Edition est un mode assez facile et classique, à savoir: licence pour le serveur et Licences d'Accès Client (CAL).

Dans ce mode de licence, il faut:
  • Une licence serveur pour chaque serveur 
    • Si le logiciel SQL Server s'exécute sur plusieurs partitions matérielles (serveurs lames ou partitions physiques d'un grand serveur), chaque partition doit posséder sa propre licence. Les partitions physiques et les lames sont considérées comme étant des serveurs distincts du point de vue des licences, et une licence SQL Server ne peut pas être assignée à plus d'un serveur physique à un instant donné.
  • Une licence d'accès client (CAL) pour chaque appareil (licence CAL par poste) et/ou pour chaque utilisateur (licence CAL par utilisateur) qui accède à SQL Server ou à un quelconque de ses composants. 
    • Vous utilisez les CAL par poste lorsqu'il s'agit de device accédant à SQL Server sans qu'il n'y ait d'utilisateur connecté.
    • Vous utilisez les CAL utilisateur pour chaque utilisateur qui accède à une base SQL.

 

SQL Server Standard Edition

SQL Server Standard Edition dispose des deux modes de licencing évoqués dans cet article:
  • Le mode par coeur évoqué dans la version Enterprise Edition
  • Le mode par Serveur et Licences d'Accès Client (CAL) évoqué dans la partie Business Intelligence Edition.
    • Ce mode de licence n'est approprié que dans des situations où il est facile de compter les utilisateurs ou les postes, et quand le coût total des licences est inférieur à celui du modèle de licence cœur.
Remarque particulière:
  • Dans le cas d'un licencing par cœur pour des machines virtuelles, il n'est pas possible avec SQL Server Standard Edition d'appliquer les licences sur l'hôte physique hébergeant la VM. 
  • Chaque machine virtuelle doit avoir sa propre licence SQL Server Standard Edition

   

SQL Server Express.

La question ne se pose pas, cette version étant gratuite, il n'y a pas de licence à comptabiliser.

SQL Server Developer Edition

Le mode de licence est très simple.
  • Une licence Windows pour le Système d'exploitation.
  • Une licence SQL Server Developer Edition pour tout développeur ou administrateur de base de données travaillant sur le serveur.

Ce mode de licence n'est intéressant que si le nombre de personne travaillant sur la base est restreint.

mardi 29 septembre 2015

Une note de cadrage, mais pourquoi ?



La note de cadrage projet, à quoi peut-elle bien servir ?

Dans le cadre d’un projet, si l’on veut s’assurer de sa réussite il est important de fixer dès le début du projet un certain nombre de choses qui vont permettre la réussite du projet.
Comme tout ce qui n’est pas écrit n’existe pas, toutes ces informations, ces objectifs, ces engagements, doivent être repris dans un document de synthèse s’appelant "la note de cadrage".

Prenons les choses dans l’ordre et tentons de répondre ensemble à quelques grandes interrogations sur le cadrage d’un projet et la note de cadrage.

Pourquoi cadrer un projet ?

Cadrer (ou Structurer ou Définir) un projet est la première tâche à mener dans un projet. Cette tâche est aussi celle qui est la plus critique, car elle conditionne le bon lancement du projet. Et un projet qui démarre mal aura toutes les chances de mal se terminer!

Une fois le projet lancé, ce dernier a tendance à avancer « tout seul », ou du moins, selon ce qu’il est possible de qualifier d'une certaine inertie qui lui est propre, le rendant difficile à remettre sur les bons rails s’il s’écarte de la roue prévue.

Dans le meilleur des cas, le chef de projet s’en rend compte et arrive à le recadrer en perdant du temps par rapport à la date cible, générant une insatisfaction client.
Dans le pire des cas, le projet capote car le résultat attendu par le client ne peut être atteint car mal ou pas compris dès le départ.

Que doit-on faire pour cadrer un projet ?

Comme je l’ai déjà dit, le but du cadrage est de valider que le client et l’équipe projet soient bien en phase sur la totalité du projet.
Pour cela, il va falloir au cours d’ateliers, et d’actions de reformulation lors des comptes rendus écrits des ateliers:

  • déterminer précisément les objectifs du projet (dans les termes du client) en termes de résultats attendus, délai et coût;
  • préciser le périmètre du projet en termes de produits, fonctionnalités, technologie, organisation, processus, etc. ... ;
  • déterminer les grandes étapes du projet, les dates clés, les jalons;
  • définir les ressources et moyens nécessaires (hommes, matériel, budget et compétences) ;
  • définir l’organisation du projet (équipe projet, équipe étendue, rôles, comité de pilotage interne et client) ;
  • définir les principes de communication interne (au sein de l’équipe et avec la direction) et externe (avec les représentants du client, les utilisateurs et tous ceux qui ont besoin de connaître le projet) ;
  • identifier les risques majeurs et les éventuelles dépendances (et préparer les solutions de repli en cas de problème) ;
  • définir les indicateurs qui permettent de mesurer l’avancement du projet et l’accomplissement des objectifs.

Comment cadrer votre projet ?

Malgré tout ce que l’on peut apprendre dans des formations de Chef de Projet, lors du passage de certifications (Prince2, PMP,…), il n’y a pas de recette magique pour bien cadrer son projet.

Bien cadrer un projet ne s’apprend pas dans les livres ou sur les bancs de l’école, bien cadrer un projet s’apprend au jour le jour, en tirant des leçons des projets que l’on conduit, que ce soit des leçons des succès ou des leçons des échecs.

Pour bien cadrer un projet, il faut associer prise de recul, compréhension globale et synthétique du projet et de son environnement avec une vue analytique, précise, concrète des éléments clés du projet.

Le but de cet article n’est pas de me mettre en avant, de vous dire qu’il n’y a pas de méthode pour bien réussir son projet, ou que je détiens la méthode miracle que m’a léguée sur son lit de mort « Steve JOBS » ou lors d’une soirée initiatique « Bill GATES », non le but de cet article est de vous faire partager quelques recettes que je mets en pratique et qui sont issues de mes nombreuses expériences de terrain au contact de chefs de projets de profils différents les uns des autres.

Check-list des éléments du cadrage projet.

Définir les objectifs du projet :  

Une bonne définition des objectifs du projet passe par une bonne compréhension de ce qui a motivé le lancement du projet (idée de départ, déclencheur, problème à résoudre, audit de conformité, pénalités,…, ainsi que les enjeux du projet (ce que le client attend en matière de retour sur investissement de son projet : économiser par exemple deux millions d’Euros par an sur la gestion de ses licences informatiques).

Pour cela, il va vous falloir définir trois types d’objectifs :
  • Les objectifs techniques
    • Ils décrivent les résultats attendus du projet, les livrables client ou livrables finaux;
    • Ils décrivent ce que le client, dans ses termes, doit posséder ou être capable de réaliser à la fin du projet ;
    • Ils ne décrivent pas le « comment », mais bien le « quoi » !
    • S’il y a plusieurs objectifs, ils peuvent être hiérarchisés, ce qui permettra de faire un découpage par sous-projet et éventuellement par lot.
    • Tous les objectifs techniques doivent être mesurables. Pour mémoire un bon objectif est un objectif dit « SMARTER », c’est-à-dire (Simple, Mesurable, Acceptable, Réaliste, Temporel, Evaluable et Réévaluable
  • Les objectifs de délais.
    • Date de début du projet (lancement)
    • Dates intermédiaires (correspondant aux principaux jalons)
    • Date de fin
  • Les objectifs de coût.
    • Le budget alloué dans sa globalité
    • Le budget alloué par phase ou par sous-projet, ou par ressources (humaines, matérielles, logicielles)
    • Le règlement des différentes parties du budget lorsqu’il y a un étalement.

Définir le périmètre du projet

Définir ce qui est dans le périmètre du projet et ce qui n’y est pas.
Vous pouvez décrire par exemple les fonctionnalités attendues, , les services délivrés, les processus impactés, les organisations impactées, etc…

Définir le macro-planning du projet 

  • Il ne s'agit pas ici du planning détaillé des tâches et des ressources tel que l'on peut le retrouver dans un diagramme Gant.
  • Il s’agit de définir les grandes étapes (ou phases) du projet. Par exemple: revue des besoins/analyse et conception/construction/bêta tests et mise en opération
  • Le découpage est guidé par la nécessité de valider les livrables intermédiaires  clés (cahier des charges, dossier de conception, code, etc...). Pour passer d’une étape à la suivante, il est important de prévoir une validation formelle par le client, c’est-à-dire un écrit.

Définir les ressources

  • Équipement et matériel
  • Budget
  • Ressources humaines et compétences
  • Les contraintes éventuelles (travail en parallèle avec deux directions qui s’affrontent pour des enjeux politiques, ou des sociétés de services concurrentes qui fournissent chacune des ressources pour réaliser le projet.

ORGANISATION DU PROJET

  • Equipe projet: membres à plein temps sur le projet
  • Equipe étendue: intervenants ponctuels apportant une expertise précise au projet
  • Comités de pilotage client: instance de validation des étapes/phases du projet, des livrables client clés

COMMUNICATION

  • Règles de communications durant le projet :
  • Rapports Flashs hebdomadaires ? pour qui ? quand ?
  • Communication interne au client sur l’avancement du projet :
    • Qui la fait ?
    • Quel support ?
    • Pour quels destinataires ?
  • Formalisation des documents du projet (présentation sous forme de diaporama, document texte, films, etc..
  • Lieu de stockage des documents (intranet, serveur de fichiers, etc…)

RISQUES ET DEPENDANCES

  • Identifier les risques majeurs du projet: défaut de compétence critique, besoins client trop imprécis ou trop changeants, devis initial bien trop optimiste, estimation délai trop imprécise ...;
  • Définir des actions pour si possible réduire les risques, et/ou des solutions de repli en cas de nécessité;
  • Identifier les éventuelles dépendances de votre projet (par exemple, un livrable du client qui vous est nécessaire pour réaliser une tâche);
  • Définir les actions pour sécuriser vos propres livrables (par exemple, communiquer formellement au client la date au plus tard à laquelle vous avez besoin de son livrable sans que cela impacte le projet)

INDICATEURS

Pour bien piloter un projet il est vital d’avoir un tableau de bord avec des indicateurs mesurables qui vont vous permettre de mesurer l’avancement de ce projet et des différentes phases qui le composent.
Voici quelques suggestions d’indicateurs :
  • Indicateurs sur l’avancement des livrables, sur le respect de la démarche,
  • Indicateurs sur la qualité des livrables. 
    • Cet indicateur est très important car il vous permet de fixer ce qui va valider ou non un livrable. 
    • Je vous conseille fortement de le formaliser en posant la question suivante à votre client lors de ateliers de cadrage : "pour que vous acceptiez ce livrable, quels sont les critères qui doivent être impérativement remplis". 
    • Le client devra vous avoir validé par écrit, par exemple dans le plan d’assurance qualité, les critères de satisfaction.
  • Indicateurs sur le délai
  • Indicateurs sur les coûts
  • Indicateurs sur la motivation de l’équipe

Exemple de sommaire de Note de cadrage :

1.   Préambule à la rédaction de la Note de Cadrage
2.    Contexte et objectif
2.1    Contexte
2.2    Enjeux et objectifs
2.3    Présentation de la cible
3.    Le projet
4.    Organisation du projet
4.1    Comité opérationnel de projet
4.2    Équipe projet
5.    Les Livrables
5.1    Description
5.2    Livrables
6.    Gestion de la documentation
6.1    Référencement des documents du projet
6.2    Stockage  des documents
6.3    Modèles de documents
6.4    Circuit  des documents.
7.    Planning prévisionnel du projet

Sources :

mardi 16 juin 2015


Licences Oracles et Virtualisation:


Depuis la sortie de vSphère 5.1 de VMware et les notions de déplacement de machines virtuelles à l'aide vMotion entre les différents clusters, Oracle considère qu'il faut étendre les droits de licences à l'ensemble de la ferme de serveurs sous ESX ainsi qu'à tous les clusters faisant partie de la ferme.

Cette extension de licences à tous les cœurs des hyperviseurs présents sur l'environnement vCenter peut se traduire par un surcout de licences pour l'entreprise et un augmentation de chiffre d'affaire pour Oracle de plusieurs millions d'Euros.


Ce point de vue d'Oracle peut être considéré comme illégal, mais est surtout tout à fait contestable parce que ce changement de politique n'est absolument pas documenté ni référencé dans leurs accords de licences

Le cabinet d'étude Gartner le 24 novembre dernier a publié une note à ce sujet estimant que les entreprises auditées par  LMS soit License Management Services, les services d'audit d'Oracle peuvent très bien se défendre et gagner face à cette offensive de l’éditeur.

Quelles sont alors les bonnes pratiques pour contrer Oracle sur ce sujets ?

Deux politiques peuvent être mises en œuvre de façon efficace.

 

Regrouper l'utilisation des licences Oracle au sein d'un vCenter Dédié.

Cette politique la plus simple à mettre en œuvre, à gérer et défendre est celle qui est à la fois recommandée par l'éditeur Vmware dans son livre blanc de mars 2015 et le club allemand des utilisateurs Oracle.

Avoir une Gestion SAM

Vous pourriez me dire que j'ai du parti pris en proposant cette politique, mais cette proposition n'est pas de mon fait, mais ni plus ni moins que la proposition de Jean-Jacques Camps, le président de l’Aufo (le Club Français des Utilisateurs de solutions Oracle).
Ce dernier estime que
 "pour les entreprises, la gestion de la conformité des licences logicielles devient un coût à prendre en compte dans l’économie des projets, tant pour le risque de redressement suite à un audit de l’éditeur que pour le coût de gestion proprement dit de ces sujets. En effet, s’assurer de la conformité des licences devient de plus en plus difficile, les règles établies par Oracle, mais plus généralement par tous les éditeurs de logiciels, sont d’une complexité défiant, dans certains cas, l’entendement. Certaines grosses structures ont deux ou trois personnes à temps plein travaillant sur ces questions pour les seuls logiciels applicatifs, dont ceux d’Oracle".

Pour Jean-Jacques Camps, une des premières bonnes pratiques consiste à conserver une copie des recommandations de l’éditeur en matière de licensing au moment de chaque signature de contrat. Car c’est cette version qui servira de référence en cas de différend ; 
« Un certain nombre de décisions de justice nécessitaient ce levier-là »


Quelle que soit la stratégie que vous choisirez, elle sera gagnante à partie du moment où elle sera structurée et correctement menée.

N'hésitez pas à vous faire accompagner par des spécialistes comme les cabinets Elée, SIA Partners, Gartner, et votre serviteur bien sûr. Un bon accompagnement peut vous faire gagner beaucoup en évitant d'avoir à payer les amendes réclamées par Oracle.