NORMA eResearch @NCI Library

Optimizing AWS Resource Provisioning Time through Thread-Level Parallelism and Terraform

Patil, Sanket (2023) Optimizing AWS Resource Provisioning Time through Thread-Level Parallelism and Terraform. Masters thesis, Dublin, National College of Ireland.

[thumbnail of Master of Science]
Preview
PDF (Master of Science)
Download (1MB) | Preview
[thumbnail of Configuration Manual]
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 View Item