Development of a serverless web-application for large scale IoT platform administration
Ageeva, Yulia (2019)
Ageeva, Yulia
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-2019052812819
https://urn.fi/URN:NBN:fi:amk-2019052812819
Tiivistelmä
The main goal of the thesis was to study serverless technologies and gain practical experience through development of a web application for a Finnish company called Helvar. The result of the thesis is a functioning web application created for the administrators of the company’s IoT platform to register new building sites, view and modify the existing sites, manage user access rights and grant or revoke user permissions to specific sites.
Theoretical framework was composed focusing on learning about cloud technologies proposed by the commissioning party, such as AWS Lambda, Cognito, DynamoDB, API Gateway, S3 and CloudFormation. Node.js was used as the programming langauge for the backend implementation and React.js for the frontend implementation. Theoretical study was followed by the design and planning stage for the application which consisted of UI design, REST API design and finally the overall architecture of the application including the backend. Final stage was the implemenation of the application based on the planned architecture.
In addition, the serverless technolgies for running a web application were explored and identified as very beneficial for applications which are sporadically used but require high availability.
As part of this work, agile methodlogies for software development activities were explored as well and Kanban was selected as the development methodology, resulting in efficient development prcoess and on time development of the application.
Finally, the thesis concludes by discussing the challenges faced during the development of the web application, the recommendations for further development of the application and a review of the development process.
Theoretical framework was composed focusing on learning about cloud technologies proposed by the commissioning party, such as AWS Lambda, Cognito, DynamoDB, API Gateway, S3 and CloudFormation. Node.js was used as the programming langauge for the backend implementation and React.js for the frontend implementation. Theoretical study was followed by the design and planning stage for the application which consisted of UI design, REST API design and finally the overall architecture of the application including the backend. Final stage was the implemenation of the application based on the planned architecture.
In addition, the serverless technolgies for running a web application were explored and identified as very beneficial for applications which are sporadically used but require high availability.
As part of this work, agile methodlogies for software development activities were explored as well and Kanban was selected as the development methodology, resulting in efficient development prcoess and on time development of the application.
Finally, the thesis concludes by discussing the challenges faced during the development of the web application, the recommendations for further development of the application and a review of the development process.