13 min read

GCP Diagrams from Hava

May 6, 2021

GCP_Diagrams

Generating and maintaining accurate GCP Diagrams is essential for well managed and easily communicated GCP network infrastructure.

Maintaining up to date GCP network topology diagrams allows you to easily understand the design and operation of your Google Cloud architecture and gives you the ability communicate your network design at all levels of your organisation, whether that's with new engineers, external consultants or internal teams and management .

Google Cloud Architecture Diagrams

Clear concise Google Cloud Diagrams will typically be laid out by Network as the containing canvas which holds your GCP network resources, the underlying availability zones and subnets.

GCP_Diagram_Versions

Having your network topology laid out this way shows you what zones you have configured and what GCP resources have been provisioned in each zone.  This is particularly useful when assessing the redundancy in your network.  What happens to your application if any one of the zones has an outage. Will your application persist?

Custom GCP Diagrams

When connecting to Hava's automated diagram solution, your GCP configuration is scanned and discovered networks are used to generate separate Google Cloud diagrams. 

This means you get fast, accurate documentation, however sometimes you may only be interested in a subset of a network, like an individual subnet, a certain type of resource or everything with a specific tag.

On top of auto discovered network topology diagrams, Hava also provides the ability to generate custom diagrams using a number of reserved search terms as well as customer generated tags. This means there is almost unlimited flexibility to create just the diagrams you need.

Hava_Query_Modifiers

The reserved search parameters include multi platform terms like

  • Region:
  • Name:
  • VPC:
  • Subnet:
  • Type:
  • Source:
  • IP:

As well as GCP Specific terms

  • Project:

You can also use user generated tags when defining custom diagrams. So for instance if you created a tag to identify whether a resource was related to a development or production environment it might look something like  "Status:Production"  or "Status:Dev" or whatever tag/value pairs you have used in your GCP account.

An arbitrary "Status" tag could  be used to build diagrams that just show everything tagged with a status of "Dev"

Any search parameter entered that isn't in the list of reserved terms is treated as a tag.

You can execute these on-the-fly queries to build diagrams to view once. The typical use case is where you are trying to locate a specific resource that could be in any one of hundreds of networks across any of the accounts you have connected to Hava.

If you want to store the resulting custom diagram for future use, then you have the ability to save it to your environment dashboard. Once you save the custom GCP diagram, Hava will treat it like all other auto generated diagrams and continuously poll the components looking for changes. When changes are detected Hava will automatically update the custom diagram and version history when changes are detected.

A typical use-case for saved custom diagrams are to isolate dev vs production environments onto separate diagrams,  create single resource type diagrams, drawing data from multiple accounts onto one diagram (like databases for a DbAdmin) , or to create Hybrid cloud diagrams from multiple cloud vendors.

Exporting GCP Diagrams for Archiving or Editing

From a cloud engineering perspective, especially for your existing Google Cloud infrastructure, the native Hava diagrams should have everything you need.

There are however, some good reasons to export your Google Cloud diagrams.

Offline Storage. You may have compliance or internal policy requirements to keep your network documentation archived in hard copy or stored digitally.

Presentations.  When you need a JPG or PNG representation of existing infrastructure for inclusion into a presentation or proposal.

Editing. Hava has built a reputation on accuracy. The diagrams generated and stored within the diagram generator application reflect what actually exists in your cloud environment. The diagrams produced by Hava can be relied upon as they are generated from the source of truth and cannot be manipulated by adding or removing resources and metadata. 

Hava provides the ability to export Visio VSDX file formats so you can edit the diagrams outside of Hava if you need to embelish them or use them as a starting point for proposals or network improvements.  If you don't have access to Visio, importing the VSDX files into draw.io or diagrams.net will provide similar editing functionality.

Diffing & Comparisons.  You may encounter a scenario where you need a granular comparison of resource settings between two diagram versions.  Exporting is available in both CSV and JSON formats to facilitate data comparisons.

Interactive GCP Diagrams

The major downside to manually creating GCP network topology diagrams is the massive amount of time and effort involved. Constantly swapping backwards and forwards from your drawing application to your console to establish what resources are there and how they are configured is both time consuming and susceptible to error.

The way Hava approaches this challenge is hands-free automation. There is a danger of course that your diagrams could get flooded with too much information when automating which results in an unreadable diagram.

Instead of trying to fit all the known data-points for each resource onto the generated diagram, Hava diagrams are interactive.  If you want to deep dive into the metadata of a visualized resource, you simply click on it and the attribute pane to the right hand side of the diagram changes to reveal contextual configuration settings related to the selected resource.

deep_search_GCP_pubsub

Selecting the URL Map icon on the above diagram for instance, changes the attribute pane on the right hand side to show all the known information related to the load balancer.

The result of this approach is that all the critical data you might need is one click away without having to leave the diagram. The generated diagram no-matter how complex remains clean, uncluttered and easy to read.

GCP Diagram Version History Retention

Keeping your GCP diagrams up to date is incredibly time consuming and is an often overlooked task we all mean to get around to doing after making config changes, but rarely do. There is always something that seems to take priority over updating the documentation.

The solution is to automate the update process. Whether you are changing your network manually, deploying infrastructure as code or have autoscaling in place, monitoring your network and updating diagrams as changes happen automatically is the only way to ensure you always have up to date diagrams on hand.

Just like Hava automatically generates your diagrams when you connect a data source, it also keeps your GCP diagrams up to date by continuously polling your configuration settings and producing a new diagram set when resource or network changes are detected.

That said, there can be a downside to this automation.  If a number of consecutive config changes are made in between producing diagrams, then there is a danger that the previous working network design will be lost if you don't make copies of the diagrams. Having diagrams of the last stable configuration is essential when diagnosing outages or identifying critical resources that have gone offline or have been inadvertently modified or deleted. Capturing the changes via versioning instead of simply overwriting the live diagrams mitigates this problem.

It is extremely useful to have an audit trial of consecutive configuration changes to enable you to track back between network designs to see what changed and why things deteriorated or improved due to the changes.

Hava's approach to this challenge is to automatically update your diagrams as changes are detected, but also place the superseded diagram sets individually into version history. 

GCP_Diagram_Versions 

These "Versions" are a complete diagram set that is fully interactive, meaning you can still  open up an older version of a diagram, click around the diagram, pull up resources and settings as it was configured at the time the version was captured. So not only do you have the current network infrastructure always available in detail, you can also step back through iterations to find out what has changed over time.

GCP Icons

Hava discovers resources configured in your GCP account console.  Depending on the resource, discovered components may or may not be visualised on your GCP infrastructure diagrams. This list is updated frequently. If you can't see a resource you are working with, contact support for a status.

Items that are not visualised on your diagrams are available on the "List View" so you can still analyse and export a full list of everything discovered.

Resources Visualised

 

Compute Backend Service

External VPN Gateway

Compute Instance

Compute Interconnect

Compute Nat Gateway

Compute Network

Compute Router

Compute Subnetwork

Compute URL Map

VPN Gateway

DNS Managed Zone

Memory Store Instance

SQL Instance

Storage Bucket

 

Imported resources not visualised on your automated interactive cloud infrastructure diagram will appear within the attributes tab and on the Hava List View

Non Visualised Resources

Compute Address

Compute Autoscaler

Compute Backend Bucket

Disk

Firewall

Forwarding Rule

Forwarding Rule Targets

Instance Group

Interconnect Attachment

Network Endpoint Group

Node Group

Route

SSL Certificate

SSL Policy

VPN Tunnel

 

 

If you would like to check out Hava GCP diagrams, you can open a free account and import a demo GCP environment to get familiar with the process here:

 

Team Hava

Written by Team Hava

The Hava content team

Featured