Contexte
Au détour d’une conversation informelle autour d’un café sur les différentes solution APM (application performance monitoring) existantes la marque datadog est ressortie. Souci la dernière fois que j’avais regardé (il y a moins de 15 jours) la partie APM n’était pas disponible pour PHP… Au retour de la pause café j’ai voulu le monter à la personne a qui je venais d’en parler et oh surprise, l’agent était maintenant disponible ! Il n’en fallait pas plus pour nous donner envie de le tester rapidement.
Protocole de tests
Nous avons donc monté une application PHP Symfony4 avec des composants de la stack classique et un formulaire permettant simulant un cas d’usage courant (la création de différents éléphants de couleur :-))
- PHP 7
- MySQL
- Redis
- Apache2
L’application à été déployée sur une instance de type “2 GB” sous Ubuntu 18.04, provisionnée à la volée chez DigitalOcean Les commandes nécessaires au setup sont disponible dans le repository en fin d’article.
Les résultats
Le POC a permit de montrer qu’il était possible d’utiliser datadog APM à la place de New Relic. Le côté meilleur couvertures des autres fonctionnalités de datadog (infrastructure + log management notamment) permettait d’envisager une solution tout en un. Les fonctionnalités mériteraient d’être creusées plus en détails, mais en 1er niveau il semble que l’on puisse dire que l’offre APM est au moins équivalente à celle de NewRelic et est donc à surveiller de près ! L’offre étant gratuite jusqu’à 5 hosts (avec quelques limites voir https://www.datadoghq.com/pricing/) et 31$/host/mois au delà, rien ne vous empêche de l’évaluer pendant quelques temps. Je vous laisse retrouver tous les détails de l’étude et la façon de les reproduire en suivant le lien suivant : https://github.com/webofmars/demo-datadog-apm-php