<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Prateek Singh</title>
    <description>The latest articles on DEV Community by Prateek Singh (@prateeksingh).</description>
    <link>https://dev.to/prateeksingh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F107063%2F697db686-3670-4638-b0b4-b4840c240abe.jpg</url>
      <title>DEV Community: Prateek Singh</title>
      <link>https://dev.to/prateeksingh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prateeksingh"/>
    <language>en</language>
    <item>
      <title>Azure Visualizer : Automated Diagrams using PowerShell</title>
      <dc:creator>Prateek Singh</dc:creator>
      <pubDate>Fri, 14 May 2021 13:55:43 +0000</pubDate>
      <link>https://dev.to/prateeksingh/azure-visualizer-automated-diagrams-using-powershell-1m95</link>
      <guid>https://dev.to/prateeksingh/azure-visualizer-automated-diagrams-using-powershell-1m95</guid>
      <description>&lt;h3&gt;
  
  
  Problem Statement
&lt;/h3&gt;

&lt;p&gt;Before we jump into understanding why and how we can visualize and document Azure infrastructure, let’s take a pause here and talk a little bit about what are the challenges and problems in current visualization tools and in the approach of manual documentation. 👇&lt;/p&gt;

&lt;h5&gt;
  
  
  Manual Documentations
&lt;/h5&gt;

&lt;p&gt;Cloud admins are doomed to manually document a cloud environment or infrastructure! As the environment grows it becomes complex to maintain the documentation. There has to be a better way to do this in an automated approach!&lt;/p&gt;

&lt;h5&gt;
  
  
  Maintaining and updating the documentation
&lt;/h5&gt;

&lt;p&gt;It is painful inheriting an undocumented cloud landscape to support. But the bigger problem is manual documentation consumes a lot of effort and time and it is static in nature and you have to update your documentation after regular intervals.&lt;/p&gt;

&lt;h5&gt;
  
  
  Gaps in existing tools
&lt;/h5&gt;

&lt;p&gt;There are some visualization tools like &lt;a href="http://armviz.io/designer" rel="noopener noreferrer"&gt;Armviz.io&lt;/a&gt; and &lt;a href="https://marketplace.visualstudio.com/items?itemName=bencoleman.armview" rel="noopener noreferrer"&gt;VSCode Extension for ARM Template Visualizer&lt;/a&gt; (I love this extension), but I can only target one ARM template at a time use these. &lt;/p&gt;

&lt;p&gt;What if I want ability target a real Azure environment(s) or multiple resource groups at once, without downloading the template for an individual resource group? There has to be a better which is automated, modular, and extensible so that we can import it and write our own custom tooling on top of that.. that is why PowerShell comes into the picture.&lt;/p&gt;

&lt;h5&gt;
  
  
  Basic visualizations
&lt;/h5&gt;

&lt;p&gt;Not many insights from the graphs and diagrams unless you spend a week designing them manually.&lt;/p&gt;

&lt;p&gt;No mechanism to change the label verbosity. What if I want to see the resource &lt;code&gt;category&lt;/code&gt;, or &lt;code&gt;sku&lt;/code&gt; or &lt;code&gt;OS profile&lt;/code&gt; of a Virtual machine like &lt;code&gt;Windows&lt;/code&gt;, &lt;code&gt;Linux&lt;/code&gt; etc? right now you can’t get that..&lt;/p&gt;

&lt;p&gt;What if I want to see the resource dependencies and network flow? not possible with existing tools.&lt;/p&gt;



&lt;h3&gt;
  
  
  Introducing ‘Azure ☁ Visualizer’ aka ‘AzViz’ ⚡
&lt;/h3&gt;

&lt;p&gt;Azure Visualizer aka 'AzViz' - PowerShell module to automatically generate Azure resource topology diagrams by just typing a PowerShell cmdlet and passing the name of one or more Azure Resource Group(s).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Cloud admins are not anymore doomed to manually document a cloud environment! The pain of inheriting an undocumented cloud landscape to support is gone 😎😉 so please share this project with your colleagues and friends.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;See the following image 👇😇 to understand what this module can generate…&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmirpgntt1313jcd2w7b.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmirpgntt1313jcd2w7b.jpg" alt="Azure Resources Visualized"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub Project Repository: &lt;a href="https://github.com/PrateekKumarSingh/AzViz" rel="noopener noreferrer"&gt;https://github.com/PrateekKumarSingh/AzViz&lt;/a&gt;&lt;br&gt;
Read more on my blog: &lt;a href="https://ridicurious.com/tag/azviz/" rel="noopener noreferrer"&gt;https://ridicurious.com/tag/azviz/&lt;/a&gt;&lt;br&gt;
Read the docs here: &lt;a href="https://azviz.readthedocs.io/en/latest/" rel="noopener noreferrer"&gt;https://azviz.readthedocs.io/en/latest/&lt;/a&gt;&lt;/p&gt;



&lt;h3&gt;
  
  
  Capabilities
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Finding Resources in a Azure Resource Group and identifying their dependencies.&lt;/li&gt;
&lt;li&gt;Plot nodes and edges to represent Azure Resources and their dependencies on a graph.&lt;/li&gt;
&lt;li&gt;Inserts appropriate Azure Icons on basis of resource category/sub-category.&lt;/li&gt;
&lt;li&gt;Label each resource with information like Name, Category, Type etc.&lt;/li&gt;
&lt;li&gt;Generate visualization in formats like: &lt;code&gt;.png&lt;/code&gt; and &lt;code&gt;.svg&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Output image can be in &lt;code&gt;light&lt;/code&gt;, &lt;code&gt;dark&lt;/code&gt; or &lt;code&gt;neon&lt;/code&gt; theme.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3c8g7tg5nhy0t6df7uuh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3c8g7tg5nhy0t6df7uuh.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Can target more than one resource group at once.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Change direction in which resource groups are plotted, i.e, &lt;code&gt;left-to-right&lt;/code&gt; or &lt;code&gt;top-to-bottom&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Network infrastructure and the associated resources are represented in much better way, by visualizing Virtual Networks containing Subnets and resources inside it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Azure Icons with labels showing information on Subscriptions, RGs, VNet, Subnets&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhbaw1e2h9p8lnspn9wm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flhbaw1e2h9p8lnspn9wm.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Excluding any Azure resource types/providers, that you don't want to visualize&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Supports empty virtual networks&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdimwu45wlgs84xf6vf8t.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdimwu45wlgs84xf6vf8t.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Supports diagram legends&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjph3t8h56duzllwv5rf0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjph3t8h56duzllwv5rf0.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;




&lt;h3&gt;
  
  
  Quickstart
&lt;/h3&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;We need to install GraphViz on our system before we can proceed with using the 'AzViz' PowerShell module. Depending upon the operating system you are using please follow the below mentioned steps:&lt;/p&gt;

&lt;h5&gt;
  
  
  Linux
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Ubuntu&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;graphviz

&lt;span class="c"&gt;# Fedora&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;yum &lt;span class="nb"&gt;install &lt;/span&gt;graphviz

&lt;span class="c"&gt;# Debian&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;graphviz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  Windows
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# chocolatey packages Graphviz for Windows&lt;/span&gt;
choco &lt;span class="nb"&gt;install &lt;/span&gt;graphviz

&lt;span class="c"&gt;# alternatively using windows package manager&lt;/span&gt;
winget &lt;span class="nb"&gt;install &lt;/span&gt;graphviz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  Mac
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;graphviz
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;h5&gt;
  
  
  From PowerShell Gallery
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# install from powershell gallery&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Install-Module&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;AzViz&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Scope&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;CurrentUser&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Repository&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;PSGallery&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# import the module&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Import-Module&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;AzViz&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Verbose&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# login to azure, this is required for module to work&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Connect-AzAccount&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  Clone the project from GitHub
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# optionally clone the project from github&lt;/span&gt;
git clone https://github.com/PrateekKumarSingh/AzViz.git
&lt;span class="nb"&gt;cd&lt;/span&gt; .&lt;span class="se"&gt;\A&lt;/span&gt;zViz&lt;span class="se"&gt;\&lt;/span&gt;

&lt;span class="c"&gt;# import the powershell module&lt;/span&gt;
Import-Module .&lt;span class="se"&gt;\A&lt;/span&gt;zViz.psm1 &lt;span class="nt"&gt;-Verbose&lt;/span&gt;

&lt;span class="c"&gt;# login to azure, this is required for module to work&lt;/span&gt;
Connect-AzAccount
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h3&gt;
  
  
  Using the Module
&lt;/h3&gt;

&lt;p&gt;Following are few ways to use the module to generate visualization of your Azure infrastructure:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Visualizing a single resource group&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Export-AzViz&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-ResourceGroup&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;demo-2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Theme&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;light&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-OutputFormat&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;png&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Show&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# Visualizing a single resource group with more sub-categories&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Export-AzViz&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-ResourceGroup&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;demo-2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Theme&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;light&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-OutputFormat&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;png&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-CategoryDepth&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;2&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# Visualizing multiple resource groups&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Export-AzViz&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-ResourceGroup&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;demo-2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;demo-3&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-LabelVerbosity&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-CategoryDepth&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Theme&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;light&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-OutputFormat&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;png&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# Add more information in resource label like: Name, type, Provider etc using the '-LabelVerbosity' parameter&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Export-AzViz&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-ResourceGroup&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;demo-2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Theme&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;light&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-OutputFormat&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;png&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-LabelVerbosity&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;2&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# Exclude Azure resources/providers from the visualization by passing them as an argument to the '-ExcludeTypes' parameter&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="n"&gt;Export-AzViz&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-ResourceGroup&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;prateek&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Show&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-ExcludeTypes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"*workspace*"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Microsoft.Storage*"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Theme&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Neon&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




 
&lt;h3&gt;
  
  
  Future of this Module
&lt;/h3&gt;

&lt;p&gt;I've long term plans for this module and will keep evolving this going forward which you can find here:&lt;/p&gt;

&lt;p&gt;But on a high-level, these are area's I want to focus:&lt;/p&gt;

&lt;h4&gt;
  
  
  Ability to edit the diagrams
&lt;/h4&gt;

&lt;p&gt;Today I use &lt;code&gt;GraphViz&lt;/code&gt; which is open-source visualization software, but gradually I will add support for more visualization engines, graphing tools like: &lt;code&gt;Visio&lt;/code&gt;, &lt;code&gt;Lucid Charts&lt;/code&gt;, etc&lt;/p&gt;

&lt;h4&gt;
  
  
  Extensibility
&lt;/h4&gt;

&lt;p&gt;I strongly believe users should have more control on how visualization is generated. And one important aspect is giving user ability to expose '&lt;code&gt;Custom properties&lt;/code&gt;' of an Azure resource type on the image, like &lt;code&gt;IPAddress&lt;/code&gt; on NIC, &lt;code&gt;OS Profile&lt;/code&gt;: &lt;code&gt;Windows&lt;/code&gt; or &lt;code&gt;Linux&lt;/code&gt; on Virtual Machines etc.&lt;/p&gt;

&lt;h4&gt;
  
  
  Clustering Logically Related Azure Resources
&lt;/h4&gt;

&lt;p&gt;Right now, the module doesn't support clustering similar resources and subcategories into a logical cluster/group. This is a work in progress and would make the diagram much easier to understand once implemented.&lt;/p&gt;

&lt;h4&gt;
  
  
  Infrastructure Changes / Differences
&lt;/h4&gt;

&lt;p&gt;Infrastructure DIFF! yeah, you heard it right this is going to be my favorite feature to implement. This will give us the 'ability to identify/detect what has changed in Azure infrastructure', for example, a resource has been deleted, or IPAddress has been changed something like that.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>powershell</category>
      <category>cloud</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
