Retour sur l'année 2014 : Docker et Spark

L’année 2014 s’achève en ayant apporté son lot de nouveautés. Retour sur deux d’entre elles.

L’émergence des containers

Le moins que l’on puisse dire, c’est que, ces 12 derniers mois, Docker a été sur toutes les lèvres. Pas une conférence de développeurs ne s’est tenue sans talk sur Docker et la première édition de la DockerCon Europe s’est tenue à Amsterdam en décembre.

Pendant cette période, Docker a gagné en maturité et, surtout, l’écosystème a considérablement grandi.  Côté développeurs, Boot2docker a grandement simplifié l’utilisation de Docker sous Mac et Windows, et des outils comme Fig apparaissent pour orchestrer la création de containers. Orchard, la société ayant créé Fig, a d’ailleurs été rachetée par Docker Inc, signe que l’adoption de Docker passe aussi par la fourniture d’outils de développement adaptés.

L’année a aussi connu son lot d’annonces du support natif de Docker par les hébergeurs, à commencer par Google qui a également open-sourcé Kubernetes, son système de gestion de cluster de containers, directement concurrencé par Apache Mesos. OVH a également lancé son offre sur son cloud RunAbove, suivie peu après par Clever Cloud. Plus surprenant, Microsoft a indiqué vouloir supporter Docker en natif sur Windows Server, et plus uniquement sur des VM Linux dans Azure.

Par ailleurs, container est bien souvent synonyme de micro-services. Les outils de gestion d’architectures micro-services sont aujourd’hui légion, à commencer par ceux de Netflix, comme Eureka, Hystrix, Ribbon ou Zuul (voir la présentation de David Martin aux API Days), sans oublier Etcd et Consul.

Bref, l’industrie adopte les containers… mais Docker n’est plus seul depuis que CoreOS a annoncé Rocket, son propre système de container.

L’arrivée à maturité d’Apache Spark

En 2014, le monde de la Big Data a entrepris une révolution en “transitionnant” d’Hadoop vers Spark. Il faut dire qu’Hadoop est à la fois complexe et lent en exécution, et que Spark propose une API simple à prendre en main (proche de celle des streams sur les collections en Java 8) tout en offrant des temps d’exécution jusqu’à 100 fois plus courts que ceux d’Hadoop.

Signe que l’industrie subit un bouleversement, le programme de la conférence Strata + Hadoop World comportait de nombreux talks sur Spark. Un nouvel entrant, Databricks, vient d’ailleurs bousculer les HortonWorks et autres Cloudera en levant 33 millions de dollars et en se positionnant comme le contributeur principal de Spark (les fondateurs de Databricks sont à l’origine du projet).

Grâce à la fondation Apache, Spark a gagné en maturité tout en conservant un rythme de développement effréné : version 1.0 en mai 2014, 1.1 en septembre et 1.2 en décembre. Le framework s’enrichit progressivement, proposant notamment Spark (traitement de données en batch), Spark Streaming (traitement de flux de données en temps réel), Spark SQL (requêtage de données avec une syntaxe SQL) et Spark ML (machine learning).

L’écosystème Spark grandit également rapidement et bénéficie notamment d’un excellent support pour Cassandra : outre la possibilité de lire/écrire des données depuis ou vers une base Cassandra, DataStax Enterprise fournit un cluster Cassandra où les nœuds sont également des workers Spark.

Chez Ippon, nous investissons beaucoup sur cette technologie. En 2014, nous avons ainsi organisé 8 coding dojos (1 en externe, 7 en internes), publié plusieurs articles sur le sujet, et nous espérons pouvoir vous en parler en avril prochain à Devoxx.

Pour Spark comme pour Docker, 2014 a été l’année de la maturité et 2015 sera l’année de l’industrialisation.