Designing a highly available and scalable cloud architecture for a web application
Huoponen, Janetta (2022)
Diplomityö
Huoponen, Janetta
2022
School of Engineering Science, Tietotekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2022040827759
https://urn.fi/URN:NBN:fi-fe2022040827759
Tiivistelmä
Today, the highly competitive software industry sets high expectations for modern web applications, including scalability and availability. Being able to scale allows a web application to adapt to an increasing number of users on the application simultaneously, whereas availability allows the application to continue functioning after a component failure. Successful cloud architecture is designed with these principles in mind. The purpose of this thesis is to study how to design a highly available and scalable cloud architecture for a web application. The architecture is designed, demonstrated, and analyzed obeying a design science research method. The architecture is done by following the well-architected framework and interviewing experts in architectural cloud design. The most significant finding of this thesis is that the designed cloud architecture and its components enabled high availability and scalability capabilities for the web application used for demonstration purposes. Tänä päivänä ohjelmistotuotanto ja alalla vallitseva kilpailu asettavat web-sovelluksille korkeat vaatimukset. Skaalautuvuutta voidaan pitää yhtenä tärkeimpänä avaintekijänä websovelluksen menestymisessä. Sen avulla voidaan varautua ja vastata merkittävien samanaikaisten käyttäjämäärien kasvuun automaattisesti. Lisäksi web-sovellus on suunniteltava saatavuusnäkökulma huomioiden. Tällä varmistetaan, että yhden tai useamman palvelun häiriöllä ei ole vaikutusta web-sovelluksen saatavuuteen. Tämän diplomityön tavoitteena oli tutkia, kuinka suunnitellaan korkeasti saatavan ja skaalautuvan web-sovelluksen pilviarkkitehtuuri. Pilviarkkitehtuuri suunniteltiin, havainnollistettiin ja analysoitiin noudattaen suunnittelutieteellisen tutkimuksen menetelmää. Pilviarkkitehtuuri toteutettiin hyödyntämällä teoreettista viitekehystä ja pilviarkkitehtuuriin erikoistuvien asiantuntijoiden näkemyksiä. Työn merkittävimpänä havaintona ja tuloksena voidaan pitää suunnitellun pilviarkkitehtuurin ja sen sisältämien komponenttien mahdollistavan korkean saatavuuden ja skaalautuvuuden esimerkkisovellukselle.