{"id":7466,"date":"2019-05-17T12:33:32","date_gmt":"2019-05-17T11:33:32","guid":{"rendered":"http:\/\/blog.capdata.fr\/?p=7466"},"modified":"2022-11-21T16:22:52","modified_gmt":"2022-11-21T15:22:52","slug":"mysql-dans-le-paas-le-radar-de-notation-des-solutions","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/","title":{"rendered":"MySQL dans le PaaS : le radar de notation des solutions"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7466&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7466&#038;title=MySQL%20dans%20le%20PaaS%20%3A%20le%20radar%20de%20notation%20des%20solutions\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=MySQL%20dans%20le%20PaaS%20%3A%20le%20radar%20de%20notation%20des%20solutions&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7466\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p>Pour ajouter un peu de visibilit\u00e9 \u00e0 ce comparatif MySQL dans le PaaS, j&#8217;ai d\u00e9cid\u00e9 de faire un r\u00e9cap par th\u00e9matique et des podiums par solution, avec un argumentaire pour chaque cas. Cet article sera remis \u00e0 jour avec les infos sur Aurora pour compl\u00e9ter le tableau une fois l&#8217;\u00e9tude publi\u00e9e. <\/p>\n<table border=0>\n<tr>\n<td bgcolor=#EEEEEE><em><strong>Disclaimer <\/strong>: avant de d\u00e9buter, j&#8217;indiquerais que le choix des th\u00e8mes et le syst\u00e8me de notation n&#8217;engage que moi. Je me base sur mon exp\u00e9rience de production sur MySQL, que j&#8217;utilise au quotidien depuis plus de 10 ans, de la 4.1 \u00e0 la 5.7 qui est aujourd&#8217;hui notre socle data en production sur AllDB. Si vous avez des commentaires ou si vous n&#8217;\u00eates pas d&#8217;accord avec la m\u00e9thode, vous pouvez vous manifester dans les commentaires en bas de cette page, le dialogue est toujours ouvert \ud83d\ude42 <\/p>\n<p>Egalement pour dire que le monde du cloud est un monde en perp\u00e9tuel mouvement. Ce qui est annonc\u00e9 ici peut changer la semaine qui suit. Ce classement dresse un \u00e9tat qui n&#8217;est valable que jusqu&#8217;\u00e0 la date de publication de cet article, c&#8217;est \u00e0 dire dans le courant de mai 2019&#8230;<\/em><\/td>\n<\/tr>\n<\/table>\n<p>Avant de se lancer, on rappellera les articles de r\u00e9f\u00e9rence pour retrouver tous les d\u00e9tails des tests effectu\u00e9s par plateforme cloud:<br \/>\n&#8211; \u00e9pisode 1 :<a href=\"https:\/\/blog.capdata.fr\/index.php\/comparatif-mysql-dans-le-paas-episode-1-google-cloud-sql\/\"> MySQL sur Google Cloud platform<\/a>.<br \/>\n&#8211; \u00e9pisode 2 : <a href=\"https:\/\/blog.capdata.fr\/index.php\/comparatif-mysql-dans-le-paas-episode-2-azure\/\">MySQL et MariaDB sur Microsoft Azure<\/a>.<br \/>\n&#8211; \u00e9pisode 3 1\/2 : <a href=\"https:\/\/blog.capdata.fr\/index.php\/comparatif-mysql-dans-le-paas-episode-3-amazon-rds-1-2\/\">MySQL et MariaDB dans Amazon RDS 1\/2<\/a><br \/>\n&#8211; \u00e9pisode 3 2\/2 : <a href=\"https:\/\/blog.capdata.fr\/index.php\/comparatif-mysql-dans-le-paas-episode-3-amazon-rds-2-2\/\">MySQL et MariaDB dans Amazon RDS 2\/2<\/a><\/p>\n<h2>Les th\u00e9matiques<\/h2>\n<p>Chaque solution est jug\u00e9e sur la base d&#8217;une th\u00e9matique. Le but est de dresser un tableau suffisamment exhaustif pour pouvoir estimer justement o\u00f9 se situent ces offres les unes par rapport aux autres&#8230; La liste des th\u00e9matiques est la suivante:<\/p>\n<table border=0 cellspacing=10>\n<tr>\n<td><strong>Couverture technique<\/strong><\/td>\n<td> Liste des versions et fonctions support\u00e9es. Ce th\u00e8me permet de mesurer la distance en fonctionnalit\u00e9s entre une instance on-premise et une instance dans le PaaS.<\/td>\n<\/tr>\n<tr>\n<td><strong>Tiers et stockage<\/strong><\/td>\n<td>  Vari\u00e9t\u00e9 dans les diff\u00e9rents choix de tier et de stockage utilisables. <\/td>\n<\/tr>\n<tr>\n<td><strong>Manageabilit\u00e9<\/strong><\/td>\n<td> Souplesse de l&#8217;administration (acc\u00e8s aux logs, configuration, connectivit\u00e9, arr\u00eat, d\u00e9marrage, etc&#8230;) <\/td>\n<\/tr>\n<tr>\n<td><strong>Options de facturation<\/strong><\/td>\n<td> Vari\u00e9t\u00e9 des choix possibles de facturation. <\/td>\n<\/tr>\n<tr>\n<td><strong>Diagnostics et outillage<\/strong><\/td>\n<td> Richesse des interfaces de diagnostic et de l&#8217;outillage disponible pour l&#8217;analyser des incidents et des probl\u00e8mes de performance. <\/td>\n<\/tr>\n<tr>\n<td><strong>Industrialisation<\/strong><\/td>\n<td> Mesure des capacit\u00e9s d&#8217;automatisation et de la richesse de la grammaire CLI. <\/td>\n<\/tr>\n<tr>\n<td><strong>Disponibilit\u00e9<\/strong><\/td>\n<td> Solutions de haute disponibilit\u00e9 propos\u00e9es. <\/td>\n<\/tr>\n<tr>\n<td><strong>Scalabilit\u00e9<\/strong><\/td>\n<td> Solutions de mont\u00e9e en charge sur les tiers, le stockage, les solutions de r\u00e9plication et le scale-out en lecture seule. <\/td>\n<\/tr>\n<tr>\n<td><strong>Sauvegarde et restauration<\/strong><\/td>\n<td> Solutions de sauvegarde et flexibilit\u00e9 sur la restauration. <\/td>\n<\/tr>\n<tr>\n<td><strong>Gestion des mises \u00e0 jour<\/strong><\/td>\n<td> Encadrement de la maintenance cloud et la mise \u00e0 jour des versions de la base. <\/td>\n<\/tr>\n<tr>\n<td><strong>S\u00e9curit\u00e9<\/strong><\/td>\n<td> Moyens de mise en s\u00e9curit\u00e9 du point de vue des donn\u00e9es, acc\u00e8s, connexions, sauvegardes, etc&#8230;<\/td>\n<\/tr>\n<tr>\n<td><strong>Prix<\/strong><\/td>\n<td> Evaluation du co\u00fbt de la solution. <\/td>\n<\/tr>\n<\/table>\n<p>A noter que je n&#8217;ai pas mis de th\u00e8me &#8216;Performance&#8217;, ce sera certainement l&#8217;objet d&#8217;un futur post, mais pour noter objectivement la performance il faudrait pouvoir faire un bench, donc, pour l&#8217;instant la performance n&#8217;entrera pas dans les crit\u00e8res sans preuve \u00e0 l&#8217;appui&#8230;<\/p>\n<h2>Les crit\u00e8res de notation:<\/h2>\n<p>Chaque th\u00e9matique pour chaque solution sera jug\u00e9e sur une \u00e9chelle de 1 \u00e0 5 o\u00f9:<br \/>\n&#8211; <strong>1<\/strong>: <em>Inexistant<\/em>. Le th\u00e8me n&#8217;est tout bonnement pas couvert.<br \/>\n&#8211; <strong>2<\/strong>: <em>Faible<\/em>. La couverture est minimaliste.<br \/>\n&#8211; <strong>3<\/strong>: <em>Moyen<\/em>. Couvre les besoins de base uniquement.<br \/>\n&#8211; <strong>4<\/strong>: <em>Optimal<\/em>. Couvre tous les besoins connus.<br \/>\n&#8211; <strong>5<\/strong>: <em>D\u00e9passe les attentes<\/em>. Pr\u00e9sente une plus-value par rapport \u00e0 l&#8217;\u00e9quivalent on-premise. <\/p>\n<h2>Le radar:<\/h2>\n<p>Le radar donne la meilleure repr\u00e9sentation du bilan par th\u00e9matique et par solution.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/radar2.png\" alt=\"\" width=\"634\" height=\"523\" class=\"aligncenter size-full wp-image-7489\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/radar2.png 634w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/radar2-300x247.png 300w\" sizes=\"auto, (max-width: 634px) 100vw, 634px\" \/><br \/>\nL&#8217;avance sur presque tous les domaines prise par Amazon se paye &#8230; comptant ! Le prix est ainsi le seul crit\u00e8re pour lequel RDS termine bon dernier. Le d\u00e9tail du pourquoi dans les articles pr\u00e9-cit\u00e9s, pour la synth\u00e8se th\u00e9matique par th\u00e9matique, c&#8217;est par ici&#8230; <\/p>\n<hr \/>\n<h2>Couverture technique<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_Azure_GCP.png\" alt=\"\" width=\"580\" height=\"258\" class=\"aligncenter size-full wp-image-7472\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_Azure_GCP.png 580w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_Azure_GCP-300x133.png 300w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><br \/>\n<strong>RDS : 5\/5. <\/strong>J&#8217;ai mis la note maximale \u00e0 RDS parce qu&#8217;il supporte les derni\u00e8res versions stables de MySQL (8.0.15) et MariaDB (10.3.13), mais aussi la version 5.5 de MySQL pour compatibilit\u00e9. Aucun autre clouder ne supporte la version 8.0 pour l&#8217;instant et aucun autre n&#8217;est aussi large dans son choix de version. Quand on migre dans le cloud, c&#8217;est important aussi de ne pas avoir \u00e0 faire une migration de version en plus&#8230; Quant aux seules fonctionnalit\u00e9s non support\u00e9es on retrouve seulement la r\u00e9plication semi-synchrone, les tablespaces encryptables ou transpotables et le SET PERSIST dans la version 8.0. J&#8217;ai mis 5 aussi car le support de memcached et du plugin d&#8217;audit MariaDB dans les option groups est un plus qui n&#8217;\u00e9tait pas attendu. <\/p>\n<p><strong>Azure : 3\/5<\/strong>. Azure est en seconde position parce qu&#8217;il propose MySQL et MariaDB, mais seulement dans les versions 5.6, 5.7 et MariaDB 10.2. Il ne permet toujours pas de cr\u00e9er des fonctions et triggers pour MySQL en raison d&#8217;un param\u00e8tre non configurable (log_bin_trust_function_creators). <\/p>\n<p><strong>GCP : 2\/5<\/strong>. GCP est dernier car il ne propose que MySQL, dans les versions 5.6 et 5.7 pour l&#8217;instant, et pas MariaDB. Il ne permet pas d&#8217;utiliser Performance_Schema avec tous les tiers et n&#8217;autorise pas non plus de faire un CREATE TABLE AS SELECT ou CREATE TEMPORARY TABLE parce que GTID est impos\u00e9 par d\u00e9faut. <\/p>\n<hr \/>\n<h2>Tiers et stockage<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure-1.png\" alt=\"\" width=\"595\" height=\"264\" class=\"aligncenter size-full wp-image-7473\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure-1.png 595w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure-1-300x133.png 300w\" sizes=\"auto, (max-width: 595px) 100vw, 595px\" \/><br \/>\nGlobalement les 3 solutions sont \u00e9quilibr\u00e9es en termes de tiers disponibles, c&#8217;est sur le stockage que la diff\u00e9rence se fait. <\/p>\n<p><strong>RDS : 4\/5<\/strong>. Sur le stockage, RDS est la seule solution qui propose en plus du provisionnement en Gb un provisionnement en IOPS, (presque) quelle que soit la capacit\u00e9 demand\u00e9e. Evidemment au prix fort mais la fonctionnalit\u00e9 est l\u00e0. <\/p>\n<p><strong>Azure : 2\/5<\/strong>. C&#8217;est le plafond \u00e0 6000 IOPS qui p\u00e9nalise Azure. Comme sur le GP2 d&#8217;Amazon, les IOPS sont li\u00e9s \u00e0 la capacit\u00e9 \u00e0 hauteur de 3IOPS\/Gb mais il n&#8217;y  a, contrairement \u00e0 RDS avec les cr\u00e9dits d&#8217;IOPS, aucun levier dans le cas d&#8217;Azure, m\u00eame en stockage Premium. <\/p>\n<p><strong>GCP : 3\/5<\/strong>. J&#8217;aurais bien mis 3.5 car les caract\u00e9ristiques du stockage propos\u00e9 par Google sont quand m\u00eame bien plus int\u00e9ressantes que celles d&#8217;Azure, avec la capacit\u00e9 \u00e0 monter beaucoup plus rapidement en IOPS qu&#8217;avec les 3IOPS\/Gb d&#8217;Azure. Elles sont m\u00eame plus int\u00e9ressantes que le GP2 de RDS, mais il n&#8217;y a pas d&#8217;\u00e9quivalent chez Google de provisionnement en IOPS \u00e0 ce jour, c&#8217;est pourquoi il ne peut pas \u00eatre au m\u00eame niveau. <\/p>\n<hr \/>\n<h2>Manageabilit\u00e9<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure_Exaequo.png\" alt=\"\" width=\"491\" height=\"265\" class=\"aligncenter size-full wp-image-7474\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure_Exaequo.png 491w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure_Exaequo-300x162.png 300w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><br \/>\n<strong>RDS: 5\/5<\/strong>. Encore une fois RDS nous surprend en allant plus loin encore que ce que propose le moteur on-premise en termes de manageabilit\u00e9. <\/p>\n<p>D\u00e9j\u00e0 la quasi-totalit\u00e9 des commandes qui n\u00e9cessitent le privil\u00e8ge SUPER sont impl\u00e9ment\u00e9es via des proc\u00e9dures stock\u00e9es d\u00e9di\u00e9es. On acc\u00e8de m\u00eame \u00e0 des informations qui sont plus du ressort de l&#8217;operating system que de la couche applicative de la base, comme la possibilit\u00e9 de d\u00e9coder le contenu des binlogs par exemple, ou comme on le voit dans la partie diagnostics, acc\u00e9der aux processus sous-jacents et aux compteurs de l&#8217;h\u00f4te (uptime, CPU, m\u00e9moire, swap, etc&#8230;). <\/p>\n<p>L&#8217;impl\u00e9mentation du collecteur pour la partie variables de statut est un vrai plus par rapport \u00e0 l&#8217;existant. Tous les param\u00e8tres sont modifiables, soit avec des valeurs statiques ou dynamiques (par exemple via la formule <em>DBInstanceClassMemory*3\/4<\/em> pour innodb_buffer_pool_size) soit des fonctions&#8230; Ce qui n&#8217;est pas le cas chez les autres clouders. <\/p>\n<p>L&#8217;apport des parameter groups et security groups d\u00e9tach\u00e9s des services PaaS est aussi primordial dans cette cat\u00e9gorie, car il simplifie les d\u00e9ploiements et les restaurations, les PG et SG sont m\u00eame copiables pour en faire des &#8216;backups&#8217;. Il n&#8217;y a gu\u00e8re que le red\u00e9marrage au bout de 7 jours d&#8217;arr\u00eat qui d\u00e9\u00e7oive un peu mais cela reste g\u00e9rable et devant le nombre de fonctionnalit\u00e9s en plus par rapports aux concurrents, on ne fera pas la fine bouche.<\/p>\n<p><strong>Azure:3\/5<\/strong>. Il y a plus de param\u00e8tres de configuration sur Azure que sur GCP, il y a le verrou anti-suppression accidentelle comme sur RDS, par contre le gros point noir c&#8217;est l&#8217;impossibilit\u00e9 d&#8217;arr\u00eater une instance, avec comme seul mode de facturation le pay-as-you-go. Il y aussi le fait qu&#8217;une restauration de snapshot oblige \u00e0 r\u00e9impl\u00e9menter les param\u00e8tres, les r\u00e8gles firewalls et les alertes, aspect qui est pris en charge par les parameter groups et security groups chez Amazon. Et enfin autre probl\u00e8me de taille lorsqu&#8217;il faudra restaurer une sauvegarde, une ressource ne peut pas \u00eatre renomm\u00e9e dans Azure. Il faudra donc faire utiliser toujours un alias DNS dans les cha\u00eenes de connexion et jamais l&#8217;endpoint fourni par Azure. <\/p>\n<p><strong>GCP:3\/5<\/strong>. Dans le cas de GCP, la surface de configuration est la plus faible avec seulement 45 param\u00e8tres modifiables contre 105 pour Azure et pr\u00e8s de 400 sur RDS. Par contre c&#8217;est GCP qui est le plus flexible sur les capacit\u00e9s d&#8217;arr\u00eat et red\u00e9marrage, je l&#8217;ai donc mis \u00e0 \u00e9galit\u00e9 avec Azure. Sur RDS, on peut stopper une instance seulement 7 jours, et sur Azure on ne peut rien arr\u00eater du tout&#8230; Sur GCP, on peut laisser une instance stopp\u00e9e sans limitation de temps, on ne paiera que le stockage. Il y a aussi le fait que le stockage ait la capacit\u00e9 d&#8217;autoscale, \u00e0 l&#8217;inverse de ses 2 concurrents. Attention toutefois \u00e0 la facture, c&#8217;est un aspect qui peut \u00eatre positif sur cette th\u00e9matique et n\u00e9gatif sur la question du prix. <\/p>\n<hr \/>\n<h2>Options de facturation<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure.png\" alt=\"\" width=\"602\" height=\"290\" class=\"aligncenter size-full wp-image-7471\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure.png 602w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure-300x145.png 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><br \/>\n<strong>RDS : 4\/5<\/strong>. J&#8217;ai mis 4 \u00e0 RDS car c&#8217;est le seul \u00e0 proposer de la r\u00e9servation sur 1 an ou 3 ans avec un paiement <em>all upfront<\/em> ou <em>partial upfront<\/em>, en plus du pay-as-you-go. RDS est pass\u00e9 \u00e0 une tarification \u00e0 la seconde fin mars de cette ann\u00e9e, c&#8217;est la derni\u00e8re brique qui manquait pour s&#8217;aligner sur les autres, Azure notamment. <\/p>\n<p><strong>Azure: 2\/5<\/strong>. Azure ne propose que du pay-as-you-go pour MySQL, m\u00eame si la notion de r\u00e9servation commence \u00e0 arriver pour d&#8217;autres bases comme SQL Database. Et en raison de l&#8217;impossibilit\u00e9 de stopper une instance sur Azure, je ne met que 2, parce qu&#8217;il ne reste que la possibilit\u00e9 de baisser toutes les ressources d&#8217;une instance pour limiter sa tarification. Comme \u00e9voqu\u00e9 dans l&#8217;article de r\u00e9f\u00e9rence, c&#8217;est un des gros points noirs d&#8217;Azure.<\/p>\n<p><strong>GCP : 3\/5<\/strong>. Comme Azure, Google ne propose qu&#8217;un syst\u00e8me en pay as you go, sans r\u00e9servation, et reste \u00e0 une tarification \u00e0 la minute pour Cloud SQL contrairement \u00e0 Azure ou RDS. Mais je l&#8217;ai mis devant Azure car une instance Cloud SQL est arr\u00eatable, donc le pay-as-you-go a du sens. <\/p>\n<hr \/>\n<h2>Diagnostics et outillage<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_Azure_GCP.png\" alt=\"\" width=\"580\" height=\"258\" class=\"aligncenter size-full wp-image-7472\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_Azure_GCP.png 580w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_Azure_GCP-300x133.png 300w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><br \/>\n<strong>RDS : 5\/5<\/strong>. J&#8217;ai mis la note maximale l\u00e0 encore parce que RDS va au del\u00e0 de ce que permet de faire une instance on-premise. Performance Insights est un premier exemple de cette avance, c&#8217;est le seul syst\u00e8me propos\u00e9 qui puisse s&#8217;interfacer avec Performance Schema, m\u00eame si les tiers les plus modestes en sont exclus. Ensuite il y a le bien pratique collecteur GSH pour les variables de statut qui a d\u00e9j\u00e0 \u00e9t\u00e9 mentionn\u00e9. Enfin Cloudwatch pour la restitution et la gestion des alarmes. <\/p>\n<p><strong>Azure : 3\/5<\/strong>. Il y a moins de compteurs disponibles sur Azure, mais tous peuvent \u00eatre li\u00e9s \u00e0 une alerte sur seuil, ce qui reste assez pratique, et c&#8217;est ce que l&#8217;on attend d&#8217;une solution de ce type. Mais il n&#8217;y a pas d&#8217;outil qui puisse s&#8217;interfacer avec Performance Schema alors qu&#8217;il est activ\u00e9 par d\u00e9faut. Quant aux variables de statut, elles sont accessibles mais il faudra construire un syst\u00e8me de collecte autour, rien n&#8217;est fourni cl\u00e9 en main. <\/p>\n<p><strong>GCP : 2\/5<\/strong>. Performance Schema n&#8217;est pas disponible dans tous les tiers, et aucun outil n&#8217;est propos\u00e9 pour s&#8217;y interfacer. La couche Stackdriver propose une quinzaine de compteurs seulement, donc en termes d&#8217;int\u00e9gration et d&#8217;outillage, \u00e7a reste la plateforme la plus faible dans ce domaine. <\/p>\n<hr \/>\n<h2>Industrialisation<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure_Exaequo.png\" alt=\"\" width=\"491\" height=\"265\" class=\"aligncenter size-full wp-image-7474\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure_Exaequo.png 491w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure_Exaequo-300x162.png 300w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><br \/>\nLes 3 solutions proposent un outil de gestion en ligne de commande pour permettre l&#8217;automatisation de certaines t\u00e2ches comme le d\u00e9ploiement de nouvelles instances, les changements de taille de stockage, de tier, le red\u00e9marrage, la configuration, la bascule, le t\u00e9l\u00e9chargement des logs, etc&#8230; <\/p>\n<p><strong>RDS : 4\/5<\/strong>. aws cli est de loin le CLI plus riche en commandes et fonctionnalit\u00e9s. Il y a assez peu de choses que l&#8217;on ne peut pas faire en CLI sur AWS en g\u00e9n\u00e9ral, ce qui permet de construire des outils de management cloud assez complets: cr\u00e9er un failover replica, cr\u00e9er des read replicas, faire une sauvegarde, la restaurer, cr\u00e9er des alertes, lire les logs, cr\u00e9er des alertes, reconfigurer un param\u00e8tre, g\u00e9rer les r\u00e8gles de firewall, g\u00e9rer les fen\u00eatres de maintenance, upgrader une instance, lire les \u00e9v\u00e8nements attendus comme les op\u00e9rations de maintenance pr\u00e9vues, changer de tier, de type de stockage&#8230; L&#8217;\u00e9quivalent API associ\u00e9 \u00e0 la puissance de Lambda (runtime serverless) autorise l&#8217;automatisation de n&#8217;importe quelle t\u00e2che r\u00e9currente. <\/p>\n<p><strong>Azure : 3\/5<\/strong>. az cli est plus r\u00e9duit en termes de fonctionnalit\u00e9s. Le fait de ne pas pouvoir utiliser la source JSON qui d\u00e9crit les param\u00e8tres d&#8217;une instance par exemple, pour pouvoir le recr\u00e9er suite \u00e0 une restauration, rend presque impossible l&#8217;automatisation de certaines t\u00e2ches comme la duplication d&#8217;environnements. <\/p>\n<p><strong>GCP : 3\/5<\/strong>. M\u00eames remarques pour GCP. gcloud permet de faire l&#8217;essentiel mais ne va pas aussi loin que l&#8217;\u00e9quivalent sur AWS. <\/p>\n<hr \/>\n<h2>Disponibilit\u00e9<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_exaequo_Azure.png\" alt=\"\" width=\"500\" height=\"274\" class=\"aligncenter size-full wp-image-7475\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_exaequo_Azure.png 500w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_exaequo_Azure-300x164.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><br \/>\n<strong>RDS : 4\/5<\/strong>. En mode Multi-AZ, l&#8217;instance MySQL sera secourue par une instance failover dans une autre zone de disponibilit\u00e9, synchronis\u00e9e via un m\u00e9canisme de r\u00e9plication de stockage synchrone. La d\u00e9tection du d\u00e9faut est g\u00e9r\u00e9e par un <em>observer <\/em>externe, et la bascule de l&#8217;endpoint est automatiquement r\u00e9percut\u00e9e sur le DNS. Le co\u00fbt d&#8217;ajouter un failover fait monter la facture d&#8217;environ 40%, en fonction du tier. <\/p>\n<p><strong>Azure : 2\/5<\/strong>. Pas de failover replica sur Azure. Seulement une disponibilit\u00e9 couverte localement dans l&#8217;AZ, et au del\u00e0 des volumes GRS r\u00e9pliqu\u00e9s g\u00e9ographiquement dans une autre r\u00e9gion, avec des temps de remont\u00e9e pouvant aller jusqu&#8217;\u00e0 12 heures. en fonction de l\u00e0 o\u00f9 l&#8217;on souhaite remonter l&#8217;instance de secours. C&#8217;est le moins bien loti des 3. <\/p>\n<p><strong>GCP : 4\/5<\/strong>. Comme pour RDS, il est possible de d\u00e9ployer un failover replica dans une autre zone de disponibilit\u00e9. Sur GCP, l&#8217;instance failover sera maintenue synchronis\u00e9e via la r\u00e9plication GTID, c&#8217;est donc une approche compl\u00e8tement diff\u00e9rente de celle de RDS. Par contre elle sera factur\u00e9e au m\u00eame prix que l&#8217;instance nominale ce qui fait gonfler la facture de mani\u00e8re consid\u00e9rable. <\/p>\n<hr \/>\n<h2>Scalabilit\u00e9<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_AZURE_All_Ex_Aequo.png\" alt=\"\" width=\"417\" height=\"309\" class=\"aligncenter size-full wp-image-7476\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_AZURE_All_Ex_Aequo.png 417w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_AZURE_All_Ex_Aequo-300x222.png 300w\" sizes=\"auto, (max-width: 417px) 100vw, 417px\" \/><br \/>\nCette th\u00e9matique montre les possibilit\u00e9 de changer l&#8217;\u00e9chelle de calcul, du stockage, et de r\u00e9partir la charge en lecture avec des slaves en r\u00e9plication. Les 3 clouders proposent des solutions assez homog\u00e8nes. <\/p>\n<p><strong>RDS : 4\/5<\/strong>. Changement de tier et de stockage, et m\u00eame de type de stockage (passer de GP2 \u00e0 IO1). Et possibilit\u00e9 de cr\u00e9er jusqu&#8217;\u00e0 5 read replicas pour lisser la charge en lecture seule. <\/p>\n<p><strong>Azure : 4\/5<\/strong>. Changement de tier et de stockage, et 5 read replicas comme RDS. <\/p>\n<p><strong>GCP : 4\/5<\/strong>. M\u00eame chose, pas de limitation donn\u00e9e sur le nombre de replicas. <\/p>\n<hr \/>\n<h2>Sauvegarde et restauration<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure-1.png\" alt=\"\" width=\"595\" height=\"264\" class=\"aligncenter size-full wp-image-7473\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure-1.png 595w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure-1-300x133.png 300w\" sizes=\"auto, (max-width: 595px) 100vw, 595px\" \/><br \/>\nToutes les solutions proposent des backups automatiques et une restauration \u00e0 un point dans le temps. Dans tous les cas, restaurer une sauvegarde sera fera toujours sur un nouveau service PaaS cr\u00e9\u00e9 \u00e0 cette occasion. Donc il y a dans tous les cas le probl\u00e8me de renommage \u00e0 prendre en consid\u00e9ration. <\/p>\n<p><strong>RDS : 4\/5<\/strong>. Sur RDS, les sauvegardes automatiques se font sous la forme de snapshots associ\u00e9s \u00e0 des logs binaires pour la restauration point-in-time. Mais il est possible de cr\u00e9er jusqu&#8217;\u00e0 50 snapshots manuels maximum par r\u00e9gion en plus des snapshots automatiques. Tous les snapshots sont copiables dans d&#8217;autres AZ \/ r\u00e9gions ou partageables avec d&#8217;autres comptes Amazon. Tout est g\u00e9rable depuis aws cli. <\/p>\n<p>Mais ce qui permet \u00e0 AWS d&#8217;\u00eatre devant ses concurrents, c&#8217;est le fait de pouvoir conserver les sauvegardes apr\u00e8s avoir supprim\u00e9 l&#8217;instance. Et comme on l&#8217;a d\u00e9j\u00e0 mentionn\u00e9 dans <em>Manageabilit\u00e9<\/em>, lorsque l&#8217;on restaure le snapshot d&#8217;une instance existante, on peut directement appliquer \u00e0 la cr\u00e9ation du nouveau service PaaS le Parameter Group et le Security Group de l&#8217;ancien. <\/p>\n<p>Une fen\u00eatre pr\u00e9f\u00e9rentielle de sauvegarde peut \u00eatre pr\u00e9cis\u00e9e, et RDS conserve jusqu&#8217;\u00e0 35 jours maximum de sauvegarde en ligne. Et enfin, lorsque l&#8217;instance est en Multi-AZ, les backups automatiques se feront sur l&#8217;instance de failover pour limiter l&#8217;impact en termes de performances sur la production. <\/p>\n<p><strong>Azure : 2\/5<\/strong>. Seules les sauvegardes automatiques sont possibles, aucune sauvegarde manuelle. Aucune possibilit\u00e9 de pr\u00e9ciser une fen\u00eatre de pr\u00e9f\u00e9rence pour les backups. Les backups peuvent \u00eatre copi\u00e9s dans une autre r\u00e9gion pour pallier \u00e0 la perte de la r\u00e9gion nominale, mais c&#8217;est \u00e0 peu pr\u00e8s tout. Et le seul point par rapport \u00e0 GCP est la r\u00e9tention jusqu&#8217;\u00e0 35 jours. <\/p>\n<p><strong>GCP : 3\/5<\/strong>. Des backups automatiques sont effectu\u00e9s et stock\u00e9s dans 2 r\u00e9gions diff\u00e9rentes. Et il est possible d&#8217;indiquer une fen\u00eatre de pr\u00e9f\u00e9rence. Les backups ne seront conserv\u00e9s que 7 jours seulement. On ne peut pas backuper sur le failover replica, mais par rapport \u00e0 Azure, on peut compl\u00e9ter les backups automatiques par des backups manuels. <\/p>\n<hr \/>\n<h2>Gestion des mises \u00e0 jour<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure-1.png\" alt=\"\" width=\"595\" height=\"264\" class=\"aligncenter size-full wp-image-7473\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure-1.png 595w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_Azure-1-300x133.png 300w\" sizes=\"auto, (max-width: 595px) 100vw, 595px\" \/><br \/>\nChez les 3 clouders, la mise \u00e0 jour des syst\u00e8mes est pris en charge automatiquement. Ici nous \u00e9valuons la souplesse de passage de ces patches, et leur impact sur la disponibilit\u00e9 de l&#8217;instance. <\/p>\n<p><strong>RDS : 4\/5<\/strong>. Sur RDS, il est possible de d\u00e9finir une fen\u00eatre pour le passage de patches syst\u00e8mes et les upgrades MySQL mineurs, et dans le cas des upgrades MySQL, il est m\u00eame possible de les d\u00e9sactiver pour les passer \u00e0 la main au besoin. Il est aussi possible de changer de version majeure alors que cela n&#8217;est pas propos\u00e9 sur GCP ou Azure. Des logs de maintenance pr\u00e9vue permettent de savoir \u00e0 l&#8217;avance si des op\u00e9rations sont \u00e0 pr\u00e9voir, et on peut aussi choisir de forcer une mise \u00e0 jour sans attendre la fen\u00eatre de maintenance. Si l&#8217;instance est en Multi-AZ, une maintenance provoque une bascule vers l&#8217;instance failover de sorte que l&#8217;interruption est minimale. <\/p>\n<p><strong>Azure : 2\/5<\/strong>. Pas de fen\u00eatre pour la maintenance et les upgrades mineurs MySQL. Pas de migration majeure possible non plus. Comme il n&#8217;y a pas de failover replica sur Azure, le passage d&#8217;une maintenance implique n\u00e9cessairement son interruption, \u00e0 une p\u00e9riode qui n&#8217;est donc pas pr\u00e9visible. <\/p>\n<p><strong>GCP : 3\/5<\/strong>. Il est possible de pr\u00e9ciser une fen\u00eatre de maintenance pour les instances de g\u00e9n\u00e9ration II. On ne peut pas migrer de version majeure. <\/p>\n<hr \/>\n<h2>Prix<\/h2>\n<p>On rappelle les \u00e9l\u00e9ments de comparaison:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/podium_budget.png\" alt=\"\" width=\"794\" height=\"480\" class=\"aligncenter size-full wp-image-7488\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/podium_budget.png 794w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/podium_budget-300x181.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/podium_budget-768x464.png 768w\" sizes=\"auto, (max-width: 794px) 100vw, 794px\" \/><br \/>\nIl n&#8217;a pas de secret, la flexibilit\u00e9 et la richesse en fonctionnalit\u00e9s a un co\u00fbt. Si on se r\u00e9f\u00e8re <a href=\"https:\/\/blog.capdata.fr\/index.php\/comparatif-mysql-dans-le-paas-episode-3-amazon-rds-2-2\/\">au dernier article sur RDS<\/a>, on a vu que les 2 solutions vraiment comparables sont GCP et RDS, car dans leur co\u00fbt final respectif figure un failover replica qui n&#8217;existe pas sur Azure. Et \u00e0 ce jeu-l\u00e0, Google propose une solution qui certes ne dispose pas de tous les atouts propos\u00e9s par Amazon, mais qui pourrait bien convenir \u00e0 des petits et moyens budgets, avec des applicatifs moyennement critiques. <\/p>\n<p>Il faudra cependant bien faire attention aux co\u00fbt cach\u00e9s d&#8217;une migration dans le PaaS. On a vu dans la th\u00e9matique de couverture technique que Google est le moins bien plac\u00e9 des trois, ce qui signifie que si vous n&#8217;\u00eates pas dans une version support\u00e9e par GCP, il y aura avant tout une premi\u00e8re migration \u00e0 faire on-premise pour amener vos instances en 5.1 ou 5.5 \u00e0 un bon niveau de compatibilit\u00e9. Encore plus subtilement, le fait que GCP impose les transactions globales GTID notamment pour le failover replica, impose que l&#8217;instance qui migre soit en 5.6.5 minimum car il n&#8217;y a pas de support de GTID avant cette version&#8230; <\/p>\n<p><strong>RDS : 2\/5<\/strong>. La seule th\u00e9matique o\u00f9 Amazon n&#8217;est pas concurrentiel. Si on regarde de pr\u00e8s la configuration, celle d&#8217;Amazon propose 200Gb \u00e0 5000 IOPS provisionn\u00e9s garantis alors que GCP ne propose que 4500 IOPS maximum. Les deux configurations propos\u00e9es ne sont donc pas si \u00e9loign\u00e9es que \u00e7a, ensuite le choix se fera sur les fonctionnalit\u00e9s. Je pense que pour les d\u00e9ploiements critiques, RDS reste la solution de choix et qu&#8217;il faudra simplement y mettre le prix. On rappelle que RDS est la seule solution qui permet de s&#8217;engager sur la dur\u00e9e et nous avons montr\u00e9 <a href=\"https:\/\/blog.capdata.fr\/index.php\/comparatif-mysql-dans-le-paas-episode-3-amazon-rds-2-2\/\">dans l&#8217;article 2\/2 sur RDS<\/a> que sur cette m\u00eame configuration on arrive \u00e0 gagner 40% du prix sur 3 ans. <\/p>\n<p><strong>Azure : 3\/5<\/strong>. Sur le comparatif effectu\u00e9 dans les articles Azure est moins cher mais le calcul est fauss\u00e9 en raison de l&#8217;absence de failover replica. Il ne peut donc pas \u00eatre mis au dessus de GCP qui propose une solution plus compl\u00e8te et \u00e0 peine plus on\u00e9reuse. <\/p>\n<p><strong>GCP : 4\/5<\/strong>. GCP a pour lui cet atout de comp\u00e9titivit\u00e9 sur le prix de son service. C&#8217;est un service qui on l&#8217;a vu est plus mature que celui d&#8217;Azure parce qu&#8217;il en est d\u00e9j\u00e0 \u00e0 sa seconde g\u00e9n\u00e9ration, et que le stockage propos\u00e9 est aussi le plus int\u00e9ressant en termes de rapport performances \/ prix. Et pourtant le failover replica est factur\u00e9 au prix fort, mais le co\u00fbt \u00e0 l&#8217;instance reste bien plus faible que sur RDS. M\u00eame sur 3 ans avec les 40% de r\u00e9duction, GCP reste plus attractif avec 60000 euros contre 78000 euros pour RDS. Seul petit b\u00e9mol, il faudra faire attention aux risques d&#8217;explosion de facturation en raison de l&#8217;autoscale du stockage. <\/p>\n<hr \/>\n<h2>S\u00e9curit\u00e9<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_AZURE_All_Ex_Aequo.png\" alt=\"\" width=\"417\" height=\"309\" class=\"aligncenter size-full wp-image-7476\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_AZURE_All_Ex_Aequo.png 417w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/RDS_GCP_AZURE_All_Ex_Aequo-300x222.png 300w\" sizes=\"auto, (max-width: 417px) 100vw, 417px\" \/><br \/>\nC&#8217;est presque un non-match tant le niveau de s\u00e9curisation est comparable sur les 3 solutions. Il n&#8217;y en a pas une qui cr\u00e9\u00e9 une fracture technologique par rapport aux autres. Le niveau est optimal pour les 3 clouders : des certificats sont fournis pour les connexions, le stockage est encryptable pour les donn\u00e9es, backups, et les flux r\u00e9seaux&#8230; etc. Ce n&#8217;est vraiment pas l\u00e0 o\u00f9 la diff\u00e9rence peut se faire&#8230;<\/p>\n<hr \/>\n<h2>Classement Final<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/FINAL_PODIUM.png\" alt=\"\" width=\"613\" height=\"272\" class=\"aligncenter size-full wp-image-7480\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/FINAL_PODIUM.png 613w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/FINAL_PODIUM-300x133.png 300w\" sizes=\"auto, (max-width: 613px) 100vw, 613px\" \/><br \/>\nSur 12 th\u00e9matiques \u00e0 5 points, sans pond\u00e9ration, on arrive \u00e0 un classement logique dans lequel RDS domine de la t\u00eate et des \u00e9paules sans surprise, par sa polyvalence, son orientation production-ready, la richesse des fonctionnalit\u00e9s, disons que \u00e7a respire l&#8217;exp\u00e9rience. RDS est un service qui a \u00e9t\u00e9 lanc\u00e9 en 2009 avec MySQL comme premier service PaaS base de donn\u00e9e, autant dire que &#8216;pr\u00e9curseur&#8217; est un qualificatif presque faible. <\/p>\n<p>Google Cloud SQL arrive en position de challenger, avec un excellent compromis fonctionnalit\u00e9s \/ prix, sa force principale. Les performances disque annonc\u00e9es sont concurrentielles avec les IOPS provisionn\u00e9s d&#8217;Amazon, et on dispose \u00e0 la fois d&#8217;un failover replica pour la reprise sur incident et de read replicas pour le scale-out en lecture. Il y a encore des am\u00e9liorations \u00e0 faire comme augmenter la surface de configuration de l&#8217;instance (la plus pauvre des 3), ou les interfaces de diagnostics et l&#8217;outillage pour l&#8217;analyse de performance, peut \u00eatre sur une troisi\u00e8me g\u00e9n\u00e9ration qui sera compatible avec la version 8.0 ? <\/p>\n<p>Azure arrive en derni\u00e8re place, on sent bien que pour l&#8217;instant les bases open-source ne sont pas encore matures dans le PaaS Microsoft. On en est \u00e0 une premi\u00e8re g\u00e9n\u00e9ration, avec des \u00e9cueils, et ce n&#8217;est pas ce qui constitue la &#8216;vitrine&#8217; d&#8217;Azure en termes de bases de donn\u00e9es. Il est possible qu&#8217;avec <a href=\"https:\/\/www.citusdata.com\/blog\/2019\/01\/24\/microsoft-acquires-citus-data\/\">le rachat de Citus Data<\/a> et l&#8217;int\u00e9gration r\u00e9cente dans <a href=\"https:\/\/azure.microsoft.com\/fr-fr\/updates\/hyperscale-citus-is-now-in-preview-on-azure-database-for-postgresql\/\">Hyperscale<\/a>, PostgreSQL monte en force beaucoup plus vite dans la &#8216;culture&#8217; MS que MySQL, l&#8217;histoire le dira.<\/p>\n<p>A suivre la mise \u00e0 jour avec Aurora&#8230;<\/p>\n<p>A bient\u00f4t !<\/p>\n<p>David. <\/p>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7466&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7466&#038;title=MySQL%20dans%20le%20PaaS%20%3A%20le%20radar%20de%20notation%20des%20solutions\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=MySQL%20dans%20le%20PaaS%20%3A%20le%20radar%20de%20notation%20des%20solutions&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F7466\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>Pour ajouter un peu de visibilit\u00e9 \u00e0 ce comparatif MySQL dans le PaaS, j&#8217;ai d\u00e9cid\u00e9 de faire un r\u00e9cap par th\u00e9matique et des podiums par solution, avec un argumentaire pour chaque cas. Cet article sera remis \u00e0 jour avec les&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":7489,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[295,282,296,4],"tags":[316],"class_list":["post-7466","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws","category-azure","category-google-cloud-platform","category-mysql","tag-comparatif"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MySQL dans le PaaS : le radar de notation des solutions - Capdata TECH BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MySQL dans le PaaS : le radar de notation des solutions - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"Pour ajouter un peu de visibilit\u00e9 \u00e0 ce comparatif MySQL dans le PaaS, j&#8217;ai d\u00e9cid\u00e9 de faire un r\u00e9cap par th\u00e9matique et des podiums par solution, avec un argumentaire pour chaque cas. Cet article sera remis \u00e0 jour avec les&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2019-05-17T11:33:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T15:22:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/radar2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"634\" \/>\n\t<meta property=\"og:image:height\" content=\"523\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Baffaleuf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Baffaleuf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/\"},\"author\":{\"name\":\"David Baffaleuf\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf\"},\"headline\":\"MySQL dans le PaaS : le radar de notation des solutions\",\"datePublished\":\"2019-05-17T11:33:32+00:00\",\"dateModified\":\"2022-11-21T15:22:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/\"},\"wordCount\":3940,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"comparatif\"],\"articleSection\":[\"AWS\",\"Azure\",\"GCP\",\"MySQL\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/\",\"name\":\"MySQL dans le PaaS : le radar de notation des solutions - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2019-05-17T11:33:32+00:00\",\"dateModified\":\"2022-11-21T15:22:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MySQL dans le PaaS : le radar de notation des solutions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf\",\"name\":\"David Baffaleuf\",\"sameAs\":[\"http:\/\/www.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/dbaffaleuf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MySQL dans le PaaS : le radar de notation des solutions - Capdata TECH BLOG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/","og_locale":"fr_FR","og_type":"article","og_title":"MySQL dans le PaaS : le radar de notation des solutions - Capdata TECH BLOG","og_description":"Pour ajouter un peu de visibilit\u00e9 \u00e0 ce comparatif MySQL dans le PaaS, j&#8217;ai d\u00e9cid\u00e9 de faire un r\u00e9cap par th\u00e9matique et des podiums par solution, avec un argumentaire pour chaque cas. Cet article sera remis \u00e0 jour avec les&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2019-05-17T11:33:32+00:00","article_modified_time":"2022-11-21T15:22:52+00:00","og_image":[{"width":634,"height":523,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2019\/05\/radar2.png","type":"image\/png"}],"author":"David Baffaleuf","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"David Baffaleuf","Dur\u00e9e de lecture estim\u00e9e":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/"},"author":{"name":"David Baffaleuf","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf"},"headline":"MySQL dans le PaaS : le radar de notation des solutions","datePublished":"2019-05-17T11:33:32+00:00","dateModified":"2022-11-21T15:22:52+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/"},"wordCount":3940,"commentCount":0,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["comparatif"],"articleSection":["AWS","Azure","GCP","MySQL"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/","url":"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/","name":"MySQL dans le PaaS : le radar de notation des solutions - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2019-05-17T11:33:32+00:00","dateModified":"2022-11-21T15:22:52+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/mysql-dans-le-paas-le-radar-de-notation-des-solutions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"MySQL dans le PaaS : le radar de notation des solutions"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf","name":"David Baffaleuf","sameAs":["http:\/\/www.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/dbaffaleuf\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/7466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=7466"}],"version-history":[{"count":8,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/7466\/revisions"}],"predecessor-version":[{"id":9498,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/7466\/revisions\/9498"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/7489"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=7466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=7466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=7466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}