Le schema d'infrastructure Web

La semaine passée, j'ai eu le plaisir d'échanger avec deux startups du Web membres du programme Sun Startup Essentials.

Ce programme leur permet entre autres de bénéficier de conseils techniques gratuit au sujet de leur infrastructure, et nous avons donc réfléchi ensemble à des problématiques de montée en charge et de disponibilité.

Dans ce type de discussion, je commence toujours par demander si il existe un schéma de l'infrastructure informatique. Idéalement ce document couvre les aspects suivants (liste non exhaustive) :

  • une liste des différents composants utilisés par le site Web (MySQL, Apache, etc.). Cette liste recense les dépendances externes de l'application, celles sur lesquelles la startup n'a pas la main - par opposition au code de l'application développée en interne. Afin d'améliorer l'indépendance de l'application vis-à-vis de la plate-forme il faut autant que faire ce peut réduire cette liste. Une dépendance exotique - rarement utilisée dans l'industrie - doit être justifiée par une valeur ajoutée spécifique. La liste des dépendances externes est normalement maintenue par les équipes de développement en association à un schéma fonctionnel de l'application,
  • une vue d'ensemble de l'infrastructure. On y retrouve les différents composants logiciel (le serveur Web ou le serveur d'application, la base de donnée, l'application elle-même), mais aussi les composants matériel (serveurs, baie de stockage, réseau). Cette vue d'ensemble met en évidence les éléments redondés (comme les serveurs web frontaux ou une réplication de la base de donnée) et elle intègre des éléments comme le répartiteur de charge ou "load balancer". Cette vue d'ensemble doit traduire fidèlement la configuration d'exécution - encore appelée "runtime view" - de l'application. Par opposition, le schéma fonctionnel reflète l'architecture du code source, sans forcément prendre en compte l'environnement dans lequel l'application est déployée et exécutée. C'est en général à partir de cette configuration d'exécution qu'on va pouvoir réfléchir sur la montée en charge du site. Où faut-il rajouter de la capacité de calcul, où faut-il rajouter du stockage, et surtout, comment procéder à ces ajouts sans avoir à modifier de fond en comble l'application,
  • un diagramme des flux peut être le bien venu, qui clarifie quels sont les composants mis en oeuvre pour traiter une requête client, et dans quel ordre. C'est utile quand il s'agit de prévoir ce qui va se passer quand le nombre de clients va augmenter. Ce diagramme peut préciser les différents protocoles utilisés par l'application à moins que ceux-ci n'apparaissent déjà dans la vue d'ensemble,
  • un  schéma de sécurisation du site qui précise quelles sont les données critiques pour le business, les services exposés sur Internet, et comment celles-là et ceux-ci sont protégés contre les pannes matérielles, les attaques malveillantes, ou des des risques d'une autre nature. En complément d'une analyse des risques, on trouve aussi dans ce document les différents éléments de sécurité mis en place (cryptage, identification, virtualisation, sous-réseaux, réseaux virtuels et NAT, etc.) Encore une fois, ce schéma peut ne faire qu'un avec la vue d'ensemble,
  • pour finir, le traditionnel schéma de base de données qui décrit comment ces dernières sont organisées et reliées entre elles et aide à comprendre si la base de données peut monter en charge ou non (limitez les jointures!)

Pourquoi se livrer à un tel travail ?

  • parce que pour la grande majorité des société du Web, la qualité de service du site (temps de réponse, disponibilité) fait partie de la proposition de valeur du produit, et que cette qualité de service dépend de l'infrastructure du site : le schéma d'infrastructure permet d'identifier les éléments clés de l'infra qui la conditionnent,
  • parce que documenter son infrastructure permet de mieux la maîtriser et que cette maîtrise dans le long terme est un facteur clé de succès, particulièrement si vous - l'entrepreneur - n'avez pas un profil technique,
  • enfin, ces documents démontrent aux investisseurs votre maturité et votre professionnalisme technologique. A défaut de pouvoir rentrer dans les détails, il sauront apprécier une réflexion menée en amont sur la pérennité du site et donc de leurs investissements.
Comments:

Post a Comment:
Comments are closed for this entry.
About

Connecting the Startup Essentials community with all the events, information and resources required for them to grow and scale.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today