Restoring rogue resources in a multi-cloud environment using Infrastructure as Code

Remediating Rogue Resources in an Infrastructure as Code Multi-Cloud Environment

Managing system architectures has historically been a time-consuming and error-prone process. DevOps is a set of practices that aims, among other goals, to speed up system deployment and improve its quality. One way to achieve these goals is by adopting Infrastructure as Code (IaC). IaC is the practice of describing infrastructure in code and automatically configuring systems using these definitions. This contrasts with traditional system deployment, where system administrators configure systems manually in an interactive manner.

Infrastructure as Code in the Cloud and Multi-Cloud Context

As it turns out, IaC is well-suited for cloud computing. Cloud services can provide system resources on demand, which can then be automatically provisioned using IaC. When adopting the cloud, companies can choose between relying on a single service provider or using multiple vendors at once. The latter scenario is called a multi-cloud environment. A key advantage of multi-cloud is avoiding vendor lock-in and avoiding reliance on a single vendor. However, each cloud vendor often has its own product offerings and its own APIs, which makes collaboration more difficult. While we can use IaC to en manage al systems in the cloud, this does introduce some problems. One of these problems is configuration drift. There is no clear definition of the term “configuration drift,” but it is often described as “undocumented configuration changes made to a running system.” In this research project, we have focused on the detection and remediation of resources outside a certain “state” that affect resources within the “state,” which we define as “rogue resources.” We define “state” as “the collection of IaC-managed resources.” Rogue resources can cause several problems for the defined state. For one, they could actively interfere with the functionality of IaC. If there are rogue resources that depend on IaC infrastructure, this could, for example, hinder deployments.

The Security Risks of Rogue Resources

Another problem is that these rogue resources can compromise security, as they are not documented by IaC. We are therefore interested in remediating these rogue resources in order to bring the system back into a known state and avoid these risks.

Research Scope and Methodology

In this research, we have investigated how to detect and remediate rogue resources in a multi-cloud environment. To this end, we have designed and developed a tool that implements our research. We have limited the scope of our research in the following three ways. First, while we would like to investigate the offerings of many cloud platforms, we consider this scope too broad for this research. Therefore, we will limit ourselves to two cloud platforms: Amazon Web Services (AWS) and Hetzner Cloud. We decided to use AWS and Hetzner Cloud because we have easy access to information about these cloud providers. We chose Hetzner Cloud over another major cloud provider because we believe it is important to include a smaller cloud platform, as such a platform may lack services that large providers do offer. Furthermore, we have identified several open-source Infrastructure as Code tools specialized in provisioning that we could use for our research. Two popular tools that meet these criteria are Terraform and Pulumi. We have decided to use Terraform because it is more popular than Pulumi. Lastly, in terms of cloud resources, we will focus our research on compute resources.

Research Question

Given this scope, we are now ready to define our research question:

How to detect and remediate rogue resources in a multi-cloud environment defined by Infrastructure as Code?

Download
SUE Cloud Native Solutions
Privacy overview
This website uses cookies. We use cookies to ensure that our website and services function properly, to gain insight into the use of our website, and to improve our products and marketing. For more information, please read our privacy and cookie policy.