CérénIT - alibabaLe blog tech de Nicolas Steinmetz (Time Series, IoT, Web, Ops, Data)Zola2019-01-30T09:30:00+01:00https://cerenit.fr/tags/alibaba/atom.xmlWeb, Ops & Data - Janvier 20192019-01-30T09:30:00+01:002019-01-30T09:30:00+01:00
Unknown
https://cerenit.fr/blog/web-ops-and-data-janvier-2019/<h3 id="cloud">Cloud</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.businessinsider.fr/us/amazon-web-services-documentdb-mongodb-database-2019-1">The CTO of $4.4 billion MongoDB explains why he's 'not terribly worried' that Amazon’s cloud is encroaching on its turf with a new database</a> : AWS a annoncé <a rel="noopener" target="_blank" href="https://aws.amazon.com/fr/blogs/aws/new-amazon-documentdb-with-mongodb-compatibility-fast-scalable-and-highly-available/">DocumentDB</a>, compatible avec MongoDB. Le CTO de MongoDB revient sur cette annonce et explique en quoi il n'est pas terrifié : la nouvelle licence de MongoDB ne permet pas à AWS d'intégrer une version plus récente que la version 3.6, cela montre l'attrait des développeurs pour MongoDB, etc. Techcrunch va jusqu'à titrer : <a rel="noopener" target="_blank" href="https://techcrunch.com/2019/01/09/aws-gives-open-source-the-middle-finger/">AWS gives open source the middle finger</a>.</li>
</ul>
<h3 id="container-et-orchestration">Container et orchestration</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://kubernetes.io/blog/2019/01/14/apiserver-dry-run-and-kubectl-diff/">APIServer dry-run and kubectl diff</a> : Un des soucis majeurs avec Kubernetes est l'écriture de fichiers YAML où la moindre faute peut s'insérer très rapidement et à l'insu de son auteur. Le billet présente les efforts fait pour ajouter un mode "dry run" qui simule les modifications et retourne l'objet qui aurait du être créé. Dans la même veine, un <code>kubectl diff</code> montrera les différences entre la ressource existante et celle décrite dans la nouvelle version du fichier yaml.</li>
<li><a rel="noopener" target="_blank" href="https://www.cncf.io/blog/2019/01/14/9-kubernetes-security-best-practices-everyone-must-follow/">9 Kubernetes Security Best Practices Everyone Must Follow</a> : rien de transcendental mais une petite piqure de rappel après la faille majeure découverte en fin d'année.</li>
<li><a rel="noopener" target="_blank" href="https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0">Kubernetes NodePort vs LoadBalancer vs Ingress? When should I use what?</a> : billet synthétique sur les avantages et inconvénients d'utiliser un service de type ClusterIP, NodePort, LoadBalancer ou Ingress. Sachant que l'on peut combiner LoadBalancer & Ingress !.</li>
<li><a rel="noopener" target="_blank" href="https://softwareengineeringdaily.com/2019/01/11/why-is-storage-on-kubernetes-is-so-hard/">Why Is Storage On Kubernetes So Hard?</a> : Les données, c'est tout sauf <em>stateless</em> et le stockage distribué c'est pas facile non plus. Le billet revient sur les logiques de stockages sous Kubernetes (PV, PVC), la couche d'interface de stockage CSI et sur des solutions comme Ceph ou Rook.</li>
<li><a rel="noopener" target="_blank" href="https://softwareengineeringdaily.com/2019/01/07/stateful-kubernetes-with-saad-ali/">Stateful Kubernetes with Saad Ali - Software Engineering Daily</a> : une présentation globale des Volumes, Persistent Volume, Persistent Volume Claims et des StorageClass sous Kubernetes et de l'évolution de la gestion du stockage sous k8s</li>
<li><a rel="noopener" target="_blank" href="https://kubernetespodcast.com/episode/036-rook/">Kubernetes Podcast - #36 Rook</a> : une présentation de <a rel="noopener" target="_blank" href="https://www.rook.io/">Rook</a>, un opérateur k8s de gestion de stockage (Ceph, NFS, etc).</li>
</ul>
<h3 id="data">Data</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://blog.octo.com/machine-learning-7-astuces-pour-scaler-python-sur-de-grands-datasets/">Machine Learning – 7 astuces pour scaler Python sur de grands datasets</a> : si les 3 premières relèvent de l'optimisation de code, les 4 suivantes sont plus intéressantes : "<em>downcaster</em>" les variables, stocker vos CSV au format parqet, utiliser <a rel="noopener" target="_blank" href="https://docs.dask.org/">dask</a> plutôt que pandaas pour avoir le parallélisme et choisir un modèle adapté.</li>
<li><a rel="noopener" target="_blank" href="https://makina-corpus.com/blog/metier/python-carto">Cartographier le manteau neigeux avec Python</a> : un exmple sympa et de saison de manipulation de données et de restituion graphique avec Python.</li>
<li><a rel="noopener" target="_blank" href="https://motherboard.vice.com/en_us/article/pa55z8/researchers-fool-recaptcha-with-googles-own-speech-to-text-service">Researchers Fool ReCAPTCHA With Google’s Own Speech-To-Text Service</a> : des chercheurs expliquent comment ils passent le test de ReCAPTCHA avec plus de 80% de succès en demandant la version audio du captcha, la soumettant ensuite à l'API Google Speech To Text pour saisir ensuite le résultat.</li>
<li><a rel="noopener" target="_blank" href="https://www.da-platform.com/blog/data-artisans-alibaba-new-chapter-for-open-source-big-data">data Artisans + Alibaba: A new chapter for Open Source Big Data</a> : data Artisans est la compagnie derrière le projet Flink. C'est un grand coup pour Alibaba et le signe que l'Asie part à la conquête du monde occidental. Nous occidentaux oublions souvent de regarder ce qui se passe à l'Est pour se concentrer sur l'Internet Occidental (<em>Western Internet</em>). Une <a rel="noopener" target="_blank" href="https://www.cnbc.com/2018/06/25/alibaba-passes-ibm-in-public-cloud-market-share-synergy.html">actualité récente</a> indiquait d'ailleurs qu'Alibaba était passé 4ème fournisseur de Cloud mondial - même si comme d'habitude, <a rel="noopener" target="_blank" href="https://www.fool.com/investing/2018/07/07/is-alibabas-cloud-business-really-bigger-than-ibms.aspx">tout dépend des critères</a>.</li>
</ul>
<h3 id="ide">IDE</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://twitter.com/saruspete/status/1084017516484145153">Liste de plugins pour éditeurs & IDE permettant de colorer les indentations et les parenthèses/accolades/...</a> : de quoi faciliter la lecture du code, mais il faut parfois ajuster les couleurs suivant le thème de votre éditeur/IDE.</li>
</ul>
<h3 id="infrastructure-as-code">Infrastructure (as Code)</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://blog.octo.com/tester-son-code-dinfrastructure-avec-terratest/">Tester son code d’infrastructure avec Terratest</a> : le billet présente <a rel="noopener" target="_blank" href="https://github.com/gruntwork-io/terratest">terratest</a>, un outil en go qui permet de tester du code Terraform, des templates Packer ou encore des images Docker. La conclusion montre qu'il n'est pas parfait certes mais peut être intéressant.</li>
<li><a rel="noopener" target="_blank" href="https://gianarb.it/blog/infrastructure-as-real-code">Infrastructure as (real) code</a> : Faire de l'IaC, ce n'est pas que rédiger des fichiers YAML. Le billet montre comment on pourrait avoir de l'IaC avec du vrai code (du go en l'occurence). Avoir un vrai langage et un moteur de template semble en effet plus complet que juste du YAML pour lequel les validateurs sont assez faibles et la probabilité d'écrire une faute assez importante.</li>
<li><a rel="noopener" target="_blank" href="https://gianarb.it/blog/reactive-planning-is-a-cloud-native-pattern">Reactive planning is a cloud native pattern</a> : Le reactive planning tiendrait dans l'idée que pour une action donnée, il va y avoir un plan et que ce plan est constitué d'une multitude de petites étapes. Chaque étape informant la/les précédentes et voire globalement sur l'état de l'étape en cours et peut décider des étapes suivantes.</li>
</ul>
<h3 id="langages">Langages</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://hackernoon.com/reaching-python-development-nirvana-bb5692adf30c">Why you should use pyenv + Pipenv for your Python projects</a> : Une solution propre pour mieux gérer ses versions de python installées sur son poste / sur un serveur avec pyenv et pipenv (mix de pip et virtualenv) pour gérer les dépendances. A tester !</li>
<li><a rel="noopener" target="_blank" href="https://chriswarrick.com/blog/2018/07/17/pipenv-promises-a-lot-delivers-very-little/">Pipenv: promises a lot, delivers very little</a> : le billet nuance les propos autour de pipenv comme le nouveau gestionnaire officiel (autopromu) et fait le point sur l'outil.</li>
<li><a rel="noopener" target="_blank" href="https://github.com/linkedin/shiv">shiv</a> : Shiv permet de packager des applications python en une seule archive zip avec toutes les dépendances incluses. Disponible pour Windows / Linux / OSX, il faut néanmoins builder sur l'OS Cible pour que cela fonctionne - pas de <em>"build one, run everywhere"</em>.</li>
</ul>
<h3 id="logs">Logs</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.elastic.co/blog/using-logstash-to-split-data-and-send-it-to-multiple-outputs">Using Logstash to Split Data and Send it to Multiple Outputs</a> : un exemple bien illustré pour traiter un fichier, l'enrichir de deux façons différentes et l'envoyer à deux endroits distincts. Cela tombe bien, j'avais un fichier de log à séparer en deux...</li>
</ul>
<h3 id="no-sql">(No)SQL</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.theguardian.com/info/2018/nov/30/bye-bye-mongo-hello-postgres">Bye bye Mongo, Hello Postgres</a> : The Guardian raconte sa migration de MongoDB vers Postgres de façon assez détaillée. Intéressant.</li>
</ul>