InfraView: ever wish your colleagues understood your infra better?

Distributed teams, collaborative tools, democratic access to the CI/CD pipeline...

They're all things that make our DevOps-loving hearts sing, but as your environments get more complex and your team grows and diversifies, it can be harder and harder to allow democratic access to your infra. Transparency and visibility are two of the main pillars of DevOps and, without them, you're not really doing it right.

TL;DR

Ever wish your colleagues understood your infra better? We've added a feature called InfraView to Cycloid. It creates a visual representation of your cloud infrastructures using Terraform, making them visible to all members of your team. Try it now by signing up for a free trial.


Why your organization needs infra-as-code

Infrastructure management has changed drastically in the last 20 years. Back in 2000, infra changes often fell to a single ops engineer and, even then, well, let's be honest - infrastructures didn't change that much.

Infrastructure 2020, meanwhile, is great in many ways. It allows for scale unlike anything ops 2000 could have imagined and it democratizes access to development pipelines like never before. Unfortunately, it also means that the number of ways our infrastructure can change has skyrocketed. The fact that environments can change quickly and in various ways is one of their major benefits, but it also makes them highly complex, and that's precisely where Cycloid steps in.

Infra-as-code as a starting point, not a destination

You might think infrastructure as code (IaC) is a buzzword, but it's not. Documenting the changes to your environments is a basic tool in one of the biggest of our infrastructure challenges: drift. A little drift is manageable when you have one server and one ops engineer, but when you've got multiple instances, people, commits, and tools, well...a little drift becomes a lot of drift very quickly. IaC is the answer - it allows everyone see what changes have been made, allows them to codify those changes so they can be reused, and allows changes to be rolled back, if they need to be.

The problem with infra as code is that it's not exactly accessible to all. When you're working in cross-functional, perhaps geogaphically diverse, teams, you're going to have team members that aren't fluent in Terraform and who can't decipher your infrastructure. If they can't decipher it, they don't truly have access to it. 

Diagram or text?

Infra-as-code in text beats nothing, but infra-as-code diagrams beat text. Diagrams give you more flexibility when representing complex information and are much better at demonstrating the relationship between resources, especially to other people. Cloud structures make it easier than ever before to make changes, which in some respects is great, but they don't force you to document those changes, which is what leads to drift. Documenting as text is good, but documenting as a diagram is better. Check out our post focussing specifically on infra-as-code here.

So how does it work?

  1. Open up the Cycloid console 

     

    The Cycloid dashboard

  2. Define the infrastructure you want documented 

     

    The InfraView configuration options

  3. InfraView will query the Terraform state in the S3 bucket and read the info that it finds.


    An InfraView overview

  4. InfraView will represent this information visually under the InfraView tab, where all users of your organization will be able to see it.

The information is stored in a .tfstate file, which describes the relationship between Terraform and what is actually happening on AWS.

 

See more about InfraView

What is Terraform?

Terraform is an infrastructure-as-code tool from HashiCorp that allows you to define and provision a cloud infrastructure. Terraform is often mentioned in conjunction with AWS, but it also runs on other clouds like Microsoft Azure and Google Cloud Platform, or in private clouds like VMWare vSphere, OpenStack, or CloudStack. Terraform offers reusable configurations called Terraform modules and stores them in a catalog-like Terraform registry where you can pick and choose the ones you need.

The future of InfraView

InfraView is a great start and is ready for you to use, but we have big plans for this tool. For starters, we fully intend to expand capability to more cloud services (right now, it supports AWS), starting with GCP and Flexible Engine.

We'll also update the tool to be able to show you more details, like IP addresses, ports, and more than 50 other aspects. In June, we updated InfraView to show  more details like ports, IP addresses, and more. Ultimately, we want InfraView to be your documentation, not just help you with it, and that's what we are planning for.

The very next InfraView feature will be a refresh button. You see, right now, InfraView is up-to-date, but not exactly real time. We're going to leverage another Cycloid feature - TerraCognita - to do this. Right now, InfraView queries the existing .tfstate and relays the information, also telling you how long has elapsed since it was updated. With the TerraCognita update, TerraCognita queries AWS directly and will relay the most recent .tfstate to InfraView, which will display the real time structure. How's that for snazzy?

 

Sign up to the newsletter



Read More

What is TerraCognita?

TerraCognita is a key part of Cycloid. We call it our "reverse Terraform" and we're going to show...
May 15 - 3 min read

Infrastructure as code: Cycloid's non-boring guide for the clueless

If you’ve recently moved into the world of DevOps, or are thinking of it, you’ll soon come into...
May 28 - 4 min read

What is InfraView?

Visibility and accessibility are key factors when it comes to efficient software development....
Jun 11 - 3 min read