Comparative study of Infrastructure as Code tools for Amazon Web Services
Pessa, Antti (2023)
Pessa, Antti
2023
Master's Programme in Computing Sciences
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-06-20
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202306056530
https://urn.fi/URN:NBN:fi:tuni-202306056530
Tiivistelmä
Cloud computing has become an integral part of modern software development. Infrastructure as Code (IaC) is an approach to managing infrastructure through code instead of manual processes. This thesis presents a comparative study of two popular IaC tools, AWS Cloud Development Kit (AWS CDK) and Terraform, for managing cloud resources on Amazon Web Services (AWS). The study investigates the key features, functionality, and benefits of each tool, as well as their strengths and weaknesses for AWS development. The research methodology involved a literature review, a practical implementation with both tools and then a comparison with the use of software quality metrics. The main qualities compared were performance, maintainability, and developer experience.
The results show that both tools can define cloud infrastructure, have tools to support maintainability, and offer great developer experience. Terraform performed better in the performance comparison with faster infrastructure deployment and update operations. However, AWS CDK offers a higher level of abstraction, better integration with IDE tools, and allows developers to use their preferred programming language. The study concludes that AWS CDK is the preferred choice for IaC tool for AWS but recommends Terraform when working in multi-cloud environments or use cases where more mature tools are required.
The results show that both tools can define cloud infrastructure, have tools to support maintainability, and offer great developer experience. Terraform performed better in the performance comparison with faster infrastructure deployment and update operations. However, AWS CDK offers a higher level of abstraction, better integration with IDE tools, and allows developers to use their preferred programming language. The study concludes that AWS CDK is the preferred choice for IaC tool for AWS but recommends Terraform when working in multi-cloud environments or use cases where more mature tools are required.