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

docker kubernetes influxdb timeseries traefik grafana ansible kafka postgres warp10 elasticsearch python aws sécurité mysql redis terraform tick cassandra cloud helm ovh docker-compose git swarm telegraf timescaledb ptsm rancher résilience test chronograf flux gitlab log machine-learning prometheus architecture arm confluent dashboard devops hashicorp iac java ksql microservice monitoring s3 serverless spark vscode angularjs api bilan cert-manager cncf container cérénit dns gcp graphql ingress javascript kapacitor opensource operator optimisation perspective podman raspberrypi service-mesh sql ssh stream warpscript windows csp documentation elastic flows forecast gke hpkp influxace jenkins kafka-streams kibana kubedb lambda lean licence maesh maintenance mariadb microsoft mobile nginx npm orientdb performance pipeline redhat registry rest rethinkdb reverse-proxy rook sauvegarde scaleway vector agile apm automatisation azure bash big-data bigdatahebdo ceph certificat ci/cd cli cluster comptabilité containerd continous-delivery continous-integration cookie dataviz deployment diff fluxlang framework gdpr gitlab-ci grav hsts http/3 https hypriot hébergement influxdata influxdays iot istio jq json k3s lets-encrypt linux load-balancer longhorn meetup molecule mongodb nomad nosql nvidia openebs openssh ovhcloud percona php pip postgresql reaper replication rootless rpi rsyslog runc scale secrets société solr sre systemd timescale timezone tls vault virtualenv vitess vue.js wagtail warpfleet yarn accessibilité acme akka alerte alibaba amazon-emr amqp anomalie anonymisation anthos apache-pulsar ara arima arrow artefact audit bastion beam beat bounded-context branche brigade browser 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 cockroachdb code codeurs-en-seine commit confluence conftest consul context continous-deployment conventional-commit coreos cors covid19 cqrs crash cri cron crontab csi csrf css curl d3.js daemonset data data-engineer data-pipelining data.gouv.fr datacenter date date-scientist ddd debezium debian delta deprek8 desktop devoxx dig 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 event-sourcing faas facebook faisabilité falcor feature-policy fedora feed filebeat firebase firefox fish flash flask fleet flink fluentd formation foundation frontend fsync fullstack github gitignore glacier glowroot golang google google-cloud-next gpg gpu grid géospatial hacker hadoop haproxy harbor hdfs header html html5 http hue ia iaac ibm immutable incident index influxcloud infrastructure-as-code ingénierie inspec jquery jwt k3d k8s k9s kotlin kubeadm kubecon kubectl label laravel letsencrypt libssh linky linter liste-de-diffusion lmap loadbalancer logstash logstatsh loi mailing-list management maturité mesh mesos message metallb micro-service mot-de-passe mqtt multi-cloud médecine métrique network newsletter nodeport null object-storage observability observabilité opa opendata openhab openmetrics openshit openstack openweb over-engineering packaging pandas parquet partiql password persistent-volume-claim pipenv pod portainer portworx prediction prescience production promql prévision ptyhon publicité pubsub pulsar push pyenv pérénnité qualité quasardb quay questdb queue quic ram rambleed raml react 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 scalabilité scanner schema scp sdk search select serverless-architecture service service-account service-worker setuptools sftp sha1 sharding shell shipyard sidecar souveraineté-numérique spinnaker spécifications sri ssh-agent ssl stabilité stash statistique storage sudo superset suse sympa syslog-ng sérénité template terracost terrascan test-unitaire tidb tiers timer timestream training transformation travail tsl ubuntu unikernel unit ux vendredi victoria-metrics vie-privée virtualbox virtualisation vm vnc volume voxxeddays vpc warpstudio web yaml yq yubikey