Web, Ops & Data - Mai 2017


31/05/2017 dokcer container vm elastic html5 json feed micro-service postgres

Conteneurs

  • Docker dans un contexte hybride Windows et Linux : si vous l’avez raté, le retour d’expérience suite à une mission autour de docker dans un environnement Windows et Linux tant au niveau des VMs hôtes que les OS de conteneurs.
  • Container isolation gone wrong : un exemple intéressant où des conteneurs a priori indépendant et isolés se marchent l’un sur l’autre au travers des appels au noyau linux. Même si chaque container est “relativement” isolé des autres, il ne faut pas oublier qu’ils reposent tous sur le même kernel parent.
  • Containers, VMs… Comment ces technologies fonctionnent et comment les différencier? (Quentin Adam) : l’article précédent m’a rappeler cette vidéo de Quentin Adam à Devoxx expliquant les différences entre containers et VMs. Un conteneur est un process linux relativement isolé les uns des autres mais rien de plus. Les plus ciniques pourraient dire que cela ressemble à de l’hébergement mutualisé d’il y a quelques années avec Apache et mod_php ;-)

Elasticsearch

  • X-Pack alternatives : X-Pack est un ensemble de produits additionnels pour ElasticSearch couvrant les besoins de Sécurité, Monitoring, Alterting, Reporting, Graph et Machine Learning. Ce produit est soumis à licence et de mémoire, le prix est assez salé. Le billet liste différentes alternatives suivant les besoins (non testées).
  • Construire un bon analyzer français pour Elasticsearch : un tutoriel assez progressif sur la mise en place d’un analyser français pour vos données dans Elasticsearch. Très pédagogique !

HTML5

  • It’s time for 2.0! : Polymer, le framework (?) initié par Google et permettant d’utiliser les Web Components sort en version 2.0. Une éternité que je n’avais plus entendu parler de Polymer. Le point intéressant étant de voir que les “polyfills” requis pour faire fonctionner Polymer réduisent significativement au fil du temps et de l’implémentation requis par les Web Components dans les différents navigateurs.

JSON

  • JSON Feed : Un Feed RSS/Atom au format JSON plutôt que XML. On a pu tous en rêver à un moment ou à un autre ou le réaliser à la volée via une conversion XML vers JSON. Voilà une première spécification.

Micro-service

  • Enough with the microservices : les micro-services, c’est tendance, tout le monde veut en faire à tort ou à raison. Pour autant, faire des microservices, ce n’est pas simple et ce n’est pas la panacée ou la “balle en argent” qui va résoudre tous vos problèmes. Le billet revient sur les défis d’une approche microservice pour conclure qu’avant d’envisager des micro-services, il vaudrait mieux déjà savoir gérer un monolythe modulaire. La modularité peut déjà répondre à beaucoup d’enjeux de scalabilité, découplage, etc sans avoir besoin de rentrer dans le monde des micro-services et des défis techniques et humains associés.

Postgres

  • Why Use Postgres (Updated for Last 5 Years) : ou la revue rapide de toutes les fonctionnalités qui vous feront aimer et utiliser Postgres comme base relationnelle.
  • Postgres 10.0 beta1 : la fabuleuse base de données Postgres continue son bonhomme de chemin avec des avancées sur la réplication logique, du partitionning, de la recherche full text sur le stockage JSON & JSONB, un rôle dédié au monitoring, etc.
  • Les branches if/else/endif dans psql (PostgreSQL 10) : Avec Postgres 10, le client pourra exécuter des boucles conditionnelles (if/else if/else/end) sur la base d’expressions SQL.

Web, Ops & Data - Janvier 2017


25/01/2017 docker arm hypriot api rest raml python csp kubernetes spark kafka stream rancher json ansible devops elasticsearch postgres timezone pip virtualenv sql service worker react foundation

Nouvelle année, nouveau format - au programme une édition mensuelle mixant brèves et des choses plus construites/élaborées (j’espère le mois prochain)

En Bref

API

ARM / RPi

  • Setup Kubernetes on a Raspberry Pi Cluster easily the official way! : Kubernetes, la solution d’orchestration de conteneurs, devient de plus en plus utilisable sur un enrionnement ARM (Raspberry, etc). Il faut que je réessaie ça sur mon Picocluster ; les derniers essais n’étaient pas très probant mais je n’avais pas utilisé apparemment le bon driver réseau (ie flannel et non pas weave pour ARM comme indiqué dans le billet).
  • HypriotOS 1.2 avec Docker 1.13 est également disponible pour vos RPi.

Big Data

  • Databricks and Apache Spark 2016 Year in Review : Databricks, l’éditeur de Spark, fait sa revue de l’année 2016 et des apports significatifs réalisés sur Spark : Support SQL, Structured Streaming, Spark 2.x.
  • Introduction to Kafka Streams with a Real-Life Example : l’auteur montre les limites de la combinaison Kafka+Spark (j’en ai vécu une partie) et propose son retour d’expérience sur la migration vers Kafka Streams (et conforte l’opinion que j’avais). Reste la problématique du monitoring de Kafka Streams à améliorer même si des solutions adhoc sont listées.
  • Towards a realtime streaming architecture : dans la continuité du billet précédent, retour d’expérience d’une entreprise passant de Spark+Kafka à Kafka, Kafka Streams, Kafka Connect et Akka pour faire du vrai streaming (et pas du micro-batch). Intéressant de voir qu’ils jugent Flink trop complexe pour le moment au regard de leurs besoins. Globalement, l’article montre le problème récurrent dans une architecture big data de la maitrise de l’ensemble des composants pour bien les faire fonctionner. Confluent, en apportant Kafka Streams et Kafka Connect autour de Kafka, semble avoir trouver le bon créneau combinant (une relative) simplicité technologique et performance.

CLI

Container & Orchrestration

DevOps

  • 10 astuces Ansible : revue de 10 bonnes pratiques concernant l’outil d’automatisation Ansible. Il me manquait la personnalisation du logger et de ansible.cfg

Elasticsearch

Opinions

  • Tools & Teams : au-delà du “Utiliser le bon outil pour la bonne tâche”, c’est surtout d’utiliser les outils avec lesquelles une équipe est efficace à un instant donnée. La vision a long terme étant d’aller au-delà des outils vers les concepts afin d’avoir une compétence/expérience qui s’affranchit plus facilement des outils (qui ne sont pas éternels).

Postgres

  • Simple but handy postgresql features : Sympa le \watch ou jsonb_pretty pour respectivement surveiller le résultat d’une requête et affichrer proprement une donnée au format JSON.

Python

  • Records, SQL for Humans : comme tous les projets de Kenneth Reitz (requests, maya, etc), une API simple pour manipuler des données (ici des requêtes SQL)
  • pytz : World Timezone Definitions for Python - permet de faire des calculs sur les dates, la librairie gérerait également les heures d’été/d’hiver dans les calculs.
  • Announcing Pipenv! : Vous réviez d’un outil combinant pip et virtualenv et avec des options supplémentaires, Kenneth Reitz l’a fait durant un week-end…

Sécurité

  • Web Security 101 : présentation des principaux concepts, des cas d’exemples et des moyens de se prémunir.
  • Introducing support for Content Security Policy Level 2 : Microsoft Edge se dote du support de niveau 2 de Content Security Policy (CSP) afin de permettre au propriétaire d’un site de mieux protéger ses clients en déclarant les ressources autorisées ou pas.
  • Github’s Post CSP Journey : retour des équipes de Github sur l’implémentation de CSP et les points encore à adresser (spoiler : non, CSP n’est pas l’arme ultime). Ces points sont peut être des cas marginaux pour des sites classiques mais pas pour Github. Intéressant à lire.

Web

Le Blog

Nous partageons ici notre veille et nos réflexions

Nuage de tags

docker kubernetes influxdb traefik ansible elasticsearch grafana kafka postgres timeseries python warp10 aws sécurité redis terraform mysql tick cassandra cloud ovh helm rancher swarm telegraf test timescaledb chronograf docker-compose git résilience architecture confluent ksql log machine-learning microservice prometheus ptsm serverless spark angularjs api arm cert-manager cncf container dashboard devops flux gitlab graphql hashicorp iac java javascript monitoring opensource operator optimisation raspberrypi s3 service-mesh sql stream windows bilan csp cérénit dns documentation elastic gcp hpkp ingress jenkins kafka-streams kapacitor kibana kubedb lambda lean licence maesh maintenance microsoft mobile nginx npm orientdb perspective redhat rest rethinkdb reverse-proxy rook sauvegarde scaleway ssh vscode warpscript agile apm automatisation azure bash big-data ceph certificat ci/cd cli cluster containerd continous-delivery continous-integration cookie deployment diff flows fluxlang forecast framework gdpr gke grav hsts http/3 https hypriot hébergement influxace influxdata influxdays istio json k3s lets-encrypt linux load-balancer longhorn mariadb meetup molecule mongodb nosql openebs percona performance php pip pipeline postgresql reaper registry replication rpi rsyslog scale secrets société solr sre systemd timezone tls vault virtualenv vue.js wagtail warpfleet yarn accessibilité acme akka alerte alibaba amazon-emr anonymisation anthos apache-pulsar ara arima audit bastion beam beat bigdatahebdo bounded-context branche brigade browser buildkit cahier-des-charges calico cassandra-reaper cd cdc cdk centralisation-de-logs certificats chart checklist chrome ci cilium cloud-init cloud-native cloud-storage clusterip cnab cni cockroachdb code codeurs-en-seine commit confluence conftest consul continous-deployment conventional-commit coreos cors covid19 cqrs crash cron crontab csi csrf css curl d3.js daemonset data-engineer data-pipelining data.gouv.fr datacenter dataviz date date-scientist ddd debezium debian delta deprek8 desktop devoxx distributed-systems dive docker-app docker-hub docker-registry docker-swarm documentdb dokcer données-personnelles draft drop-in 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 gitlab-ci glacier glowroot google google-cloud-next 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 jq jquery jwt k3d k8s k9s kotlin kubeadm kubecon kubectl laravel letsencrypt linky liste-de-diffusion loadbalancer logstash logstatsh loi mailing-list management message metallb micro-service mot-de-passe multi-cloud médecine métrique network newsletter nodeport nomad null nvidia object-storage observabilité opa opendata openmetrics openshit openssh openstack openweb over-engineering packaging pandas partiql password persistent-volume-claim pipenv pod podman portainer portworx prediction prescience ptyhon publicité pubsub push pyenv quasardb quay questdb queue quic ram rambleed raml react recaptcha recherche redistimeseries reindex reinvent reliability responsive revocation revue-de-code rgpd rkt rolespec root rpo rto runc rwd safe-harbor scalabilité scanner schema sdk search select serverless-architecture service-account service-worker setuptools sha1 sharding shell shipyard sidecar souveraineté-numérique spinnaker spécifications sri ssh-agent ssl stash statistique storage superset suse sympa syslog-ng terracost terrascan test-unitaire tidb tiers timer training travail tsl ubuntu unikernel unit ux vendredi victoria-metrics vie-privée virtualbox virtualisation vitess vm vnc volume voxxeddays vpc warpstudio web yubikey

Syndication

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