Improving terraform-compliance; Case Study: Terraform’s Emergence in Cloud Computing

Author:
Katircioglu, Kaan, School of Engineering and Applied Science, University of Virginia
Advisors:
Ferguson, Sean, EN-Engineering and Society, University of Virginia
Nguyen, Rich, EN-Comp Science Dept, University of Virginia
Lin, Felix, EN-Comp Science Dept, University of Virginia
Abstract:

Cloud computing has been proliferating over the last decade. Majority of the enterprise infrastructure is on cloud, and the average person uses tens of cloud-based services day to day. However, adoption of the technology and management of the vast number of services offered by it could be problematic. This project explored how Terraform & HashiCorp emerged successful within the realm of Cloud Computing and proposed several enhancements to an open source Terraform testing tool terraform-compliance.
Technical portion detailed several enhancements on terraform-compliance, aiming to create a more comprehensive environment for Infrastructure-as-Code compliance through different extensions of the tool. User experience that is being sought after and problems that inhibit the said experience was elicited through reading issues, bug reports, technical blogs, and discussions with the author of the tool. Proposed changes came in forms of new or improved functionality, quality of life updates, and a new repository that can be used alongside with the main CLI of the tool.
The STS portion explored how Terraform & HashiCorp emerged successful in the realm of Cloud Computing. Sociotechnical impacts of various characteristics of the tool were analyzed through studying relevant conferences, forums, blogs, and other forms of media that contain experts’ opinions. Terraform’s openness, workflow, language, and cloud agnostic properties enabled it to act as a boundary object between different user groups, reduce voodoo in infrastructure management, and ultimately mitigate problems that would otherwise discourage cloud computing adoption.
The technical portion of this project is completed and majority of the proposed changes are being actively used today, yet an open source tool such as terraform-compliance will always be in a perpetual need of maintenance and development by its community. Perhaps community building projects, similar to the repository I initiated, could be taken on by future researchers. The STS portion provided insights on how Terraform was impactful despite utilizing technologies that have already been existing for a long time. It could be expanded to incorporate other HashiCorp tools, such as Consul, or complementary third-party tools, such as terraform- compliance, to achieve a broader understanding of the place of infrastructure and workflow management tools in cloud computing.
I would like to thank Professor Ferguson for his outstanding guidance and mentorship during the STS portion of my thesis. I would like recognize Professor Lin, Professor Nguyen, and Professor Bloomfield, for guiding me through my technical thesis. Finally, I would like to thank Emre Erkunt for creating terraform-compliance, integrating me to its community, and offering invaluable mentorship throughout and beyond my involvement with the tool.

Degree:
BS (Bachelor of Science)
Keywords:
Terraform, terraform-compliance, Infrastructure-as-Code, Boundary Objects, Voodoo Software, Cloud Computing
Notes:

School of Engineering and Applied Science
Bachelor of Science in Computer Science
Technical Advisor: N. Rich Nguyen, Felix Xiaozhu Lin
STS Advisor: Sean Ferguson
Technical Team Members: Kaan Katırcıoğlu

Language:
English
Issued Date:
2021/05/16