Abstract:
In recent years, CI/CD architectures have drastically revolutionized the collaborative
software development cycle approach, allowing for a massive improvement resulting from
the automation of builds, testing, integration, and deployment pipelines. Nowadays, CI/CD
solutions often leverage third parties cloud-based distributed systems to accomplish their
tasks. Organizations pay cloud providers’ services on a per-usage basis, and this is a
motivation to put relevant efforts into minimizing costs and maximizing the performance and
efficiency of these CI/CD systems. This field gets even more interesting in open-source
scenarios, where contributions from different parties must be taken into account and
managed with attention to keeping processes and workflows transparent to the community.
This thesis explores the Falco project from this perspective: Falco is open-source software
that will be used as a case study to break down its current CI/CD system. The work done on
this project includes the collection of qualitative and quantitative analyses (related to its
design and performance, respectively), along with proposals for possible improvements and
their implementation.
This final step will lead to a reengineering of the cloud architecture, resulting in an enhanced
way to manage pipelines and workflows, with particular attention to the ones responsible for
dealing with the organization’s secrets.
The thesis then compares the current CI/CD design with other possible strategies, relying on
different state-of-the-art tools than the ones adopted. Moreover, the comparison will span to
the old implementation, pointing out advantages and disadvantages, also concerning the
differences in terms of performance. The performance comparison is possible thanks to data
and metrics collection done before and after the reengineering.