Unikernel reunalaskennassa : Käyttömahdollisuuksien tutkiminen
Kamppuri, Juha (2022)
Kamppuri, Juha
2022
Johtamisen ja tietotekniikan DI-ohjelma - Master's Programme in Management and Information Technology
Johtamisen ja talouden tiedekunta - Faculty of Management and Business
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-05-19
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202204253597
https://urn.fi/URN:NBN:fi:tuni-202204253597
Tiivistelmä
Tämän hetken käytetyin laskentaparadigma tietojenkäsittelyssä on pilvilaskenta. Pilvilasken-nassa laskennan suorittava laitteisto sijaitsee tietoverkon keskellä ja palvelun käyttäjät sijaitsevat verkon reunalla. Uudet tietojenkäsittelyn sovellutukset, verkon reunalla sijaitsevien laitteiden määrän lisääntyminen, sekä laitteiden tuottaman datan määrän räjähdysmäinen kasvu ovat joh-taneet uusiin tietojenkäsittelyn vaatimuksiin, joihin pelkkä pilvilaskenta ei pysty vastaamaan. Uu-sien tietojenkäsittelyn vaatimusten tyydyttämiseksi on kehitteillä uusia reunalaskentaparadig-moja, joissa verkon reunalle ja reunan läheisyyteen lisätään uusia laskentaa tekeviä palvelimia. Nämä uudet palvelimet ovat resursseiltaan pienempiä ja monimuotoisempia kuin pilvilasken-nassa käytettävät palvelimet.
Virtualisointi on pilvi- ja reunalaskennassa käytetty tekniikka, jossa sovellus erotetaan sitä suo-rittavasta laitteistosta. Yleisesti virtualisointiin käytetyt tekniikat ovat virtuaalikone ja ohjelmisto-kontti. Näissä virtualisointitekniikoissa sovellukset toimivat monoliittisen käyttöjärjestelmän avulla. Monoliittinen käyttöjärjestelmä sisältää yleiskäyttöisen toteutuksen suurelle määrälle sovelluksien tarvitsemia toiminnallisuuksia. Monoliittista käyttöjärjestelmää käyttävillä virtualisointiratkaisuilla on vaikeuksia mukautua reunalaskennassa käytettävään resursseiltaan rajoitettuun ja monimuo-toiseen laitteistoon
Unikernel on uusi kehityksen alla oleva tekniikka sovelluksen suorittamiseen, joka käyttää hy-väkseen library OS -tekniikan etuja. Unikernel-arkkitehtuurissa sovellus ja vain sen tarvitsemat osat käyttöjärjestelmän toiminnallisuudesta yhdistetään yhdessä osoitetilassa suoritettavaksi ko-konaisuudeksi. Unikernel-arkkitehtuuria käyttävän sovelluksen etuja ovat suuri suorituskyky, vä-häinen resurssien tarve, nopea käynnistyminen ja pieni hyökkäyspinta-ala.
Tässä työssä tutkitaan unikernel-sovellusten käyttömahdollisuuksia reunalaskennan laitteis-ton käytön tehostamiseksi. Käyttömahdollisuuksien tutkimista varten työssä luodaan kirjallisuus-lähteiden avulla kriteeristö, jonka avulla unikernel-sovellusten käyttökelpoisuutta arvioidaan. Ar-vioinnin perusteella unikernel-sovelluksilla on mahdollista tehostaa reunalaskennan laitteiston käyttöä. Unikernel-arkkitehtuurin sisältämien rajoitusten ja unikernel-sovellusten kehittämisen vaatiman suuren asiantuntijatyömäärän johdosta se ei kuitenkaan sovi kaikkialle. Unikernel-so-vellusten käyttökohteet reunalaskennassa täytyy valita huolella.
Toisena aiheena työssä tutkitaan, voidaanko ohjelmistokontit korvata unikernel-sovelluksilla. Tutkimus tehdään kirjallisuuslähteiden perusteella vertailemalla ohjelmistokonttien ja unikernel-sovellusten ominaisuuksia. Vertailun perusteella unikernel-sovellusten tekeminen on liian työlästä ohjelmistokontteihin nähden. Ohjelmistokonttien korvaaminen unikernel-sovelluksilla ei ole tällä hetkellä mahdollista. Currently most used computing paradigm in information technology is cloud computing. In cloud computing the servers performing calculations are physically located in center of the net-work and service consumers located in edge of the network. New information processing appli-cations, growth of devices located in network edge, and proliferation of data produced by the devices have led to new information processing needs, which can’t be handled only by cloud computing. To satisfy these new information processing needs there are new edge computing paradigms under development. New edge computing paradigms adds new servers performing calculation to network edge and close by network edge. These new servers have less resources and are more diverse by hardware than cloud computing servers.
Virtualization is technology used in both cloud and edge computing. Virtualization decouples software from hardware executing it. Common technologies used for virtualization are virtual ma-chine and software container. Both virtualization technologies use monolithic operation system for application execution. Monolithic operating systems contains general purpose implementation for large number of functionalities. Applications using monolithic operating systems have prob-lems to adapt in edge computing devices with constrained and diverse resources.
Unikernel is a new technology under development used for application execution, which uses benefits of library OS architecture. Unikernel architecture combines application and required op-erating system functionalities to an entity which executes in single address space. Benefits of the application using unikernel architecture are high application performance, small resource need, fast startup time, and small attack surface.
This work research unikernel applications usage possibilities to enhance edge computing equipment utilization. Criteria for evaluation of usage possibilities is created based on literature sources. Result from evaluation is that it is possible to use unikernel applications for edge com-puting equipment utilization enhancing. Due to limitations in unikernel architecture and high amount of required expert work it does not fit everywhere. Usage targets for unikernel applications must be selected carefully.
Second research target in this thesis is to find out if it is possible to replace software containers by unikernel applications. Research is done based on literature sources by comparing software containers and unikernel applications characteristics. Based on comparison development of unikernel applications is too labor consuming compared to software containers. Replacing soft-ware containers by unikernel applications is not possible at the current moment.
Virtualisointi on pilvi- ja reunalaskennassa käytetty tekniikka, jossa sovellus erotetaan sitä suo-rittavasta laitteistosta. Yleisesti virtualisointiin käytetyt tekniikat ovat virtuaalikone ja ohjelmisto-kontti. Näissä virtualisointitekniikoissa sovellukset toimivat monoliittisen käyttöjärjestelmän avulla. Monoliittinen käyttöjärjestelmä sisältää yleiskäyttöisen toteutuksen suurelle määrälle sovelluksien tarvitsemia toiminnallisuuksia. Monoliittista käyttöjärjestelmää käyttävillä virtualisointiratkaisuilla on vaikeuksia mukautua reunalaskennassa käytettävään resursseiltaan rajoitettuun ja monimuo-toiseen laitteistoon
Unikernel on uusi kehityksen alla oleva tekniikka sovelluksen suorittamiseen, joka käyttää hy-väkseen library OS -tekniikan etuja. Unikernel-arkkitehtuurissa sovellus ja vain sen tarvitsemat osat käyttöjärjestelmän toiminnallisuudesta yhdistetään yhdessä osoitetilassa suoritettavaksi ko-konaisuudeksi. Unikernel-arkkitehtuuria käyttävän sovelluksen etuja ovat suuri suorituskyky, vä-häinen resurssien tarve, nopea käynnistyminen ja pieni hyökkäyspinta-ala.
Tässä työssä tutkitaan unikernel-sovellusten käyttömahdollisuuksia reunalaskennan laitteis-ton käytön tehostamiseksi. Käyttömahdollisuuksien tutkimista varten työssä luodaan kirjallisuus-lähteiden avulla kriteeristö, jonka avulla unikernel-sovellusten käyttökelpoisuutta arvioidaan. Ar-vioinnin perusteella unikernel-sovelluksilla on mahdollista tehostaa reunalaskennan laitteiston käyttöä. Unikernel-arkkitehtuurin sisältämien rajoitusten ja unikernel-sovellusten kehittämisen vaatiman suuren asiantuntijatyömäärän johdosta se ei kuitenkaan sovi kaikkialle. Unikernel-so-vellusten käyttökohteet reunalaskennassa täytyy valita huolella.
Toisena aiheena työssä tutkitaan, voidaanko ohjelmistokontit korvata unikernel-sovelluksilla. Tutkimus tehdään kirjallisuuslähteiden perusteella vertailemalla ohjelmistokonttien ja unikernel-sovellusten ominaisuuksia. Vertailun perusteella unikernel-sovellusten tekeminen on liian työlästä ohjelmistokontteihin nähden. Ohjelmistokonttien korvaaminen unikernel-sovelluksilla ei ole tällä hetkellä mahdollista.
Virtualization is technology used in both cloud and edge computing. Virtualization decouples software from hardware executing it. Common technologies used for virtualization are virtual ma-chine and software container. Both virtualization technologies use monolithic operation system for application execution. Monolithic operating systems contains general purpose implementation for large number of functionalities. Applications using monolithic operating systems have prob-lems to adapt in edge computing devices with constrained and diverse resources.
Unikernel is a new technology under development used for application execution, which uses benefits of library OS architecture. Unikernel architecture combines application and required op-erating system functionalities to an entity which executes in single address space. Benefits of the application using unikernel architecture are high application performance, small resource need, fast startup time, and small attack surface.
This work research unikernel applications usage possibilities to enhance edge computing equipment utilization. Criteria for evaluation of usage possibilities is created based on literature sources. Result from evaluation is that it is possible to use unikernel applications for edge com-puting equipment utilization enhancing. Due to limitations in unikernel architecture and high amount of required expert work it does not fit everywhere. Usage targets for unikernel applications must be selected carefully.
Second research target in this thesis is to find out if it is possible to replace software containers by unikernel applications. Research is done based on literature sources by comparing software containers and unikernel applications characteristics. Based on comparison development of unikernel applications is too labor consuming compared to software containers. Replacing soft-ware containers by unikernel applications is not possible at the current moment.