image

Non, Azure ne permet pas d’oublier l’infrastructure

Windows Azure permet aux développeurs de ne plus s’attarder aux détails liés à l’infrastructure

Cet argument est très souvent utilisé par Microsoft pour vendre Windows Azure et plus globalement le cloud computing et pourtant… il est faux !

image

Windows Azure permet de “bénéficier” d’une solution “on-demand” où on n’est facturé que sur ce que l’on consomme.

Il est donc primordial de penser dès la conception à des “détails” sous peine d’avoir une facturation énorme.

Le cout d’exploitation doit être pensé dès la conception d’une application destinée à être hébergé sur Windows Azure.

Il faut en effet étudier repenser sa manière de stocker ses données et extraire ce qu’il est possible de retirer des bases SQL Server car utiliser les services de stockages de Windows Azure coute 2 ou 3 fois mois cher que du SQL Azure. Si vous n’avez pas réellement besoin des services relationnels il est donc préférable de stocker vos donnés en dehors de SQL Azure.

Idem d’un point de vue de la consommation réseau, le traffic entrant et sortant étant facturé, il faut dès la conception penser à réduire les communications avec votre applications hébergées sur Azure (via de la compression, de la mise en cache, etc.).

Une analyse du trafic réseau est de plus recommandé durant les phases de tests de l’application afin d’identifier les briques les plus couteuses et ainsi cibler les optimisations à effectuer pour réduire ces couts d’exploitation.

Cela fait beaucoup de choses à penser pour un sujet que l’on peut oublier non ?

7 réflexions au sujet de « Non, Azure ne permet pas d’oublier l’infrastructure »

  1. Anonyme

    Totalement d’accord avec tout ce que tu dis. Mais depuis quand « ne plus s’attarder aux détails liés à » = « oublier » ?

    Ce que Microsoft veut dire, c’est que tu n’as pas à te demander si tu dois acheter un serveur équipé d’un Intel Xeon ou si, en fait, tu ferais mieux d’acheter un processeur AMD. Et y’a plein d’autres questions comme ça: x32 ou x64? Quelle connection internet pour ton serveur? Comment gérer les mises à jour? …

    Et ça, ça vaut bien un Cloud!

    Répondre
    1. Patrice Lamarche

      Quand on dit aux développeurs : « Focus on apps not infrastructure » c’est faux comme indiqué dans le post. Il est critique d’y penser dès la conception pour ne pas avoir de frais d’exploitation trop important.

      J’ai bien compris ce que Microsoft veut dire… 🙂
      Et l’x32 ça n’existe pas 😉

      Répondre
      1. Anonyme

        Ma langue a fourché. Effectivement, x32 ça n’existe pas 🙂

        Sinon, je confirme ce que je disais précedemment: pour moi, réaliser une application efficiciente et qui utilise astucieusements les resources systèmes, ce n’est pas un problème d’infrastructure: c’est un problème applicatif.

        Mais bon, ce n’est une question de point de vue. C’est vrai qu’il est important de connaitre son infrastructure pour savoir ce qu’il convient d’optimiser (et avec quel degré d’importance).

        Répondre
        1. Patrice Lamarche

          Tu oublies le fait que cela a beaucoup moins d’importance sur des applications traditionelles « on-premise ». On ne refléchit pas à ces problématiques car cela n’a pas d’importance tant que la performance ressentie est acceptable…

          Répondre
  2. benjguin

    Il est donc primordial de penser dès la conception à des “détails” sous peine d’avoir une facturation énorme.
    >> cette facturation peut être énorme pour un particulier qui veut faire son blog, mais si on la compare à des prix d’exploitation pour une entreprise, ce n’est plus du tout le cas, on peut donc avoir des variations qui restent dans des prix de toutes façons inférieurs à ce qu’on aurait à demeure.

    Certes, l’architecte hérite donc de problématiques nouvelles sur ce que consomme son application, mais après tout, ne pas s’en être occupé jusque là était peut être aussi ce qui a amené à avoir des surcapacités importantes dans les datacenters; cela va dans le sens de l’histoire: on commence par faire des voitures qui avancent vite avec du pétrole, puis on consacre ensuite une part de plus en plus importante du travail des ingénieurs à faire en sorte que le rendement du moteur soit le meilleur possible.

    Cependant, tous les exemples que vous donnez correspondent à des éléments d’architecture, pas d’infrastructure. Il n’est pas question de matériel, de routeurs, de switches, de pare-feu, de load balancer, de racks, de disques RAID, etc. SQL Azure présente les fonctionnalités pour le développeur de la base de données, et Azure s’occupe de ce qui est lié à l’équivalent de l’instance SQL Server (le serveur SQL Azure).
    Par exemple, il n’est pas nécessaire de mettre en place des processus, des équipes de nuit etc. pour s’occuper de gérer un cluster s’appuyant sur une baie de disques sur un SAN (quand faut-il basculer l’instance sur un autre nœud, comment applique-t-on le service pack pendant que la base de données reste disponible, …) et plus généralement quelle technologie choisir dans tout ce qui est présenté à http://go.archims.fr/ibutag pour gérer la haute disponibilité.

    Donc, on pourrait effectivement corriger quelque peu la phrase « Windows Azure permet aux développeurs de ne plus s’attarder aux détails liés à l’infrastructure » en « Windows Azure permet à l’entreprise de ne plus s’attarder aux détails liés à l’infrastructure », car ce n’est effectivement pas nécessairement le développeur qui s’occupe aujourd’hui de tous ces « détails ».

    De son côté la production garde un travail important, car les bonnes pratiques de type ITIL restent pertinentes avec le cloud (voir la session TechDays http://go.archims.fr/hhDnDi sur le sujet). Simplement, le même nombre de personnes pourra gérer un beaucoup plus grand nombre d’applications car le passage de Windows 2008 à Windows 2008 R2 par exemple correspond à une décision et non plus à des manipulations par exemple (voir http://go.archims.fr/hzBceA pour une vidéo de cela).

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *