Développement

Serverless Framework ou l’API Gateway facile

Nous venons de découvrir comment Serverless Framework permet de déployer simplement une fonction sur AWS Lambda. Ce framework supporte également l'API Gateway d'AWS. Or, nous avions déjà vu comment exposer une fonction Lambda avec l'API Gateway. Voyons maintenant comment le faire avec ce framework. La fonction Lambda Pour rappel, vous pouvez initier un nouveau projet serverless avec la commande suivante : $ serverless create --template aws-nodejs --name hello-world Ensuite, voici la fonction lambda à exposer et qui doit se trouver…
Lire d'avantage
Développement

Premiers pas avec Serverless Framework

Il y a quelques temps, nous avions découvert comment déployer du code sur AWS Lambda. Même si ce déploiement est assez simple, il y a quelques opérations annexes à faire pour configurer la sécurité ou les traces applicatives par exemple. De plus, le déploiement unitaire de fonctions a pour conséquence de multiplier le nombre de commandes à exécuter. Heureusement pour nous, il existe un framework qui permet d'augmenter notre productivité quand on souhaite monter une architecture serverless sur AWS (pour…
Lire d'avantage
Développement

Traitement automatique de fichiers avec AWS Lambda et S3

L'une des forces d'AWS Lambda c'est son intégration avec les autres services d'AWS. Plus particulièrement, la capacité de déclencher l'exécution d'une fonction Lambda à partir d'un événement d'un service tiers est une fonctionnalité très intéressante qui permet d'enrichir ces services. Un cas d'usage classique est par exemple le traitement automatique d'images déposées dans un bucket S3. Dans ce cas, la fonction Lambda peut redimensionner l'image, convertir le format, appliquer un watermark, appliquer des contrôle de contenu, Comme ce cas a…
Lire d'avantage
Développement

Gestionnaire de téléchargement avec AWS Lambda et S3

Récemment, nous avons vu comment déployer du code sous forme de fonction Lambda et comment les exposer sous forme d'API sur Internet. Mais que peut-on faire vraiment avec ce code ? Pourquoi ne pas faire un gestionnaire de téléchargement ? L'idée est de créer une fonction Lambda qui va lancer un téléchargement (d'une page HTML dans l'exemple) et stocker le résultat dans un bucket S3 pour le consulter plus tard. Implémentation Le code de cette fonction est assez simple :…
Lire d'avantage
Développement

MSYS – éviter l’évaluation des arguments comme des chemins

Si vous êtes sous MS Windows et que vous faites du Bash ou autres scripts en ligne de commandes, vous utilisez sûrement MSYS. Dans ce cas, n'avez-vous pas rencontré quelques difficultés avec des paramètres commençant par le caractère "/" ? Par exemple, avec Docker : $ docker run -w /tmp ubuntu ls -la docker: Error response from daemon: The working directory 'C:/Users/pnom/AppData/Local/Temp' is invalid. It needs to be an absolute See 'C:\Program Files\Docker Toolbox\ run --help'. Celà vient du fait…
Lire d'avantage
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