Integrating Docker to a Continuous Delivery pipeline a pragmatic approach

Docker on kevyt avoimen alustan sovellus, joka pystyy pakkaamaan sovelluksen kaikkien tarvittavien riippuvuuksien kanssa yhteen konttiin, ja tätä teknologiaa kutsutaan konttiteknologiaksi. Oikein käytettynä IT-ammattilaiset voivat saada konttiteknologiasta merkittäviä hyötyjä, sillä näitä paketteja...

Täydet tiedot

Bibliografiset tiedot
Päätekijä: Vase, Tuomas
Muut tekijät: Faculty of Information Technology, Informaatioteknologian tiedekunta, Tietojenkäsittelytieteiden laitos, Department of Computer Science and Information Systems, University of Jyväskylä, Jyväskylän yliopisto
Aineistotyyppi: Pro gradu
Kieli:eng
Julkaistu: 2016
Aiheet:
Linkit: https://jyx.jyu.fi/handle/123456789/52756
_version_ 1826225778349572096
author Vase, Tuomas
author2 Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto
author_facet Vase, Tuomas Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto Vase, Tuomas Faculty of Information Technology Informaatioteknologian tiedekunta Tietojenkäsittelytieteiden laitos Department of Computer Science and Information Systems University of Jyväskylä Jyväskylän yliopisto
author_sort Vase, Tuomas
datasource_str_mv jyx
description Docker on kevyt avoimen alustan sovellus, joka pystyy pakkaamaan sovelluksen kaikkien tarvittavien riippuvuuksien kanssa yhteen konttiin, ja tätä teknologiaa kutsutaan konttiteknologiaksi. Oikein käytettynä IT-ammattilaiset voivat saada konttiteknologiasta merkittäviä hyötyjä, sillä näitä paketteja voidaan helposti rakentaa, lähettää ja ajaa hajautetuissa järjestelmissä. Dockerin nousu on hämmästyttävää, sillä siitä on tullut konttiteknologian standardi vain kolmessa vuodessa ja se toimii jo nativisti Windowsilla sekä Linuxilla. Tämä teknologia tarjoaa suuria mahdollisuuksia tulevaisuuden ohjelmistokehitykselle sekä käyttöönotolle tarjoamalla uudenlaisia tapoja siirrettävyyden, skaalautuvuuden, nopeuden, jakamisen ja ylläpidon muodossa. Tämä tutkielma keskittyi käytännöllisellä tasolla Dockeriin ja jatkuvaan toimitukseen. Tutkimuksen tarkoituksena oli suunnitella, toteuttaa ja ottaa käyttöön toimiva Dockeriin pohjautuva arkkitehtuuri, joka mahdollistaa modernin jatkuvan toimituksen. Docker valittiin tutkittavaksi konttiteknologiaksi sillä perusteella, että se on käytetyin konttiteknologia ja sillä on eniten haluttuja ominaisuuksia. Tavanomaisen virtualisoinnin ja konttiteknologian eroja tutkittiin ylätasolla ja perusteellisemmin tutkittiin Dockerin käytettävyyttä sekä käytännöllisyyttä. Pyrkimyksenä oli tutkia, voiko olemassa oleva sekä toimiva jatkuvan toimituksen putkimalli saada hyötyjä Dockeriin pohjautuvista ratkaisuista ja jos voi, niin mitkä ovat avaintekijät tämän prosessin parantamiseksi. Tärkein löytö tutkimuksessa oli, että Dockeria voidaan käyttää moneen eri vaiheeseen jatkuvan toimituksen putkimallissa ja sitä on suositeltavaa käyttää moderneissa arkkitehtuureissa. Kuitenkin tulee huomioida, että teknologia kehittyy edelleen, joten tarkemmat analyysit ja tutkimukset ovat tarpeellisia lähitulevaisuudessa. Tutkimus tehtiin suunnittelutieteellisellä tutkimusmetodologialla sisältäen kaikki sen vaiheet. Docker is a lightweight open-platform product that can package an application and its dependencies inside a virtual container; it is also referred to as the container technology. When they are used correctly, these packages can be game changing for IT professionals, as these packages can be easily built, shipped, and run inside distributed environments. The rise of Docker has been a great success, as it has almost become a standard for containers in only three years of its existence, and it works natively with Windows and Linux. This technology offers possibilities for the future of software development and deployment, in terms of a new kind of portability, scalability, speed, delivery, and maintenance. This study focuses on Docker and continuous delivery at a pragmatic level. The purpose of the study is to design, implement and execute a working Docker-based architecture for the modern type of Continuous Delivery. Docker has been chosen to be the examined container technology as it is the most used and feature-rich technology available. Differences between virtualization and container technologies are examined at a higher level, and the usability and practical usage of container technologies inside a Continuous Delivery pipeline gained a deeper level of examination. The aim of the study is to investigate whether a working model of Continuous Delivery can benefit from the usage of Docker in different situations and, if so, to determine key situations in which a Docker-based solution can enhance the overall Continuous Delivery process. The most important observation of this study is that Docker can be used in several positions in Continuous Delivery, and it is recommended for use in future systems. However, as the technology is still developing, a better analysis of its usage is still needed in the near future, as many of the mentioned technologies or models are still evolving or even in beta phase. The research was conducted as a Design Science Research Model type of study, including all its phases.
first_indexed 2024-09-11T08:49:45Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Sepp\u00e4nen, Ville.", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Vase, Tuomas", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2017-01-18T10:10:39Z", "language": "", "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2017-01-18T10:10:39Z", "language": "", "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2016", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.other", "value": "oai:jykdok.linneanet.fi:1659125", "language": null, "element": "identifier", "qualifier": "other", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/52756", "language": "", "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Docker on kevyt avoimen alustan sovellus, joka pystyy pakkaamaan sovelluksen kaikkien tarvittavien riippuvuuksien kanssa yhteen konttiin, ja t\u00e4t\u00e4 teknologiaa kutsutaan konttiteknologiaksi. Oikein k\u00e4ytettyn\u00e4 IT-ammattilaiset voivat saada konttiteknologiasta merkitt\u00e4vi\u00e4 hy\u00f6tyj\u00e4, sill\u00e4 n\u00e4it\u00e4 paketteja voidaan helposti rakentaa, l\u00e4hett\u00e4\u00e4 ja ajaa hajautetuissa j\u00e4rjestelmiss\u00e4. Dockerin nousu on h\u00e4mm\u00e4stytt\u00e4v\u00e4\u00e4, sill\u00e4 siit\u00e4 on tullut konttiteknologian standardi vain kolmessa vuodessa ja se toimii jo nativisti Windowsilla sek\u00e4 Linuxilla. T\u00e4m\u00e4 teknologia tarjoaa suuria mahdollisuuksia tulevaisuuden ohjelmistokehitykselle sek\u00e4 k\u00e4ytt\u00f6\u00f6notolle tarjoamalla uudenlaisia tapoja siirrett\u00e4vyyden, skaalautuvuuden, nopeuden, jakamisen ja yll\u00e4pidon muodossa. \r\n\r\nT\u00e4m\u00e4 tutkielma keskittyi k\u00e4yt\u00e4nn\u00f6llisell\u00e4 tasolla Dockeriin ja jatkuvaan toimitukseen. Tutkimuksen tarkoituksena oli suunnitella, toteuttaa ja ottaa k\u00e4ytt\u00f6\u00f6n toimiva Dockeriin pohjautuva arkkitehtuuri, joka mahdollistaa modernin jatkuvan toimituksen. Docker valittiin tutkittavaksi konttiteknologiaksi sill\u00e4 perusteella, ett\u00e4 se on k\u00e4ytetyin konttiteknologia ja sill\u00e4 on eniten haluttuja ominaisuuksia. Tavanomaisen virtualisoinnin ja konttiteknologian eroja tutkittiin yl\u00e4tasolla ja perusteellisemmin tutkittiin Dockerin k\u00e4ytett\u00e4vyytt\u00e4 sek\u00e4 k\u00e4yt\u00e4nn\u00f6llisyytt\u00e4. Pyrkimyksen\u00e4 oli tutkia, voiko olemassa oleva sek\u00e4 toimiva jatkuvan toimituksen putkimalli saada hy\u00f6tyj\u00e4 Dockeriin pohjautuvista ratkaisuista ja jos voi, niin mitk\u00e4 ovat avaintekij\u00e4t t\u00e4m\u00e4n prosessin parantamiseksi. \r\n\r\nT\u00e4rkein l\u00f6yt\u00f6 tutkimuksessa oli, ett\u00e4 Dockeria voidaan k\u00e4ytt\u00e4\u00e4 moneen eri vaiheeseen jatkuvan toimituksen putkimallissa ja sit\u00e4 on suositeltavaa k\u00e4ytt\u00e4\u00e4 moderneissa arkkitehtuureissa. Kuitenkin tulee huomioida, ett\u00e4 teknologia kehittyy edelleen, joten tarkemmat analyysit ja tutkimukset ovat tarpeellisia l\u00e4hitulevaisuudessa. Tutkimus tehtiin suunnittelutieteellisell\u00e4 tutkimusmetodologialla sis\u00e4lt\u00e4en kaikki sen vaiheet.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Docker is a lightweight open-platform product that can package an application and its dependencies inside a virtual container; it is also referred to as the container technology. When they are used correctly, these packages can be game changing for IT professionals, as these packages can be easily built, shipped, and run inside distributed environments. The rise of Docker has been a great success, as it has almost become a standard for containers in only three years of its existence, and it works natively with Windows and Linux. This technology offers possibilities for the future of software development and deployment, in terms of a new kind of portability, scalability, speed, delivery, and maintenance.\r\n\r\nThis study focuses on Docker and continuous delivery at a pragmatic level. The purpose of the study is to design, implement and execute a working Docker-based architecture for the modern type of Continuous Delivery. Docker has been chosen to be the examined container technology as it is the most used and feature-rich technology available. Differences between virtualization and container technologies are examined at a higher level, and the usability and practical usage of container technologies inside a Continuous Delivery pipeline gained a deeper level of examination. The aim of the study is to investigate whether a working model of Continuous Delivery can benefit from the usage of Docker in different situations and, if so, to determine key situations in which a Docker-based solution can enhance the overall Continuous Delivery process. \r\n\r\nThe most important observation of this study is that Docker can be used in several positions in Continuous Delivery, and it is recommended for use in future systems. However, as the technology is still developing, a better analysis of its usage is still needed in the near future, as many of the mentioned technologies or models are still evolving or even in beta phase. The research was conducted as a Design Science Research Model type of study, including all its phases.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted using Plone Publishing form by Tuomas Vase (tuvavase) on 2017-01-18 10:10:38.019613. Form: Pro gradu -lomake (https://kirjasto.jyu.fi/julkaisut/julkaisulomakkeet/pro-gradu-lomake). JyX data: [jyx_publishing-allowed (fi) =True]", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by jyx lomake-julkaisija (jyx-julkaisija.group@korppi.jyu.fi) on 2017-01-18T10:10:39Z\r\nNo. of bitstreams: 2\r\nURN:NBN:fi:jyu-201701181181.pdf: 1173888 bytes, checksum: 51e60f1914071d8321652a217b727a4f (MD5)\r\nlicense.html: 4827 bytes, checksum: 31855d2085377e4cdf06a3ff80136bbf (MD5)", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2017-01-18T10:10:39Z (GMT). No. of bitstreams: 2\r\nURN:NBN:fi:jyu-201701181181.pdf: 1173888 bytes, checksum: 51e60f1914071d8321652a217b727a4f (MD5)\r\nlicense.html: 4827 bytes, checksum: 31855d2085377e4cdf06a3ff80136bbf (MD5)\r\n Previous issue date: 2016", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "1 verkkoaineisto (66 sivua)", "language": null, "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "eng", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "jatkuva toimitus", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Docker", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "konttiteknologia", "language": null, "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Integrating Docker to a Continuous Delivery pipeline : a pragmatic approach", "language": null, "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-201701181181", "language": null, "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Tietojenk\u00e4sittelytieteiden laitos", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Department of Computer Science and Information Systems", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Information Systems Science", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietoj\u00e4rjestelm\u00e4tiede", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.date.updated", "value": "2017-01-18T10:10:39Z", "language": "", "element": "date", "qualifier": "updated", "schema": "dc"}, {"key": "yvv.contractresearch.collaborator", "value": "business", "language": "", "element": "contractresearch", "qualifier": "collaborator", "schema": "yvv"}, {"key": "yvv.contractresearch.initiative", "value": "order", "language": "", "element": "contractresearch", "qualifier": "initiative", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": "fi", "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "601", "language": null, "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "sovellukset (tietotekniikka)", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "virtualisointi", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "sovellukset", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
id jyx.123456789_52756
language eng
last_indexed 2025-02-18T10:56:21Z
main_date 2016-01-01T00:00:00Z
main_date_str 2016
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/7068d240-44fd-42fd-b6d7-b2378414cfe5\/download","text":"URN:NBN:fi:jyu-201701181181.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2016
record_format qdc
source_str_mv jyx
spellingShingle Vase, Tuomas Integrating Docker to a Continuous Delivery pipeline : a pragmatic approach jatkuva toimitus Docker konttiteknologia Information Systems Science Tietojärjestelmätiede 601 sovellukset (tietotekniikka) virtualisointi sovellukset
title Integrating Docker to a Continuous Delivery pipeline : a pragmatic approach
title_full Integrating Docker to a Continuous Delivery pipeline : a pragmatic approach
title_fullStr Integrating Docker to a Continuous Delivery pipeline : a pragmatic approach Integrating Docker to a Continuous Delivery pipeline : a pragmatic approach
title_full_unstemmed Integrating Docker to a Continuous Delivery pipeline : a pragmatic approach Integrating Docker to a Continuous Delivery pipeline : a pragmatic approach
title_short Integrating Docker to a Continuous Delivery pipeline
title_sort integrating docker to a continuous delivery pipeline a pragmatic approach
title_sub a pragmatic approach
title_txtP Integrating Docker to a Continuous Delivery pipeline : a pragmatic approach
topic jatkuva toimitus Docker konttiteknologia Information Systems Science Tietojärjestelmätiede 601 sovellukset (tietotekniikka) virtualisointi sovellukset
topic_facet 601 Docker Information Systems Science Tietojärjestelmätiede jatkuva toimitus konttiteknologia sovellukset sovellukset (tietotekniikka) virtualisointi
url https://jyx.jyu.fi/handle/123456789/52756 http://www.urn.fi/URN:NBN:fi:jyu-201701181181
work_keys_str_mv AT vasetuomas integratingdockertoacontinuousdeliverypipelineapragmaticapproach