{"id":122,"date":"2015-11-27T00:13:07","date_gmt":"2015-11-26T23:13:07","guid":{"rendered":"http:\/\/www.jacquescortes.fr\/blog\/?p=122"},"modified":"2016-01-04T09:01:13","modified_gmt":"2016-01-04T08:01:13","slug":"unikernels","status":"publish","type":"post","link":"http:\/\/www.jacquescortes.fr\/blog\/2015\/11\/unikernels\/","title":{"rendered":"UniKernels pour une infrastructure s\u00e9curis\u00e9e et optimis\u00e9e"},"content":{"rendered":"<h1>Approche\u00a0UniKernels<\/h1>\n<p>Apr\u00e8s la virtualisation avec les VM, les containers genre Docker, voici les unikernels.<br \/>\nMais qu&rsquo;est-ce que c&rsquo;est?<br \/>\nEn quelques mots parce que la s\u00e9lection de liens qui suit\u00a0l&rsquo;explique tr\u00e8s bien :<\/p>\n<p>L&rsquo;approche unikernel consiste a compiler l&rsquo;applicatif, par exemple une JVM java 8 et tout ce qui va bien avec (notre code applicatif, etc&#8230;), avec une librairie Operating System minimal. Cela produit une image d&rsquo;OS bootable dans une VM qui apporte ces am\u00e9liorations :<\/p>\n<ul>\n<li>taille de l&rsquo;image :\u00a0pour l&rsquo;exemple de Java 8, on tourne dans les 70Mo tout compris<\/li>\n<li>vitesse : une instance boot en 20ms (!)<\/li>\n<li>s\u00e9curit\u00e9 : l&rsquo;OS est minimum, il r\u00e9duit donc consid\u00e9rablement la surface d&rsquo;attaque (pas de shell, pas de ssh, pas de crontab, pas de driver USB, etc&#8230;)<\/li>\n<\/ul>\n<p>Voyons l&rsquo;\u00e9volution en image :<\/p>\n<p><a href=\"http:\/\/www.jacquescortes.fr\/blog\/wp-content\/uploads\/2015\/11\/road_to_unikernels.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-124 size-full\" src=\"http:\/\/www.jacquescortes.fr\/blog\/wp-content\/uploads\/2015\/11\/road_to_unikernels.png\" alt=\"Road to unikernels\" width=\"800\" height=\"450\" srcset=\"http:\/\/www.jacquescortes.fr\/blog\/wp-content\/uploads\/2015\/11\/road_to_unikernels.png 800w, http:\/\/www.jacquescortes.fr\/blog\/wp-content\/uploads\/2015\/11\/road_to_unikernels-300x169.png 300w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p style=\"text-align: center;\">source : What is a &lsquo;unikernel&rsquo;? par Mattias Geniar (<a href=\"https:\/\/ma.ttias.be\/what-is-a-unikernel\/\" target=\"_blank\">https:\/\/ma.ttias.be\/what-is-a-unikernel\/<\/a>)<\/p>\n<p>A gauche, on a une VM avec n containers.<br \/>\nPour l&rsquo;isolation, on passe \u00e0 un mod\u00e8le \u00e0 un container par VM.<br \/>\nEnsuite on sp\u00e9cialise avec les unikernels.<\/p>\n<p>R\u00e9sultat, on d\u00e9ploie \u00e0 la demande et en une fraction de seconde des VMs hyper optimis\u00e9es et s\u00e9curis\u00e9es.<br \/>\nCa commence \u00e0 sentir bon l&rsquo;architecture <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Microservices\" target=\"_blank\">microservices<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2>Article de Philippe Prados (Octo technology)\u00a0:\u00a0<a href=\"http:\/\/blog.octo.com\/les-nouvelles-approches-doptimisations\/\" target=\"_blank\">http:\/\/blog.octo.com\/les-nouvelles-approches-doptimisations\/<\/a><\/h2>\n<p>&nbsp;<\/p>\n<h2>Introduction aux Unikernels par Louis Roch\u00e9 (\u00e9tudiant Epitech) :<\/h2>\n<p><iframe loading=\"lazy\" width=\"1170\" height=\"658\" src=\"https:\/\/www.youtube.com\/embed\/qvrjNfWnQLA?feature=oembed\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<h2><\/h2>\n<h2>Slideshare : Next generation cloud, Rise of the Unikernel de Russell Pavlicek (Xen Project)<\/h2>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.slideshare.net\/slideshow\/embed_code\/key\/7TMY2hAnI7Hxqa\" width=\"427\" height=\"356\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen> <\/iframe> <\/p>\n<div style=\"margin-bottom:5px\"> <strong> <a href=\"https:\/\/www.slideshare.net\/xen_com_mgr\/next-generation-cloud-rise-of-the-unikernel-v2-updated\" title=\"Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)\" target=\"_blank\">Next Generation Cloud: Rise of the Unikernel V3 (UPDATED)<\/a> <\/strong> from <strong><a href=\"http:\/\/www.slideshare.net\/xen_com_mgr\" target=\"_blank\">The Linux Foundation<\/a><\/strong> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Approche\u00a0UniKernels Apr\u00e8s la virtualisation avec les VM, les containers genre Docker, voici les unikernels. Mais qu&rsquo;est-ce que c&rsquo;est? En quelques mots parce que la s\u00e9lection de liens qui suit\u00a0l&rsquo;explique tr\u00e8s bien : L&rsquo;approche unikernel consiste a compiler l&rsquo;applicatif, par exemple une JVM java 8 et tout ce qui va bien avec (notre code applicatif, etc&#8230;), [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":124,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"series":[],"class_list":{"0":"post-122","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-infrastructure","8":"czr-hentry"},"_links":{"self":[{"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/posts\/122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/comments?post=122"}],"version-history":[{"count":8,"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/posts\/122\/revisions"}],"predecessor-version":[{"id":177,"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/posts\/122\/revisions\/177"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/media\/124"}],"wp:attachment":[{"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/media?parent=122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/categories?post=122"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/tags?post=122"},{"taxonomy":"series","embeddable":true,"href":"http:\/\/www.jacquescortes.fr\/blog\/wp-json\/wp\/v2\/series?post=122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}