*

Web, Ops & Data - Novembre 2019


27/11/2019 docker docker-compose docker-hub kubernetes registry quay redhat scanner sécurité helm k3s pod jenkins pipeline redis timeseries machine-learning prediction ksql kafka-streams

Rendez-vous le 17 décembre prochain à la troisième édition du Paris Time Series Meetup consacré à TSL (billet introductif à TSL : TSL: a developer-friendly Time Series query language for all our metrics) et le module RedisTimeSeries qui apporte des fonctionnalités et des structures Time Seriies à Redis.

Cloud

  • The RIPE NCC has run out of IPv4 Addresses : Le RIPE NCC vient d’annoncer avoir attribué son dernier bloc d’IP v4 en /22. La réserve d’IPv4 est donc épuisée mais pour autant cela ne veut pas dire que toutes les IPv4 sont utilisées. Par ailleurs le RIPE NCC précise que de nouveaux blocs devraient voir le jour au fur et à mesure que des organisations revendent des plages inutilisées ou cessent leur activité. Le mécanisme d’attribution se fera alors sous la forme d’une liste d’attente. Ce n’est donc pas l’IPcalypse même si on s’en rapproche de plus en plus et s’il faut prévoir de passer à IPV6 de plus en plus rapidement.

Container et Orchestration

  • Red Hat Introduces open source Project Quay container registry : De la même manière que RedHat publie l’upstream d’Ansible Tower avec le projet AWX, RedHat va fournir l’upstream de Quay (registry docker) et Clair (scanner vulnérabilités) sous le nom de Project Quay
  • Helm 3.0.0 has been released! : si tout le monde attendait la suppression de tiller, ce n’est pas la seule nouveauté. Le billet donne aussi plein de liens sur la migration vers helm 3, la politique de support de Helm 2 (bug & sécurité pour 6 mois et sécurité uniquement les 6 mois suivants), etc.
  • Mirantis acquires Docker Enterprise, Docker Restructures and Secures $35 Million to Advance Developer Workflows for Modern Applications et Docker’s Next Chapter: Advancing Developer Workflows for Modern Apps : Mirantis rachète la branche “Entreprise” de Docker Inc et les actifs associés (employés et propriété intellectuelle). Docker Inc va se focaliser sur l’expérience utilisateur (Docker Desktop, Docker-Compse, Docker-Apps, etc). Pour cela, en plus d’une restructuration du capital, ils ont sécurisé 35 millions de dollars. Il est quand même étonnant de voir qu’à court terme, en dehors de la vente à Mirantis, Docker Inc n’a plus de sources de revenus…
  • What Docker Inc’s Reorganization Means For Docker Swarm : Suite à l’annonce précédente, il est légitime de se demander ce que va devenir Swarm. Le produit est donc géré par Mirantis et ces derniers ont embauché la personne en charge de Swarm et lui ont apparemment donné des garanties de pérénité du projet. Il conviendra de rester prudent sur le sujet même si j’espère que le projet Swarm continuera à exister. En effet, il est bien pratique et léger dans beaucoup de cas qui ne requiert pas Kubernetes.
  • k3s 1.0 : k3s, la version allégée mais certifiée de k8s atteint la version 1.0. Très pratique pour faire du k8s sur des raspberry pi et assimilés.
  • KSS - Kubernetes pod status on steroid : un petit script python qui permet d’avoir un status d’un pod et de son/ses container(s)

Data

  • Introducing ksqlDB : Confluent, l’entreprise derrière Apache Kafka et la Confluent Platform sort une nouvelle version de ksql qui est renommé ksqlDB. ksql se voit donc ajouter un connecteur sql pour des enrichissements depuis des sources de données externes, ainsi qu’un système de requêtage dynamiques de topics Kafka pour le présenter sous la forme d’une base de données et prendre en compte les changements au fur et à mesure qu’ils arrivent. Ce n’est donc pas une base de données à proprement parler mais nommer les choses en informatique, c’est une chose compliquée…

Outillage

  • Welcome to the Matrix : Le plugin Declarative Pipeline se dote d’une propriété matrix qui va permettre de faire la même action avec des configurations différentes plutôt que d’avoir un jenkinsfile pour chaque option/déclinaison du job. Le parallelisme semble supporté par défaut et un système d’inclusion/exclusion permet de mieux définir la combinaison des possibles. Dans l’exemple donné qui croise des systèmes d’exploitation et des navigateurs, cela permet par ex de ne pas lancer le job utilisant Micrsoft Edge sous Linux (même si…).

Tech

Time Series

LesFurets.com


01/06/2018 automatisation cassandra cassandra-reaper ansible docker jenkins

Contexte

Le comparateur d’assurances LesFurets.com souhaite industrialiser sa plateforme Cassandra et être accompagné dans le maintien en condition opérationnelle de ses plateformes de build, de déploiement et son infrastructure en générale.

Notre réponse

Sur le chantier Cassandra :

  • Elaboration du scénario de migration
  • Packaging de Cassandra 2.x et 3.x
  • Rédaction des rôles Ansible permettant de déployer Cassandra 2.x ou 3.x, ainsi que du rôle Reaper (outil de réparation des données d’un cluster Cassandra)
  • Déploiement de Reaper et mise en place des “repair”
  • Déploiement d’un 4ème datacenter pour permettre d’avoir tout le temps 3 datacenters opérationnels pendant la période de migration

Sur le chantier maintien en condition de la plateforme :

  • Maintien en condition opérationnelle du cluster swarm (mises à jour de Docker, Portainer, Traefik) et extension du cluster (ajout de noeuds)
  • Formation des développeurs à docker, docker-compose et docker/swarm au travers de meetups hebdomadaires
  • Migration des applications déployées sur un socle Ubuntu 14.04 vers Ubuntu 16.04 avec passage sous IaC (Ansible, Jenkins), mise à jour des composants et remise au carré des containers Docker le cas échéant : Nexus, Selenium Grid, applications internes, etc.
  • Mise à jour d’Ansible et maintenance des playbooks (rationalisation, améliorations, etc)
  • POC de test autour de la solution molecule permettant de tester les rôles Ansible
  • Migration de Logmatic vers Datadog Logs, dont repackaging et reconfiguration de Logstash

Bénéfices

  • Expertise sur Docker, Docker Compose, Docker Swarm, Traefik et Kubernetes
  • Expertise sur Ansible
  • Rapidité de montée en compétences sur Cassandra et Reaper
  • Support transverse aux équipes de production et de développement

LesFurets.com


01/01/2018 docker docker-compose docker swarm ansible jenkins traefik

Contexte

Le comparateur d’assurances LesFurets.com souhaite refondre et industrialiser sa plateforme de recette à base de conteneurs Docker. Il souhaite également automatiser la gestion de son infrastructure avec Ansible.

Notre réponse

  • Etude de l’existant, recueil des besoins et identification des améliorations possibles
  • Analyse des offres cloud et “on premise” pour évaluer différents scénarios de déploiement
  • Définition d’une architecture et d’un nouveau process de déploiement
  • Refonte des containers en adoptant les bonnes pratiques au niveau de Dockerfile (ENTRYPOINT/CMD, optimisation des layers, ENV/ARG, volumes, chargement des données à la première exécution, etc) et de docker-compose.
  • Refonte des images de base (optimisation des tailles et des dépendances)
  • Mise en place d’une stratégie de tagging des images Docker sur la registry docker interne (latest n’est pas une version)
  • Implémentation d’un cluster docker swarm multi-noeuds (déployé via Ansible)
  • Ajout des rôles Ansible requis pour le cluster swarm (Docker, Swarm, NFS, Traefik, Firewall, etc)
  • Mise en place de la chaine de déploiement (scripts bash, Jenkins)
  • Enrichissement de la plateforme de recette (Cassandra, Vault, etc)

Bénéfices

  • Expertise sur Docker, Docker Compose, Docker Swarm, Traefik et Kubernetes
  • Expertise sur Ansible

Syndication

Restez informé(s) de notre actualité en vous abonnant au flux du blog (Atom)

Nuage de tags

kubernetes docker influxdb timeseries warp10 traefik grafana ansible kafka postgres elasticsearch python sécurité terraform aws mysql redis ovh tick cassandra cloud docker-compose git hashicorp helm telegraf timescaledb chronograf ptsm swarm dashboard rancher résilience test vector flux gcp gitlab log machine-learning monitoring podman prometheus spark architecture arm confluent devops gitlab-ci iac java kapacitor ksql microservice raspberrypi s3 serverless service-mesh sql timescale vscode angularjs api bilan cert-manager cncf comptabilité consul container cérénit dns gke graphql influxdata ingress javascript nomad opensource operator optimisation perspective pipeline rook scaleway ssh stream vault warpscript windows cli containerd csp documentation elastic flows forecast geospatial golang hpkp influxace iot jenkins kafka-streams kibana kubedb lambda lean licence maesh maintenance mariadb microsoft mobile nginx npm orientdb performance postgresql redhat registry rest rethinkdb reverse-proxy sauvegarde agile apm arima automatisation azure bash big-data bigdatahebdo ceph certificat challenge ci/cd cluster continous-delivery continous-integration cookie data dataviz deployment diff facebook fluxlang framework gdpr grav hsts http/3 https hypriot hébergement ia influxdays istio jq json k3s lets-encrypt linux load-balancer longhorn meetup molecule mongodb nosql nvidia openebs openssh ovhcloud percona php pip quasardb reaper replication rootless rpi rsyslog runc scale secrets société solr sre systemd tempo timezone tls virtualenv vitess vue.js wagtail warpfleet warpstudio yarn accessibilité acme agpl akka alerte alibaba amazon-emr amqp anomalie anonymisation anthos apache-pulsar ara arrow artefact audit banque bastion beam beat bme680 bootstrap bounded-context branche brigade browser buildah buildkit cahier-des-charges calico cassandra-reaper cd cdc cdk centos centralisation-de-logs certificats cgroups chart checklist chrome ci cilium cloud-init cloud-native cloud-storage clusterip cnab cni co2 cockroachdb code codeurs-en-seine commit confluence conftest consul-connect context continous-deployment conventional-commit coreos cors covid19 cqrs crash cri cron crontab csi csrf css curl d3.js daemonset data-engineer data-pipelining data.gouv.fr databricks datacenter datatask date date-scientist dbt ddd debezium debian delta deprek8 desktop devoxx dig discovery distributed-systems dive docker-app docker-hub docker-registry docker-swarm dockershim documentdb dog dokcer données-personnelles draft drop-in duration déploiement développement-du-site e-commerce ebs ec2 edge elassandra electron elk engineering entreprise ergonomie etcd euclidia event-sourcing faas faisabilité falco falcor feature-policy fec fedora feed filebeat firebase firefox fish flash flask fleet flink fluentd formation foundation frenchtech frontend fsync fullstack git-filter-repo github gitignore glacier glowroot go google google-cloud-next gpg gpu grid géospatial hacker hadoop haproxy harbor hdfs header holt-winters html html5 http hue iaac ibm immutable incident index indluxdata influxcloud infrastructure-as-code ingénierie inspec jquery jwt k3d k6 k8s k9s kaniko katz kotlin kubeadm kubecon kubectl label laravel leap-second lens letsencrypt libssh linky linter liste-de-diffusion lmap loadbalancer logstash logstatsh loi loki lstm mailing-list management maturité mesh mesos message metabase metallb micro-service minio mot-de-passe mqtt multi-cloud médecine métrique network newsletter nodeport notebook null object-storage observability observabilité opa opendata openhab openmetrics openshit openstack openweb opnsense over-engineering packaging pandas parquet partiql password persistent-volume-claim pico pipenv pod portainer portworx prediction prescience production promql prophet prévision psp ptyhon publicité pubsub pulsar push pyenv pérénnité qualité quay questdb queue quic ram rambleed raml react readme recaptcha recherche redistimeseries reindex reinvent reliability remote-execution repository responsive revocation revue-de-code rexec rgpd rhel rkt rolespec root rpo rto rust rwd safe-harbor sarima scalabilité scanner schema scp sdk search select serverless-architecture service service-account service-worker setuptools sftp sha1 sharding shell shipyard sidecar souveraineté-numérique spectre spinnaker spécifications sqlite sri ssh-agent ssl stabilité stash statistique storage sudo superset suse sympa sysdig syslog-ng sérénité template terracost terrascan test-unitaire tidb tiers time timer timestream training transformation travail trésorerie tsfr tsl ubuntu unikernel unit ux velero vendredi victoria-metrics vie-privée virtualbox virtualisation vm vnc volume voxxeddays vpc wasm web wireguard yaml yq yubikey