13.07.2013 Views

L'élasticité des bases de données sur le cloud computing - CoDE

L'élasticité des bases de données sur le cloud computing - CoDE

L'élasticité des bases de données sur le cloud computing - CoDE

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

peut être vu <strong>de</strong> manière abstraite comme une instance dont <strong>le</strong>s ressources pourraient être<br />

ajustées à la <strong>de</strong>man<strong>de</strong>.<br />

Ce n’est qu’en combinant ce service basique à d’autres services (tels que <strong>le</strong> CloudWatch, l’<br />

Auto Scaling) que <strong>le</strong> client commencera à disposer d’une architecture qu’il exploitera tel son<br />

propre <strong>cloud</strong>. Afin <strong>de</strong> mieux comprendre <strong>le</strong> concept <strong>de</strong> services et l’interaction existant entre<br />

eux, reprenons ci-<strong><strong>de</strong>s</strong>sous quelques services proposé par Amazon. Ces services sont <strong>de</strong> type<br />

SaaS ; <strong>le</strong> client a accès à un service dont l’infrastructure sous-jacente lui est abstraite.<br />

“Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provi<strong><strong>de</strong>s</strong><br />

resizab<strong>le</strong> compute capacity in the <strong>cloud</strong>. It is <strong><strong>de</strong>s</strong>igned to make web-sca<strong>le</strong> <strong>computing</strong><br />

easier for <strong>de</strong>velopers.” [1]<br />

Amazon Elastic Compute Cloud propose un service dont la capacité <strong>de</strong> calcul est redimensionnab<strong>le</strong>.<br />

Le terme “service” met en évi<strong>de</strong>nce la volonté <strong>de</strong> faire abstraction <strong><strong>de</strong>s</strong> composants<br />

physiques tandis que “redimensionnab<strong>le</strong>” fait référence à la possibilité d’adapter la capacité<br />

<strong>de</strong> calcul <strong>de</strong> cette instance virtuel<strong>le</strong> à la <strong>de</strong>man<strong>de</strong> du client. L’utilisateur du service profitera<br />

dès lors p<strong>le</strong>inement <strong><strong>de</strong>s</strong> avantages <strong>cloud</strong> sans avoir même à considérer l’environnement <strong>cloud</strong>.<br />

CloudWatch est un service qui fournit une <strong>sur</strong>veillance pour <strong>le</strong>s autres services Amazon.<br />

Il fournit une visibilité <strong><strong>de</strong>s</strong> ressources (usage CPU, mémoire) utilisées et <strong><strong>de</strong>s</strong> performances <strong>de</strong><br />

ces services. Cette visibilité permettra (lorsqu’on coup<strong>le</strong> CloudWatch à un autre service) <strong>de</strong><br />

déc<strong>le</strong>ncher certains triggers forts uti<strong>le</strong>s.<br />

Auto Scaling, couplé au service EC2 et CloudWatch, est un service qui permet d’ajuster<br />

la capacité <strong>de</strong> EC2 en fonction <strong>de</strong> la <strong>de</strong>man<strong>de</strong>. Ce service définit <strong><strong>de</strong>s</strong> conditions et <strong><strong>de</strong>s</strong> actions<br />

à effectuer lorsqu’el<strong>le</strong>s sont atteintes ; par exemp<strong>le</strong>, on peut déci<strong>de</strong>r d’ajouter 3 nouvel<strong>le</strong>s<br />

instances EC2 au parc lorsque l’utilisation moyenne <strong>de</strong> l’unité centra<strong>le</strong> atteint 70 %. Auto<br />

Scaling permet aussi <strong>de</strong> s’as<strong>sur</strong>er d’avoir un parc d’instances saines <strong>de</strong> tail<strong>le</strong> fixe en décidant<br />

donc <strong>de</strong> remplacer toute instance défaillante par une nouvel<strong>le</strong> saine.<br />

Elastic Load Balancing (traduit par Equilibreur <strong>de</strong> charge élastique) distribue automatiquement<br />

<strong>le</strong> trafic entrant à travers <strong>de</strong> multip<strong>le</strong>s instances EC2 appartenant, ou non, à la<br />

même zone <strong>de</strong> disponibilité. Elastic Load Balancing détecte aussi <strong>le</strong>s défaillances d’instances<br />

(appartenant à son domaine) et redirige <strong>le</strong> trafic qui <strong>le</strong>ur était <strong><strong>de</strong>s</strong>tiné (vers d’autres instances<br />

saines) jusqu’à ce que <strong>le</strong>s instances défaillantes soient assainies. On peut dès lors créer une<br />

tolérance à la défaillance 1 : en plaçant <strong><strong>de</strong>s</strong> instances EC2 dans différentes zones <strong>de</strong> disponibilité,<br />

<strong>le</strong> service Elastic Load Balancing peut automatiquement gérer <strong>le</strong> trafic (<strong>le</strong> diriger vers<br />

<strong><strong>de</strong>s</strong> instances saines). Couplé à Auto Scaling, on peut s’as<strong>sur</strong>er que <strong>le</strong> nombre d’instances sous<br />

Elastic Load Balancing ne soit jamais inférieur à un nombre voulu ou bien s’as<strong>sur</strong>er que <strong>le</strong><br />

temps <strong>de</strong> latence d’une application n’excè<strong>de</strong> jamais un seuil fixé par l’administrateur.<br />

Simp<strong>le</strong> Queue Service (SQS) est une fi<strong>le</strong> d’attente fiab<strong>le</strong> et capab<strong>le</strong> <strong>de</strong> monter à l’échel<strong>le</strong>.<br />

Utilisée pour transmettre <strong><strong>de</strong>s</strong> messages entre différents services, el<strong>le</strong> facilite la création d’un<br />

flux <strong>de</strong> travail automatisé.<br />

2.2 Définition du <strong>cloud</strong><br />

Dans cette section, nous tenterons une approche plus théorique <strong><strong>de</strong>s</strong> concepts énoncés<br />

précé<strong>de</strong>mment.<br />

1. Nous définirons <strong>le</strong> terme <strong>de</strong> tolérance à la défaillance dans la section 2.2.<br />

7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!