Pilviorkestroinnin työkalut
Rusanen, Juuso (2024)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202404267950
https://urn.fi/URN:NBN:fi:amk-202404267950
Tiivistelmä
Tämän opinnäytetyön tarkoituksena oli etsiä ja tutkia olemassa olevia pilviorkestroinnin työkaluja pilviresurssien orkestrointiin, määrittelyyn ja hallintaan. Tavoitteena oli löytää vaatimuksiin verrattuna sopivin tai sopivimmat pilviorkestroinnin työkalut ja vertailla niitä keskenään.
Työkalujen toivottuihin vaatimuksiin kuului pilviresurssien määrittelyn ja hallinnan lisäksi pääsy konfiguraatioihin, metriikoihin, hälytyksiin ja käyttö- sekä komentoliittymään. Lisäksi toivottiin, että työkalut olisivat yhteensopivia AWS:n, Azuren, Google Cloudin, Githubin ja Kuberneteksen kanssa. Tuettuja ominaisuuksia ja alustoja tutkittiin työkalujen kirjallisesta dokumentaatiosta.
Vertailuun valittiin viisi eri pilviorkestroinnin työkalua: Apache Brooklyn, Cloudify, OpenStack Heat, Terraform ja OpenTofu. Työkalujen vertailussa noudatettiin laadullisen tutkimuksen perusteita, ja työkaluissa toivottujen ominaisuuksien sisältymistä tutkittiin työkalujen dokumentaatioiden avulla. Vertailussa havainnollistettiin ominaisuuksien sisältymistä ja alustojen kanssa yhteensopivuutta taulukkojen avulla sekä työkalujen toimintaa käytännön kokeilulla.
Vertailussa pärjäsivät parhaiten Cloudify, OpenTofu ja Terraform, mutta kokeiluun valittiin vain OpenTofu ja Terraform, sillä Cloudify oli maksullinen käyttää. Kokeilussa asetettiin kummallekin työkalulle sama kokeilutapaus, jonka tavoitteena oli ottaa käyttöön Apache-verkkopalvelin AWS-alustalla skripteillä muokattuna. Kummallakin työkalulla päästiin hyväksyttyyn lopputulokseen. Kokeilun tuloksista todettiin, että Terraform ja OpenTofu olivat teknisesti hyvin samanlaisia ja että kumpikin sopivat yhtä hyvin pilviorkestroinnin ratkaisuun.
OpenTofun ja Terraformin olennaisimpana erona oli niiden erilainen lisensointi. OpenTofulla on avoimen lähdekoodin lisenssin, kun taas Terraformilla ei. Täten avoimen lähdekoodin lisensointi herätti enemmän kiinnostusta OpenTofua kohtaan. Opinnäytetyön tuloksista huolimatta OpenTofua ei otettu vielä käyttöön, mutta tulokset loivat pohjaa toimeksiantajan pilviorkestrointisuunnitelmille. The objective of the thesis was to research existing cloud orchestration tools for provisioning, defining, and managing cloud resources. The goal was to find the most suitable cloud orchestration tools according to the requirements and compare them with each other.
The requirements for the tools included access to configurations, metrics, alerts, GUI and CLI. Additionally, it was hoped that the tools would be compatible with AWS, Azure, Google Cloud, Github, and Kubernetes. Supported features and platforms were examined with the tools' documentation.
Five cloud orchestration tools were selected for comparison: Apache Brooklyn, Cloudify, OpenStack Heat, Terraform, and OpenTofu. The comparison followed the principles of qualitative research, and the inclusion of required features in the tools was investigated through their documentation. The comparison used tables to illustrate the inclusion of features and compatibility with platforms, as well as the functionality of the tools through practical experimentation.
Cloudify, OpenTofu and Terraform performed best in the comparison, but only OpenTofu and Terraform were selected for experimentation because Cloudify wasn’t free. The test case for both tools in the experiment was to deploy an Apache web server on AWS in which both tools succeeded. The results indicated that Terraform and OpenTofu were technically similar and that both were equally suitable.
However, OpenTofu had an open-source license, whereas Terraform did not. Therefore, the open-source licensing sparked more interest in OpenTofu. Despite the results of the thesis, OpenTofu has not yet been adopted, but it laid the groundwork for the thesis commissioner’s cloud orchestration plans.
Työkalujen toivottuihin vaatimuksiin kuului pilviresurssien määrittelyn ja hallinnan lisäksi pääsy konfiguraatioihin, metriikoihin, hälytyksiin ja käyttö- sekä komentoliittymään. Lisäksi toivottiin, että työkalut olisivat yhteensopivia AWS:n, Azuren, Google Cloudin, Githubin ja Kuberneteksen kanssa. Tuettuja ominaisuuksia ja alustoja tutkittiin työkalujen kirjallisesta dokumentaatiosta.
Vertailuun valittiin viisi eri pilviorkestroinnin työkalua: Apache Brooklyn, Cloudify, OpenStack Heat, Terraform ja OpenTofu. Työkalujen vertailussa noudatettiin laadullisen tutkimuksen perusteita, ja työkaluissa toivottujen ominaisuuksien sisältymistä tutkittiin työkalujen dokumentaatioiden avulla. Vertailussa havainnollistettiin ominaisuuksien sisältymistä ja alustojen kanssa yhteensopivuutta taulukkojen avulla sekä työkalujen toimintaa käytännön kokeilulla.
Vertailussa pärjäsivät parhaiten Cloudify, OpenTofu ja Terraform, mutta kokeiluun valittiin vain OpenTofu ja Terraform, sillä Cloudify oli maksullinen käyttää. Kokeilussa asetettiin kummallekin työkalulle sama kokeilutapaus, jonka tavoitteena oli ottaa käyttöön Apache-verkkopalvelin AWS-alustalla skripteillä muokattuna. Kummallakin työkalulla päästiin hyväksyttyyn lopputulokseen. Kokeilun tuloksista todettiin, että Terraform ja OpenTofu olivat teknisesti hyvin samanlaisia ja että kumpikin sopivat yhtä hyvin pilviorkestroinnin ratkaisuun.
OpenTofun ja Terraformin olennaisimpana erona oli niiden erilainen lisensointi. OpenTofulla on avoimen lähdekoodin lisenssin, kun taas Terraformilla ei. Täten avoimen lähdekoodin lisensointi herätti enemmän kiinnostusta OpenTofua kohtaan. Opinnäytetyön tuloksista huolimatta OpenTofua ei otettu vielä käyttöön, mutta tulokset loivat pohjaa toimeksiantajan pilviorkestrointisuunnitelmille.
The requirements for the tools included access to configurations, metrics, alerts, GUI and CLI. Additionally, it was hoped that the tools would be compatible with AWS, Azure, Google Cloud, Github, and Kubernetes. Supported features and platforms were examined with the tools' documentation.
Five cloud orchestration tools were selected for comparison: Apache Brooklyn, Cloudify, OpenStack Heat, Terraform, and OpenTofu. The comparison followed the principles of qualitative research, and the inclusion of required features in the tools was investigated through their documentation. The comparison used tables to illustrate the inclusion of features and compatibility with platforms, as well as the functionality of the tools through practical experimentation.
Cloudify, OpenTofu and Terraform performed best in the comparison, but only OpenTofu and Terraform were selected for experimentation because Cloudify wasn’t free. The test case for both tools in the experiment was to deploy an Apache web server on AWS in which both tools succeeded. The results indicated that Terraform and OpenTofu were technically similar and that both were equally suitable.
However, OpenTofu had an open-source license, whereas Terraform did not. Therefore, the open-source licensing sparked more interest in OpenTofu. Despite the results of the thesis, OpenTofu has not yet been adopted, but it laid the groundwork for the thesis commissioner’s cloud orchestration plans.