Producing Google Cloud Platform Architecture Diagrams is an important part of well managed and easily communicated GCP network infrastructure.
Producing and maintaining up to date GCP architecture diagrams allows you to easily understand the design and operation of your Google Cloud Platform architecture and gives you the ability to easily communicate your network topology design at all levels of your organisation. Having clear, easy to read diagrams allows you to show new engineers how your network is constructed. You can also provide external consultants with the information they need to get started quickly which will undoubtedly save you a significant amount of consulting time and the associated fees, especially when you need to troubleshoot issues.
Clear diagrams allow you to easily communicate how your network is built to your internal teams and management. A picture paints a thousand words, having a clear set of infrastructure diagrams for internal presentations, proposals or even audit events, enable you to easily demonstrate how your network is built.
Google Cloud Platform Architecture Diagrams
Clear concise Google Cloud Diagrams will typically be laid out by Network as the containing layout which holds the GCP network resources, the underlying availability zones and subnets set up in your GCP account.
Having your GCP network topology laid out this way shows you what zones you have configured and what resources have been provisioned in each zone. This is very useful when visually assessing the redundancy in your network. What happens to your application if any one of the zones has an outage. Will your application persist or die?
Interactive GCP Diagrams
A major downside to manually creating Google Cloud network topology diagrams is the significant amount of time and effort involved. Constantly flipping backwards and forwards from your drawing to your console to establish what resources are there and how they are configured is both time consuming and can be susceptible to error.
The way hava.io approaches this challenge is with hands-free automation. There is a danger 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 metadata for each resource onto the diagram, Hava diagrams are interactive. If you want to deep dive into the settings and status 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.
Selecting the demo-redis memory store icon on the diagram above for instance, changes the attribute pane on the right hand side of the diagram to show all the known information related to the selected resource.
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 understand.
Exporting GCP Diagrams for Editing Or External Archival
From an engineering perspective, especially for your existing Google Cloud Platform infrastructure, the native Hava diagrams should have everything you need.
There are however, some good reasons for wanting to export your diagrams.
Offline Storage. You may have compliance or internal policy requirements to keep your network diagrams archived in hard copy or stored elsewhere digitally.
Presentations. You may need to present infrastructure in a presentation or proposal. Hava lets you export images in PNG or PDF for inclusion in such documents.
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 automatically generated from the source of truth and cannot be manipulated by manually adding or removing resources and metadata.
Hava provides the ability to export VSDX file formats (Microsoft Visio) so you can edit the diagrams outside of Hava if you need to add to 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/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 network diagram versions. Exporting is available in both JSON and CSV formats to facilitate data comparisons.
Custom GCP Diagrams
When connecting to Hava's automated diagram solution to GCP, your GCP configuration is scanned and discovered networks are used to generate separate Google Cloud diagrams which appear in your Hava dashboard (along side any AWS or Azure accounts you have connected).
This means you get fast, accurate documentation, however sometimes you may only be interested in a subset of your GCP network, like an individual subnet, a certain type of resource or resources with a specific tag.
On top of your 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.
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 tags you have defined on your resources 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:Prod" or "Status:Dev" or whatever tag/value pairs you have used.
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 a resulting custom diagram for future reference, then you have the ability to save the diagram 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 is when you want 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.
GCP Diagram Versioning
Keeping your GCP diagrams up to date can be 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 will 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 via automation 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 Google Cloud Platform Architecture 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 sometimes 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 capture 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 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.io's approach to this challenge is to automatically update your GCP diagrams as changes are detected, but also place the superseded diagram sets individually into version history.
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.
Comparing GCP Diagram Versions
Sometimes the ability
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: