Amazon RDS (Relational Database Service) est le service de gestion des bases de données d'Amazon. Il vous facilite la vie si vous avez besoin de faire tourner une base de données pour vos applications.
Au départ, j'avoue que je n'en comprenais pas l'intérêt. Pourquoi faire tourner un serveur RDS à part alors que l’on peut installer un logiciel de base de données (comme MySQL) directement sur le serveur EC2 où on peut tout faire ?
Commençons donc par découvrir pourquoi RDS est si intéressant.
Prenez en main DBaaS
Vous vous souvenez des termes IaaS et PaaS que je vous avais présentés au début de ce cours ?
IaaS (Infrastructure as a Service) : on vous fournit des serveurs "bruts", et vous pouvez en faire ce que vous voulez. Vous avez beaucoup de liberté, mais il faut installer vous-même les logiciels, et penser à les mettre à jour (ce qui prend du temps). Vous avez un accès complet au serveur en SSH. C’est le principe d’Amazon EC2 !
PaaS (Platform as a Service) : on vous fournit des services prêts à l'emploi, par exemple un service de stockage de fichiers. L'utilisation est très facile, mais chaque outil ne sert qu'à un rôle à la fois (par exemple : un service pour stocker des fichiers, un autre pour gérer vos noms de domaine...). Vous n'avez pas accès au serveur en SSH.
Amazon RDS est une forme particulière de PaaS que l'on appelle... DBaaS (Database as a Service). Je sais, je sais, cela en fait des termes barbares.
Le concept est simple mais redoutablement efficace. Plutôt que d'installer et configurer vous-même le serveur de base de données, vous commandez un serveur spécifique et optimisé pour votre base de données.
Mais on est d'accord que je peux installer un serveur MySQL sur mon instance EC2 ?
Oui bien sûr ! Amazon ne vous l'interdit pas du tout. Mais en général, vous allez adorer utiliser RDS car cela vous apporte de nombreux avantages.
Pourquoi utiliser RDS
Alors pourquoi utiliser RDS ? Les raisons sont nombreuses. Voici les principales :
Vous n'avez pas à installer le logiciel de base de données (MySQL, PostgreSQL, MariaDB, Oracle...). C'est déjà fait pour vous !
Vous n'avez pas à configurer le moteur de base de données. La configuration de base est déjà optimisée pour vous.
Vous n'avez pas à choisir le matériel de vos serveurs. Amazon a déjà choisi des serveurs optimisés pour la gestion des bases de données.
Vous n'avez pas besoin de mettre à jour le logiciel de base de données. C'est fait pour vous par Amazon. Cela vous fait une source de stress en moins : les patchs de sécurité sont régulièrement installés pour vous.
La sauvegarde et la restauration des bases de données peut se faire en quelques clics. Et rien que ça, cela n'a pas de prix.
Vous pouvez augmenter la puissance du serveur si nécessaire, en fonction de votre trafic (comme Amazon EC2).
Vous pouvez lancer facilement plusieurs serveurs de base de données en réplication (la base de données est copiée en temps réel sur plusieurs serveurs). Cela vous sera très pratique si votre site devient gros !
Voilà un petit aperçu pour vous mettre l'eau à la bouche !
Il y a quand même de rares cas où vous voudrez peut-être gérer vous-même le serveur de base de données (par exemple en l'installant sur votre instance EC2). C'est le cas si vous voulez faire très simple et tout mettre sur un seul serveur, ou au contraire si vous avez des besoins de configuration extrêmement spécifiques.
Vous hésitez ? Alors je vous conseille de faire l'effort d'apprendre à utiliser RDS. Je suis certain que vous apprécierez les avantages que cela vous apporte !
Choisissez le moteur de base de données adapté
Quand vous utilisez RDS, vous avez le choix de votre moteur de base de données. Les plus connus sont disponibles, vous devriez trouver votre bonheur :
MySQL ;
MariaDB (qui est un fork de MySQL) ;
PostgreSQL ;
Oracle ;
SQL Server ;
... et Amazon Aurora.
À vous de choisir le moteur que vous préférez et que vous avez l'habitude d'utiliser ! Il sera installé et configuré pour vous.
Qu'est-ce qu'Amazon Aurora ?
Il s'agit d'un moteur de base de données spécifique conçu par Amazon. Il est :
compatible avec MySQL et PostgreSQL. Si vous avez déjà une base de données MySQL ou PostgreSQL, vous devriez donc pouvoir utiliser Aurora quasiment sans problème. Vous pouvez par exemple tout à fait l'administrer avec un outil comme phpMyAdmin si vous le souhaitez ;
propriétaire. Le code source d'Aurora n'est pas ouvert, ce qui pourra en refroidir certains. En revanche, étant compatible avec MySQL et PostgreSQL, vous pouvez normalement importer et exporter les données à tout moment si nécessaire ;
plus rapide. Amazon indique qu'il est 5 fois plus rapide que MySQL et 3 fois plus rapide que PostgreSQL. Il est surtout optimisé pour le cloud d'Amazon ;
encore plus simple à gérer. Amazon s’occupe d’adapter la capacité des serveurs Aurora, d’élire de nouveaux serveurs primaires d’écriture, etc.
À vous de voir si cela vous intéresse. Si vous démarrez un nouveau projet, ce n'est pas très risqué d'essayer Amazon Aurora (car il est compatible MySQL et PostgreSQL), mais si vous avez déjà un gros projet sur les bras, faites bien votre choix en conscience !
En résumé
RDS est un service de type DBaaS qui simplifie grandement la gestion de bases de données : sauvegardes et mises à jour automatiques, serveurs gérés par AWS, etc.
RDS supporte les moteurs SQL les plus communs : PostgreSQL, MySQL, SQL serveur et Oracle.
Aurora est un moteur propriétaire Amazon compatible avec PostgreSQL et MySQL. Il offre plus de performance, nécessite encore moins de maintenance mais coûte plus cher.
Après cette introduction théorique, vous devez rêver de remettre les mains dans le cambouis. C’est exactement l’objet du prochain chapitre !