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

Syndication

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

Nuage de tags

docker kubernetes influxdb timeseries warp10 grafana traefik python ansible elasticsearch kafka postgres aws sécurité terraform mysql redis telegraf dashboard docker-compose git ovh tick cassandra chronograf cloud hashicorp helm timescaledb flux podman ptsm swarm test vector kapacitor rancher résilience timescale gcp gitlab influxdata iot log machine-learning monitoring postgresql prometheus raspberrypi s3 spark sql vscode api architecture arm bilan comptabilité confluent cérénit devops gitlab-ci iac java ksql microservice nomad optimisation perspective serverless service-mesh angularjs cert-manager cli cncf consul container discovery dns flows gke graphql influxace ingress javascript npm opensource operator performance pipeline rook scaleway ssh stream vault warpscript windows bigdatahebdo containerd csp documentation elastic forecast geospatial golang hpkp jenkins json kafka-streams kibana kubedb lambda lean licence maesh maintenance mariadb microsoft mobile mqtt nginx orientdb quasardb redhat registry rest rethinkdb reverse-proxy rgpd sauvegarde warpstudio wireguard agile anomalie apm arima audit automatisation azure bash big-data ceph certificat challenge ci/cd cluster co2 continous-delivery continous-integration cookie data datatask dataviz dbt deployment diff django edge esp32 facebook fec fluxlang framework gdpr google-analytics grav hsts http/3 https hypriot hébergement ia influxdays istio jq k3s lets-encrypt linux load-balancer longhorn meetup metabase molecule mongodb nosql nvidia openebs openhab openssh ovhcloud pandas parquet percona php pip questdb reaper replication rootless rpi rsyslog runc scale secrets société solr sre systemd tempo timezone tinygo tls virtualenv vitess vue.js wagtail warpfleet yarn accessibilité acme adoptopenjdk agpl akka alerte alertes alerting alibaba amazon-emr amqp anonymisation anthos apache-pulsar ara arduino arrow artefact asgi automation automl awstats banque bastion beam beat bi 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 check checklist chrome ci cilium circuitpython clever-cloud clickhouse cloud-init cloud-native cloud-storage cloudflare clusterip cnab cni 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 date date-scientist ddd debezium debian delta deprek8 desktop devoxx dig distributed-systems dive docker-app docker-hub docker-registry docker-swarm dockerfile dockershim documentdb dog dokcer données-personnelles draft dredd drop-in duckdb duration déploiement développement-du-site e-commerce ebs ec2 elassandra electron elk engineering entreprise ergonomie etcd euclidia event-sourcing faas faisabilité falco falcor feature-policy fedora feed filebeat firebase firefox fish flash flask fleet flink fluentd font formation foundation frenchtech frontend fsync fugue fullstack git-filter-repo github gitignore gitpod glacier glowroot go goaccess google google-cloud-next gpg gpu grep grid géospatial hacker hadoop haproxy harbor hdfs header holt-winters html html5 http httpx hue iaac ibm immutable incident index indluxdata influxcloud infrastructure-as-code ingénierie inspec jless jquery jvm 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 matomo maturité mesh mesos message metallb micro-service minio mot-de-passe multi-cloud médecine métrique n8n nebula network newsletter nodejs nodeport notebook notifications nrtsearch null numérique object-storage observability observabilité opa opendata openmetrics openshit openstack openweb opnsense over-engineering packaging partiql password persistent-volume-claim pico pipenv pivot pod portainer portworx prediction prescience privacy-shield production promql prophet prévision psp ptyhon publicité pubsub pulsar push pyenv pérénnité qualité quay queue quic ram rambleed raml react readme recaptcha recherche redistimeseries reindex reinvent reliability remote-execution repository responsive retention-policy revocation revue-de-code rexec rhel rkt robotframework rolespec root rpo rto rust rwd réseau résultat safe-harbor sarima scalabilité scanner schema scp sdk search select semiconducteur serverless-architecture service service-account service-worker setuptools sftp sha1 shard shard-duration shard-group sharding shell shipyard sidecar singer socket souveraineté-numérique spectre spinnaker spécifications sqlite sri ssh-agent ssl stabilité stash statistique stm32 storage sudo superset suse sympa sysdig syslog-ng sérénité task tavern template terracost terrascan test-unitaire thingspeak tidb tiers time timecale timer timestream training transformation travail trésorerie tsfel tsfr tsl ubuntu unikernel unit ux velero vendredi victoria-metrics vie-privée virtualbox virtualisation vm vnc volume voxxeddays vpc vpn wasm web workflow yaml yield yq yubikey zip