Aujourd’hui, la quantité des données générées par les entreprises est devenue gigantesque. Afin de traiter cette problématique d’explosion des données, le domaine de la Big Data est apparu. Ce domaine est ainsi en charge de la recherche, la récupération, le stockage et le traitement de ces masses de données.
Initialement, pour répondre à ce besoin, les entreprises optaient pour l’IaaS (Infrastructure as a Service). C’est-à-dire que l’entreprise « A » va louer un certain nombre de machines virtuelles chez un hébergeur et va procéder à l’installation et la configuration des outils Big Data elle-même (Hadoop, Spark, Kafka, etc.) possiblement à l’aide d’une distribution. Cette approche a un principal inconvénient : elle pose quelques problèmes d’efficience et de rapidité.
C’est pour cette raison qu’il existe aujourd’hui sur le marché plusieurs fournisseurs Cloud proposant des offres Hadoop PaaS (Platform as a Service), c’est-à-dire que l’entreprise « A » va louer un certain nombre de machines configurées pour le traitement Big Data. Nous y retrouverons alors tous les outils nécessaires aux projets Big Data Analytics prêts à l’emploi.
Avantages et inconvénients du PaaS
Le PaaS ou encore Platform as a Service est un modèle de Cloud Computing permettant la location de hardware et software en tant que service dans le Cloud. Généralement le PaaS offre un système d’exploitation, un environnement de programmation, un système de gestion de bases de données et une partie sécurité et intégration. Toutefois, comme toute offre, elle a des avantages et des inconvénients :
- Tout d’abord, le principal avantage vient de l’amélioration de la productivité quant à l’utilisation de ce type de ce service. Le fait que le fournisseur prenne en charge la partie matérielle et logicielle facilite et accélère le déploiement et l’utilisation opérationnelle de la plateforme et réduit donc le Time-to-Market. Par ailleurs, d’un point de vue financier, cela constitue un gain considérable; l’entreprise n’a plus besoin de constituer une équipe IT dédiée que nécessitent les alternatives (une installation et configuration faite en interne de ce type de plateforme).
- Cependant, quand une entreprise choisit une offre PaaS, elle devient dépendante du fournisseur et des updates de l’offre choisie. Par exemple, si le fournisseur ne prend plus en charge un certain outil, ceci peut potentiellement devenir problématique pour le client. De plus, dans une offre PaaS, l’entreprise perd en flexibilité de configuration des systèmes, comparés aux offres On-Premises ou encore IaaS.
Ainsi, le choix d’un passage vers le PaaS nécessite une mûre réflexion et une conscience des enjeux de ce genre d’offre.
Les principales offres Hadoop managé dans le Cloud
Amazon Elastic MapReduce (EMR)
Le géant du Cloud AWS propose une infrastructure Hadoop sur des instances de type EC2. L’élasticité de la solution, la possibilité de déployer plusieurs clusters et de redimensionner un cluster en cours d’exécution font partie des avantages de cette solution.
Amazon EMR crées des instances optimisées pour EMR à partir d’images AMI* intégrant le système d’exploitation Linux et permet à ses utilisateurs de pouvoir choisir entre différents magasins de données (HDFS, S3, DynamoDB etc).
EMR propose en plus de sa distribution standard, le choix d’utiliser une distribution MapR (tarification différente de l’offre EMR standard).
(*) : Une Amazon Machine Image (AMI) fournit les informations requises pour lancer une instance.
Azure HDInsight
Microsoft lance l’offre HDInsight pour adresser la problématique Hadoop as a Service. Elle se base sur la distribution Hortonworks Data Platform. Azure HDIsight s’utilise désormais seulement sur Linux, la version sur Windows a été arrêtée depuis la version 3.3. HDInsight permet aussi de redimensionner les clusters en augmentant ou diminuant leur nombre.
L’offre Microsoft propose un package relativement complet de la suite Apache : Hadoop, Hive, Pig, HBase, Spark, Zeppelin, Ranger…
Google Cloud DataProc
L’offre DataProc est proposée par Google Cloud Platform pour la mise en place de clusters Hadoop et Spark. Elle est basée sur le système d’exploitation Debian 8. Les clusters de Google DataProc sont redimensionnables pour permettre l’augmentation et la diminution du nombre d’instances en cours d’exécution d’un job pour réduire les coûts.
Tableau comparatif
Amazon EMR | Azure HDInsight | Google Cloud DataProc | |
---|---|---|---|
Distributions et Packaging | EMR ou MapR | Basée sur HDP | – |
Composants proposés | HDFS, Amazon S3*, Amazon DynamoDB* etc. Hive, Pig, Hbase, Phoenix, Impala, Hue, Spark, Presto, Zeppelin, Oozie, Tez, Flink, R, Apache MXNet, Mahout, Ganglia, Accumulo, Sqoop, Hcatalog, MapR* (*): tarification supplémentaire | Hortonworks Data Platform, Hadoop and YARN, Tez, Pig, Hive, Hcatalog, Hive2, Tez/Hive2, Ranger, Hbase, Sqoop, Oozie, Zookeeper, Storm, Mahout, Phoenix, Spark, Kafka, Ambari, Zeppelin, Mono | Spark, Hadoop, Pig, Hive, YARN, Cloud Storage* connector, Big Query* connector et intégration avec BigTable*, Stackdriver Logging* et Stackdriver Monitoring* (*): tarification supplémentaire |
Setup et Provisioning | La console EMR permet le choix des instances pour le cluster, les applications à installer et les politiques de sécurité et d’accès | La configuration de clusters peut se faire à travers :
| La création de clusters peut se faire à l’aide de :
|
Management et Monitoring | – CloudWatch* et Ganglia permettent de suivre les performances du cluster – Pour mesurer la santé du cluster, EMR collecte des métriques accessibles depuis la CLI, des SDKs, des APIs ou encore la console management de EMR. (*): tarification supplémentaire | – Gestion des clusters :
– Suivi des performances : Azure Log Analytics (tarification supplémentaire) | – Possible d’updater un cluster en modifiant le nombre de noeuds standards worker, le nombre de nœuds préemptifs, la désaffectation pour contrôler l’arrêt d’un worker après que les jobs soient finis, l’ajout ou la suppression de labels – Monitoring et Logging permettent de suivre la santé et la performance des clusters. – Le monitoring des clusters se fait aussi en utilisant SSH ou les interfaces web des applications. |
Stockage |
|
|
– (Passer de l’un à l’autre nécessite Google Cloud Storage connector) |
Sécurité | AWS Identity and Access Management (IAM), Kerberos, SSH, chiffrement de données, groupes et configurations de sécurité, rôles de service EMR, rôles IAM pour les demandes EMRFS à S3 | Domain-joined clusters HDInsight. Disponibles seulement sur les types de cluster suivants dans HDInsight : Hadoop, Spark, et Interactive Query. Ils permettent la sécurisation du périmètre, en utilisant des réseaux virtuels, des pares-feux et des services Gateway, et l’authentification (en utilisant Azure Active Directory Domain Services), l’autorisation (en définissant des contrôles role-based access control) et le chiffrage des données. Pour l’audit, il est possible d’utiliser Apache Ranger UI pour les logs d’audit. | Google Cloud Identity and Access Management (IAM) permet le contrôle d’utilisation et de groupes aux ressources.Google Cloud Platform fournit l’authentification, l’autorisation et le chiffrage des données. |
Support | – Documentation Amazon gratuite – 3 offres de support :
| En plus de la documentation Azure, il existe plusieurs plans de support si besoin :
| – Le support proposé par Google Cloud va de ressources et documentations gratuites à du support Premium payant (Silver, Gold, Platinium). – Il existe aussi un support « Services gérés » par des partenaires Google Cloud Platform pour la résolution de pannes et la gestion proactive de l’ensemble des opérations. |
Tarification et facturation* | La tarification se fait à la seconde avec un forfait minimum d’une minute. | La tarification se fait à la minute. | La tarification se fait à la seconde avec un forfait minimum d’une minute. |
(*) : La tarification varie en fonction des instances utilisées et de la zone géographique choisie.
Conclusion
Le choix de passer sur une offre Hadoop PaaS, ainsi que le choix du fournisseur nécessite une profonde étude des besoins de l’entreprise. Il faut une adéquation entre l’offre et le besoin de l’entreprise au regard de plusieurs critères (notamment les outils Apache disponibles, type de licence, tarification, sécurité, support, etc.)
Notons aussi que les offres présentées dans cet article ne sont pas exhaustives, il s’agit là des principaux acteurs du marché, et il en existe d’autres qui peuvent potentiellement mieux convenir aux besoins spécifiques de certaines entreprises.
Ressources
Ci-dessous quelques liens pour aller plus loin et découvrir en détail les offres présentées dans cet article :
0 commentaire