Engineering of Business Critical Web Applications
Tikka, Sami (2010)
Diplomityö
Tikka, Sami
2010
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe201006031951
https://urn.fi/URN:NBN:fi-fe201006031951
Tiivistelmä
Research focus of this thesis is to explore options for building systems for business critical web applications. Business criticality here includes requirements for data protection and system availability. The focus is on open source software. Goals are to identify robust technologies and engineering practices to implement such systems.
Research methods include experiments made with sample systems built around chosen software packages that represent certain technologies. The main research focused on finding a good method for database data replication, a key functionality for high-availability, database-driven web applications. Research included also finding engineering best practices from books written by administrators of high traffic web applications.
Experiment with database replication showed, that block level synchronous replication offered by DRBD replication software offered considerably more robust data protection and high-availability functionality compared to leading open source database product MySQL, and its built-in asynchronous replication. For master-master database setups, block level replication is more recommended way to build high-availability into the system.
Based on thesis research, building high-availability web applications is possible using a combination of open source software and engineering best practices for data protection, availability planning and scaling. Tämän diplomityön tutkimuskohde on liiketoimintakriittisten internet-sovellusten rakentamisessa. Liiketoimintakriittisellä sovelluksella tässä tarkoitetaan sovellusta, jolle asetetaan korkeita vaatimuksia tiedon suojaamisen ja järjestelmän yleisen saavutettavuuden suhteen. Tutkimuksen kohde on järjestelmän rakentaminen avoimen lähdekoodin sovellusten avulla. Tavoitteena on löytää robusteja tekniikoita ja parhaita käytäntöjä tällaisten järjestelmien rakentamiseen.
Käytännön tutkimusta tehdään kokeilla, joissa rakennetaan testausympäristöjä valittuja tekniikoita edustavien ohjelmistopakettien testausta varten. Päätutkimuskohde oli löytää hyvä ja robusti menetelmä tietokantareplikaation toteuttamiseen. Tietokantareplikaatio näyttelee keskeistä osaa korkean tavoitettavuuden internet-sovelluksissa, jotka nojaavat tietokantaan tiedon varastoinnissa. Yksi tutkimuskohde on myös parhaiden käytäntöjen etsiminen alan kirjallisuudesta. Kirjallisuudessa nojaudutaan suuriliikenteisten internet-sovellusten ylläpitäjien kirjoittamiin kirjoihin.
Tietokantareplikaatiokokeet osoittivat, että DRBD –ohjelmiston tarjoama synkroninen replikaatio, joka toimii kiintolevyn ja tiedostojärjestelmän välissä, antaa sekä huomattavasti paremman suojan datalle, että mahdollistaa korkean saavutettavuuden järjestelmien paremman toiminnan, kuin käytettäessä MySQL-kannan omaa replikaatiota, joka toimii asynkronisesti. DRBD on suositeltavampi tapa toteuttaa replikaatio kahden master-tietokannan välillä.
Tämän diplomityön tutkimusten perusteella korkean saavutettavuuden internet-sovellusten rakentaminen on sekä mahdollista että järkevää avoimen lähdekoodin sovellusten avulla. Lisäksi tarvitaan parhaita käytäntöjä tietojen turvaamiseksi, saatavuuden varmistamiseksi sekä sovelluksen skaalatuvuuden varmistamiseksi.
Research methods include experiments made with sample systems built around chosen software packages that represent certain technologies. The main research focused on finding a good method for database data replication, a key functionality for high-availability, database-driven web applications. Research included also finding engineering best practices from books written by administrators of high traffic web applications.
Experiment with database replication showed, that block level synchronous replication offered by DRBD replication software offered considerably more robust data protection and high-availability functionality compared to leading open source database product MySQL, and its built-in asynchronous replication. For master-master database setups, block level replication is more recommended way to build high-availability into the system.
Based on thesis research, building high-availability web applications is possible using a combination of open source software and engineering best practices for data protection, availability planning and scaling.
Käytännön tutkimusta tehdään kokeilla, joissa rakennetaan testausympäristöjä valittuja tekniikoita edustavien ohjelmistopakettien testausta varten. Päätutkimuskohde oli löytää hyvä ja robusti menetelmä tietokantareplikaation toteuttamiseen. Tietokantareplikaatio näyttelee keskeistä osaa korkean tavoitettavuuden internet-sovelluksissa, jotka nojaavat tietokantaan tiedon varastoinnissa. Yksi tutkimuskohde on myös parhaiden käytäntöjen etsiminen alan kirjallisuudesta. Kirjallisuudessa nojaudutaan suuriliikenteisten internet-sovellusten ylläpitäjien kirjoittamiin kirjoihin.
Tietokantareplikaatiokokeet osoittivat, että DRBD –ohjelmiston tarjoama synkroninen replikaatio, joka toimii kiintolevyn ja tiedostojärjestelmän välissä, antaa sekä huomattavasti paremman suojan datalle, että mahdollistaa korkean saavutettavuuden järjestelmien paremman toiminnan, kuin käytettäessä MySQL-kannan omaa replikaatiota, joka toimii asynkronisesti. DRBD on suositeltavampi tapa toteuttaa replikaatio kahden master-tietokannan välillä.
Tämän diplomityön tutkimusten perusteella korkean saavutettavuuden internet-sovellusten rakentaminen on sekä mahdollista että järkevää avoimen lähdekoodin sovellusten avulla. Lisäksi tarvitaan parhaita käytäntöjä tietojen turvaamiseksi, saatavuuden varmistamiseksi sekä sovelluksen skaalatuvuuden varmistamiseksi.