Développement

Exposer AWS Lambda avec l’API Gateway

L'API Gateway est un service AWS qui permet de déployer une API disponible sur un endpoint. Nous allons voir dans cet article comment déclencher une fonction Lambda au travers de l'API Gateway. En d'autres termes, nous allons détailler comment implémenter une API avec des fonctions Lambda. La fonction Lambda Lors du précédent article, nous avons vu comment créer une fonction Lambda sur AWS. Nous allons faire évoluer cette fonction pour quelle retourne un document JSON. Voici le nouveau code de…
Lire d'avantage
Développement

Premiers pas avec AWS Lambda

AWS Lambda est un service AWS qui permet d'exécuter du code. Cette exécution peut être déclenchée via des événements provenant des nombreux services AWS (S3, SNS, DynamoDB, ...) ou invoquée via un appel explicite (SDK, API AWS ou API Gateway). Actuellement, les langages supportés sont le Javascript, Java et Python. Les premiers cas d'usages évidents sont par exemple le traitement d'images ou la validation de données. Ce service est tout particulièrement intéressant si l'on ne souhaite pas se préoccuper d'infrastructure.…
Lire d'avantage
Conception

RAML 1.0 est disponible

Plus de 6 mois après l'annonce de RAML RC1, RAML GA est enfin disponible ! Le projet RAML profite de cette annonce pour faire un rapide tour d'horizon des nouvelles fonctionnalités. Sur le blog de Restlet, Guillaume Laforge rappelle la présentation de Michael Stowe sur RAML : Et surtout, il liste les quelques changements qui rendent RAML et incompatibles. Il ne reste plus qu'à attendre que les outils de l'éco-système RAML supportent cette nouvelle version de façon stable.
Lire d'avantage
Développement

Docker – réduire la taille de vos images Node.js

Pour mon image Docker de l'api:Console, j'utilisais l'image officielle de Docker qui elle-même se base sur une Debian Jessie. L'image finale avait une taille virtuelle de 301 Mo. Solomon Hykes, fondateur et CTO de Docker, a récemment annoncé que l'image de base pourrait être Alpine Linux qui fait moins de 5 Mo ! Cette distribution est réputée légère et plus sécurisée. Alors pourquoi ne pas migrer sur cette image ? Pour celà, il faut simplement remplacer l'entête du Dockerfile d'origine…
Lire d'avantage
Développement

Libérer l’espace disque pris par Docker – le retour

Fort de votre expérience sur la gestion des couches des images Docker, vous prêtez attention aux couches des conteneurs arrêtés. Soit en créant un conteneur avec l'option --rm, soit en supprimant le conteneur plus tard. Pourtant, malgré tous ces efforts pour libérer l'espace disque pris par Docker, ce dernier a encore pris le dessus et occupe une bonne partie de votre espace disque. Mais comment fait-il ? (more…)
Lire d'avantage
Développement

jq – manipuler du JSON en shell

JSON par-ci, JSON par-là. Le format de données JSON a conquis le monde du développement. Il a l'avantage d'être lisible par les humains et il est supporté par la plupart des langages des programmation (via un composant externe ou non). Cela en fait un format d'échange parfait ! Parfait ? Êtes-vous vraiment sûr ? Avez-vous déjà essayé de manipuler du JSON dans un shell ? En cherchant un peu, il est possible de trouver deux projets : jq : un…
Lire d'avantage
Développement

PHP et Cassandra sont sur un même porte-conteneurs…

...Cassandra tombe à l'eau. Que fait PHP ? Introduction L'objectif est de tester la haute disponibilité de Cassandra pour une application PHP. Pour cela, 2 modes de connexion à la base de données sont testés : Un driver PDO nommé YACassandraPDO Le driver PHP officiel de Datastax Pour simplifier les tests, l'application est déployée dans des conteneurs Docker via Docker Compose. Le scénario utilisé est assez simple : Déploiement : d'un cluster Cassandra avec 3 nœuds d'une application PHP FPM…
Lire d'avantage
Développement

Analyser les logs Apache avec ELK et Docker

La combinaison d'ElasticSearch, Logstash et Kibana, plus connue sous l'acronyme ELK, permet de collecter, visualiser et analyser des logs générés par toutes sortes d'applications. ElasticSearch est un moteur d'indexation reposant une base de données NoSQL interrogable via une API REST Logstash est un outil pour collecter et découper des logs afin d'y extraire des informations pertinentes telles que des indicateurs techniques ou métier pour les stocker dans un outil tiers (ici ElasticSearch) Kibana permet d'interroger ElasticSearch et de construire des…
Lire d'avantage
Développement

Récupérer un seul fichier sur un dépôt SVN

Si vous utilisez encore SVN et que vous avez besoin de récupérer un fichier en particulier, il n'est pas nécessaire de télécharger tout le dépôt. Pour cela, il faut : Partager le dépôt distant avec un répertoire local sans télécharger les fichiers du dépôt Se placer dans le répertoire local Demander la mise à jour du fichier souhaité Voici les commandes SVN pour réaliser cette action en 3 étapes : $ svn co myproject/mypath --depth empty $ cd myproject/mypath $…
Lire d'avantage
Développement

Libérer l’espace disque pris par Docker

A force d'utiliser Docker, si l'on ne prête pas attention à la gestion des conteneurs et des images, on sature rapidement l'espace disque. Les conteneurs Suppression automatique des conteneurs Pour rappel, un conteneur peut être automatiquement supprimé quand il s'arrête en précisant l'option --rm : $ docker run busybox date Tue Jan 5 22:25:17 UTC 2016 $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f3a949beb7ae busybox "date" 4 seconds ago Exited (0) 3 seconds ago fervent_thompson…
Lire d'avantage