Le cloud computing : Défis de la configuration du cloud

La sélection, la configuration et les performances de vos applications de cloud auront des répercussions très importantes sur les performances.

Dan Marinescu

Adapté de « Cloud Computing : Theory and Practice"(Elsevier Science & Livres de technologie)

Développement d'applications de nuage efficace est livré avec bon nombre des mêmes défis posés par les déséquilibres naturels trouvés dans le calcul, e/s et la communication de bandes passantes des systèmes physiques. Ces défis sont considérablement amplifiés par l'échelle du système, sa nature distribuée et le fait que pratiquement toutes les applications sont des données volumineuses.

Bien que toute infrastructure de cloud computing va idéalement tenter de distribuer et d'équilibrer les charges de traitement automatiquement, vous vous retrouvez toujours la responsabilité de placer les données à proximité du site de traitement et de déterminer sa stratégie de conservation optimale. L'un des principaux avantages du cloud computing — l'infrastructure partagée — peut également être un inconvénient.

Isolement de la performance est presque impossible à atteindre dans un système réel, surtout quand le système est lourdement chargé. C'est encore plus difficile avec le cloud computing. Les performances des machines virtuelles (VM) varie selon la charge, services d'infrastructure, environnement et de nombre d'utilisateurs. Isolation de sécurité est un autre facteur difficile à identifier sur les systèmes de plusieurs locataires.

Fiabilité est également une préoccupation majeure. Vous pouvez vous attendre de défaillances de noeuds chaque fois qu'un grand nombre de nœuds en compétition pour calculer les ressources. Choisir une instance optimale (en termes d'isolation de la performance, de fiabilité et de sécurité) de celles offertes par l'infrastructure cloud est un facteur critique. Des considérations budgétaires jouent également un rôle dans le choix du type de l'instance.

L'expérience de l'app

Nombreuses applications consistent en plusieurs étapes. Chaque étape peut impliquer plusieurs instances en cours d'exécution en parallèle sur les systèmes nuageux et la communication entre eux. Ainsi, l'évolutivité d'efficacité, de cohérence et de communication sont des préoccupations majeures pour un développeur d'applications. En raison des réseaux partagés et topologie inconnu, infrastructures de cloud pièce latence entre-nœud et fluctuations de la bande passante qui affectent souvent les performances des applications.

Stockage de données joue un rôle essentiel dans l'exécution de n'importe quelle application de données volumineuses. Organiser le stockage, choisir l'emplacement de stockage et gestion de bande passante de stockage doivent tous être soigneusement analysés pour une performance optimale des applications. Nuages prend en charge plusieurs options de stockage, y compris hors instance cloud storage, stockage en rack bloc hors instance et stockage persistant pour la durée de l'instance.

Beaucoup d'applications consommatrices de données utilise des métadonnées associées aux données individuelles. Par exemple, les métadonnées d'un fichier audio MPEG peuvent inclure le nom de la chanson, le chanteur, enregistrement des informations et ainsi de suite. Métadonnées doivent être conservées pour faciliter l'accès et l'entreposage doit être fiable et évolutive.

Une autre considération importante pour les performances de l'application se connecte. C'est un équilibre délicat. Considérations relatives aux performances limiter la quantité de données de journalisation, tandis que la capacité d'identifier la source des résultats inattendus et erreurs est aidée en vous connectant fréquent. Journalisation est généralement effectuée à l'aide de stockage d'instance ne conservée que pendant la durée de vie de l'instance. Ainsi, vous devez toujours prendre des mesures pour préserver les journaux pour une analyse post-mortem.

Possibilités d'application

Vous pouvez diviser les applications existantes de nuage en plusieurs grandes catégories : traitement des tuyaux, des systèmes de traitement par lots et applications Web. Pipelines de traitement sont des applications de données intensives et souvent consommatrices. Il s'agit d'un segment relativement important des applications en cours d'exécution sur le nuage. Il existe plusieurs types d'applications de traitement des données :

  • **Indexation :**Le pipeline de traitement prend en charge l'indexation des grands ensembles de données créés par les moteurs de robot d'indexation Web.
  • **Exploration de données :**Le pipeline de traitement prend en charge la recherche de grandes collections d'enregistrements pour localiser les points d'intérêts.
  • Traitement de l'image : Un certain nombre de compagnies vous permettre de stocker des images sur le cloud, tels que Flickr et Google. Les pipelines de traitement des images prend en charge le cryptage, compression et conversion d'images.
  • **Transcodage vidéo :**Le transcode de pipeline de traitement d'un format vidéo à l'autre (par exemple, de AVI en MPEG).
  • **Traitement des documents :**Le pipeline de traitement convertit des grandes collections de documents d'un format à un autre (par exemple, à partir de Word au format PDF) ou crypte les documents. Il pourrait également utiliser la reconnaissance optique de caractères (OCR) pour produire des images numériques des documents.

Systèmes de traitement par lots couvrent également un large éventail d'applications de données gourmandes en informatique d'entreprise. Ces demandes ont généralement des délais. Incapacité à respecter ces délais pourrait avoir des conséquences économiques graves. La sécurité est également un aspect critique pour de nombreuses applications de traitement par lots. Une liste non exhaustive des applications de traitement par lots comprend :

  • Génération de tous les jours, des rapports d'activité hebdomadaire, mensuelle et annuelle pour les organisations en détail, la fabrication et autres secteurs de l'économie.
  • Traitement, agrégation et résumant les transactions quotidiennes pour les institutions financières, compagnies d'assurances et organismes de santé.
  • Gestion des stocks pour les grandes sociétés.
  • Traitement de la facturation et paie-record
  • Gestion du développement de logiciels (tels que les mises à jour nocturnes des dépôts de logiciels).
  • Tests automatiques et la vérification des systèmes logiciels et matériels.

Enfin, et de plus en plus d'importance, sont des applications de nuage pour un accès Web. Plusieurs catégories de sites Web ont un périodique ou une présence temporaire, comme les sites Web pour des conférences ou autres événements. Il y a aussi des sites Web qui sont actifs pendant une saison particulière comme les vacances. Ils peuvent également prendre en charge un type particulier d'activité, tels que l'impôt sur le revenu avec la date limite du 15 avril chaque année. Autres sites Web de durée limitée utilisés pour des activités promotionnelles « sommeil » pendant la nuit et l'échelle automatique pendant la journée.

Il est une logique économique pour stocker les données dans le nuage à proximité où l'application s'exécute. Le coût par Go est faible et le traitement est plus efficace lorsque les données sont stockées à proximité les serveurs. Cela pourrait conduire à plusieurs nouvelles classes d'applications cloud computing dans les années à venir. Par exemple, il pourrait y avoir le traitement par lots pour les systèmes de soutien de décision et d'autres aspects de l'analyse commerciale.

Une autre classe de nouvelles applications pourrait être le traitement par lots parallèle basé sur des abstractions de programmation. Mobiles applications interactives qui traitent de gros volumes de données de différents types de capteurs et de services qui combinent plusieurs sources de données sont des candidats évidents pour le cloud computing.

Science et génie pourraient bénéficier grandement de cloud computing car de nombreuses applications dans ces domaines sont consommatrices et données. De même, un nuage dédié à l'éducation serait extrêmement utile. Logiciel mathématique tels que MATLAB et Mathematica peut également exécuter sur le nuage.

Développement d'applications, de sélection, de configuration et de performances tous devient des activités essentielles pendant l'équilibrage d'un environnement de cloud computing. Vous aurez beaucoup d'applications s'exécutant dans différentes manières, et cette pile d'application devra une surveillance et entretien.

Dan C. Marinescu

Dan C. Marinescu a été professeur d'informatique à l'Université Purdue de 1984 à 2001. Puis il rejoint le département informatique à l'Université de Central Florida. Il a occupé des postes de professeur invité à l'IBM T. J. Watson Research Center, l'Institut des Sciences de l'Information à Beijing, la Division de systèmes évolutifs de Intel Corp., Deutsche Telecom AG et l'INRIA Rocquencourt en France. Ses intérêts de recherche parallèle de la couverture et les systèmes distribués, le cloud computing, scientifique informatique, informatique et quantum information quantique.

Pour en savoir plus sur les autres titres Elsevier, Découvrez Elsevier Science & Livres de technologie.

Contenus associés