30 research outputs found
Availability in mobile application in IaaS cloud
Deploying software system into IaaS cloud takes infrastructure out of user's control, which diminishes visibility and changes system administration.
Service outages of infrastructure services and other risks to availability have caused concern for early users of cloud.
In this thesis existing web application, which is deployed in IaaS cloud, was evaluated for availability.
Whole spectrum of different cloud related incidents that compromises provided service was examined.
General view from availability point of view of the case Internet service was formed based on interviews.
Big cloud service providers have service level agreements effective and long cloud outages are rare events.
Cloud service providers build mutually independent domains or zones into infrastructure.
Internet availability is largely determinative of users' perceived performance of site.
Using multiple cloud service providers is a solution to cloud service unavailability.
Case company had discovered requirements for availability and sufficiently prevented threats.
Case company was satisfied in cloud services and there is no need to withdraw from cloud.
User is a significant threat to the dependability of system, but there are no definite means to prevent user from damaging system.
Taking routinely and regularly backups of data outside the cloud is the core activity in IT crisis preparedness.
Application architecture was evaluated and found satisfactory.
Software system contains managed database service and load balancer as an advanced feature from IaaS provider.
Both services give crucial support for the availability of the system.
Examined system has conceptually simple stateless recovery.Ohjelmiston käyttö IaaS -pilvessä saattaa infrastruktuurin käyttäjän kontrollin ulottumattomiin, mikä heikentää näkyvyyttä ja muuttaa järjestelmän hallintaa.
Palvelukatkot infrastruktuuripalveluissa ja muut riskit saatavuudelle ovat aiheuttaneet varovaisuutta pilvipalveluiden varhaisissa käyttäjissä.
Tässä diplomityössä evaluoitiin olemassa olevan ja IaaS -pilvessä käytettävän web-sovelluksen saatavuutta.
Kokonainen kirjo erilaisia pilveen liittyviä tapahtumia, jotka keskeyttävät tarjotun palvelun, tutkittiin.
Yleiskuva saatavuuden näkökulmasta katsottuna muodostettiin haastattelujen pohjalta.
Suurilla pilvipalveluiden tarjoajilla on voimassa olevat palvelutasosopimukset ja pitkät palvelukatkot ovat harvinaisia tapahtumia.
Pilvipalveluiden tarjoajat rakentavat infrastruktuuriin toisistaan riippumattomasti toimivia alueita.
Suurelta osalta määräävä tekijä käyttäjien kokeman sivuston suorituskyvyn kannalta on Internetin kautta palveluun liittymisen saatavuus.
Useamman pilvipalvelun tarjoajan käyttäminen on ratkaisu pilvipalvelun saatavuuteen.
Case-yritys oli löytänyt vaatimukset saatavuudelle ja riittävällä tavalla estänyt riskien toteutumisen.
Case-yritys oli tyytyväinen pilvipalveluihin ja pilvestä pois vetäytymiselle ei ole tarvetta.
Käyttäjä on merkittävä riski järjestelmän luotettavuudelle, mutta ei ole varmoja tapoja estää käyttäjää vahingoittamasta järjestelmää.
Keskeinen toiminto tietotekniseen kriisiin varautumisessa on rutiininomainen ja säännöllinen varmuuskopioiden teko.
Sovelluksen arkkitehtuuria evaluoitiin ja se havaittiin tarpeita vastaavaksi.
Ohjelmistojärjestelmä sisältää palveluntarjoajan ylläpitämän tietokantapalvelun ja web-palvelimien tietoliikenteen kuorman tasaajan IaaS -palvelun edistyneinä ominaisuuksina.
Molemmat palvelut tukevat ratkaisevasti järjestelmän saatavuutta.
Tarkastellussa järjestelmässä on käsitteellisesti yksinkertainen tilaton järjestelmän palautuminen
Dependable IPTV Hosting
This research focuses on the challenges of hosting 3rd party RESTful applications that have
to meet specific dependability standards. To provide a proof of concept I have implemented
an architecture and framework for the use case of internet protocol television. Delivering TV
services via internet protocols over high-speed connections is commonly referred to as IPTV
(internet protocol television). Similar to the app-stores of smartphones, IPTV platforms enable
the emergence of IPTV services in which 3rd party developers provide services to consumer
that add value to the IPTV experience. A key issue in the IPTV ecosystem is that currently
telecommunications IPTV providers do not have a system that allows 3rd party developers
to create applications that meet their standards. The main challenges are that the 3rd party
applications must be dependable, scalable and adhere to service level agreements. This research
provides an architecture and framework to overcome these challenges
Survey of NoSQL Database Engines for Big Data
Cloud computing is a paradigm shift that provides computing over Internet. With growing outreach of Internet in the lives of people, everyday large volume of data is generated from different sources such as cellphones, electronic gadgets, e-commerce transactions, social media, and sensors. Eventually, the size of generated data is so large that it is also referred as Big Data. Companies harvesting business opportunities in digital world need to invest their budget and time to scale their IT infrastructure for the expansion of their businesses. The traditional relational databases have limitations in scaling for large Internet scale distributed systems. To store rapidly expanding high volume Big Data efficiently, NoSQL data stores have been developed as an alternative solution to the relational databases.
The purpose of this thesis is to provide a holistic overview of different NoSQL data stores. We cover different fundamental principles supporting the NoSQL data store development. Many NoSQL data stores have specific and exclusive features and properties. They also differ in their architecture, data model, storage system, and fault tolerance abilities. This thesis describes different aspects of few NoSQL data stores in detail.
The thesis also covers the experiments to evaluate and compare the performance of different NoSQL data stores on a distributed cluster. In the scope of this thesis, HBase, Cassandra, MongoDB, and Riak are four NoSQL data stores selected for the benchmarking experiments
Data De-Duplication in NoSQL Databases
With the popularity and expansion of Cloud Computing, NoSQL databases (DBs) are becoming the preferred choice of storing data in the Cloud. Because they are highly de-normalized, these DBs tend to store significant amounts of redundant data. Data de-duplication (DD) has an important role in reducing storage consumption to make it affordable to manage in today’s explosive data growth. Numerous DD methodologies like chunking and, delta encoding are available today to optimize the use of storage. These technologies approach DD at file and/or sub-file level but this approach has never been optimal for NoSQL DBs.
This research proposes data De-Duplication in NoSQL Databases (DDNSDB) which makes use of a DD approach at a higher level of abstraction, namely at the DB level. It makes use of the structural information about the data (metadata) exploiting its granularity to identify and remove duplicates. The main goals of this research are: to maximally reduce the amount of duplicates in one type of NoSQL DBs, namely the key-value store, to maximally increase the process performance such that the backup window is marginally affected, and to design with horizontal scaling in mind such that it would run on a Cloud Platform competitively. Additionally, this research presents an analysis of the various types of NoSQL DBs (such as key-value, tabular/columnar, and document DBs) to understand their data model required for the design and implementation of DDNSDB.
Primary experiments have demonstrated that DDNSDB can further reduce the NoSQL DB storage space compared with current archiving methods (from 17% to near 69% as more structural information is available). Also, by following an optimized adapted MapReduce architecture, DDNSDB proves to have competitive performance advantage in a horizontal scaling cloud environment compared with a vertical scaling environment (from 28.8 milliseconds to 34.9 milliseconds as the number of parallel Virtual Machines grows)
Computing Clouds as a Part of Service-Oriented Architecture
U istraživačkom fokusu ovog rada su komercijalni računalni oblaci. Provedena su mjerenja
radi određivanja trajanja izvođenja aplikacije u oblaku te uspoređeni tehnički i ekonomski
uvjeti njezinog izvođenja u oblaku s uvjetima izvođenja na vlastitim računalnim resursima.
Povezivanjem rezultata vlastitih istraživanja s radovima drugih istraživača razvijena je
metodika korištenja oblačnog računarstva. Tekst disertacije organiziran je na sljedeći način.
U prvom poglavlju izrečena je motivacija, objašnjena znanstvena i društvena opravdanost
istraživanja, postavljeni su ciljevi rada, definirane istraživačke hipoteze te opisane metode i
tehnike koje će se koristiti u istraživanju. U drugom poglavlju definirana je taksonomija
oblačnog računarstva te opisana funkcionalna i uporabna svojstva računalnih oblaka.
U trećem poglavlju opisane su tehnologije na kojima se zasniva oblačno računarstvo, s
posebnim naglaskom na virtualizaciju i servisnu paradigmu korištenja. Izvedena je definicija
oblačnog računarstva, opisana fizička realizacija računalnih oblaka, naznačene su moguće
ekonomske i tehničke prednosti njihovog korištenja te tržišni potencijali. Četvrto poglavlje
opisuje ekonomske aspekte uporabe računalnih oblaka, napose elastičnost i optimalnu
nabavu. Formulirani su temelji ekonomike oblačnog računarstva i kratko analizirane neke
aktualne komercijalne ponude. Definirane su varijable za opis svojstava složene aplikacije
(pogodne za izvođenje u oblaku ili na vlastitim računalima) te postavljen koncept za mjerenje
utjecaja tih varijabli na trajanje i troškove izvođenja aplikacije u oblaku.
Rezultati opsežnih mjerenja performansi ogledne aplikacije smještene u oblaku obrađeni su
u petom poglavlju. Matematičkom obradom rezultata mjerenja utvrđena je zavisnost vremena
izvođenja aplikacije To nezavisnim varijablama koje opisuju njezino izvođenje na računalnim
resursima te je tako dokazana druga hipoteza koja se odnosi na razvoj višedimenzionalne
metrike potreba za računalnim servisima iz računalnog oblaka.
U šestom poglavlju postavljen je općeniti postupak (temeljen na metrici iz petog poglavlja te
radovima E. Walkera) kojim je moguće objektivno procijeniti da li je isplativije neku aplikaciju
pokretati u računalnom oblaku ili na vlastitim računalnim resursima. Razvijen je algoritam za
odlučivanje o kupnji ili najmu, temeljen na integraciji saznanja iz prethodnih poglavlja.
U sedmom poglavlju sistematizirani su postupci za projektiranje hibridnog informacijskog
sustava koji ima barem neke komponente smještene u oblaku. Ovi su postupci oblikovani u
metodiku korištenja oblačnog računarstva (KOR). Pokazano je da se koncepti SOA i
oblačnog računarstva temelje na istim komunikacijskim tehnologijama i komplementarnim
paradigmama njihovog korištenja. Metodika KOR daje smjernice o tome kako i pod kojim
uvjetima se SOA može uklopiti u računalni oblak.
VII
U disertaciji su postavljene dvije temeljne hipoteze:
H1: Metodika razvoja hibridnih SOA rješenja može se izgraditi temeljem normiranih
metoda i tehnika za modeliranje, usklađivanje i opisivanje poslovnih procesa.
H2: Moguće je postaviti višedimenzionalnu metriku potreba za računalnim resursima
SOA servisa prije njihove izgradnje te stvarnih performansi nakon njihove izgradnje.
Korištenje takve metrike će povećati sigurnost pri odlučivanju o tome treba li neki
servis stalno ili povremeno pokretati u računalnom oblaku.
Istraživanje obuhvaćeno ovom disertacijom provedeno je slijedeći način:
1) Izabrana je ogledna aplikacija koja dobro aproksimira svojstva većine poslovnih aplikacija.
Utvrđeno je 6 parametra koji definiraju način izvođenja aplikacije u oblaku ili na privatnim
računalima, a za koje se pretpostavlja da utječu na vrijeme izvođenja aplikacije. Aplikacijski
parametri su složenost algoritma a i broj CRUD akcija po upitu q. Podatkovni parametri su
opseg podataka koji se šalje u oblak radi obrade u te veličina baze podataka b. Potrebe za
računalnim resursima određuju broj r i snaga računala p. Istraživanje je izvedeno tako da je
tipska aplikacija preuređena za izvođenje u oblaku te je vrijeme njezinog izvođenja T (za
razne vrijednosti parametara) uspoređeno s vremenom TORG kojeg očekuje korisnik u radu s
aplikacijom. Tipska aplikacija je namijenjena prepoznavanju oblika i koristi se za identifikaciju
osobe usporedbom njezine aktualne fotografije s više slika iz baze podataka. Aplikacijski i
podatkovni parametri mogu se mijenjati u potrebnim granicama, a resursni parametri se
odabiru kod izvedbe aplikacije u oblaku. Tako su ostvareni uvjeti za mjerenje T u zavisnosti o
izazvanim promjenama 6 ispitivanih parametara, uz isključene utjecaje slučajnih varijabli.
2) Da bi se odredio matematički model za opis performansi tipske aplikacije, izvedeno je 16
mjerenja prema višefaktorskom parcijalnom planu pokusa tipa 2^(6-2). Rezultati mjerenja su
obrađeni metodama multivarijantne analize te je na taj način određen matematički model za
izračun vremena izvođenja aplikacije u zavisnosti o 6 istraživanih parametara koji glasi:
T=0,631+14,993∙a+0,135∙u+0,702∙q-0,840∙r-2,160∙a∙r. Ustanovljeno je da su signifikantni
parametari a, u, q i r te dvofaktorne interakcije a i r. Dobiveni rezultati prikazani su grafički i
detaljno prodiskutirani, čime je dokazana hipoteza 2.
3) Razvijen je matematički model za izračun pune cijene vlasništva (TCO) oblačnog centra, a
njegova korektnost provjerena je proračunom troškova virtualnog podatkovnog centa i
usporedbom rezultata tog izračuna s dostupnim podacima o strukturi troškova više izvedenih
podatkovnih centara. Polazeći od radova E. Walkera razvijeni su matematičko-ekonomski
modeli za izračun troškova CPU vremena i troškova diskovnih resursa za pohranu podataka.
Prvim modelom, u kojem se računa s povećanjem računalne snage po Mooreovom zakonu,
pokazano je da trošak po jedinici procesorskog vremena zavisi o stupnju iskorištenosti
VIII
procesora. To upućuje na zaključak da je za tvrtke koje imaju vremenski promjenljive
zahtjeve, povoljnije unajmiti CPU vrijeme nego graditi vlastite serverske farme čiji kapacitet
mora zadovoljiti vršne zahtjeve. To vrijedi ako sigurnosni zahtjevi i političke okolnosti ne
ograničavaju takvo pribavljanje računalnih resursa. Drugi model, u kojem se računa s
empirijski potvrđenim smanjivanjem cijene memorija tijekom vremena, pokazuje da je najam
resursa za pohranu podataka dobra opcija za pojedine korisnike, a da je uvijek povoljniji za
mala i srednja poduzeća. Za organizacije s velikim podatkovnim potrebama je kupnja vlastitih
resursa za pohranu podataka povoljnija opcija od unajmljivanja jednako velikih resursa.
Oba modela omogućavaju investitoru uvid u rentabilnost ulaganja, a korisniku usporedbu
troškova najma potrebnih resursa prema troškovima vlasništva nad resursima iste snage.
Uz ta dva matematička modela, te sistematiziranu komercijalnu ponudu oblačnih poslužitelja,
izveden je algoritam odlučivanja o kupnji ili najmu. Korektnost algoritma provjerena je za tri
virtualne aplikacije. Za svaku od njih izračunati su troškovi, koje bi imao korisnik izvodeći ih
na računalnim resursima izabranih komercijalnih pružatelja ili na vlastitim resursima.
4) Kao sinteza istraživanja definirana je metodika KOR za uklapanje servisno orijentiranih
aplikacija u računalne oblake. Metodika je izvedena kao proces te je formalizirana po BPM
notaciji. Provodi se u 23 koraka te omogućuje objektiviziranje odluke o tome koje aplikacije
informacijskog sustava tvrtke ili ustanove je isplativo izvoditi u oblaku, za koje treba nabaviti
vlastite ICT resurse te kako sve to provesti na sistematičan način. Metodika KOR
primijenjena je u izgradnji tipske aplikacije te se pokazalo da može opisati postupke za razvoj
hibridnih aplikacija u oblaku. Budući da je metodika KOR provjerena kod pripreme tipske
aplikacije za izvođenje u oblaku, smatramo da je dokazana hipoteza 1.
Zaključno, ovom su disertacijom ostvareni su sljedeći znanstveni rezultati:
1. Postavljena je metrika za uspješno mjerenje aplikacijske potrebe za računalnim
resursima i diskovnim kapacitetom. Ta metrika je općenita i primjenljiva je na razne vrste
aplikacija koje se mogu izvoditi na različitim tehničkim platformama. Temelji se na
mjerenju vremena potrebnog da aplikacija obavi zadani posao, pri čemu je to vrijeme
ovisno o signifikantnim nezavisnim varijablama koje opisuju aplikaciju.
2. Razjašnjen je odnos između računalnih oblaka i drugih oblika naprednog računarstva te
pokazano da su računalni oblaci platforma na kojoj je moguće postaviti i koristiti servisno
orijentirana rješenja.
3. Razvijena je metodika KOR kojom je određen proces razvoja hibridnih informacijskih
sustava i omogućena kvantificirana procjena koje aplikacije informacijskog sustava tvrtke
ili ustanove je isplativo smjestiti u oblak, a za koje treba nabaviti vlastite ICT resurse.
Metodika uzima u obzir potrebu preoblikovanja već postojećih aplikacija u SOA servise
Computing Clouds as a Part of Service-Oriented Architecture
U istraživačkom fokusu ovog rada su komercijalni računalni oblaci. Provedena su mjerenja
radi određivanja trajanja izvođenja aplikacije u oblaku te uspoređeni tehnički i ekonomski
uvjeti njezinog izvođenja u oblaku s uvjetima izvođenja na vlastitim računalnim resursima.
Povezivanjem rezultata vlastitih istraživanja s radovima drugih istraživača razvijena je
metodika korištenja oblačnog računarstva. Tekst disertacije organiziran je na sljedeći način.
U prvom poglavlju izrečena je motivacija, objašnjena znanstvena i društvena opravdanost
istraživanja, postavljeni su ciljevi rada, definirane istraživačke hipoteze te opisane metode i
tehnike koje će se koristiti u istraživanju. U drugom poglavlju definirana je taksonomija
oblačnog računarstva te opisana funkcionalna i uporabna svojstva računalnih oblaka.
U trećem poglavlju opisane su tehnologije na kojima se zasniva oblačno računarstvo, s
posebnim naglaskom na virtualizaciju i servisnu paradigmu korištenja. Izvedena je definicija
oblačnog računarstva, opisana fizička realizacija računalnih oblaka, naznačene su moguće
ekonomske i tehničke prednosti njihovog korištenja te tržišni potencijali. Četvrto poglavlje
opisuje ekonomske aspekte uporabe računalnih oblaka, napose elastičnost i optimalnu
nabavu. Formulirani su temelji ekonomike oblačnog računarstva i kratko analizirane neke
aktualne komercijalne ponude. Definirane su varijable za opis svojstava složene aplikacije
(pogodne za izvođenje u oblaku ili na vlastitim računalima) te postavljen koncept za mjerenje
utjecaja tih varijabli na trajanje i troškove izvođenja aplikacije u oblaku.
Rezultati opsežnih mjerenja performansi ogledne aplikacije smještene u oblaku obrađeni su
u petom poglavlju. Matematičkom obradom rezultata mjerenja utvrđena je zavisnost vremena
izvođenja aplikacije To nezavisnim varijablama koje opisuju njezino izvođenje na računalnim
resursima te je tako dokazana druga hipoteza koja se odnosi na razvoj višedimenzionalne
metrike potreba za računalnim servisima iz računalnog oblaka.
U šestom poglavlju postavljen je općeniti postupak (temeljen na metrici iz petog poglavlja te
radovima E. Walkera) kojim je moguće objektivno procijeniti da li je isplativije neku aplikaciju
pokretati u računalnom oblaku ili na vlastitim računalnim resursima. Razvijen je algoritam za
odlučivanje o kupnji ili najmu, temeljen na integraciji saznanja iz prethodnih poglavlja.
U sedmom poglavlju sistematizirani su postupci za projektiranje hibridnog informacijskog
sustava koji ima barem neke komponente smještene u oblaku. Ovi su postupci oblikovani u
metodiku korištenja oblačnog računarstva (KOR). Pokazano je da se koncepti SOA i
oblačnog računarstva temelje na istim komunikacijskim tehnologijama i komplementarnim
paradigmama njihovog korištenja. Metodika KOR daje smjernice o tome kako i pod kojim
uvjetima se SOA može uklopiti u računalni oblak.
VII
U disertaciji su postavljene dvije temeljne hipoteze:
H1: Metodika razvoja hibridnih SOA rješenja može se izgraditi temeljem normiranih
metoda i tehnika za modeliranje, usklađivanje i opisivanje poslovnih procesa.
H2: Moguće je postaviti višedimenzionalnu metriku potreba za računalnim resursima
SOA servisa prije njihove izgradnje te stvarnih performansi nakon njihove izgradnje.
Korištenje takve metrike će povećati sigurnost pri odlučivanju o tome treba li neki
servis stalno ili povremeno pokretati u računalnom oblaku.
Istraživanje obuhvaćeno ovom disertacijom provedeno je slijedeći način:
1) Izabrana je ogledna aplikacija koja dobro aproksimira svojstva većine poslovnih aplikacija.
Utvrđeno je 6 parametra koji definiraju način izvođenja aplikacije u oblaku ili na privatnim
računalima, a za koje se pretpostavlja da utječu na vrijeme izvođenja aplikacije. Aplikacijski
parametri su složenost algoritma a i broj CRUD akcija po upitu q. Podatkovni parametri su
opseg podataka koji se šalje u oblak radi obrade u te veličina baze podataka b. Potrebe za
računalnim resursima određuju broj r i snaga računala p. Istraživanje je izvedeno tako da je
tipska aplikacija preuređena za izvođenje u oblaku te je vrijeme njezinog izvođenja T (za
razne vrijednosti parametara) uspoređeno s vremenom TORG kojeg očekuje korisnik u radu s
aplikacijom. Tipska aplikacija je namijenjena prepoznavanju oblika i koristi se za identifikaciju
osobe usporedbom njezine aktualne fotografije s više slika iz baze podataka. Aplikacijski i
podatkovni parametri mogu se mijenjati u potrebnim granicama, a resursni parametri se
odabiru kod izvedbe aplikacije u oblaku. Tako su ostvareni uvjeti za mjerenje T u zavisnosti o
izazvanim promjenama 6 ispitivanih parametara, uz isključene utjecaje slučajnih varijabli.
2) Da bi se odredio matematički model za opis performansi tipske aplikacije, izvedeno je 16
mjerenja prema višefaktorskom parcijalnom planu pokusa tipa 2^(6-2). Rezultati mjerenja su
obrađeni metodama multivarijantne analize te je na taj način određen matematički model za
izračun vremena izvođenja aplikacije u zavisnosti o 6 istraživanih parametara koji glasi:
T=0,631+14,993∙a+0,135∙u+0,702∙q-0,840∙r-2,160∙a∙r. Ustanovljeno je da su signifikantni
parametari a, u, q i r te dvofaktorne interakcije a i r. Dobiveni rezultati prikazani su grafički i
detaljno prodiskutirani, čime je dokazana hipoteza 2.
3) Razvijen je matematički model za izračun pune cijene vlasništva (TCO) oblačnog centra, a
njegova korektnost provjerena je proračunom troškova virtualnog podatkovnog centa i
usporedbom rezultata tog izračuna s dostupnim podacima o strukturi troškova više izvedenih
podatkovnih centara. Polazeći od radova E. Walkera razvijeni su matematičko-ekonomski
modeli za izračun troškova CPU vremena i troškova diskovnih resursa za pohranu podataka.
Prvim modelom, u kojem se računa s povećanjem računalne snage po Mooreovom zakonu,
pokazano je da trošak po jedinici procesorskog vremena zavisi o stupnju iskorištenosti
VIII
procesora. To upućuje na zaključak da je za tvrtke koje imaju vremenski promjenljive
zahtjeve, povoljnije unajmiti CPU vrijeme nego graditi vlastite serverske farme čiji kapacitet
mora zadovoljiti vršne zahtjeve. To vrijedi ako sigurnosni zahtjevi i političke okolnosti ne
ograničavaju takvo pribavljanje računalnih resursa. Drugi model, u kojem se računa s
empirijski potvrđenim smanjivanjem cijene memorija tijekom vremena, pokazuje da je najam
resursa za pohranu podataka dobra opcija za pojedine korisnike, a da je uvijek povoljniji za
mala i srednja poduzeća. Za organizacije s velikim podatkovnim potrebama je kupnja vlastitih
resursa za pohranu podataka povoljnija opcija od unajmljivanja jednako velikih resursa.
Oba modela omogućavaju investitoru uvid u rentabilnost ulaganja, a korisniku usporedbu
troškova najma potrebnih resursa prema troškovima vlasništva nad resursima iste snage.
Uz ta dva matematička modela, te sistematiziranu komercijalnu ponudu oblačnih poslužitelja,
izveden je algoritam odlučivanja o kupnji ili najmu. Korektnost algoritma provjerena je za tri
virtualne aplikacije. Za svaku od njih izračunati su troškovi, koje bi imao korisnik izvodeći ih
na računalnim resursima izabranih komercijalnih pružatelja ili na vlastitim resursima.
4) Kao sinteza istraživanja definirana je metodika KOR za uklapanje servisno orijentiranih
aplikacija u računalne oblake. Metodika je izvedena kao proces te je formalizirana po BPM
notaciji. Provodi se u 23 koraka te omogućuje objektiviziranje odluke o tome koje aplikacije
informacijskog sustava tvrtke ili ustanove je isplativo izvoditi u oblaku, za koje treba nabaviti
vlastite ICT resurse te kako sve to provesti na sistematičan način. Metodika KOR
primijenjena je u izgradnji tipske aplikacije te se pokazalo da može opisati postupke za razvoj
hibridnih aplikacija u oblaku. Budući da je metodika KOR provjerena kod pripreme tipske
aplikacije za izvođenje u oblaku, smatramo da je dokazana hipoteza 1.
Zaključno, ovom su disertacijom ostvareni su sljedeći znanstveni rezultati:
1. Postavljena je metrika za uspješno mjerenje aplikacijske potrebe za računalnim
resursima i diskovnim kapacitetom. Ta metrika je općenita i primjenljiva je na razne vrste
aplikacija koje se mogu izvoditi na različitim tehničkim platformama. Temelji se na
mjerenju vremena potrebnog da aplikacija obavi zadani posao, pri čemu je to vrijeme
ovisno o signifikantnim nezavisnim varijablama koje opisuju aplikaciju.
2. Razjašnjen je odnos između računalnih oblaka i drugih oblika naprednog računarstva te
pokazano da su računalni oblaci platforma na kojoj je moguće postaviti i koristiti servisno
orijentirana rješenja.
3. Razvijena je metodika KOR kojom je određen proces razvoja hibridnih informacijskih
sustava i omogućena kvantificirana procjena koje aplikacije informacijskog sustava tvrtke
ili ustanove je isplativo smjestiti u oblak, a za koje treba nabaviti vlastite ICT resurse.
Metodika uzima u obzir potrebu preoblikovanja već postojećih aplikacija u SOA servise
Characterizing and Enforcing Consistency of Online Services
While several proposals for the specification and implementation of various
consistency models exist, little is known about what is the consistency currently
offered by online services with millions of users. Such knowledge is important,
not only because it allows for setting the right expectations and justifying the
behavior observed by users, but also because it can be used for improving the
process of developing applications that use APIs offered by such services and
for creating tools that facilitate this process. To fill this gap, in the first part
of this thesis, we present a measurement study of the consistency of the APIs
exported by four widely used Internet services, the Facebook Feed, Facebook
Groups, Blogger, and Google+. To conduct this study, our work develops a
simple, yet generic methodology comprising a small number of tests, which
probe these services from a user perspective, and try to uncover consistency
anomalies, and reports on the analysis of the data obtained from running these
tests for a period of several weeks. Our measurement study shows that some of
these services do exhibit consistency anomalies, including some behaviors that
may appear counter-intuitive for users, such as the lack of session guarantees
for write monotonicity. The results show that developers have to deal with
consistency anomalies, to provide consistency guarantees they need.
To address the challenge of enforcing consistency guarantees on top of existing
systems, in the second part of this thesis, we show that it is possible to
deploy a middleware between the application and the service, which enables a
fine-grained control over the session guarantees that comprise the consistency semantics provided by these APIs, without having to gain access to the implementation
of the underlying services. Our solution intercepts all interactions
of the client with the online service and uses four different algorithms to enforce
each of the session guarantees and also their combination. We evaluated
our middleware using the Facebook public API and the Redis data store, and
our results show that we are able to provide fine-grained control of the consistency
semantics, while incurring in a small local storage and modest latency
overhead