Web, Ops & Data - Janvier 2021


27/01/2021 timeseries prometheus promql ovhcloud iot openhab vector timescaledb ptsm anomalie label machine-learning iac ansible libssh vector log warp10 influxdb openssh gpg podman docker-compose sudo

Cloud

Code

  • GitLab release feature report : le code qui permet de générer le rapport ce qui a changé entre les versions de Gitlab.
  • SSH is the new GPG : les dernières versions d’OpenSSH permettent de signer un fichier. Une solution intermédiaire entre de la signature de fichiers à base de MD5 & co qui donnent des informations de conformité mais sans indiquer qui a signé le fichier et une solution GPG plus complexe à mettre en oeuvre ?

Container et orchestration

  • Using Podman and Docker Compose : podman, le “daemonless container engine” va permettre d’être utilisé avec docker-compose dans le cadre de la version 3.0. De quoi favoriser l’adoption de podman ?

Infra as code

  • New LibSSH Connection Plugin for Ansible Network Replaces Paramiko, Adds FIPS Mode Enablement : Ansible change de librairie pour les connexions ssh en remplaçant paramiko par libssh. Elle se veut plus performante et peut être requis dans un contexte demandant du FIPS. Pensez à installer le paquet libssh-dev(el) suivant votre distribution pour pouvoir installer ansible-pylibssh. Mes premiers essais ne notent pas une amélioration sensible des performances… à voir sur d’autres machines et dans la durée…

IoT

  • openHAB 3.0 Release et Release Notes : OpenHAB est une plateforme open source de gestion de périphétiques IoT et d’automatisation autour de ces périphériques. Elle est développée en Java, support 2000 “Things” (objets, équipements, protocoles). La version 3.0 apporte une refonte et l’unification de l’UI et des composants, le passage à Java 11 et plein d’autres choses. La migration depuis une version 2.x se fait assez simplement. Avec le nouveau moteur de règle, j’ai pu supprimer mon code spécifique. Reste encore la partie “Pages” à appréhender… J’avais préféré OpenHAB à Jeedom et Home Assistant
  • Meet Raspberry Silicon: Raspberry Pi Pico now on sale at $4 : la fondation Raspberry Pi se lance dans les micro-controlleurs avec le Pico au prix de 4$.
  • Raspberry Pi PICO la carte Microcontrôleur de la Fondation : un article très détaillé sur la prise en main du pico.

Observabilité

Système

Time Series

Bilan 2020 et perspectives 2021


14/01/2021 bilan perspective cérénit timeseries bigdatahebdo influxace iot

Routine habituelle de début d’année pour la clôture de ce 4ème exercice (déjà !).

Bilan 2020

Au global, une bonne année au regard des conditions - les objectifs sont remplis.

D’un point de vue comptable, cela donne :

2020 2019 2018 2017 Variation n/n-1
Chiffre d’affaires ~138 K€ ~150 K€ ~132 K€ ~100 K€ -8%
Résultat après impôts ~8 K€ ~13.5 K€ ~10 K€ ~20 K€ -41%
Jours facturés 175 197 178 160 -11%
TJM 789€ 761€ 742€ 625€ +3.6%

Contrairement aux autres années, les jours facturés ne prennent plus en compte des prestatations forfaitaires (comme l’infogérance, etc) pour lesquelles je faisais un équivalent jour. J’ai ajusté les valeurs de ce tableau mais je n’ai pas mis à jour les synthèses 2019, 2018 et 2017. Cela a pour conséquence d’améliorer sensiblement le TJM.

L’épisode COVID n’a pas eu d’impact direct sur mon activité et je fais un chiffre d’affaire conforme à ce que j’avais prévu en début d’année. Clairement, je mesure ma chance d’avoir passé cette année sans encombres professionnels. J’avais dit que je passerai à 4/5 sur l’année. Dès lors je ne pouvais envisager de factuer plus de 80% des jours ouvrés et et je parviens à en factuer 77% (toujours hors prestatations forfaitaires). En faisait un TJM de 700€ et 80% des jours ouvrés, cela me donnait un chiffre d’affaires à atteindre de 128 K€. J’atteins à peu près cet objectif avec les jours facturés et je le dépasse grâce aux prestations forfaitaires. Ces prestations forfaitaires ayant sensiblement augmenté en 2020 (passage de ~10K€ à ~13K€) et même si l’une d’entre elles a généré un investissement matériel important et qui sera compensé sur les prochaines années. Cela explique principalement la chute du résultat (si on prend 2018 comme année de comparaison, pour une chiffre d’affaire et un volume de jours facturés similaire, le résultat est 20% inférieur).

Comme chaque année, j’en profite pour remercier Fabrice pour son accompagnement en tant qu’expert-comptable. Je le dis et le répête, mais avoir confiance dans son expert comptable et pouvoir compter sur lui pour apporter de bons conseils aux bons moments et être serein sur la gestion de l’entreprise, c’est indispensable - surtout en cette période. Même si je n’en ai pas bénéficié directement, les informations transmises pendant cette période sur les aides et autres mécanismes mis en place ont été très utiles.

D’un point de vue activité, c’est une bonne année en termes de contenus de missions :

Pour le reste, j’ai le plaisir de :

Petite déception toutefois sur la partie développement, où je n’ai pas pu me mettre sérieusement à Go ou Rust.

Enfin, je m’étais posé la question du rôle social d’une entreprise dans notre société en temps de COVID. Ma contribution a certes été modeste dans la limite de ce qui était autorisé par la loi d’une part et ne sachant pas trop comment se finirait l’année d’autre part. Je pense que je vais continuer dans cette voie et voir quel(s) projet(s) je pourrai soutenir en 2021. Content d’avoir contribué au projet Makair et de voir comment il évolue en tous cas.

Perspectives 2021

L’année commence bien avec la suite de la mission Warp 10/InfluxDB dans le monde nautique mentionnée précédemment. A celà s’ajoute une autre mission de conseil autour des usages de séries temporelles pour un autre acteur de l’énergie. J’ai du décliner un troisième appel d’offre sur un sujet similaire du fait de mes engagements actuels, mais j’espère qu’il y aura d’autres projets similaires.

Ayant aussi découvert le monde de l’impression 3D durant le premier confinement et plus récemment à jouer avec des cartes micro:bit (et peut être bientôt des ESP32), j’irais bien voir du coté de l’IoT et donner une dimension “plus industrielle” à mes usages de séries temporelles. Sortir des usages de monitoring serveur pour les séries temporelles et aller vers des usages plus industriels ou métiers est clairement intéressant. Osons le terme: direction l’industrie 4.0 !

Pour rebondir sur cette dimension usage, j’ambitionne pour le Paris Time Series Meetup d’avoir un focus usage plus important et avoir des retours d’expérience (et moins de présentation produit par des éditeurs).

Sur BigData Hebo, nous venons de lancer les brèves afin de mettre en avant les contributions des membres de la communauté. A suivre !

Pour le développement en Go et Rust, le premier devrait voir le jour dans l’année de façon assez certaine, c’est plus incertain pour le second.

Et enfin, pour le projet commencé en septembre et dont je ne peux pas encore parler, j’espère pouvoir lever le voile prochainement !

Si certains sujets vous interpellent ou si vous avez des contacts à me suggérer, n’hésitez pas à me contacter.

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