Mikropalveluarkkitehtuurin käyttäminen pilvipalvelussa
Leskinen, Antti (2019)
Leskinen, Antti
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019052111007
https://urn.fi/URN:NBN:fi:amk-2019052111007
Tiivistelmä
Perinteisesti sovellukset tehdään yhtenä kokonaisuutena. Tätä kokonaisuutta kutsutaan monoliittiseksi arkkitehtuuriksi. Monoliittisessa arkkitehtuurissa yksi virhe sovelluksessa voi estää koko sovelluksen toiminnan.
Mikropalveluarkkitehtuurissa sovellus tehdään monen itsenäisen palvelun avulla. Mikropalveluarkkitehtuurilla pyritään minimoimaan monoliittisen arkkitehtuurin ongelmaa, sillä mikropalveluarkkitehtuurissa virheen sattuessa se vaikuttaa vain kyseiseen palveluun koko sovelluksen sijasta, jolloin muu sovellus jatkaa toimintaansa normaalisti. Mikropalveluarkkitehtuurissa pitää ottaa huomioon sovelluksen eri osien vaikutuksia kokonaisuuteen ennen käyttöönottoa.
Opinnäytetyön tarkoitus on kertoa, mitä teknologioita ja sovelluksia voidaan käyttää mikropalvelua tehtäessä. Olennaisina asioina ovat konttiteknologia ja pilvipalvelut. Konttiteknologia on kasvattanut Dockerin myötä suosiota ja helpottaa mikropalvelujen tekemistä sijoittamalla sovelluksen osat hallittaviin itsenäisiin kontteihin. Lisäksi opinnäytetyön tavoitteena on tehdä toimiva yksinkertainen sovellus hyödyntäen konttiteknologiaa, Azure-pilvipalvelua sekä Kubernetes-kontinhallinta-alustaa. Azure-pilvipalvelu helpottaa mikropalveluarkkitehtuurin tekemistä hallitsemalla mikropalvelujen resursseja, joista maksetaan vain käytön mukaan.
Opinnäytetyön tuloksena on kokonaisuus mikropalveluarkkitehtuurin käytöstä ja huomioitavista asioista mikropalveluarkkitehtuurin käyttöönotossa. Tuloksena kehitettiin toimiva mikropalvelu, joka integroitiin Azure-pilvipalveluun onnistuneesti ja jota kutsuttiin julkisesti internetosoitteen avulla. Applications are created traditionally as one wholeness. This wholeness is called monolithic architecture. In the monolithic architecture, one mistake in the application can prevent the operation of the whole application. On the contrary, application architecture in microservices is created with the help of many independent services. Microservices architecture attempts to minimise the problem of the monolithic architecture because when a mistake happens in the microservices architecture, it will affect only the service in question whilethe rest of the application continues its operation normally. In the microservices architecture, the impact of the independent services to the wholeness of the application must be planned before implementation.
The purpose of the thesis was to investigate what technologies and applications can be used when creating a microservice. The essential matters are container technology and cloud services. The container technology expanded in popularity with the usage of Docker and facilitates the microservices by placing parts of the application in independent containers to be commanded. The Azure cloud service facilitates the microservices architecture by controlling the resources of the microservices which are paid only according to the usage. The company does not need to buy expensive resources such as servers for its own use.
The objective of the thesis was to make a functional simple application utilising container technology, Azure cloud service and Kubernetes container management. For the theoretical part of the thesis, the material was collected from numerous internet sources.
The objective of the thesis was achieved. The functional microservice was developed as a result and was successfully integrated into the Azure cloud service and it was publicly called from an Internet address.
Mikropalveluarkkitehtuurissa sovellus tehdään monen itsenäisen palvelun avulla. Mikropalveluarkkitehtuurilla pyritään minimoimaan monoliittisen arkkitehtuurin ongelmaa, sillä mikropalveluarkkitehtuurissa virheen sattuessa se vaikuttaa vain kyseiseen palveluun koko sovelluksen sijasta, jolloin muu sovellus jatkaa toimintaansa normaalisti. Mikropalveluarkkitehtuurissa pitää ottaa huomioon sovelluksen eri osien vaikutuksia kokonaisuuteen ennen käyttöönottoa.
Opinnäytetyön tarkoitus on kertoa, mitä teknologioita ja sovelluksia voidaan käyttää mikropalvelua tehtäessä. Olennaisina asioina ovat konttiteknologia ja pilvipalvelut. Konttiteknologia on kasvattanut Dockerin myötä suosiota ja helpottaa mikropalvelujen tekemistä sijoittamalla sovelluksen osat hallittaviin itsenäisiin kontteihin. Lisäksi opinnäytetyön tavoitteena on tehdä toimiva yksinkertainen sovellus hyödyntäen konttiteknologiaa, Azure-pilvipalvelua sekä Kubernetes-kontinhallinta-alustaa. Azure-pilvipalvelu helpottaa mikropalveluarkkitehtuurin tekemistä hallitsemalla mikropalvelujen resursseja, joista maksetaan vain käytön mukaan.
Opinnäytetyön tuloksena on kokonaisuus mikropalveluarkkitehtuurin käytöstä ja huomioitavista asioista mikropalveluarkkitehtuurin käyttöönotossa. Tuloksena kehitettiin toimiva mikropalvelu, joka integroitiin Azure-pilvipalveluun onnistuneesti ja jota kutsuttiin julkisesti internetosoitteen avulla.
The purpose of the thesis was to investigate what technologies and applications can be used when creating a microservice. The essential matters are container technology and cloud services. The container technology expanded in popularity with the usage of Docker and facilitates the microservices by placing parts of the application in independent containers to be commanded. The Azure cloud service facilitates the microservices architecture by controlling the resources of the microservices which are paid only according to the usage. The company does not need to buy expensive resources such as servers for its own use.
The objective of the thesis was to make a functional simple application utilising container technology, Azure cloud service and Kubernetes container management. For the theoretical part of the thesis, the material was collected from numerous internet sources.
The objective of the thesis was achieved. The functional microservice was developed as a result and was successfully integrated into the Azure cloud service and it was publicly called from an Internet address.