Développement

A la découverte de Webtask

Dans l'univers des Function as a Service, il existe un fournisseur qui commence à être connu. Il se nomme auth0 et propose sa propre solution d'exécution de fonction : Webtask. Très orienté webhook, ce service offre quelques fonctionnalités intéressantes et la mise en œuvre semble plutôt simple. Les langages supportés sont , Express et C#. Reprenons l'exemple simple utilisé pour découvrir Serverless Framework. Installation L'installation du Webtask CLI nécessite NPM et s'exécute avec la ligne de commande suivante : $…
Lire d'avantage
Développement

Premiers pas avec Azure Functions

Oui, vous ne rêvez pas. Nous allons parler aujourd'hui de Microsoft Azure. Et plus particulièrement du service Azure Functions qui permet d'exécuter du code. Les fonctions Azure peuvent être déclenchées sur réception d'un événement Azure (Blob Storage, Table Storage, Azure DocumentDB, Bot Framework, ordonnanceur, HTTP, ...) ou externe (Box, DropBox, OneDrive, SendGrid, ...). Actuellement, les langages supportés sont le C#, F# et Javascript. Comme nous sommes sur des outils Microsoft, nous allons utiliser les interfaces graphiques fournies. Mais il faut…
Lire d'avantage
Conception

L’architecture 3-tiers à l’heure du serverless

L'architecture 3-tiers est un modèle très connu et répandu. C'est une spécialisation du modèle multi-tiers qui propose de découper l'architecture logique en 3 couches. Ce modèle est-il toujours applicable avec une architecture serverless ? Principe Une architecture en 3 couches Ce modèle d'architecture se décompose en 3 couches logiques bien distinctes qui ont chacune un rôle bien défini : La couche de présentation correspond à l'interface utilisateur. Son rôle est d'afficher les données et de permettre à l'utilisateur final d'interagir…
Lire d'avantage
Android

Le Nexus est mort, vive le NextBit

3 ans. Mon Nexus 5 aura tenu 3 ans. C'est vrai que j'avais pris le parti de l'utiliser nu sans aucune protection : pas de coque, pas de filtre écran et pas de pouch. Et même si de nombreux Nexus 5 rencontrent des comportements erratiques avec leur batterie depuis novembre dernier (obsolescence programmée ?), je pense que Pokémon GO a précipité sa fin (écran cassé et batterie instable). La bonne nouvelle, c'est que cela m'a permis de me désintoxiquer de…
Lire d'avantage
Développement

Serverless Framework – créer une API REST avec DynamoDB

Lors du précédent article, nous avons vu comment créer une API serverless avec Serverless Framework. Pour implémenter une API REST, il faut pouvoir persister les données dans une base de données. AWS propose une base de données NoSQL scalable sans avoir à gérer d'instance. En d'autres termes, une base de données dans l'esprit serverless : DynamoDB. Au travers des templates Cloud Formation, Serverless Framework supporte DynamoDB. Nous allons donc voir comment créer étape par étape une API REST de messages.…
Lire d'avantage
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