Verkkokaupan arkkitehtuurisuunnitelma mikropalveluna
Pekkanen, Tuomas (2020)
Pekkanen, Tuomas
2020
Tieto- ja sähkötekniikan kandidaattiohjelma - Degree Programme in Computing and Electrical Engineering, BSc (Tech)
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-05-19
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202005125235
https://urn.fi/URN:NBN:fi:tuni-202005125235
Tiivistelmä
Tutkielmassa esitellään mikropalveluarkkitehtuuri ja sen hyödyt ohjelmistokehityksessä. Mikropalvelut ovat itsenäisiä verkkopyynnöillä toisilleen keskustelevia ohjelmiston komponentteja, joiden päätarkoitus on jakaa ohjelmisto pienempiin osakokonaisuuksiin.
Mikropalveluiden etuja on niiden skaalautuvuus, vapaus toteutustekniikoissa sekä oikein toteutettuna parempi vikasietoisuus.
Mikropalveluiden tueksi esitellään työkalut Docker ja Microsoft Azure Service Fabric, jotka toimivat mikropalveluiden ajoympäristönä. Docker on konttiteknologia, joka luo ajoympäristön sovelluksille, eli tässä tapauksessa mikropalveluille. Docker mahdollistaa ohjelman vaatimien riippuvuuksien hallitsemista asentamatta niitä isäntäkoneelle. Microsoft Azure Service Fabric on pilvipalvelualusta, joka tarjoaa palvelinresursseja mikropalveluiden ja Docker konttien ajamiseen. Service Fabric esitetään työssä tekijänä, joka lisää vikasietoisuutta automaattisella mikropalveluiden skaalaamisellaan sekä viallisen mikropalvelun korvaamisella toimivalla vikatilanteissa.
Mikropalveluarkkitehtuuria sovelletaan verkkokaupalle, joka haluaa toimia kustannustehokkaasti useassa eri maanosassa. Verkkokaupan vaatimuksiksi esitetään eri toiminnallisuuksia, joidenka perusteella luodaan mikropalvelut verkkokaupalle. Luodut mikropalvelut ovat tilauskäsittelijä, tuotevalikoima, tuotevarasto, mainospalvelu ja asiakasprofiilit. Arkkitehtuurin teknistä puolta ja sen vaikutuksia tutkitaan etenkin ajoympäristön ja tietokantojen osalta. Service Fabric todetaan hyväksi vaihtoehdoksi sen tarjoamien mikropalveluiden hallintatyökalujen, kattavan palvelinvalikoiman sekä jatkuvan päivitysominaisuutensa vuoksi. Jokaisella mikropalvelulla on oma tietokantansa yhden yhteisen mikropalveluiden välisen tietokannan sijaan. Yhteinen tietokanta loisi riippuvuuksia mikropalveluiden välille, joka vaikeuttaisi ohjelmiston skaalausta sekä hidastaisi sen kehittämistä. Mikropalveluilla on etuna lisäksi niiden teknologiariippumattomuus. Verkkokaupan mikropalveluista etenkin tuotevarasto on tehokriittinen, ja voidaan toteuttaa tehokkaalla ohjelmointikielellä kuten C++, vaikka muut mikropalvelut käyttäisivätkin toisia teknologiaratkaisuita.
Mikropalveluiden etuja on niiden skaalautuvuus, vapaus toteutustekniikoissa sekä oikein toteutettuna parempi vikasietoisuus.
Mikropalveluiden tueksi esitellään työkalut Docker ja Microsoft Azure Service Fabric, jotka toimivat mikropalveluiden ajoympäristönä. Docker on konttiteknologia, joka luo ajoympäristön sovelluksille, eli tässä tapauksessa mikropalveluille. Docker mahdollistaa ohjelman vaatimien riippuvuuksien hallitsemista asentamatta niitä isäntäkoneelle. Microsoft Azure Service Fabric on pilvipalvelualusta, joka tarjoaa palvelinresursseja mikropalveluiden ja Docker konttien ajamiseen. Service Fabric esitetään työssä tekijänä, joka lisää vikasietoisuutta automaattisella mikropalveluiden skaalaamisellaan sekä viallisen mikropalvelun korvaamisella toimivalla vikatilanteissa.
Mikropalveluarkkitehtuuria sovelletaan verkkokaupalle, joka haluaa toimia kustannustehokkaasti useassa eri maanosassa. Verkkokaupan vaatimuksiksi esitetään eri toiminnallisuuksia, joidenka perusteella luodaan mikropalvelut verkkokaupalle. Luodut mikropalvelut ovat tilauskäsittelijä, tuotevalikoima, tuotevarasto, mainospalvelu ja asiakasprofiilit. Arkkitehtuurin teknistä puolta ja sen vaikutuksia tutkitaan etenkin ajoympäristön ja tietokantojen osalta. Service Fabric todetaan hyväksi vaihtoehdoksi sen tarjoamien mikropalveluiden hallintatyökalujen, kattavan palvelinvalikoiman sekä jatkuvan päivitysominaisuutensa vuoksi. Jokaisella mikropalvelulla on oma tietokantansa yhden yhteisen mikropalveluiden välisen tietokannan sijaan. Yhteinen tietokanta loisi riippuvuuksia mikropalveluiden välille, joka vaikeuttaisi ohjelmiston skaalausta sekä hidastaisi sen kehittämistä. Mikropalveluilla on etuna lisäksi niiden teknologiariippumattomuus. Verkkokaupan mikropalveluista etenkin tuotevarasto on tehokriittinen, ja voidaan toteuttaa tehokkaalla ohjelmointikielellä kuten C++, vaikka muut mikropalvelut käyttäisivätkin toisia teknologiaratkaisuita.
Kokoelmat
- Kandidaatintutkielmat [8452]