fullrecord |
[{"key": "dc.contributor.advisor", "value": "Sepp\u00e4nen, Ville", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Timperi, Petri", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2020-11-30T12:02:06Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2020-11-30T12:02:06Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2020", "language": "", "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/72879", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Tutkimuksessa selvitettiin mit\u00e4 organisaation tulee huomioida siirtyess\u00e4 k\u00e4ytt\u00e4m\u00e4\u00e4n yksityist\u00e4 pilve\u00e4. Mit\u00e4 pilveen ja mikropalveluarkkitehtuuriin siirtyminen tarkoittaa niin uuskehityksess\u00e4 kuin yll\u00e4pidossa oleville j\u00e4rjestelmille. Miten j\u00e4rjestelmien k\u00e4ytt\u00f6\u00f6notto pilvialustalle suunnitellaan ja toteutetaan.\nTutkimus toteutettiin kaksiosaisena; mikropalvelu-arkkitehtuuriin siirtymist\u00e4 selvitettiin kirjallisuus- ja artikkelikatsauksella ja yksityiseen pilveen migraatiota tapaustutkimuksella, jossa vietiin Java sovellus tilaajan OpenShiftill\u00e4 toteutettuun yksityiseen pilveen. Mikropalvelu-arkkitehtuurista selvitettiin mitk\u00e4 ovat sen keskeiset periaatteet, mit\u00e4 suunnittelumalleja sille on olemassa ja miten sovellusten arkkitehtuurimigraatio k\u00e4yt\u00e4nn\u00f6ss\u00e4 kannattaa tehd\u00e4. Yksityisen pilven migraatiossa koestettiin uudelleensijoitus menetelm\u00e4ll\u00e4 Java sovelluksen vienti OpenShift alustalle, mit\u00e4 toimenpiteit\u00e4 se vaatii ja miten alusta palvelee sovelluk-sen uudelleensijoitusta.\nMikropalvelu-arkkitehtuurista tarkasteltiin palveluihin jakamista, sek\u00e4 uuskehitys- ett\u00e4 migraatioprojektissa. Miten mikropalvelujen my\u00f6t\u00e4 tulevat rajapinnat kannattaa suunnitella, mitk\u00e4 ovat niiden tehokkaat k\u00e4ytt\u00f6tavat ja miten rajapintojen versiointi hoidetaan. Transaktion hallintaan perehdyttiin eri suunnittelumallien kautta. Erityisesti tarkasteltiin miten yll\u00e4pidossa olevien j\u00e4rjestelmien migraatio mikropalvelu-arkkitehtuuriin kannattaa tehd\u00e4. Java sovelluksen migraatioon liittyen selvitettiin OpenShift alustan keskeiset resurssit ja miten kokonaisuus toimii sovellusten k\u00e4ytt\u00f6\u00f6notossa alustalle.\nTutkimuksessa havaittiin, ett\u00e4 mikropalvelujen jakamisessa DDD-malli on yleinen ja se soveltuu hyvin pohjaksi, kun palveluita jaetaan pienempiin osiin. Rajapintojen kommunikaatio tyypeiss\u00e4 asynkroninen tapa tuottaa paremman l\u00f6yh\u00e4n liitoksen mutta on ty\u00f6l\u00e4\u00e4mpi toteuttaa verrattuna synkroniseen kommunikaatioon. Vanhojen j\u00e4rjestelmien migraatiossa painottui inkrementaalisuus ja kuristusmallin k\u00e4ytt\u00f6. Pilveen migraatiossa havaittiin, ett\u00e4 mikropalvelu arkkitehtuuri on optimaalisin mutta my\u00f6s uudelleensijoitus-strategialla voidaan saavuttaa konekapasiteetin k\u00e4ytt\u00f6aste hy\u00f6tyj\u00e4. OpenShift alustan k\u00e4ytt\u00f6 osoittautui perehtymist\u00e4 vaativaksi, mutta alusta ominaisuuksiltaan kattavaksi. Kokemusten pohjalta alustan k\u00e4ytt\u00f6\u00f6n voi suhtautua luottavaisesti, vaikkakin lis\u00e4tutkimusta aiheesta tarvitaan erityisesti vikatilanteista toipumisen ja suorituskyvyn osalta.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "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.\nThe 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\u2019s 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.\nThe 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. \nThe 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\u2019s domain especially in failover and performance testing areas.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2020-11-30T12:02:06Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2020-11-30T12:02:06Z (GMT). No. of bitstreams: 0\n Previous issue date: 2020", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "73", "language": "", "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": "fin", "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": "mikropalvelut", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "docker", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "openshift", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Java sovelluksen migraatio yksityisen pilveen", "language": "", "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-202011306841", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietoj\u00e4rjestelm\u00e4tiede", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Information Systems Science", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.collaborator", "value": "public", "language": "", "element": "contractresearch", "qualifier": "collaborator", "schema": "yvv"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "yvv.contractresearch.initiative", "value": "student", "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": null, "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": "", "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "pilvipalvelut", "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"}]
|