diplomsko delo
Abstract
Trenutni pristop pakiranja mikrostoritev, ki ga ponuja ogrodje KumuluzEE, je pakiranje v debeli JAR (ang. uber JAR ali fat JAR). Ta aplikacijsko kodo in vse potrebne odvisnosti združi v eno datoteko, kar sicer zagotavlja visoko prenosljivost, vendar pa za to žrtvuje optimalnost gradnje slik pri virtualizaciji. Združenost v eno datoteko zahteva postavitev celotne mikrostoritve v en sloj slike Docker, kar pa ob vsaki spremembi aplikacijske kode zahteva ponovno gradnjo celotnega sloja. Ker se odvisnosti ne spreminjajo pogosto, pa vendar predstavljajo večino prostora, ki ga mikrostoritev zaseda, je ponovno kopiranje odvisnosti nepotrebno potratno. V tem delu smo obstoječe možnosti pakiranja mikrostoritev, ki jih ponuja ogrodje KumuluzEE, razširili z novim tipom pametni JAR (ang. smart JAR), ki ločuje aplikacijsko kodo od odvisnosti in s tem pohitri ponovno gradnjo slik Docker. Poleg tega smo ogrodju dodali tudi funkcionalnost avtomatskega generiranja datotek Dockerfile.
Keywords
KumuluzEE;ogrodje;Docker;vsebnik;mikrostoritev;JAR;univerzitetni študij;diplomske naloge;
Data
Language: |
Slovenian |
Year of publishing: |
2021 |
Typology: |
2.11 - Undergraduate Thesis |
Organization: |
UL FRI - Faculty of Computer and Information Science |
Publisher: |
[A. Pavišič] |
UDC: |
004(043.2) |
COBISS: |
63320323
|
Views: |
264 |
Downloads: |
68 |
Average score: |
0 (0 votes) |
Metadata: |
|
Other data
Secondary language: |
English |
Secondary title: |
Optimization of Java archive and Docker image building in microservices architecture |
Secondary abstract: |
The current approach to packaging microservices offered by the KumuluzEE framework is packaging into an uber JAR. This type combines the application code and all dependencies into a single file, which guarantees high portability but sacrifices optimal building of images for virtualization. The unification into a single file demands the entire microservice to be put into a single image layer, which requires a complete rebuild of that layer upon any change to the application code. Since dependencies rarely change but still represent the majority of the space taken up by the microservice, copying them repeatedly is unnecessarily wasteful. In this thesis, we expanded on the packaging types offered by the KumuluzEE framework by introducing a new smart JAR packaging type, which separates the application code from the dependencies and thus speeds up the rebuilding of Docker images. We also expanded the framework with the functionality of automated Dockerfile generation. |
Secondary keywords: |
KumuluzEE;framework;Docker;container;microservice;JAR;computer and information science;diploma; |
Type (COBISS): |
Bachelor thesis/paper |
Study programme: |
1000468 |
Thesis comment: |
Univ. v Ljubljani, Fak. za računalništvo in informatiko |
Pages: |
66 str. |
ID: |
12895806 |