Le small cloud computing

raspberry-pi-2

De nos jours, nous mettons de plus en plus en avant le cloud computing, des fermes de machine qui fonctionnent 24 heures sur 24, beaucoup de puissance, dans un bunker, avec une sécurité accrue. De nombreux articles parlent des avantages de l’informatique dans les nuages. On parle de plusieurs mises en production par semaines (le devops), nous associons le cloud avec les méthodes agiles. Malgré tout l’image du nuage informat reste liée à des spécialistes,  à des experts système, à des grosses entreprises, à des juristes et des contrats complexes. L’externalisation de l’informatique permet de faire des économies de coût et des économies d’échelles.

Un projet de cloud computing est une refonte de l’infrastructure informatique d’une entreprise, c’est un challenge dans la gestion des ressources, dans la gestion des infrastructures existantes et aussi dans la gestion de l’humain. Je vous propose d’aborder une nouvelle forme de cloud, une petite révolution via les objets connectés, des petites machines économiques et connectés. Il n’y a pas d’article sur ce nouveau modèle d’informatique, il va a l’encontre des médias de masse et du marketing des grandes entreprises. C’est une nouvelle dimension qui apparaît dans le paysage informatique.

Le comparatif sur les prix

mainframeLes fermes de cloud computing, utilisent des ordinateurs très puissants, pour effectuer de la virtualisation de serveur. Un mainframe (un gros ordinateur) héberge de 10 à 200 serveurs ou plus. L’achat d’un mainframe coute de 20 000 euro à plus de 2 millions d’euros. La durée de vie d’un mainframe est courte de 5 à 10 ans. Les serveurs sur le mainframe sont livrés nus, il faut installer un système d’exploitation très souvent payant et des serveurs d’applications, ou des  serveurs web.

Raspberry pi 2  + boitierJe vais basé cette article sur le Raspberry PI 2 avec 1 giga de mémoire, cet objet connecté coute un peu moins de 70 euro. C’est un petit serveur avec un microprocesseur (ARM 64 bits avec 4 coeurs) , un petit disque dur (une carte SD 8 go), de la mémoire (1go), une alimentation. Les objets connecté sont fournit avec un système d’exploitation linux gratuit ( raspbian). La durée de vie d’un objet connecté est courte (3 ans ?) . Je constate une monté en puissance importante des Raspberry PI .

La porte ouverte est ouverte pour le small computing, nous avons de plus en plus de solution concurrente, le banana PI, arduino, beagleBone, cubieboard, pcDuino. La puissance des micro machines augmente de plus en plus.

 Comparatif sur les besoins

Les besoins du small computing, ne sont pas les mêmes. Ils sont utiles pour tester un concept, faire un prototype ou un produit minimum viable. L’avantage majeur du small computing est de commencer petit, et de grossir en fonction des besoins et du retour sur investissement.

Le besoin logiciel ne grossit pas toujours en fonction de l’usage. Rien n’empêche de basculer un besoin logiciel d’une micro machine vers un serveur, puis vers un mainframe cloud computing.

Le premier intérêt, c’est le low cost, le faible cout de la solution. Le retour sur l’investissement logiciel est directe (70 euro), il est vite perceptible, il y a une motivation du développeur à démontrer la faisabilité et aussi un coté amusant. La solution est réutilisable pour d’autre projet, pour d’autre poc. L’intérêt du petit serveur réside dans la proximité, dans le caractére appropriation de la ressource.

Le deuxième intérêt, c’est l’économie par rapport a un gros serveur, ou à un serveur virtualisé sur un mainframe (en terme de place, de consommation électrique, de sécurité.). Il n’y a pas de demande de provisionning, de formulaire à remplir en 5 exemplaires, de validation administrative. Un solution d’hébergement cloud computing coute de 10 euro ttc par mois, à plusieurs centaines en fonction des besoins, ensuite, il faut montrer patte blanche pour accéder à un serveur. La solution cloud computing est réutilisable, à condition de passer par un  autre service, de désallouer les ressources, est ainsi de suite. (combien de fois 70 euros ? ).

Le solution cloud computing a plusieurs désavantages, la distance (ou se trouve les machines ,) le coté administratif pour obtenir une ressource. Les opérations ont été simplifiées grâce au portail cloud (de location et de construction), malgré tout, il reste une notion importante de validation des ressources.

Le troisième intérêt de la démarche est encore moins visible, c’est la notion de LEGO. J’ai besoin d’un morceau de base de données, d’un morceau de site web, d’un espace de stockage. J’ai besoin d’un service. Par exemple, je crée un site web sur une micro machine,  il fonctionne très bien, de plus en plus,  je décide d’intégrer un lien avec un micro serveur moteur de recherche. Je relie des services. La proximité crée de l’agilité au sein des équipes.

Cette opération est réalisable dans le cloud computing, bien entendu, mais à qu’elle cout ? La micro machine devient un service, un outil permanent, un serveur proche du développeur. Lors d’un développement sur un poste informatique, on lance une application, puis une autre. Le soir lorsque l’on éteint l’ordinateur, on perd tout le travail, pas les sources, ni les documentations, mais tous les traitements en cours d’exécution. Le lendemain, il faut à nouveau relancer tous les logiciels.

L’objet connecté, le micro serveur ou la micro machine est conçu dans le soucis de l’économie d’énergie, dans une idée de permanence. La proximité de la machine, crée un implication plus forte, une sensibilité accrue sur ce qui fonctionne ou ne fonctionne pas. C’est un avantage important par rapport à un PC de bureau ou un serveur.

hadoop sur cubie board

hadoop sur cubieboard

La notion de modularité est importante, il suffit d’un routeur ( 15 euros), de 2 ou 3 rasperberry PI 2 pour créer un cluster de site web, un serveur de base de données, un service redondant, avec de la répartition de charge. L’administration des machines est plus complexe,  par contre les concepts mis en place ont tout d’une solution cloud computing. L’implication des équipes de développement est plus important, car elle doit chercher et comprendre des concepts informatiques importants dans le cloud computing.

Il manque bien entendu des services, de la sécurité, la possibilité d’ajouté des ressources supplémentaires sur une machine. La mémoire et la puissance de la micro machine sont réduite (1 giga de ram). Par contre chaque service tire le profit, et maximise l’utilisation de la machine.

Les impacts sur le développement et sur les équipes

Dans le cas de cloud computing, les applications fonctionnent souvent sur des environnements surdimensionnés, dans la cas des micros serveurs, elles fonctionnent dans des environnements restreints, contraints et parallélisables. Je vais donner une image, pendant de nombreux années nous avons réalisés des développements sous windows XP, de nombreux serveurs ont fonctionné avec très peu de mémoire, et très peu de puissance processeur. De nos jours nous utilisons le système d’exploitation windows 7, ou windows 2008 serveur pour effectuer quasiment les mêmes taches.  Nous avons gagné bien entendu en puissance de calcul et sur la mémoire. Combien de ressources matérielles sont consommés par windows ? On utilise un ordinateur très souvent à moins de 20 pourcent. Il existe aussi de cas de machine surchargée et personne ose ajouter des traitement a cause de la peur de perdre des informations.

clavier + écran + raspberryLa solution Raspbian repose sur un noyau linux optimisé pour les micros serveur, elle permet de créer des sites web, à moindre coît, qui fonctionne avec les technologies actuelles. Le small computing offre un environnement de développement restreint en terme de puissance et de ressource. On utilise la petite machine à plus de 50 pourcent. Le serveur continue de fonctionner sans écran, sans clavier. Il peut être accéder via une console SSH.

Dans le cas de la construction logiciel, nous avons un notion important, qui se vérifie très souvent, « une application égale un serveur ». Un équipe dans une entreprise développe un produit, pour un service, sur un serveur. Le produit est installé sur un serveur en production. L’équipe est dissoute, une autre équipe prend la relève sur un autre projet, et commande des nouveaux serveurs. Le gaspillage de serveur est conséquent. La chaine du « un serveur, une application » est maintenu dans les différents environnements de travail. Ils est très difficile de faire cohabiter des équipes diverses sur un même serveur. S’il y a un problème, les équipes se renvoient la balle, et tout le monde est responsable.

Le micro serveur offre de nombreuses améliorations techniques, il force les équipes à réaliser des micro services, a optimiser la consommation de ressource et à mesurer les usages. Il force les équipe a se concentrer sur la création de fonctions utiles.

Si l’on descend, au niveau du développeur, la micro machine force le développeur à revoir les traitements consommateurs, et trouver des alternatives low cost. Il doit réaliser des tests de charge tout au long du développement , se concentrer sur l’usage des mémoires cache. Il doit aller à l’essentiel, Il n’a pas le droit à des fonctions annexes ou superflux. Le développeur est forcé à devenir agile. Il doit créer des fonctions d’import et d’export simples, pour alléger la machine, il doit prévoir l’historisation des dossiers, la gestion des pieces jointes. Ces taches sont onéreuses aux premiers abords, par contre elles permettent des économies de machine, de ressources, de traitement sur le long termes. Elle force le développeur a se concentrer sur l’util. Les programmes sont conçu pour fonctionner sur une ou plusieurs machines et donc parallélisable.

Le dernier point le plus important, est le calcul du ROI, il est beaucoup plus facile a mesurer. Le micro service doit répondre très rapidement aux besoins.

 Conclusion.

J’espère tout au long de cet article vous avoir convaincu du retour de la petite machine dans le bureau.  La petite machine viendra pas dans le bureau des secrétaires, ni dans le bureau des directeur, par contre je pense qu’elle va prendre place dans le bureau des développeurs, au même titre que le téléphone, ou le deuxième écrans. Le micro serveur permet la mise en place rapide de site web, de service web et aussi d’un assistant virtuel. L’utilisation d’un serveur local, permet la réalisation d’un Cloud computing au sein des entreprises.

Il y a quelques années, nous avions d’un coté, les solutions cloud computing, dans des salles blanches, de l’autre, nous avions l’entreprise Google qui achetait des serveurs au prix le plus bas, pour construire des fermes de serveur à bas cout. Nous avions d’un coté des monstres de puissance fragiles et de l’autre des fermes de serveurs constitués de plusieurs coeurs, de plusieurs noeuds. D’un coté des machines très onéreuses et de l’autre des grappes de serveurs bon marchés. Les informations, les données sur les fermes de serveur été clonés plusieurs fois, pour gérer les pannes, et aussi répondre à de nombreux utilisateurs. Il suffisait d’ajouter des machines bon marché pour étendre la puissance du groupe.

Le cloud computing a subit de nombreuses évolutions depuis, les entreprises se sont lancés dans la diminution de la consommation électrique, sur le green computing, et aussi sur la gestion des infrastructure. Le cloud computing est devenue à la porté de toutes les entreprises, il s’est démocratisé. Le parallèle entre les objets connectés et les fermes de machine est simple. Un objet connecté est un serveur bon marché, de plus en plus connecté, de plus en plus interopérable et connectable. Nous avons de plus en plus le choix entre une informatique grosse machine et une informatique ferme de serveur.  La connexion des machines , les solutions de virtualisation, Docker, Openstack, VMware permettent de plus en plus la construction de solution à mi chemin, nous allons de plus en plus vers une informatique externalisable. Nous allons de plus en plus vers une informatique plug and play.

J’ai lu un article sur le SMART computing et aussi des notions sur les objets connectés. Le monde de l’informatique est en total ébullition.

A propos Duarte TERENCIO

Architecte Solutions
Cet article, publié dans Autre .., Objet connectés, est tagué , , , . Ajoutez ce permalien à vos favoris.

Un commentaire pour Le small cloud computing

  1. Ping : Le small cloud computing | La recherche d'emplo...

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.