Scaling an AWS infrastructure 2/2 : the pattern

Scale-Out in the Matrix

How do you scale an AWS (Amazon Web Services) infrastructure? In Part Two of the article, I describe the architecture model and the underlying technical components you should use in order to implement a scalable infrastructure. We will look in particular at the optimisation of data access in scale-out-type architectures suitable for implementation as a distributed system, as much at the data model level as the lower layers for I/O optimisation. We will also examine the recommended development concepts such as Stateless, in the finest REST tradition. I will end the article with some tips and tricks. My aim is to help you set up and optimise your infrastructure by understanding how Amazon tools operate and to get the most benefit from them.

[...]

Scaler une infrastructure AWS 2/2 : le modèle

Scale-Out in the Matrix

Comment scaler une infrastructure AWS (Amazon Web Services) ? Je vais décrire dans cette deuxième partie de l’article le modèle de l’architecture et les composants techniques sous-jacents à adopter afin de mettre en place une infrastructure scalable. Nous aborderons tout particulièrement le sujet de l’optimisation de l’accès aux données dans les architectures de type scale-out propices à la distribution, autant au niveau du modèle de données que des couches basses pour l’optimisation des I/O. Nous verrons également les concepts de développement à privilégier tel que le stateless dans la plus pure tradition REST. Je terminerai par quelques trucs et astuces en fin d’article. Le but est de vous permettre de constituer et d’optimiser votre infrastructure en comprenant le fonctionnement des outils proposés par Amazon pour en tirer le meilleur parti.

[...]

EBS et LVM2 ou comment optimiser l’élasticité des AWS

Le stockage de données en lui même n’est plus réellement un problème de nos jours. Nous pouvons facilement trouver des solutions qui permettent, selon les moyens techniques et financiers, de stocker un grand nombre de données. De son côté, Amazon, avec ses AWS, propose une solution « In the Cloud » permettant de créer un disque réseau de la taille désirée et de le raccrocher à une instance virtuelle. Cette solution, nommée EBS (Elastic Block Store), permet de créer à la volée des disques qui peuvent être attachés à chaud à une instance EC2 (Elastic Compute Cloud). Bien évidemment le coût financier de ce service est fonction de l’espace alloué. Trois solutions s’offrent alors à nous :

  • Allocation surestimée d’un disque permettant en théorie de subvenir aux besoins futurs du système ce qui occasionne un surcoût.
  • Allocation d’un disque pour assurer la pérennité à court ou moyen terme puis migration des données sur un disque plus grand quand le premier sera trop petit. Cette solution va demander un coût élevé en termes de maintenance et d’indisponibilité du système.
  • Utilisation de LVM2 (Logical Volume Manager, version 2) pour la gestion des disques. Elle permet de lisser l’augmentation de la quantité d’espace alloué en ajoutant des disques au fur et à mesure des besoins tout en assurant un minimum d’indisponibilité.

[...]