Serverless : un rapide aperçu de Firecracker dans Azure via de la virtualisation imbriquée …

Image for post
Image for post

J’en ai parlé dans l’article précédent, Amazon avait donc dévoilé son projet Firecracker, une nouvelle technologie de virtualisation qui permet aux clients de déployer des micromachines virtuelles très légères (microVM). Les microVM Firecracker combinent les propriétés d’isolation de sécurité et de charge de travail des VM traditionnelles avec la rapidité, l’agilité et l’efficacité des ressources que permettent les conteneurs. Ils fournissent un environnement sécurisé et fiable pour les services multilocataires, tout en maintenant des frais généraux minimaux selon les équipes d’AWS. Caractéristiques et architecture du gestionnaire de machine virtuelle Firecracker (VMM) :

Image for post
Image for post
Image for post
Image for post

Je lance donc une instance Ubuntu Server 18.10 64 Bits en gamme Ev3 comme précédemment avec les extensions virtualisation activées via ce template et ces paramètres :

Image for post
Image for post
Image for post
Image for post

accompagné du script shell :

Image for post
Image for post

Le tout peut être obtenu via le portail Azure en lancement avec l’interface graphique …

Image for post
Image for post

Les extensions virtualisation sont actives dans l’instance :

Image for post
Image for post

J’installe KVM :

Image for post
Image for post

Je récupère le binaire firecracker depuis github et les éléments de future ma microvm (sous Alpine Linux) :

Image for post
Image for post
Image for post
Image for post

et je n’ai plus qu’à lancer ma microvm avec ces commandes vers cet API RESTful local genéré avec Firecracker (rappel de l’architecture) :

Image for post
Image for post
Image for post
Image for post

On s’y logue en root / root :

Image for post
Image for post
Image for post
Image for post

La microvm se termine avec la commande “reboot” :

Image for post
Image for post

Comme dans l’exemple fourni par AWS, je peux lancer une batterie de microvms :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

On récupère les éléments de la microvm comme précédemment :

Image for post
Image for post

et on lance le tout :

Image for post
Image for post

avec ce résultat :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Firecracker est open source et utilisé par AWS Lambda comme base pour l’approvisionnement et le fonctionnement des bacs à sable. Comme Firecracker fournit une microVM sécurisée qui peut être rapidement provisionnée avec un encombrement minimal, cela permet des performances sans sacrifier la sécurité et d’optimiser l’utilisation du matériel physique ainsi que la façon dont AWS distribue et exécute les charges de travail pour Lambda, en mélangeant les charges de travail en fonction de facteurs tels que les périodes actives/de repos et l’utilisation de la mémoire …

A voir comment cela pourra se décliner dans d’autres Cloud et environnements …

Cet exemple qui m’a inspiré également de l’utilisation de Firecracker dans Google Cloud :

A suivre !

Image for post
Image for post

Above the clouds, the sky is always blue ...

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store