Elasticsearch-based data management proof of concept for continuous integration
Peltomaa, Samuli (2022-11-14)
Peltomaa, Samuli
S. Peltomaa
14.11.2022
© 2022 Samuli Peltomaa. Ellei toisin mainita, uudelleenkäyttö on sallittu Creative Commons Attribution 4.0 International (CC-BY 4.0) -lisenssillä (https://creativecommons.org/licenses/by/4.0/). Uudelleenkäyttö on sallittua edellyttäen, että lähde mainitaan asianmukaisesti ja mahdolliset muutokset merkitään. Sellaisten osien käyttö tai jäljentäminen, jotka eivät ole tekijän tai tekijöiden omaisuutta, saattaa edellyttää lupaa suoraan asianomaisilta oikeudenhaltijoilta.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202211143568
https://urn.fi/URN:NBN:fi:oulu-202211143568
Tiivistelmä
The rise of big data has brought challenges in data management, especially regarding storage, visualization and analytics. Traditional data processing applications and databases cannot handle the massive amount of data that is generated by today’s companies. The challenges have been met by developing tools that can store and process big data effciently and scale accordingly. One of these tools is a distributed search and analytics engine called Elasticsearch. Elasticsearch offers a distributed and scalable data management solution to store, search and analyse data in near real-time and it is the core component of this thesis.
This thesis was done in a Finnish technology company that wanted to discover what Elasticsearch is capable of as a data management tool. Elasticsearch is being considered as a free and open-source alternative for their current expensive closed-source data management platform in order to reduce costs. A PoC (proof of concept) was built to demonstrate the use of Elasticsearch and its data visualization tool, Kibana. To build the PoC, Elasticsearch and other tools in the Elastic Stack were studied to see how they work. An implementation was built based on the requirements set by the company. In short, the implementation should be able to automatically ship data from a CI/CD (continuous integration/continuous delivery) pipeline into Elasticsearch, after which the data is visualized in Kibana.
When the fnished implementation satisfed the requirements, it was optimized and presented to a CI-related team in the company along with two sets of questions. The survey answers deemed Elasticsearch and Kibana useful and powerful. The respondents showed interest in utilizing Kibana dashboards in the future. The implementation did leave room for further improvement, such as clustering, which in this thesis could not be tested due to unavailable hardware. Big datan nousu on tuonut mukanaan haasteita tiedonhallintaan, erityisesti tiedon varastoimiseen, visualisointiin sekä analytiikkaan. Perinteiset tiedon prosessointiohjelmat ja tietokannat eivät pysty käsittelemään nykypäivän yritysten generoimaa massiivista tiedon määrää. Näihin haasteisiin on vastattu kehittämällä työkaluja, jotka pystyvät varastoimaan ja prosessoimaan big dataa tehokkaasti ja skaalautuvat asianmukaisesti. Yksi näistä työkaluista on hajautettu haku- ja analytiikkamoottori nimeltä Elasticsearch. Se tarjoaa hajautetun ja skaalautuvan ratkaisun tiedon varastointiin, hakuun ja analysointiin lähes reaaliajassa ja on tämän diplomityön ydinkomponentti.
Tämä diplomityö tehtiin suomalaisessa teknologiayrityksessä, joka halusi selvittää, mihin Elasticsearch kykenee tiedonhallintatyökaluna. Elasticsearchia harkitaan ilmaisena ja avoimen lähdekoodin korvikkeena heidän nykyiselle kalliille suljetun lähdekoodin tiedonhallinta-alustalle. Elasticsearchin ja sen tiedon visualisointityökalun, Kibanan, käytön havainnollistamista varten tehtiin soveltuvuusselvitys. Selvitystä varten Elasticsearchia ja muita Elastic Stackiin kuuluvia työkaluja tutkittiin niiden toimivuuden selvittämiseksi. Toteutus tehtiin yrityksen asettamien vaatimusten pohjalta. Lyhyesti sanottuna toteutuksen tuli pystyä automaattisesti lähettämään tietoa jatkuvan integraation/jatkuvan käyttöönoton putkistosta Elasticsearchiin, jonka jälkeen tieto täytyi visualisoida Kibanalla.
Kun valmis toteutus täytti vaatimutkset, se optimoitiin ja esiteltiin tiimille, joka työskentelee jatkuvan integraation parissa. Tiimille annettiin kaksi joukkoa kysymyksiä vastattaviksi. Kysymysten vastausten perusteella tiimi totesi Elasticsearchin hyödylliseksi ja tehokkaaksi ja osoitti kiinnostusta Kibanan kojelautojen hyödyntämiseen tulevaisuudessa. Toteutus jätti parantamisen varaa esimerkiksi klusteroinnin osalta, koska sitä ei pystytty testaamaan puuttuvan laitteiston vuoksi.
This thesis was done in a Finnish technology company that wanted to discover what Elasticsearch is capable of as a data management tool. Elasticsearch is being considered as a free and open-source alternative for their current expensive closed-source data management platform in order to reduce costs. A PoC (proof of concept) was built to demonstrate the use of Elasticsearch and its data visualization tool, Kibana. To build the PoC, Elasticsearch and other tools in the Elastic Stack were studied to see how they work. An implementation was built based on the requirements set by the company. In short, the implementation should be able to automatically ship data from a CI/CD (continuous integration/continuous delivery) pipeline into Elasticsearch, after which the data is visualized in Kibana.
When the fnished implementation satisfed the requirements, it was optimized and presented to a CI-related team in the company along with two sets of questions. The survey answers deemed Elasticsearch and Kibana useful and powerful. The respondents showed interest in utilizing Kibana dashboards in the future. The implementation did leave room for further improvement, such as clustering, which in this thesis could not be tested due to unavailable hardware.
Tämä diplomityö tehtiin suomalaisessa teknologiayrityksessä, joka halusi selvittää, mihin Elasticsearch kykenee tiedonhallintatyökaluna. Elasticsearchia harkitaan ilmaisena ja avoimen lähdekoodin korvikkeena heidän nykyiselle kalliille suljetun lähdekoodin tiedonhallinta-alustalle. Elasticsearchin ja sen tiedon visualisointityökalun, Kibanan, käytön havainnollistamista varten tehtiin soveltuvuusselvitys. Selvitystä varten Elasticsearchia ja muita Elastic Stackiin kuuluvia työkaluja tutkittiin niiden toimivuuden selvittämiseksi. Toteutus tehtiin yrityksen asettamien vaatimusten pohjalta. Lyhyesti sanottuna toteutuksen tuli pystyä automaattisesti lähettämään tietoa jatkuvan integraation/jatkuvan käyttöönoton putkistosta Elasticsearchiin, jonka jälkeen tieto täytyi visualisoida Kibanalla.
Kun valmis toteutus täytti vaatimutkset, se optimoitiin ja esiteltiin tiimille, joka työskentelee jatkuvan integraation parissa. Tiimille annettiin kaksi joukkoa kysymyksiä vastattaviksi. Kysymysten vastausten perusteella tiimi totesi Elasticsearchin hyödylliseksi ja tehokkaaksi ja osoitti kiinnostusta Kibanan kojelautojen hyödyntämiseen tulevaisuudessa. Toteutus jätti parantamisen varaa esimerkiksi klusteroinnin osalta, koska sitä ei pystytty testaamaan puuttuvan laitteiston vuoksi.
Kokoelmat
- Avoin saatavuus [29998]