If you have worked with Microsoft Azure for any length of time, you no doubt appreciate the value and necessity of great network topology diagrams. Azure Architecture Diagrams provide a visual cue for better communication and understanding of your cloud infrastructure at all levels of your organisation, from management down to freshly onboarded engineers and consultants.
If you have spent too many hours of your valuable working day manually creating Azure network diagrams to keep tabs on your network design, then you also appreciate how much time is saved and how many errors are eliminated when you automate the process.
Azure is one of many cloud platforms that are compatible with hava.io which will safely connect to your cloud console configuration (via read only credentials) to automate the production and updating of azure architecture diagrams like this:
Connecting your Azure data source to Hava so that your diagrams can be automatically generated is a straight forward process.
To import environment resource metadata from Microsoft Azure, you will need to access your Azure Portal at https://portal.azure.com , create a new Service Principle and retrieve a set of credentials for your account.
Open the Azure Portal and launch PowerShell from the top menu bar :
From the command line create a new Service Principal ( In this example we use “HavaServicePrincipal”, but you can use any name )
$sp = New-AzADServicePrincipal -DisplayName HavaServicePrincipal
Then assign read only permissions to it.
New-AzRoleAssignment -ApplicationId $sp.ApplicationId -RoleDefinitionName “Reader”
Then decrypt the Secret Key ($password)
Decrypt the Password
$Ptr = [System.Runtime.InteropServices.Marshal]::SecureStringToCoTaskMemUnicode($sp.Secret)
$password = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($Ptr)
You will now be able to retrieve the necessary credentials to plug into Hava.
You now have the credentials to login!
Once you have the required credentials, you can log in to Hava which will open up the environments screen. You then s elect “Add Environments”
Click on the “Azure” Tab and enter the credentials you have just gathered from your Azure PowerShell CLI.
Hava will import your Azure Environment, layout the diagram and add the environment tile to the Hava Environments screen. From this point Hava will periodically sync with Azure and log any structural changes, so you always have an accurate visual representation of your Azure Environment.
The diagrams produced are logically laid out by resource group which might contain subnets running in virtual networks. All of the resource metadata isn’t placed on the diagram, but is displayed in a contextual attribute pane to the side of the diagram.
This keeps the diagram uncluttered, but allows you to select the interactive elements of the diagram, like a virtual network, subnet or individual resources like gateways, load balancers, virtual machines, virtual network peering connections and storage accounts. All the metadata and settings are displayed alongside the diagram in the attribute pane and are contextual to the currently selected element.
With nothing selected, the attribute pane displays information about the entire Azure environment including a cost estimate breakdown.
Your Azure diagram can also be rendered into a 3D view with flexible rotate, skew, zoom and overhead controls, whilst the elements on the diagram remain selectable so that the attribute pane displays information related to the currently selected element.
While the 3D view provides no additional information or practical advantage over the traditional 2D view, it does provide a cool aesthetic for management and boardroom presentations.
One of the most powerful aspects of using Hava as part of your build pipeline or DevOps strategy is that the software keeps track of any changes detected in your Azure infrastructure.
Once a change is detected, a new diagram set is spawned and the superseded diagram set is placed in the version history. You can select an older version to view and it remains fully interactive, not just a static diagram), so you can click into resources, inspect attributes and settings just as you can on the live diagrams.
Selecting an older diagram set, you can pull up the older version in a separate browser and compare current diagrams side-by-side so you can visually detect the differences.
You could also export current and superseded diagrams in JSON format and Diff the files to surface all the changes .
All the interactive diagrams are exportable in a number of formats.
There are currently no mechanisms within Hava to draw diagrams from scratch or to add or remove elements. The diagrams are designed to always reflect the source of truth at any point in time. You can alway be confident that what you are looking at within Hava diagrams reflects reality because there is no way to add or remove diagram elements and resources.
We do however appreciate that sometimes you would like to use a diagram as a starting point for some redesign work, or you would like to annotate a diagram to explain elements of the diagram in management or sales presentations.
Azure Diagrams for Visio
The VSDX export option is the solution, enabling you to export your Azure infrastructure diagrams in Visio format. You can then use Visio or a compatible application to import the diagram for manipulation.
This provides the flexibility of editable diagrams while also maintaining the integrity of the diagrams and data held natively within Hava, so you have an unquestionable source of reference during a PCI compliance, Insurance or other type of audit.
Azure Network Diagrams
On top of the standard infrastructure and 3D diagrams, there are two more diagrams in the Azure Visualization diagrams that are produced automatically by Hava.
The extended infrastructure view is similar to the infrastructure view, however it adds some more metadata to the diagram like full resource names and resource sizes.
The final diagram is the “List View”. This report is, as the name suggests, a list of all the resources discovered in your environment.
This includes elements that are not visualised on the diagrams. Some resources may have dozens or hundreds of reasonably unimportant instances like network interfaces or virtual machine extensions, which if visualised would make the diagrams unreadable.
The list view is where you can find these resources. The list can be filtered, sorted by name, type or price and exported to CSV for easy import into a spreadsheet for cost analysis.
Hava provides a fast, efficient and accurate method of producing and maintaining your Azure cloud network topology diagrams automatically, providing you better internal communications, the ability to surface resources you may not have known were running and to be able to respond to events and outages using a safe repository of network configuration history. Hava also polls your settings continuously and updates your diagrams when changes are detected, providing always up to date hands-free Azure Infrastructure diagrams.
Originally published at https://www.hava.io.