Contents

Introduction

Welcome to the Anyshift.io documentation. AnyShift is a cloud-to-code search engine that provides a comprehensive map of your infrastructure and application deployments across various clouds. It enables you to correlate existing infrastructure and application resources with their definitions and attached resources in Git repositories. This platform streamlines debugging during critical downtimes, swiftly identifying and tracing back root cause errors, thus saving critical time in resolution.

What Problem Does AnyShift Solve?

Site Reliability Engineers (SREs) often face difficulties in quickly locating where cloud resources are defined in Infrastructure-as-Code (IaC). This challenge arises because IaC does not include real-time information from cloud providers, and the code is typically distributed across numerous Git repositories. AnyShift addresses this by providing a unified view and search capabilities for cloud resources.

Example Scenario:

  • You receive an alert from PagerDuty indicating that one of your VMs is down, and all you have is its cloud ID.

  • You must find relevant information linked to this ID in the Cloud Provider console.

  • You must search through multiple IaC repositories to find its code definition, assuming it is defined in the code.

  • Often, the issue might not be with the VM itself but with associated components like the load balancer or the IAM role, requiring you to repeat the process multiple times.

This situation is akin to searching for a needle in a haystack, wasting crucial time and delaying resolution during an outage.

AnyShift Functionality

  • Querying: Users can search for Cloud Provider IDs, names, dates, and committers to quickly locate resources and suspect PRs in extensive IaC codebases.

  • Information Retrieval: Returns details such as the Git repository, filename, line number, and GitHub link where the resource is defined.

  • Resource Support: Initially supports resources with plans to expand to other cloud providers.

Who Is AnyShift For?

AnyShift is designed for:

  • Site Reliability Engineers (SREs): Who need to manage and troubleshoot cloud infrastructure.

  • Heads of Infrastructure: Who oversee large-scale cloud environments.

How Does AnyShift Solve This Problem?

Users perform queries on the AnyShift search feature by providing Cloud Provider IDs or names to obtain detailed information about where these resources are defined in Terraform codebases.

To make it work, AnyShift:

  • Parses Terraform Files and Cloud API Data: AnyShift parses Terraform configuration and state files along with cloud API data to extract relevant information.

  • Creates a Resource Graph: A graph of resources and their relationships is created and stored in the Neo4j database.

  • Search Functionality: Users can then search this graph using Cloud Provider IDs, names to find detailed code definitions.

  • Event-Triggered Updates: AnyShift updates the graph with changes from GitHub pull requests and cloud events, ensuring real-time accuracy.

Conclusion

AnyShift provides a robust solution for managing and debugging cloud infrastructure, making it an essential tool for SREs and infrastructure heads. Explore our documentation to get the most out of AnyShift and streamline your cloud operations.

How AnyShift Works

Parsing and Data Collection

AnyShift parses Terraform configuration and state files, along with cloud API data, to extract necessary information about cloud resources and their definitions.

Creating a Resource Graph

A comprehensive resource graph is created, illustrating the relationships between various resources. This graph is stored in a Neo4j database, providing a robust structure for efficient querying.

Search Functionality

Users can search the resource graph using Cloud Provider IDs, names, to find detailed code definitions and their exact locations within the codebase.

Real-Time Updates

AnyShift ensures real-time accuracy by updating the resource graph with changes from:

  • GitHub Pull Requests: Integrating changes as they occur in the repositories.

  • Cloud Events: Reflecting real-time changes from cloud provider events.

This ensures that the information available is always current and reliable, enhancing the efficiency of infrastructure management and debugging processes.

Key Features

Querying Capabilities

AnyShift provides powerful querying capabilities, allowing users to search for:

  • Cloud Provider IDs

  • Resource Names

  • Commit Dates

  • Commit Authors

These search functionalities help quickly locate resources and suspect pull requests (PRs) within extensive Infrastructure-as-Code (IaC) codebases.

Information Retrieval

The platform returns critical information such as:

  • Git Repository Details: The repository where the resource is defined.

  • Filename and Line Number: Specifics on where the resource is located within the code.

  • GitHub Link: Direct link to the code definition for easy access and review.