CérénIT

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

Web, Ops & Data - Semaine 35

dockerleanlaravelframeworkphparmarchitecture

Petite collection de liens pour reprendre les bonnes habitudes en cette période de rentrée...

Laravel

Docker

  • Releasing HypriotOS 1.0.0 "Blackbeard" : l'équipe Hypriot qui assure le port de Docker sur l'architecture ARM vient de sortir la version 1.0 de son OS avec Docker 1.12 et les dernières versions de docker-compose et docker-machine. De quoi pouvoir tester les apports de la version 1.12 sur vos Raspberry Pi.

Lean

  • Lean et Architecture IT : l'architecture et l'ingénierie sont au service de la valeur que l'on apporte aux clients. Il faut donc batir non pas la plateforme idéale mais la plateforme adaptée aux besoins du client. Toujours utile de le rappeeler et totalement en phase avec cette idée, puisque c'est notre philosophie.

Web, Ops & Data - Semaine 33

dockerorientdbamazon emrsparkmysqlclusterreplicationgéospatial

Docker

  • Docker Built-in Orchestration Ready for Production: Docker 1.12 Goes GA : avec la sortie de la version 1.12 de Docker contenant le nouveau modèle d'orchestration (basé sur Swarm), le billet présente comment l'ordhestrateur a été implémenté, la relation Manager/Worker nodes, les communications intra managers et intra workers. De quoi avoir une meilleure vision sur le fonctionnement de ce nouvel orchestrateur.

Big Data

  • Amazon EMR 5.0.0 – Major App Updates, UI Improvements, Better Debugging, and More : Amazon a fait une mie à jour significative de son offre managée Hadoop avec notamment une mise à jour significative pour Hive (1.x => 2.x) et Spark (intégration de la v2 sortie cet été). Si tous les composants supportent le stockage S3 en entrée/sortie des jobs, cela peut (re)donner à EMR de l'intérêt pour une platforme de calcul à la demande.
  • Spark Release 2.0.0 : Qui dit 2.0, dit stabilisation des API sous-jacentes et par ailleurs de nombreuses améliorations. Je vous laisse le soin de lire les release notes pour y trouver votre bonheur.

MySQL

  • MySQL 5.7 apporte le plugin "MySQL Group Replication" qui permet d'obtenir un cluster MySQL distribué (multi-master, haute disponibilité) ; comme l'installation ne semble pas triviale, Percona a décidé de fournir des images Docker : Docker Images for MySQL Group Replication 5.7.14. A voir s'il existe également pour MariaDB ou si un équivalent existe pour MariaDB.

OrientDB

  • Spatial Module in OrientDB 2.2 : avec la version 2.2, OrientDB (la base de données orientée graph et document) s'est doté d'un meilleur support des données géospatiales. Au delà du simple couple de coordonnées longitude/lattitude, OrientDB sait gérer des points et des polygones.

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 ?
← Précédent 25 / 27 Suivant →