In previous articles in the series “VMware Learning. Year 2020”, we reviewed the list of areas and specifics of authorized training in VMware and the main training programs in the field of Data Center Virtualization & Hybrid Cloud Infrastructure.
Today we will talk about the main training programs in the field of Network Virtualization & Security.
Direction of training – Network Virtualization & Security includes training programs on technologies VMware NSX, NSX-T.
VMware NSX
VMware NSX is a network virtualization and security platform for software data centers, making it possible to create and run network services on existing network equipment.
The main current training programs for VMware NSX technologies are:
Prerequisites: VMware vSphere: Install, Configure, Manage. Understanding of concepts presented in the VMware Data Center Virtualization Fundamentals course. Understanding of the concepts presented in the VMware Introduction to Network Virtualization with NSX course.
Certification: VMware Certified Professional 6 – Network Virtualization (VCP6-NV).
The course introduces VMware NSX as part of a data center software. Students will learn how to use logical switches and will also detail logical routing between different virtual environments. The course shows how to use the gateway services, firewall configurations, and security services to protect and optimize the NSX environment.
The course introduces the security-oriented features of VMware NSX 6.3, including the distributed firewall and Service Composer, which will help ensure the successful deployment of microsegmentation.
● VMware NSX: Troubleshooting and Operations [V6.3, (V6.4)]
The course provides students with advanced knowledge, skills and tools to achieve operational competency and troubleshooting in VMware NSX V6.3 (V6.4).
VMware NSX-T
VMware NSX-T is a network virtualization platform for next-generation heterogeneous architecture applications.
Key current VMware NSX-T technology training programs are:
● VMware NSX-T Data Center: Install, Configure, Manage [V2.4]
Duration: 5 days.
Level of difficulty: Professional.
Target audience: Administrators, Engineers.
Prerequisites: Solid understanding of concepts presented in the following courses: VMware Data Center Virtualization Fundamentals, VMware Introduction to Network Virtualization with NSX, VMware Network Virtualization Fundamentals.
Certification: VMware Certified Professional – Network Virtualization 2019 (VCP-NV 2019).
The course provides training on installing, configuring, and managing the VMware NSX-T Data Center environment. It covers the core features and functionality of the NSX-T Data Center offered by NSX-T Data Center 2.4, including common infrastructure, logical segments, logical routers, network and security services, microsegmentation, and firewalls.
● VMware NSX-T Data Center: Troubleshooting and Operations [V2.4]
Duration: 5 days.
Level of difficulty: Professional.
Target audience: Administrators, Engineers.
Prerequisites: Before taking this course, you should have completed the VMware NSX-T Data Center: Install, Configure, Manage [V2.4] course.
Certification: VMware Certified Professional – Network Virtualization 2019 (VCP-NV 2019).
The course provides advanced knowledge, skills and tools for achieving competency in work and troubleshooting in the VMware NSX-T Data Center environment.
Brief Summary
In this article, we got acquainted with the main training programs in the field of Network Virtualization & Security: VMware NSX, NSX-T.
In the next publication of the cycle “VMware Learning. Year 2020” we will talk about training programs in the field of Virtualization & Cloud Management Platform.
Follow the news until the meeting is on air in a few days. Sincerely, AIRRA.
The series of articles “Vmware Cloud Foundation as Code…” is organized and digitized notes from the author’s paper diary. Russian hybrid military aggression and invasion prevented the timely publication of the collected and processed material. The military service of the author, the evacuation of the home mini data center and the blog away from military operations, and later problems with energy supply due to the destruction of the infrastructure by russian missiles, all this forced this activity to be paused.
Now we are all used to and adapted to living in this difficult time and I really want to return to this work.
The publication date of the article in the title is based on the original entries in the author’s diary.
Final revision of this article material: August 11 and 29, 2024.
Introduction
Hello to all readers of the blog about IT Architecture and Education. Author, IT instructor and VMware cloud technology architect Andrii Romanenko returns to active publications after a forced break.
The war radically changed the usual rhythm of life for millions of Ukrainians, including the author of these lines. Civilian life is a thing of the past, as are educational processes and project activities. Some of these activities were compensated by military service.
Over the past time, a lot of various material and ideas have been accumulated for coverage in the form of publications on this blog.
One of the key topics the author has been working on recently is the VMware Cloud Foundation ecosystem. Given the conceptual approach of “Anything as Code…”, I decided to merge these two storylines into one called “Vmware Cloud Foundation as Code…”.
This series of publications aims to reflect the author’s approach to working with the components of the Vmware Cloud Foundation ecosystem versions 4.x, 5.x and the necessary third-party services throughout the life cycle of a cloud solution using code only.
And that is why I would like to remind you to understand the life cycle of any IT solution.
The life cycle of an IT solution
Any IT solution usually goes through several stages during its existence: Design – Architecture and Design; Implementation – Deployment of components, Initial settings, Integration with third-party systems; and Operation – Regulations for Monitoring, Backup, etc.
At each of the stages, specialized specialists operate with various input data, documents, schemes. Various document templates from the vendor are often used to standardize this process, but each of them has its own style and approach in this matter. And a completely monovendor IT solution is a very rare case.
Therefore, I would really like to unify the stages of the life cycle of an IT solution using Code. Based on the Code, form the necessary elements of the architecture and design scheme. Next, based on the Code and the parameters obtained at the previous stage, perform the initial deployment of the system, apply the initial settings, integrate with third-party systems. And in the final version, provide code examples for typical operational tasks.
Well, it is necessary to start these steps from the stage of architecture and design. But first, let’s briefly describe the circuit design tool and the automation and customization framework.
Microsoft Visio and Powershell
Various diagrams are usually used to visualize the architectural principle of system operation. In this context, I mainly use tools in the form of Microsoft Office Visio. For automation tasks – Microsoft Windows Powershell. And here a logical idea arises, and if you combine these two technologies, using Powershell code to create an architectural diagram of an IT solution in Visio format. Why not.
Many years ago, I wrote several Powershell functions that allow you to programmatically create visual diagrams. This script module will be actively used to visualize the various architectural levels of the VMware Cloud Foundation ecosystem and the third-party systems required for its operation.
The code for this script module is given below:
<#
.SYNOPSIS
Microsoft Powershell functions for operate Visio Drawing
.DESCRIPTION
Microsoft Powershell functions for drawing Visio objects: Document, Page, Stensil, etc.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 14.09.2007
Purpose/Change: Initial script development
Create function New-VisioApplication.
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Begin Reorganize script.
Version: 3.3
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 28.06.2023
Purpose/Change: Reorganize Draw-VisioItem Function. Add parameter LineWeight.
Version: 3.4
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 22.08.2024
Purpose/Change: Reorganize Draw-VisioItem Function. Add parameter LineColor.
Version: 3.5
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 29.08.2024
Purpose/Change: Added the previously lost function Resize-VisioPageToFitContents.
Version: 3.6
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 29.08.2024
Purpose/Change: Added the previously lost function Save-VisioDocument.
Version: 3.7
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 29.08.2024
Purpose/Change: Added the previously lost function Close-VisioApplication.
...
.EXAMPLE
Load Microsoft Powershell functions for operate Visio Drawing:
. .\PSVisio.ps1
#>
# Set Variables
$Shape = 0
$Line = 0
$Icon = 0
Function New-VisioApplication {
<#
.SYNOPSIS
Microsoft Powershell function for create Visio Application
.DESCRIPTION
Microsoft Powershell function for create Visio Application.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 14.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Reorganize function
.EXAMPLE
Run:
New-VisioApplication
#>
# Create Visio Object
$Script:Application = New-Object -ComObject Visio.Application
$Script:Application.Visible = $True
}
Function New-VisioDocument {
<#
.SYNOPSIS
Microsoft Powershell function for create Visio Document
.DESCRIPTION
Microsoft Powershell function for create Visio Document.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 14.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Reorganize function
.EXAMPLE
Run:
New-VisioDocument
#>
# Create Document from Blank Template
$Script:Documents = $Script:Application.Documents
$Script:Document = $Script:Application.Documents.Add('')
}
Function Set-VisioPage {
<#
.SYNOPSIS
Microsoft Powershell function for create Visio Document Page
.DESCRIPTION
Microsoft Powershell function for create Visio Document Page.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 14.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Reorganize function
.EXAMPLE
Run:
Set-VisioPage
#>
# Set Visio Active Page
$Script:Page = $Script:Application.ActivePage
$Script:Application.ActivePage.PageSheet
}
Function Add-VisioStensil {
<#
.SYNOPSIS
Microsoft Powershell function for Add Visio Stensil
.DESCRIPTION
Microsoft Powershell function for Add Visio Stensil.
.PARAMETER Name
Name Identifier of Visio Stensils.
.PARAMETER File
Name of Visio Stensils file.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 14.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Reorganize function
.EXAMPLE
Run:
Add-VisioStensil -Name "Basic" -File "BASIC_M.vss"
#>
Param (
[Parameter(Mandatory)]
[string]$Name,
[Parameter(Mandatory)]
[String]$File
)
# Set Expression and Add Visio Stensil
$Expression = '$Script:' + $Name + ' = $Script:Application.Documents.Add("' + $File +'")'
Invoke-Expression $Expression
}
Function Set-VisioStensilMasterItem {
<#
.SYNOPSIS
Microsoft Powershell function for Set Visio Stensil Master Item
.DESCRIPTION
Microsoft Powershell function for Set Visio Stensil Master Item
.PARAMETER Stensil
Name Identifier of pre-added Visio Stensils.
.PARAMETER Item
Reference Name Identifier of Visio Stensils Item .
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 14.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Reorganize function
.EXAMPLE
Run:
Set-VisioStensilMasterItem -Stensil "Basic" -Item "Rectangle"
#>
Param (
[Parameter(Mandatory)]
[string]$Stensil,
[Parameter(Mandatory)]
[String]$Item
)
# Set Expression And Set Masters Item Rectangle
$ItemWithoutSpace = $Item -replace " ",""
$Expression = '$Script:' + $ItemWithoutSpace + ' = $Script:' + $Stensil + '.Masters.Item("' + $Item + '")'
Invoke-Expression $Expression
}
Function Draw-VisioItem {
<#
.SYNOPSIS
Microsoft Powershell function for Draw Visio Item
.DESCRIPTION
Microsoft Powershell function for Draw Visio Item.
.PARAMETER Master
Name Identifier of Master Item Visio Stensils.
.PARAMETER X
X coordinate of Visio Stensils Item.
.PARAMETER Y
Y coordinate of Visio Stensils Item.
.PARAMETER Width
Width size of Visio Stensils Item.
.PARAMETER Height
Height size of Visio Stensils Item.
.PARAMETER FillForegnd
Foreground color of Visio Stensils Item.
.PARAMETER Fill
Background color of Visio Stensils Item.
.PARAMETER LinePattern
Contour line style of Visio Stensils Item.
.PARAMETER LineWeight
Contour Line thickness size.
.PARAMETER LineColor
Contour Line Color.
.PARAMETER Text
Text Visio Stensils Item.
.PARAMETER VerticalAlign
Vertical Align Visio Stensils Item.
.PARAMETER ParaHorzAlign
Horizontal Align Visio Stensils Item.
.PARAMETER CharSize
Text Character Size of Visio Stensils Item.
.PARAMETER CharColor
Text Character Color of Visio Stensils Item.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 14.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Reorganize function
Version: 3.3
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 28.06.2023
Purpose/Change: Reorganize function. Add parameter LineWeight.
Version: 3.4
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 22.08.2024
Purpose/Change: Reorganize function. Add parameter LineColor.
.EXAMPLE
Run:
Draw-VisioItem -Master "Rectangle" -X 6.375 -Y 7.125 -Width 12.2501 -Height 7.25 -FillForegnd "RGB(0,153,204)"`
-LinePattern 0 -LineWeight "1 pt" -Text "Microsoft Virtual Machine Manager Architecture" -VerticalAlign 0 -ParaHorzAlign 0`
-CharSize "20 pt" -CharColor "RGB(255,255,255)" -Fill "RGB(255,255,255)" -LineColor "RGB(255,255,255)"
#>
Param (
[Parameter(Mandatory)]
[string]$Master,
[Parameter(Mandatory)]
[String]$X,
[Parameter(Mandatory)]
[String]$Y,
[Parameter()]
[String]$Width,
[Parameter()]
[String]$Height,
[Parameter()]
[String]$FillForegnd,
[Parameter()]
[String]$Fill,
[Parameter()]
[String]$LinePattern,
[Parameter()]
[String]$LineWeight,
[Parameter()]
[String]$LineColor,
[Parameter()]
[String]$Text,
[Parameter()]
[String]$VerticalAlign,
[Parameter()]
[String]$ParaHorzAlign,
[Parameter()]
[String]$CharSize,
[Parameter()]
[String]$CharColor
)
# Set Variables
$Script:Shape++
$Master = $Master -replace " ",""
# Set Expression And Draw Item
$Expression = '$Script:Shape' + $Script:Shape + ' = $Script:Page.Drop(' + '$' + $Master + ',' + $X + ',' + $Y + ')'
Invoke-Expression $Expression
# Set Item Width Properties
If ($Width)
{
$Expression = '$Script:Shape' + $Script:Shape + '.Cells("Width").Formula = ' + $Width
Invoke-Expression $Expression
}
# Set Item Height Properties
If ($Height)
{
$Expression = '$Script:Shape' + $Script:Shape + '.Cells("Height").Formula = ' + $Height
Invoke-Expression $Expression
}
# Set Item FillForegnd Properties
If ($FillForegnd)
{
$Expression = '$Script:Shape' + $Script:Shape + '.Cells("FillForegnd").FormulaU = "=' + $FillForegnd + '"'
Invoke-Expression $Expression
}
# Set Item Fill Properties
If ($Fill)
{
$Expression = '$Script:Shape' + $Script:Shape + '.CellsU("FillForegnd").FormulaForceU = "' + $Fill + '"'
Invoke-Expression $Expression
}
# Set Item LinePattern Properties
If ($LinePattern)
{
$Expression = '$Script:Shape' + $Script:Shape + '.Cells("LinePattern").Formula = ' + $LinePattern
Invoke-Expression $Expression
}
# Set Item LineWeight Properties
If ($LineWeight)
{
$Expression = '$Script:Shape' + $Script:Shape + '.Cells("LineWeight").Formula = "' + $LineWeight + '"'
Invoke-Expression $Expression
}
# Set Item Line Color Properties
If ($LineColor)
{
$Expression = '$Script:Shape' + $Script:Shape + '.Cells("LineColor").FormulaU = "=' + $LineColor + '"'
Invoke-Expression $Expression
}
# Set Item Text
If ($Text)
{
$Expression = '$Script:Shape' + $Script:Shape + '.Text = "' + $Text + '"'
Invoke-Expression $Expression
}
# Set Item VerticalAlign Properties
If ($VerticalAlign)
{
$Expression = '$Script:Shape' + $Script:Shape + '.Cells("VerticalAlign").Formula = ' + $VerticalAlign
Invoke-Expression $Expression
}
# Set Item HorzAlign Properties
If ($ParaHorzAlign)
{
$Expression = '$Script:Shape' + $Script:Shape + '.Cells("Para.HorzAlign").Formula = ' + $ParaHorzAlign
Invoke-Expression $Expression
}
# Set Item Char.Size Properties
If ($CharSize)
{
$Expression = '$Script:Shape' + $Script:Shape + '.Cells("Char.Size").Formula = "' + $CharSize + '"'
Invoke-Expression $Expression
}
# Set Item Char.Color Properties
If ($CharColor)
{
$Expression = '$Script:Shape' + $Script:Shape + '.Cells("Char.Color").FormulaU = "=' + $CharColor + '"'
Invoke-Expression $Expression
}
}
Function Draw-VisioLine {
<#
.SYNOPSIS
Microsoft Powershell function for Draw Visio Line
.DESCRIPTION
Microsoft Powershell function for Draw Visio Line.
.PARAMETER BeginX
Begin X coordinate of Visio Line.
.PARAMETER BeginY
Begin Y coordinate of Visio Line.
.PARAMETER EndX
End X coordinate of Visio Line.
.PARAMETER EndY
End X coordinate of Visio Line.
.PARAMETER LineWeight
Visio Line thickness size.
.PARAMETER LineColor
Visio Line Color.
.PARAMETER BeginArrow
Begin Arrow Visio Line Style.
.PARAMETER EndArrow
End Arrow Visio Line Style.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 15.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Reorganize function
.EXAMPLE
Run:
Draw-VisioLine -BeginX 0.3125 -BeginY 10.3438 -EndX 12.4948 -EndY 10.3438 -LineWeight "1 pt"`
-LineColor "RGB(255,255,255)" -BeginArrow 4 -EndArrow 4
#>
Param (
[Parameter(Mandatory)]
[string]$BeginX,
[Parameter(Mandatory)]
[String]$BeginY,
[Parameter(Mandatory)]
[String]$EndX,
[Parameter(Mandatory)]
[String]$EndY,
[Parameter()]
[String]$LineWeight,
[Parameter()]
[String]$LineColor,
[Parameter()]
[String]$BeginArrow,
[Parameter()]
[String]$EndArrow
)
# Set variable
$Script:Line++
# Set Expression And Draw Line
$Expression = '$Script:Line' + $Script:Line + ' = $Script:Page.DrawLine(' + $BeginX + ',' + $BeginY + ',' + $EndX + ',' + $EndY + ')'
Invoke-Expression $Expression
# Set Line Width Properties
If ($LineWeight)
{
$Expression = '$Script:Line' + $Script:Line + '.Cells("LineWeight").Formula = "' + $LineWeight + '"'
Invoke-Expression $Expression
}
# Set Line Color Properties
$Expression = '$Script:Line' + $Script:Line + '.Cells("LineColor").FormulaU = "=' + $LineColor + '"'
Invoke-Expression $Expression
# Set Line Begin Arrow Properties
If ($BeginArrow)
{
$Expression = '$Script:Line' + $Script:Line + '.Cells("BeginArrow").Formula = ' + $BeginArrow
Invoke-Expression $Expression
}
# Set Line End Arrow Properties
If ($EndArrow)
{
$Expression = '$Script:Line' + $Script:Line + '.Cells("EndArrow").Formula = ' + $EndArrow
Invoke-Expression $Expression
}
}
Function Draw-VisioIcon {
<#
.SYNOPSIS
Microsoft Powershell function for Draw Visio Icon
.DESCRIPTION
Microsoft Powershell function for Draw Visio Icon.
.PARAMETER IconPath
Path to load icon.
.PARAMETER Width
Width size of Visio Icon.
.PARAMETER Height
Height size of Visio Icon.
.PARAMETER PinX
X coordinates of Visio Icon.
.PARAMETER PinY
Y Coordinates of Visio Icon.
.PARAMETER Text
Text Visio Icon.
.PARAMETER CharSize
Text Character Size of Visio Icon.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 16.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 02.09.2022
Purpose/Change: Reorganize function
.EXAMPLE
Run:
Draw-VisioIcon -IconPath "c:\!\powershell.png" -Width 0.9843 -Height 0.9843 -PinX 2.5547 -PinY 9.2682`
-Text "Windows Powershell" -CharSize "10 pt"
#>
Param (
[Parameter(Mandatory)]
[string]$IconPath,
[Parameter(Mandatory)]
[String]$Width,
[Parameter(Mandatory)]
[String]$Height,
[Parameter()]
[String]$PinX,
[Parameter()]
[String]$PinY,
[Parameter()]
[String]$Text,
[Parameter()]
[String]$CharSize
)
# Set Variables
$Script:Icon++
# Import Icon Item
$Expression = '$Script:Icon' + $Script:Icon + ' = $Script:Page.Import("' + $IconPath + '")'
Invoke-Expression $Expression
# Set Icon Width Properties
$Expression = '$Script:Icon' + $Script:Icon + '.Cells("Width").Formula = ' + $Width
Invoke-Expression $Expression
# Set Icon Height Properties
$Expression = '$Script:Icon' + $Script:Icon + '.Cells("Height").Formula = ' + $Height
Invoke-Expression $Expression
# Set Icon PinX Properties
$Expression = '$Script:Icon' + $Script:Icon + '.Cells("PinX").Formula = ' + $PinX
Invoke-Expression $Expression
# Set Icon PinY Properties
$Expression = '$Script:Icon' + $Script:Icon + '.Cells("PinY").Formula = ' + $PinY
Invoke-Expression $Expression
# Set Icon Text
If ($Text)
{
$Expression = '$Script:Icon' + $Script:Icon + '.Text = "' + $Text + '"'
Invoke-Expression $Expression
}
# Set Icon Char.Size Properties
If ($CharSize)
{
$Expression = '$Script:Icon' + $Script:Icon + '.Cells("Char.Size").Formula = "' + $CharSize + '"'
Invoke-Expression $Expression
}
}
Function Draw-VisioText {
<#
.SYNOPSIS
Microsoft Powershell function for Draw Visio Text
.DESCRIPTION
Microsoft Powershell function for Draw Visio Text.
.PARAMETER BeginX
Begin X coordinate of Visio Text.
.PARAMETER BeginY
Begin Y coordinate of Visio Text.
.PARAMETER Width
Width size of Visio Text.
.PARAMETER Height
Height size of Visio Text.
.PARAMETER FillForegnd
Background color of Visio Text.
.PARAMETER LinePattern
Contour line style of Visio Text.
.PARAMETER Text
Text Visio Item.
.PARAMETER VerticalAlign
Vertical Align Visio Text.
.PARAMETER ParaHorzAlign
Horizontal Align Visio Text.
.PARAMETER CharSize
Text Character Size of Visio Text.
.PARAMETER CharColor
Text Character Color of Visio Text.
.PARAMETER CharStyle
Text Character Style of Visio Text.
.PARAMETER FillForegndTrans
Transparent Fill Value of Visio Text.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 15.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 02.09.2022
Purpose/Change: Reorganize function
.EXAMPLE
Run:
Draw-VisioText -X 4.25 -Y 8.875 -Width 1.3751 -Height 0.375 -Text "Deploy Admin / Dev" -CharSize "10 pt" -CharStyle 17 -LinePattern "0" -FillForegndTrans "100%"
#>
Param (
[Parameter(Mandatory)]
[string]$X,
[Parameter(Mandatory)]
[String]$Y,
[Parameter(Mandatory)]
[String]$Width,
[Parameter(Mandatory)]
[String]$Height,
[Parameter()]
[String]$FillForegnd,
[Parameter()]
[String]$LinePattern,
[Parameter()]
[String]$Text,
[Parameter()]
[String]$VerticalAlign,
[Parameter()]
[String]$ParaHorzAlign,
[Parameter()]
[String]$CharSize,
[Parameter()]
[String]$CharColor,
[Parameter()]
[String]$CharStyle,
[Parameter()]
[String]$FillForegndTrans
)
# Set Variables
$Script:Text++
$Master = "Rectangle"
# Set Expression And Draw Text
$Expression = '$Script:Text' + $Script:Text + ' = $Script:Page.Drop(' + '$' + $Master + ',' + $X + ',' + $Y + ')'
Invoke-Expression $Expression
# Set Item Width Properties
If ($Width)
{
$Expression = '$Script:Text' + $Script:Text + '.Cells("Width").Formula = ' + $Width
Invoke-Expression $Expression
}
# Set Item Height Properties
If ($Height)
{
$Expression = '$Script:Text' + $Script:Text + '.Cells("Height").Formula = ' + $Height
Invoke-Expression $Expression
}
# Set Item FillForegnd Properties
If ($FillForegnd)
{
$Expression = '$Script:Text' + $Script:Text + '.Cells("FillForegnd").Formula = "=' + $FillForegnd + '"'
Invoke-Expression $Expression
}
# Set Item LinePattern Properties
If ($LinePattern)
{
$Expression = '$Script:Text' + $Script:Text + '.Cells("LinePattern").Formula = ' + $LinePattern
Invoke-Expression $Expression
}
# Set Item Text
If ($Text)
{
$Expression = '$Script:Text' + $Script:Text + '.Text = "' + $Text + '"'
Invoke-Expression $Expression
}
# Set Item VerticalAlign Properties
If ($VerticalAlign)
{
$Expression = '$Script:Text' + $Script:Text + '.Cells("VerticalAlign").Formula = ' + $VerticalAlign
Invoke-Expression $Expression
}
# Set Item HorzAlign Properties
If ($ParaHorzAlign)
{
$Expression = '$Script:Text' + $Script:Text + '.Cells("Para.HorzAlign").Formula = ' + $ParaHorzAlign
Invoke-Expression $Expression
}
# Set Item Char.Size Properties
If ($CharSize)
{
$Expression = '$Script:Text' + $Script:Text + '.Cells("Char.Size").Formula = "' + $CharSize + '"'
Invoke-Expression $Expression
}
# Set Item Char.Color Properties
If ($CharColor)
{
$Expression = '$Script:Text' + $Script:Text + '.Cells("Char.Color").FormulaU = "=' + $CharColor + '"'
Invoke-Expression $Expression
}
# Set Item Char.Style Properties
If ($CharStyle)
{
$Expression = '$Script:Text' + $Script:Text + '.Cells("Char.Style").Formula = "' + $CharStyle + '"'
Invoke-Expression $Expression
}
# Set Item FillForegndTrans Properties
If ($FillForegndTrans)
{
$Expression = '$Script:Text' + $Script:Text + '.Cells("FillForegndTrans").Formula = "' + $FillForegndTrans + '"'
Invoke-Expression $Expression
}
}
Function Draw-VisioPolyLine {
<#
.SYNOPSIS
Microsoft Powershell function for Draw Visio PolyLine
.DESCRIPTION
Microsoft Powershell function for Draw Visio PolyLine.
.PARAMETER Polyline
Polyline coordinates of Visio PolyLine.
.PARAMETER LineWeight
Visio Line thickness size.
.PARAMETER LineColor
Visio Line Color.
.PARAMETER BeginArrow
Begin Arrow Visio Line Style.
.PARAMETER EndArrow
End Arrow Visio Line Style.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 18.09.2007
Purpose/Change: Initial script development
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Reorganize function
.EXAMPLE
Run:
Draw-VisioPolyLine -Polyline 1.0938,9.0625,1.4063,9.0625,1.4063,8.6563,1.0938,8.6563 -LineWeight "0.5 pt"`
-LineColor "RGB(255,255,255)" -BeginArrow 1 -EndArrow 1
#>
Param (
[Parameter(Mandatory)]
[array]$Polyline,
[Parameter()]
[String]$LineWeight,
[Parameter()]
[String]$LineColor,
[Parameter()]
[String]$BeginArrow,
[Parameter()]
[String]$EndArrow
)
# Set Variable
$Script:PolyLine++
[double[]]$PolyLineCoordinates=@()
$PolyLineCoordinates += $Polyline
# Set Expression And Draw PolyLine
$Expression = '$Script:PolyLine' + $Script:PolyLine + ' = $Script:Page.DrawPolyLine([ref]($PolyLineCoordinates),0)'
Invoke-Expression $Expression
# Set Line Width Properties
If ($LineWeight)
{
$Expression = '$Script:PolyLine' + $Script:PolyLine + '.Cells("LineWeight").Formula = "' + $LineWeight + '"'
Invoke-Expression $Expression
}
# Set Line Color Properties
$Expression = '$Script:PolyLine' + $Script:PolyLine + '.Cells("LineColor").FormulaU = "=' + $LineColor + '"'
Invoke-Expression $Expression
# Set Line Begin Arrow Properties
If ($BeginArrow)
{
$Expression = '$Script:PolyLine' + $Script:PolyLine + '.Cells("BeginArrow").Formula = ' + $BeginArrow
Invoke-Expression $Expression
}
# Set Line End Arrow Properties
If ($EndArrow)
{
$Expression = '$Script:PolyLine' + $Script:PolyLine + '.Cells("EndArrow").Formula = ' + $EndArrow
Invoke-Expression $Expression
}
}
Function Resize-VisioPageToFitContents {
<#
.SYNOPSIS
Microsoft Powershell function for Resize Active Visio Document Page to Fit Contents.
.DESCRIPTION
Microsoft Powershell function for Resize Active Visio Document Page to Fit Contents.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 17.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Reorganize function.
.EXAMPLE
Run:
Resize-VisioPageToFitContents
#>
# Resize Page to Fit Contents
$Script:Page.ResizeToFitContents()
}
Function Save-VisioDocument {
<#
.SYNOPSIS
Microsoft Powershell function for save Visio Document.
.DESCRIPTION
Microsoft Powershell function for save Visio Document.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 17.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Reorganize function.
.EXAMPLE
Run:
Save-VisioDocument -File 'C:\!\Diagram.vsd'
#>
Param (
[Parameter(Mandatory)]
[String]$File
)
# Save Document
$Expression = '$Script:Document.SaveAs("' + $File + '")'
Invoke-Expression $Expression
}
Function Close-VisioApplication {
<#
.SYNOPSIS
Microsoft Powershell function for Close Visio Application.
.DESCRIPTION
Microsoft Powershell function for Close Visio Application.
.NOTES
Version: 0.1
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 17.09.2007
Purpose/Change: Initial script development
...
Version: 3.2
Author: Andrii Romanenko
Website: blogs.airra.net
Creation Date: 01.09.2022
Purpose/Change: Reorganize function.
.EXAMPLE
Run:
Close-VisioApplication
#>
# Close Visio Application
$Script:Application.Quit()
}
Since the creation of the module in 2007 and until today, the code has hardly changed, only cosmetic changes have been made. You are free to use any fragments of this code in your activity.
The current version of the code is available on the GitHub resource at this link: PSVisio.ps1
Next, we will try to apply these developments to display the various architectural levels of the VMware Cloud Foundation ecosystem.
VMware Cloud Foundation. Architecture as Code.
The ecosystem of VMware Cloud Foundation services is mature and quite complex. Therefore, to facilitate understanding of their interaction and the correct sequence of actions during design, implementation and operation, the vendor has prepared a set of accompanying documents: VMware Cloud Foundation Documentation 4.x (Archive file name – vcf-40-doc.zip), VMware Validated Design 6.0 (Archive file name – vmware-validated-design-60x.zip) and Diagrams for VMware Validated Design (Archive file name – vvd-diagrams -release-6.0.0.zip).
It is these priceless digital artifacts that will help us demonstrate the progress of the storyline stage “VMware Cloud Foundation. Architecture as Code“.
Based on our own approach and experience step by step, we will try to work out all levels from architecture and design to operation everywhere through the prism of code.
Conceptual Architecture of a SDDC as Code
Let’s start with the first step: creating a visual diagram Conceptual Architecture of a Software-Defined Data Center using code. In the above-mentioned bundles of documentation, it looks approximately like this:
Figure 1: The result of visualization of the Conceptual Architecture of a Software-Defined Data Center using Powershell code and Microsoft Visio.
The logic of this script is described in the comments to the code.
The author added additional icons to the diagram for better visual perception. The files vmw_icons.vssx and VMware_vCenter_Orchestrator_Shapes.vssx are used as a library of icons.
All used artifacts are located on the VCFasCode GitHub resource.
Bill Of Materials
During the work on this article was used:
Dell Vostro 3500 notebook with Microsoft Windows 10 Pro version 22H2 Operating system, 64 bit;
Software: Microsoft Visio 2021 MSO (Version 2407 Build 16.0.17830.20166) 64-bit;
Task automation and configuration management scripting language: Powershell 5.1.19041.4780;
Powershell script module: PSVisio v3.7;
Code for creating the diagram Conceptual Architecture of a Software Defined Data Center: SDDCconceptDiagram.ps1;
Visio stensils icon libraries: vmw_icons.vssx and VMware_vCenter_Orchestrator_Shapes.vssx files.
Brief Summary
The main theses of this article were the initial steps in the author’s approach to the storyline “Vmware Cloud Foundation as Code…”.
We reminded ourselves to understand the life cycle of any IT solution. The PSVisio Powershell script module was described, which will be actively used to visualize the various architectural levels of the VMware Cloud Foundation ecosystem and the third-party systems required for its operation.
We completed the first step: we created a visual diagram Conceptual Architecture of a Software-Defined Data Center using code.
This approach when using this code example has a significant drawback – it is a large number of parameters that form the properties of the diagram objects among the code functions. This creates an issue with code transparency and reusability.
Therefore, in the following publications of the “Vmware Cloud Foundation as Code…” cycle, we will focus on the following points:
Code reuse concept;
Diagram of the VCF architecture: Management and Workload Domains as Code;
Diagram of the architecture of third-party services that are necessary for building a VCF solution as Code.
Follow the news until the meeting is on air in a few days. Sincerely, AIRRA.
In the previous article of the series “VMware Learning. Year 2020” we considered a list of areas and specifics of authorized learning Vmware.
Today we will talk about the main training programs in the field of Data Center Virtualization & Hybrid Cloud Infrastructure.
Direction of training – Data Center Virtualization & Hybrid Cloud Infrastructure includes training programs on VMware vSphere, vSAN, Site Recovery Manager, VMware Intergrated OpenStack technologies.
VMware vSphere
VMware vSphere is server virtualization software and the heart of a Software-Defined Data Center (SDDC) that helps you run, manage, connect and secure applications in a shared cloud operating environment.
The main current training programs for vSphere technologies are:
Certification: VMware Certified Professional 6 (6.5) – Data Center Virtualization (VCP6 (6.5)-DCV).
The course includes intensive hands-on training that focuses on installing, configuring, and managing VMware vSphere version 6.5 (6.7), which includes VMware ESXi and VMware vCenter Server. The course prepares for vSphere infrastructure administration for an organization of any size. This is the foundation of knowledge for most other VMware technologies in a software-defined data center.
● VMware vSphere: Optimize and Scale [V6.5 (V6.7)]
Duration: 5 days.
Level of difficulty: Professional.
Target audience: Administrators, Engineers.
Prerequisites: Understanding of concepts presented in the VMware vSphere: Install, Configure, Manage course.
Certification: VMware Certified Professional 6 (6.5) – Data Center Virtualization (VCP6 (6.5)-DCV).
A course in advanced skills to configure and support a highly accessible and scalable virtual infrastructure. Through a combination of lectures and practical exercises, students configure and optimize the features of VMware vSphere 6.5 (6.7), which form the basis for a truly scalable infrastructure. This course will deepen your understanding of vSphere and how advanced features and controls can benefit.
Prerequisites: VMware vSphere: Install, Configure, Manage. Experience in working with a command-line interface is highly recommended, as is completion of VMware vSphere: Optimize and Scale.
Certification: VMware Certified Professional 6 (6.5) – Data Center Virtualization (VCP6 (6.5) -DCV).
This hands-on course provides advanced knowledge, skills and abilities to achieve troubleshooting competency in VMware vSphere 6.x. The course enhances skills and knowledge in using the command line interface, VMware vSphere Client, VMware vRealize Log Insight and other tools for analyzing and solving problems.
vSAN
VMware Virtual SAN (or vSAN) is a distributed storage concept that is fully integrated with VMware vSphere at the ESXi cluster level. vSAN is a software storage system that allows you to abstract from the “iron” data warehouse and work with resource pools without worrying about where the virtual machine data is located.
Prerequisites: Storage administration experience on block or file storage devices. Understanding of concepts presented in the VMware vSphere: Install, Configure, Manage course.
In this course, students focus on deploying and managing a software-defined storage solution using VMware vSAN 6.7. The course provides knowledge of how vSAN, an important component of the VMware data center software, functions. Students receive practical experience working with vSAN concepts and perform hands-on laboratory exercises.
Prerequisites: Understanding of concepts presented in the VMware vSphere: Install, Configure, Manage course. Storage administration experience with block or file storage devices. Completion of the VMware vSAN: Deploy and Manage course or equivalent experience with vSAN is desirable.
In this course, students acquire the skills to configure and perform common administrator and end-user tasks using VMware vSAN 6.7.
Prerequisites: Understanding of concepts presented in the VMware vSphere: Install, Configure, Manage course. Completion of the VMware vSAN: Deploy and Manage course or equivalent experience with VMware vSAN.
In this course, students will learn the tools and skills needed to troubleshoot a VMware vSAN 6.x implementation. They gain hands-on experience with vSAN troubleshooting concepts through hands-on lab exercises.
Site Recovery Manager
VMware Site Recovery Manager (SRM) is a business continuity and disaster recovery solution for planning, testing and restoring virtual machines from a protected, primary site to a backup recovery site.
Current Site Recovery Manager Technology Curriculum:
● VMware Site Recovery Manager: Install, Configure, Manage [V8.2]
The course gives experienced VMware vSphere administrators the knowledge to install, configure, and manage VMware Site Recovery Manager 8.2. This course also shows how to write and test disaster recovery plans that use Site Recovery Manager.
VMware Intergrated OpenStack
VMware Integrated OpenStack is a VMware-supported version of the OpenStack infrastructure that simplifies the operation of the OpenStack production environment, deployed over the existing Vmware infrastructure.
Current VMware Integrated OpenStack Technology Curriculum:
Prerequisites: This course requires the completion of the following course: VMware vSphere: Install, Configure, Manage, VMware Integrated OpenStack Fundamentals, VMware Network Virtualization Fundamentals.
The course provides skills for creating a private cloud using VMware Integrated OpenStack in a software-defined data center environment based on Vmware technologies. This course develops skills in installing, configuring, and managing VMware Integrated OpenStack. Students will learn how to offer IaaS and PaaS advanced networking and security to end users using VMware Integrated OpenStack.
Brief Summary
In this article, we got acquainted with the main training programs in the field of Data Center Virtualization & Hybrid Cloud Infrastructure: vSphere, vSAN, Site Recovery Manager, VMware Intergrated OpenStack technologies.
In the next publication of the cycle “VMware Learning. Year 2020” we will talk about training programs in the field of Network Virtualization & Security.
Follow the news until the meeting is on air in a few days. Sincerely, AIRRA.
High-quality work with IT technologies implies the presence of a certain level of competencies, knowledge and experience. The acquisition of these skills usually takes place in three key stages: Training, Practice, Certification.
In this series of publications, let’s consider what VMware has prepared for us in the 2020-2021 season in the context of training programs.
Everything related to certification, as well as how and where to acquire important practical skills, is the subject of the next series of articles.
Authorized Training
Authorized training from the vendor is a pointer to the best way to master this or that technology. Training programs vary in duration, difficulty level, target audience, training format. Given the trends of recent events in the world, training centers will have to reorient themselves mainly to online learning.
To understand the list of training programs and directions, you must visit the official resource: VMware Education Services and the corresponding section with the areas of study: VMware Learning Paths.
Learning Paths
Currently, VMware Education has formed four major product training areas:
Data Center Virtualization & Hybrid Cloud Infrastructure;
Network Virtualization & Security;
Virtualization & Cloud Management Platform;
Desktop, Application Virtualization & Mobility.
Brief Summary
In this article, we have read the list of areas and specifics of authorized training VMware. In the next post, we will learn about VMware Data Center Virtualization & Hybrid Cloud Infrastructure training programs.
Follow the news until the meeting is on air in a few days. Sincerely, AIRRA.
Microsoft focuses on role-based training and certification, which can help you develop the necessary skills and experience to advance in an accelerated and increasingly competitive, cloud-based world. Role-based training and certificates are based on new features and services that Microsoft is continually adding to the cloud-based solutions, minimizing skills gaps associated with relevant work roles.
Since Microsoft announced its focus on role-based training and certification in September 2018, it has added 34 statuses to its portfolio in Azure, Modern Workplace and Business Applications. Microsoft continues to expand its role-based curriculum offerings, with all other Microsoft Certified Solutions Associated (MCSA), Microsoft Certified Solutions Developer (MCSD), Microsoft Certified Solutions Expert (MCSE) status exams coming past June 30 2020.
If you are working on an MCSA, MCSD, or MCSE certification, you will need to take all the necessary exams before they expire.
If you have MCSA, MCSD, and MCSE certificates, they will remain in your Microsoft transcript even after the exams. These statuses will remain in the active section for two years from 30 June 2020; The certification will then be moved to the “inactive statuses” section.
Certificates with exams scheduled to expire on June 30, 2020:
MCSA: BI Reporting
MCSA: Dynamics 365 for Operations
MCSA: SQL 2016 BI Development
MCSA: SQL 2016 Database Admin
MCSA: SQL 2016 Database Dev
MCSA: SQL Server 2012/2014
MCSA: Universal Windows Platform
MCSA: Web Applications
MCSA: Windows Server 2012
MCSA: Windows Server 2016
MCSD: App Builder
MCSE: Business Applications
MCSE: Core Infrastructure
MCSE: Data Management & Analytics
MCSE: Productivity
Exams that expire on June 30, 2020: These exams will be suspended until 11:59 PM Central Time on June 30, 2020.
70-333: Deploying Enterprise Voice with Skype for Business 2015
70-334: Core Solutions for Microsoft Skype for Business 2015
70-339: Managing Microsoft SharePoint Server 2016
70-345: Designing and Deploying Microsoft Exchange Server 2016
70-457: Developing Mobile Apps
70-410: Installing and Configuring Windows Server 2012
70-411: Administering Windows Server 2012
70-412: Configuring Advanced Windows Server 2012 Services
70-413: Designing and Implementing a Server Infrastructure
70-414: Implementing an Advanced Server Infrastructure
70-417: Upgrading Your Skills to MCSA Windows Server 2012
70-461: Querying Microsoft SQL Server 2012/2014
70-462: Administering Microsoft SQL Server 2012/2014 Databases
70-463: Implementing a Data Warehouse with Microsoft SQL Server 2012/2014
70-464: Developing Microsoft SQL Server 2012/2014 Databases
70-465: Designing Database Solutions for Microsoft SQL Server
70-466: Implementing Data Models and Reports with Microsoft SQL Server
70-467: Designing Business Intelligence Solutions with Microsoft SQL Server
70-480: Programming in HTML5 with JavaScript and CSS3
70-483: Programming in C#
70-486: Developing ASP.NET MVC Web Applications
70-487: Developing Microsoft Azure and Web Services
70-537: Configuring and Operating a Hybrid Cloud with Microsoft Azure Stack
70-705: Designing and Providing Microsoft Licensing Solutions to Large Organizations
70-740: Installation, Storage, and Compute with Windows Server 2016
70-741: Networking with Windows Server 2016
70-742: Identity with Windows Server 2016
70-743: Upgrading Your skills to MCSA: Windows Server 2016
70-744: Securing Windows Server 2016
70-745: Implementing a Software-Defined Datacenter
70-761: Querying Data with Transact-SQL
70-762: Developing SQL Databases
70-764: Administering a SQL Database Infrastructure
70-765: Provisioning SQL Databases
70-767: Implementing a Data Warehouse using SQL
70-768: Developing SQL Data Models
70-777: Implementing Microsoft Azure Cosmos DB Solutions
70-778: Analyzing and Visualizing Data with Microsoft Power BI
70-779: Analyzing and Visualizing Data with Microsoft Excel
MB2-716: Microsoft Dynamics 365 Customization and Configuration
MB6-894: Development, Extensions and Deployment for Microsoft Dynamics 365 Finance