Java sovelluksen migraatio yksityisen pilveen
Authors
Date
2020Copyright
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Tutkimuksessa selvitettiin mitä organisaation tulee huomioida siirtyessä käyttämään yksityistä pilveä. Mitä pilveen ja mikropalveluarkkitehtuuriin siirtyminen tarkoittaa niin uuskehityksessä kuin ylläpidossa oleville järjestelmille. Miten järjestelmien käyttöönotto pilvialustalle suunnitellaan ja toteutetaan.
Tutkimus toteutettiin kaksiosaisena; mikropalvelu-arkkitehtuuriin siirtymistä selvitettiin kirjallisuus- ja artikkelikatsauksella ja yksityiseen pilveen migraatiota tapaustutkimuksella, jossa vietiin Java sovellus tilaajan OpenShiftillä toteutettuun yksityiseen pilveen. Mikropalvelu-arkkitehtuurista selvitettiin mitkä ovat sen keskeiset periaatteet, mitä suunnittelumalleja sille on olemassa ja miten sovellusten arkkitehtuurimigraatio käytännössä kannattaa tehdä. Yksityisen pilven migraatiossa koestettiin uudelleensijoitus menetelmällä Java sovelluksen vienti OpenShift alustalle, mitä toimenpiteitä se vaatii ja miten alusta palvelee sovelluk-sen uudelleensijoitusta.
Mikropalvelu-arkkitehtuurista tarkasteltiin palveluihin jakamista, sekä uuskehitys- että migraatioprojektissa. Miten mikropalvelujen myötä tulevat rajapinnat kannattaa suunnitella, mitkä ovat niiden tehokkaat käyttötavat ja miten rajapintojen versiointi hoidetaan. Transaktion hallintaan perehdyttiin eri suunnittelumallien kautta. Erityisesti tarkasteltiin miten ylläpidossa olevien järjestelmien migraatio mikropalvelu-arkkitehtuuriin kannattaa tehdä. Java sovelluksen migraatioon liittyen selvitettiin OpenShift alustan keskeiset resurssit ja miten kokonaisuus toimii sovellusten käyttöönotossa alustalle.
Tutkimuksessa havaittiin, että mikropalvelujen jakamisessa DDD-malli on yleinen ja se soveltuu hyvin pohjaksi, kun palveluita jaetaan pienempiin osiin. Rajapintojen kommunikaatio tyypeissä asynkroninen tapa tuottaa paremman löyhän liitoksen mutta on työläämpi toteuttaa verrattuna synkroniseen kommunikaatioon. Vanhojen järjestelmien migraatiossa painottui inkrementaalisuus ja kuristusmallin käyttö. Pilveen migraatiossa havaittiin, että mikropalvelu arkkitehtuuri on optimaalisin mutta myös uudelleensijoitus-strategialla voidaan saavuttaa konekapasiteetin käyttöaste hyötyjä. OpenShift alustan käyttö osoittautui perehtymistä vaativaksi, mutta alusta ominaisuuksiltaan kattavaksi. Kokemusten pohjalta alustan käyttöön voi suhtautua luottavaisesti, vaikkakin lisätutkimusta aiheesta tarvitaan erityisesti vikatilanteista toipumisen ja suorituskyvyn osalta.
...
This study was conducted to find out what should be taken into account when taking a private cloud in use within an organization. What it means to migrate to microservices architecture both for new development and for legacy systems. What should be considered when taking into use a private cloud solution.
The study was implemented in two parts; migration to microservices architecture was elaborated by book and article review whereas the migration of a Java application into private cloud was conducted as a case study. The private cloud used in the study was deployed at customer’s premises with Red Hat OpenShift technology. Microservices where studied by finding out its fundamental principles, what kind of design patterns there exists and what are the best practices to carry out an architecture migration. The migration into private cloud was experimented by rehosting a legacy Java application to OpenShift platform. It was explored what actions are needed in the process and how the platform supports re-hosting.
The microservice decomposition was elaborated for both novel development and migration projects. What is the best way to design interfaces for micro-services, how are those used effectively and how to handle the versioning. Transaction handling was investigated through various design patterns describing the domain area. In particular, it was explored how a legacy system should be migrated to microservices architecture. In Java application migration, it was found out what are the key components of OpenShift and how the application is deployed into the platform in practice.
The study discovered that a common model for service decomposition is DDD, which works well when dividing services into smaller domains. In communication types, the asynchronous design yields to better loose coupling, but it is laborious to implement compared to synchronous design. Incremental development and strangler fig pattern were advisable in migration of legacy applications. The microservices architecture was found out to be most optimal for cloud. Still, with plain lift-and-shift migration the savings in computing capacity can be achieved. The usage of OpenShift platform turned out to need some learning prior to utilization, but overall, the platform had extensive and working feature set. Based on the case study, the platform was trustworthy in terms of its features and basic usage. Further studies are needed on customer’s domain especially in failover and performance testing areas.
...




Keywords
Metadata
Show full item recordCollections
- Pro gradu -tutkielmat [24540]
Related items
Showing items with similar title or keywords.
-
Talarius-sovelluksen käyttö opetuksen tukena
Pyykkönen, Antti (2008) -
Ääniviestimisen vaikeus : tutkimus push-to-talk-sovelluksen omaksumista estävistä tekijöistä
Aho, Ville (2016)Alati kehittyvä ja uusiutuva teknologia muokkaa jatkuvasti tapojamme tehdä asioita. Teknologiakehityksen aallonharjalla pysyminen on monessa suhteessa työlästä, sillä uusien teknologioiden käyttöönottoon liittyy jatkuvaa ... -
Robot Frameworkiä hyödyntävän testiautomaatiototeutuksen parantaminen MFC-pohjaisen sovelluksen graafiselle käyttöliittymälle
Honka, Jere (2019)Graafisten käyttöliittymien automaattinen testaaminen on hankalaa. Erityisen hankalaa se on silloin, kun testaustyökalut ovat ominaisuuksiltaan puutteellisia sekä käytössä olevat testiskriptien laadinnan käytänteet johtavat ... -
Web-sovelluksen haavoittuvuustestauksen automatisointi
Jokela, Patrik (2020)Haavoittuvuustestauksessa käytetään samanlaista lähestymistapaa ja tekniikkaamiltei jokaisessa testauksessa. Toistettavien töiden automatisointi auttaa haavoittuvuustes-taajia käyttämään testausaikansa hyödyllisemmin ... -
Yksisivuisen web-sovelluksen käyttöliittymäsovelluskehyksen valintaan vaikuttavat tekijät
Pulkka, Tommi (2022)Nykyaikaiset yksisivuiset web-sovellukset ovat nykyään tyypillinen ohjelmiston muoto, jolla pystytään korvaamaan aikaisemmin erikseen tehdyt työpöytä- ja mobiilisovellukset kustannusten minimoimiseksi. Moderneille ...