CérénIT

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

Web, Ops & Data - Semaine 48

traefikdockerkubernetesgrafananullawsalertemonitoringdashboardreverse-proxy

Container & orchrestration

  • Kompose: a tool to go from Docker-compose to Kubernetes : en cours d'incubation chez Kubernetes, ce projet permet de faciliter la transition de Docker à Kubernetes en transformant les fichier docker-compose.yml en fichiers Manifests Kubernetes. Un pivot intéressant si on considère que les développeurs vont utiliser Docker (et au mieux Swarm) pour leurs environnements de développement et en production éventuellement Swarm et ensuite vouloir migrer vers Kubernetes pour ses fonctionnalités plus évoluées.
  • Introducing Distributed Cheese: Traefik 1.1 Camembert Is Out! : Traefik, le reverse proxy moderne qui sait s'interfacer notamment avec Docker, Consul, Kubernetes et plein d'autres est sorti en version 1.1.x. Cette version apporte notamment le support de l'API Docker Swarm (Docker 1.12+), une meilleure gestion des contraintes, le support de Mesos, une meilleure gestion des affinités de sessions, un mode cluster pour Traefik (expérimental) et une image officielle docker basée sur alpine. J'ai profité de l'installation d'un nouveau serveur pour déployer Traefik et c'est vraiment agréable de pouvoir déclarer dynamiquement ses containers docker. Par ailleurs, je rappelle que je maintiens des images docker de Traefik pour sa version ARM
  • Docker for AWS Public Beta : l'offre Docker pour AWS passe d'une version alpha à une verion beta. On notera essentiellement qu'il s'agit d'une version plus intégrée avec l'offre AWS que si l'on déployait un docker soi-même. A suivre mais attention à vérifier qu'il n'y a pas un lock-in qui se crée à la fin, que l'intégration apporte un plus et ne nuit pas à la portabilité des containers.

Dashboard, Monitoring

  • What's new in Grafana v4.0 : la fonctionnalité phare de cette version est la capacité de définir des alertes au niveau de chaque élément d'un dashboard. Pour se faire il faut définir les règles à appliquer et ensuite s'appuyer sur la partie notification. Pour ceux qui étaient tentés d'installer Chronograf 1.1 (béta) pour avoir cet alerting en plus des dashboards adhoc de Grafana, ils pourraient bien finalement rester dans Grafana (dont la maturité n'est plus à prouver) plutôt que d'attendre que Chronograf se stabilise... A moins que Chonograf n'apporte une valeur ajoutée de part son intégration native avec Telegraf.

Pépites

  • Si vous pensiez que toutes les villes commencent par une lettre, maintenant vous savez que c'est faux avec la ville de 's_Herenelderen. Vous pouvez mettre vos regexp à jour !
  • These unlucky poeple have names that break computers : même si l'article concède que ce problème est de moins en moins vrai au fur et à mesure des progrès réalisés et de la prise de conscience par les développeurs, mais s'appeller "Null" ou avoir un nom de famille très long (36 caractères dans l'exemple donné ou même 8 au Japon quand l'habitude est de 4...), cela pose des tas de problèmes dans la vie du quotidien.

DevOps Rex 2016

devopsagilelean

J'étais à DevOps Rex hier ; elle m'avait intéressé de part son intitulé :

La conférence devops 100% retour d’expérience.

En attendant les vidéos, vous pouvez déjà retrouver les slides sur le compte slideshare devopsrex.

La conférence a plutôt bien tenu son objectif au travers de 9 talks mélangeant des réussites et des échecs mais aussi des contextes de petites et grosses entreprises.

En synthèse :

  • DevOps, c'est avant tout une culture, un état d'esprit et des pratiques, bien avant d'être des outils. J'en suis convaincu, la salle le semblait aussi. C'est déjà ça d'acquis mais l'audience était biaisée.
  • L'agile, c'est bien car cela rapproche Métier et Développeurs mais s'il n'y a pas du DevOps dans la foulée pour déployer au fur et à mesure la valeur apportée par les cycles itératifs, c'est idiot. La valeur n'existe que si la fonctionnalité est livrée en production. Il faut donc envisager le "Biz/Dev/Ops" comme j'en ai parlé à l'E1 Conférence lors de mon talk sur le Généraliste (transcript
  • Des synergies également entre DevOps et le Lean dans tout ce qui touche à la réduction de gaspillage et à l'amélioration continue : fournir l'architecture adaptée (pas de sur-engineering), itérer, etc.
  • Notion de juste investissement :
    • Tout automatiser n'a pas de sens mais plutôt que d'avoir des formules complexes pour mesurer le ROI de l'automatisation, prendre simplement une règle de douleur comprise entre 1 et 10 et automatiser tout ce qui représente une douleur supérieure à 5.
    • Le juste investissement fait aussi référence à l'équilibre entre l'agilité et la flexibilité que l'on veut avoir et l'automasation/industrialisation. Cette dernière peut parfois nuire à cette agilité/flexibilité tout comme elle peut la faciliter (en ayant automatisé un sujet, on a du temps pour autre chose)
  • Au delà de la notion de culture et d'automatisation, on retrouve la notion de mesure et de partage des indicateurs (KPI). La mesure permet de factualiser/objectiver les choses et d'avoir du feedback sur nos actions. En partageant nos indicateurs et en connaissant les indicateurs des équipes avec lesquelles on travaille, cela peut être utile qu'ils y aient accès mais nous pouvons aussi les prendre en compte pour nos activités.
  • Dans un contexte de grande entreprise, où la maturité devops peut varier, il est plus intéressant de partager les indicateurs que d'imposer des outils. En laissant chaque équipe adopter les outils dont elle a besoin mais en remontant des indicateurs commun, on évite que des équipes perdent du temps à réimplmenter leurs pratiques actuelles dans un autre outil sans leur apporter une réelle valeur ajoutée mais on leur demande de remonter des indicateurs communs afin de pouvoir évaluer la progression d'ensemble de l'entreprise.
  • Pour mettre en place une démarche DevOps, s'il faut bien partir de la littérature existante, il convient surtout de la contextualiser à son entreprise et ensuite aux équipes voire à l'application concernée afin d'être pertinent.
  • Comme tout "transformation", il est important d'avoir un management facilitateur a minima voir sponsor. Le succès se fait tant via des initiatives bottom/up que top/down. S'il est important que les objectifs soient définis globalement et éventuellement par le management, il est tout aussi important de laisser une forte autonomie aux équipes opérationnelles pour leur permettre de trouver leur organisation afin de répondre à ses objectifs.

Pas de véritable découverte durant cette conférence pour moi. Plutôt une confirmation et une objectivation d'opinions et/ou d'intuitions que je pouvais avoir jusqu'à présent et de quoi alimenter certaines réflexions.

Une journée intéressante, même si j'aurais apprécié avoir une conférence plus orientée "DevOps depuis les tranchées" et avec un peu moins de recul/hauteur.

Web, Ops & Data - Semaine 46

kubernetestickinfluxdbchronografanonymisation

Kubernetes

  • Introducing Operators: Putting Operational Knowledge into Software : l'équipe de CoreOS vient de dévoiler les Operators, un complément à Kubernetes permettant, pour des applications stateful, de gérer une logique "métier" (création/suppression, perte d'un composant, mise à jour, sauvegarde, etc). Autant pour des applications stateless, il suffit d'instancier une nouvelle instance du composant, autant pour des applications stateful, il faut parfois avoir des commandes supplémentaires ou récupérer des informations des autres composants. C'est cette logique que les Operators apportent. On le comprend mieux en lisant les billets sur l'Operator d'etcd ou celui de Prometheus

TICK (Telegraf, InfluxDB, Chronograf, Kapacitor)

Gestion des données personnelles

Web, Ops & Data - Semaine 44

ansibledockernomadfleetkubernetesswarmelasticsearchwagtailgrav

Elasticsearch

  • Elastic Stack 5.0.0 Released : La version 5.0 de l'Elastic Stack (Elasticsearch, Kibana, Beats, Logtstash) vient de sortir. Concernant Elasticsearch, on notre l'arrive d'une ingest node pour mieux traiter vos données, des améliorations de performances et plein d'autres choses dont on a parlé ici précédemment.
  • Les leviers d'Elasticsearch pour le traitement des spécificités linguistiques : le billet présente les différentes capacités d'Elasticsearch pour analyser plus ou moins finement un texte en fonction de vos besoins. Assez bien documenté pour voir les comportements des différents filtres d'Elasticsearch.

Conteneurs

CMS

  • Wagtail 1.7: Elasticsearch 2, Smaller Images, CloudFront : Tout est dans le titre ou presque : support d'Elasticsearch 2, une plus grande flexibilité sur le degré de compression des images et le support du CDN Amazon CloudFront.
  • Grav 1.1.8 : le CMS Grav continue à améliorer sa version 1.1.x ; terminant un premier projet avec Grav, je suis à la fois séduit par son potentiel et sa flexibilité que frustré par quelques défauts de jeunesse (?). Cela fera l'objet d'un futur billet...

DevOps

Web, Ops & Data - Semaine 42

vie privéeyarnjavascriptnpmangularjsmysqlansible

Javascript

  • Yarn: A new package manager for JavaScript : Facebook sort une alternative à npm, se voulant plus fiable et prédictive (voire idempotent ?) pour le contenu de node_modules, plus rapide (parallélisation et cache hors ligne) et plus sûr avec des mécanismes de contrôle de signature de fichiers. yarn reste compatible avec npm et son registre.
  • Angular 2 Is Out: Should You Start Using It? : la réponse courte est non pour des projets professionnels pour de bonnes raisons (l'écosystème n'est pas encore à jour, peu de personnes expérimentées avec Angular2, le manque de recul/stabilité sur cette version, les changements à venir, etc) et de moins (?) bonnes raisons (documentation incomplète, le pré-requis sur TypeScript). Donc à apparendre tranquillement ou à utiliser pour des POC mais pour le reste, capitalsier sur la version 1.5 et profiter du fait qu'avec les dernières version d'Angular, on peut écrire du code dans l'objectif d'Angular2.

MySQL

  • Using the loose_ option prefix in my.cnf : Une bonne astuce à savoir dans MySQL, en préfixant une variable avec loose_, alors au lancement, MySQL va ignorer cette option si elle ne la connait pas. Le billet donne pour cas d'exemple la mutualisation d'un fichier de configuration entre la version MySQL de Percona (qui a ses propres variables) et celle de MySQL ou encore l'anticipation de la mise à jour de MySQL qui permet de déployer un futur fichier de configuration sans craine l'arrêt du service.
  • MySQL 5.7 Performance Tuning Immediately After Installation : l'optimisation d'une base MySQL ressemble parfois à de la magie noire, à moins d'avoir lu High Performance MySQL. Le billet permet de voir les premières variables à ajuster et donne des pistes vers d'autres points à surveiller.

DevOps

  • Ansible Galaxy (Via) : Ansible Galaxy est un hub (public) pour l'outil d'automatisation Ansible où il est possible de diffuser/partager/réutiliser des roles ansible, que l'on peut ensuire réintégrer dans ses playbooks. Red Hat vient de décider de la publication de son code source, permettant ainsi d'avoir son progre serveur Galaxy dans vos murs et partager ainsi vos rôles ansible au sein de votre organisation. Vous pouvez aussi contribuer au code pour améliorer le Galaxy public !

Vie Privée

  • Your Social Media Fingerprint : Comment permerttre à un tiers (ici les services en ligne) de récolter des données à votre insu juste grâce au favicon de leur site. L'exmple est connu mais bien expliqué. Il en est de même pour les polices (fonts) hébergées chez Google & co et plus généralement pour les ressources distantes. Toutes les ressources distantes ne vont pas donner le même volume d'information mais a minima, on a votre IP, la date et le site source... Dans la mesure du possible et pour protéger vos utilisateurs, pensez à rappatrier les ressources distantes sur votre site.
← Précédent 23 / 26 Suivant →