Patil, Sanket (2023) Optimizing AWS Resource Provisioning Time through Thread-Level Parallelism and Terraform. Masters thesis, Dublin, National College of Ireland.
Preview |
PDF (Master of Science)
Download (1MB) | Preview |
Preview |
PDF (Configuration Manual)
Download (1MB) | Preview |
Abstract
This research addresses the critical challenge of optimizing deployment time for AWS resources by introducing a novel strategy that combines thread-level parallelism and Infrastructure-as-Code (IaC) automation. Thread-level parallelism is a technique that involves dividing a program into smaller tasks, called threads, which can be executed concurrently. The core of the study revolves around the use of Python’s library to implement thread-level parallelism for the simultaneous execution of multiple Terraform scripts responsible for provisioning key AWS services like S3, Elastic Beanstalk, and RDS. By using thread-level parallelism, multiple Terraform scripts can be executed simultaneously, reducing the overall deployment time. In this research, terraform is used as the IaC tool to automate the provisioning of AWS resources. Terraform scripts are written in a declarative language that describes the desired state of the infrastructure. By automating the provisioning process, the research aims to streamline and optimize the deployment of AWS resources. Jenkins, functioning as the deployment server, retrieves these scripts and Python code from the GitHub repository, orchestrating the provisioning of AWS resources based on the pre-defined configuration. The integration of thread-level parallelism enhances deployment efficiency, enabling concurrent execution of resource provisioning tasks for faster and more scalable deployments. To validate the effectiveness of this proposed system, a web application is developed using the Django framework in Python. This application leverages AWS resources provisioned through the optimized deployment strategy, showcasing the practical implications of both thread-level parallelism and infrastructure-as-Code automation. The seamless integration of these technologies not only streamlines the deployment process but also ensures the reliability and consistency of the deployed infrastructure. The results of the study show a significant difference in the time required for AWS (Amazon Web Services) resource provisioning when parallel execution is used instead of sequential execution. This project serves as a valuable demonstration of modern deployment practices, emphasizing the importance of automation and parallelism in achieving efficient and scalable AWS resource provisioning for web applications. The presented system offers a practical and replicable approach for teams seeking to enhance their deployment workflows and maximize the benefits of cloud infrastructure.
Item Type: | Thesis (Masters) |
---|---|
Supervisors: | Name Email Heeney, Sean UNSPECIFIED |
Subjects: | Q Science > QA Mathematics > Electronic computers. Computer science T Technology > T Technology (General) > Information Technology > Electronic computers. Computer science T Technology > T Technology (General) > Information Technology > Cloud computing |
Divisions: | School of Computing > Master of Science in Cloud Computing |
Depositing User: | Ciara O'Brien |
Date Deposited: | 09 Apr 2025 14:44 |
Last Modified: | 09 Apr 2025 14:44 |
URI: | https://norma.ncirl.ie/id/eprint/7400 |
Actions (login required)
![]() |
View Item |