Containerization and Cloud Migration of Legacy Web Services

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2020-06-16
Department
Major/Subject
Computer Science
Mcode
SCI3042
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
50
Series
Abstract
A research group has multiple web services running on an outdated server hardware. Many of the services are old and not actively developed anymore and also often depend on outdated software, which is problematic from the security point of view. It is time to decommission the old hardware and therefore the services needs to be migrated onto a more modern platform. While migrating away from the old servers, we want to make the services easier for the research group to maintain and improve security where possible. Containerization technologies are an increasingly popular way to build, package and deploy software. Containers provide a convenient way to package software along with it dependencies to be easily run across different computers and operating systems. While being more lightweight than virtual machines, containers provide a layer of isolation between services running on a same host. Containerized services can be hosted on a cloud container platforms such as Kubernetes or OpenShift. In this thesis work, multiple existing web services built on top of varying techonologies are containerized. The containerized services are then deployed onto an OpenShift cloud container platform. We see how containerization can lead to better maintainability and security of olded services. Containerization provides a layer of isolation between the services improving security and makes it easier to deploy them on different plaftorms if needed. The OpenShift platform provides container orchestration and tools for automating builds and deployment, which we utilize to make sure that the services and their dependencies are always kept upt-do-date.

Tutkimusryhmällä on useita verkkopalveluita, joita ajetaan vanhentuneella, paikallisella palvelinalustalla. Monet näistä palveluista eivät ole enää aktiivisessa kehityksessä. Useat palveluista ovat riippuvaisia vanhoista ohjelmistoversioista, joka on ongelmallista palveluiden turvallisuuden kannalta. Vanhat palvelimet on tarkoitus poistaa käytöstä, ja palvelut tulee siirtää uudelle alustalle. Siirron yhteydessä haluamme tehdä palveluiste tutkimusryhmälle helpompia ylläpitää sekä parantaa palveluiden turvallisuutta, mikäli mahdollista. Kontainerisointi on suosittu tapa rakentaa, paketoida ja ajaa ohjelmistoja. Kontainerit mahdollistavat ohjelmiston ja sen riippuvuuksien sisällyttämisen samaan pakettiin, tehden ohjelmiston ajamisesta eri alustoilla ja käyttöjärjestelmillä helppoa. Kontainerit ovat kevyempiä kuin perinteiset virtuaalikoneet, mutta eristävät kuitenkin samassa ympäristössä ajettavat ohjelmistot toisistaan. Kontainerisoituja palveluita voidaan ajaa pilvikontaineriympäristöissä, kuten Kubernetes ja OpenShift. Tässä diplomityössä kontainerisoimme useita eri teknologioihin perustuvia verkkopalveluita. Kontainerisoidut palvelut viedään OpenShift -pilvikontaineralustalle. Näemme, kuinka kontainerisointi voi parantaa verkkopalveluiden ylläpidettävyyttä ja turvallisuutta. OpenShift -alusta huolehtii kontainereiden orkestroinnista sekä tarjoaa meille työkalut kontainereiden luonnin ja ajamisen automatisointiin. Hyödynnämme tätä palveluiden ja niiden ohjelmistoriippuvuuksien automaattiseen päivitykseen.
Description
Supervisor
Hirvisalo, Vesa
Thesis advisor
Kotimäki, Jaakko
Hakala, Mikko
Keywords
containerization, cloud computing, migration, openshift
Other note
Citation