Designing a cloud architecture for an application with many users

The aim of the thesis is to provide a guideline on how to design and implement a cloud architecture solution for an application with many users. For this, general cloud architecture approaches are presented. The theory part is based on techniques of designing a cloud architecture, cloud computing in...

Full description

Bibliographic Details
Main Author: Schuchmann, Marcel
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:eng
Published: 2018
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/58039
_version_ 1826225729501659136
author Schuchmann, Marcel
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_facet Schuchmann, Marcel Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä Schuchmann, Marcel Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_sort Schuchmann, Marcel
datasource_str_mv jyx
description The aim of the thesis is to provide a guideline on how to design and implement a cloud architecture solution for an application with many users. For this, general cloud architecture approaches are presented. The theory part is based on techniques of designing a cloud architecture, cloud computing in general, virtualization, databases, and related work of comparisons of cloud computing services. The case objectives of a mobile payment application are stated and defined. On these objectives, a study is conducted on different kinds of cloud backend architecture solutions, which are the tier-based architecture, the message queue architecture, the microservice architecture and the Serverless architecture. The microservice architecture and the Serverless architecture are assessed to be the most promising architectures for the case, because of their excellent scalability. The microservice architecture in Amazon Web Services and the Serverless architecture in Firebase are practically implemented for the case and compared to each other. The Serverless architecture in Firebase is easy to implement and therefore an excellent decision for a cloud architecture with certain limitations. However, the microservice architecture is a more complex architecture, which should be considered if user limits are reached or more configuration possibilities in the architecture are needed.
first_indexed 2024-09-11T08:50:01Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Khriyenko, Oleksiy", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.advisor", "value": "Terziyan, Vagan", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.advisor", "value": "Leinonen, Jyri", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Schuchmann, Marcel", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2018-05-21T08:56:53Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2018-05-21T08:56:53Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2018", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/58039", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "The aim of the thesis is to provide a guideline on how to design and implement a cloud architecture solution for an application with many users. For this, general cloud architecture approaches are presented. The theory part is based on techniques of designing a cloud architecture, cloud computing in general, virtualization, databases, and related work of comparisons of cloud computing services. The case objectives of a mobile payment application are stated and defined. On these objectives, a study is conducted on different kinds of cloud backend architecture solutions, which are the tier-based architecture, the message queue architecture, the microservice architecture and the Serverless architecture. The microservice architecture and the Serverless architecture are assessed to be the most promising architectures for the case, because of their excellent scalability. The microservice architecture in Amazon Web Services and the Serverless architecture in Firebase are practically implemented for the case and compared to each other. The Serverless architecture in Firebase is easy to implement and therefore an excellent decision for a cloud architecture with certain limitations. However, the microservice architecture is a more complex architecture, which should be considered if user limits are reached or more configuration possibilities in the architecture are needed.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Miia Hakanen (mihakane@jyu.fi) on 2018-05-21T08:56:53Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2018-05-21T08:56:53Z (GMT). No. of bitstreams: 0\n Previous issue date: 2008", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "80", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "eng", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.subject.other", "value": "cloud", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "architecture", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "design", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "scalability", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "availability", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "reliability", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "n-tier", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "multi-tier", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "IaaS", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "virtualization", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "VM", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "message queue", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "microservice", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "PaaS", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Docker", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Serverless", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "functions", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "FaaS", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Firebase", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Realtime Database", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "AWS", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "ECS", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Fargate", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "DynamoDB", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "Express", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.subject.other", "value": "REST", "language": "", "element": "subject", "qualifier": "other", "schema": "dc"}, {"key": "dc.title", "value": "Designing a cloud architecture for an application with many users", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-201805212695", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Mathematical Information Technology", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.collaborator", "value": "business", "language": "", "element": "contractresearch", "qualifier": "collaborator", "schema": "yvv"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "yvv.contractresearch.initiative", "value": "student", "language": "", "element": "contractresearch", "qualifier": "initiative", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "602", "language": "", "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
id jyx.123456789_58039
language eng
last_indexed 2025-02-18T10:56:23Z
main_date 2018-01-01T00:00:00Z
main_date_str 2018
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/07708674-0bc4-4eb8-b327-6cf5da54335a\/download","text":"URN:NBN:fi:jyu-201805212695.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2018
record_format qdc
source_str_mv jyx
spellingShingle Schuchmann, Marcel Designing a cloud architecture for an application with many users cloud architecture design scalability availability reliability n-tier multi-tier IaaS virtualization VM message queue microservice PaaS Docker Serverless functions FaaS Firebase Realtime Database AWS ECS Fargate DynamoDB Express REST Tietotekniikka Mathematical Information Technology 602
title Designing a cloud architecture for an application with many users
title_full Designing a cloud architecture for an application with many users
title_fullStr Designing a cloud architecture for an application with many users Designing a cloud architecture for an application with many users
title_full_unstemmed Designing a cloud architecture for an application with many users Designing a cloud architecture for an application with many users
title_short Designing a cloud architecture for an application with many users
title_sort designing a cloud architecture for an application with many users
title_txtP Designing a cloud architecture for an application with many users
topic cloud architecture design scalability availability reliability n-tier multi-tier IaaS virtualization VM message queue microservice PaaS Docker Serverless functions FaaS Firebase Realtime Database AWS ECS Fargate DynamoDB Express REST Tietotekniikka Mathematical Information Technology 602
topic_facet 602 AWS Docker DynamoDB ECS Express FaaS Fargate Firebase IaaS Mathematical Information Technology PaaS REST Realtime Database Serverless Tietotekniikka VM architecture availability cloud design functions message queue microservice multi-tier n-tier reliability scalability virtualization
url https://jyx.jyu.fi/handle/123456789/58039 http://www.urn.fi/URN:NBN:fi:jyu-201805212695
work_keys_str_mv AT schuchmannmarcel designingacloudarchitectureforanapplicationwithmanyusers