CérénIT

Le blog tech de Nicolas Steinmetz (Time Series, IoT, Web, Ops, Data)

Web, Ops & Data - Semaine 29

elasticsearchcassandrakuberneteswagtailk8srktsolrspark

Elasticsearch

Cassandra

  • Introducing Datastax Entreprise 5.0 : la nouvelle version de l'offre entreprise de Cassandra vient de voir le jour. Elle apporte notamment un modèle Graph (Introduction to DSE Graph). Ayant assisté au Cassandra Days à Paris, j'ai bien aimé l'idée d'avoir un worker Spark et un index Solr sur chaque noeud du cluster Cassandra pour pouvoir travailler au plus près des données et avoir différentes façons de travailler avec selon les besoins. Une combinaison assez intéressante pour manipuler les données tout en restant dans une architecture (relativement) simple ou plus simple qu'une architecture Hadoop.
  • Retour d'expérience sur l'utilisation de Cassandra sur 6play en vidéo ; Retour d'expérience de l'équipe M6Web sur leur utilisation de Cassandra lors des Cassadra Days à Paris en Juin.

Wagtail

Je suis avec intérêt Wagtail et Grav qui sont 2 CMS assez flexibles et avec des interfaces ergonomiques et ce sans rentrer dans des usines à gaz comme Drupal ou eZ Publish.

Kubernetes

  • Kubernetes 1.3: Bridging Cloud Native and Enterprise Workloads : cette version apporte de nombreuses améliorations, dont le support du format de container rkt (issu du projet CoreOS, via rktnetes), les premiers pas du support de cluster multi-datacenter via la fédération de clusters, une meilleure gestion des containers "statefull" (base de données, etc) et d'autres améliorations.
  • Minikube: easily run Kubernetes locally : Dans le cadre de la sortie de Kubernetes 1.3, les équipes de Google cherchent à rendre Kubernetes plus accessible sur un poste de développeur. C'est le propos de Minikube de fournir un cluster kubernetes minimaliste en quelques clics tout en offrant l'ensemble des fonctionnalités de Kubernetes.

Ansible, à la rescousse en cas de crash serveur

ansibleautomatisationcrashrtorpoincident

Il y a de cela une dizaine de jours, la partition système d'un serveur d'un de nos clients est passé en lecture seule suite à un problème de consistence sur le disque. Pour les services en cours et ne dépendant pas de fichiers sur cette partition, les services continuaient de fonctionner. Pour les autres, ils étaients hors service ou dans une situation de dsyfonctionnement dès lors qu'ils avaient besoin d'écrire un fichier sur la partition système.

Pour rétablir le service dans les plus brefs délais et investiguer ce problème dans un second temps, nous avons décidé de créer un nouveau serveur, de lui attacher les données et l'IP du serveur hors-service. Cette opération a été grandement facilitée vu que nous utilisons dans ce cas l'offre IAAS de Gandi : en quelques clicks, un nouveau serveur a été provisionné, et les disques contenant les données et les backups ont été attachés au nouveau serveur.

Vient alors Ansible : grâce aux playbooks, préalablement rédigés par nos soins, pour installer l'ensemble des logiciels et le paramétrage associé des serveurs de notre client, le serveur était opérationnel dans les 15 minutes. Quelques tests plus tard, nous pouvions alors migrer l'IP de l'ancien serveur vers le nouveau et rendre le site à nouveau accessible au bout de 30 minutes environ.

Malheureusement, toutes les modifications et quelques actions n'étaient pas encore reportées ou rédigées dans nos playbooks. L'heure suivante a donc consisté à rattrapper ces informations et jouer les actions manquantes. Depuis lors, elles ont été réintégrées dans les playbooks .

Au final, en 1h30 après décision de reconstruire le serveur, le service était totalement rétabli et avec un retour partiel au bout de 30 minutes environ. Si nous avions du rejouer toute l'installation à la main, cela aurait durer bien plus de temps et avec des risques d'erreurs / oublis non négligeables et sans parler du doute persistent : a-t-on bien tout récupéré ?

Un crash serveur est une situation stressante pour tout le monde ; il est agréable de pouvoir compter sur un outil comme Ansible pour garantir l'état final d'un serveur (prédictibilité). Cela apporte une certaine sérénité et permet de rétablir le service au plus vite pour le bien de tous. Au-delà du premier déploiement, cela requiert une certaine hygiène de vie du serveur pour maintenir les playbooks à jour.

Web, Ops & Data - Semaine 26

kafkadockerorientdbswarmselectstreambeam

Docker

La version 1.12 apporte son lot de nouveautés :

OrientDB

  • Pattern matching with OrientDB : pour un cas d'usage d'une connaissance, nous avons investigué les données Graph comme OrientDB pour matérialiser des relations et des inter-connexions. Le billet montre comment via des requêtes SQL on peut parcourir le graph et définir des pattern.

HTML/JS/CSS

Streams

  • Apache Kafka and Kafka Streams at Berlin Buzzwords ; la CTO de Confluent a fait un tour d'Europe où elle présente Kafka, Kafka Connect et Kafka Streams et surtout sa vision du Stream processing et les impacts que cela a sur notre façon de développer des applications et consommer de la donnée. Ils ont une approche assez pragmatique du sujet, l'ayant mis en place notamment chez LinkedIn et chez d'autres clients.
  • Why Apache Beam ? : Beam est un projet Apache et la version Open Source de ce qu'a implémenté Google pour sa plateforme Google Cloud Data Flow. C'est un modèle de programmation pour traiter de la donnée dans une logique de streaming. Le billet porte sur l'intégration de Beam dans Flink (un moteur de processing temps réel). De quoi voler la vedette à Spark Streaming ?

Web, Ops & Data - Semaine 24

elasticsearchhueserverless architecturebig datagit

Elasticsearch & friends

  • Elastic Stack Release 5.0.0-alpha3 : Elastic continue son bonhomme de chemin avec diverses améliorations et efforts de stabilisations pour l'ensemble de leurs produits. On notera aussi quelques incompatibilités ascendentes (gestion des propriétés d'Elasticsearch) dans le cadre de la version 5.0

Big Data

  • Hue 3.10 with it's new sql editor is out : Hue, une interface web d'accès et de suivi des données et des jobs d'une plateforme Hadoop est sortie fin mai dernier avec son lot de nouveautés et notamment une refonte graphique.

Git

  • Git, the simple guide : un revue très claire des principales commandes git ; existe en plusieurs langues.

Architecture Serverless

  • Serverless architectures : c'est le buzzword du moment, l'idée consiste à dire qu'on ne gère plus des serveurs mais que l'on déploie son application sur la base de différentes services cloud. On y voir la notion de "Backend as a service" ou de "Function as a Service". L'idée étant que pour chaque foncitonnalité attendue (stockage, authentification, etc), l'application finale s'appuie sur n services et que l'entreprise développant l'application ne possède en soi aucun serveur.

Web, Ops & Data - Semaine 22

kafkaorientdbconfluentansiblerevue de codetraefik

Traefik

OrientDB

Ansible

Revue de code

Kafka

← Précédent 25 / 26 Suivant →