{"id":14277,"date":"2013-03-08T14:54:05","date_gmt":"2013-03-08T14:54:05","guid":{"rendered":"https:\/\/aidanfinn.com\/?p=14277"},"modified":"2013-03-08T14:54:05","modified_gmt":"2013-03-08T14:54:05","slug":"deploying-load-balanced-servers-using-vmm-2012-sp1-and-citrix-netscaler","status":"publish","type":"post","link":"https:\/\/aidanfinn.com\/?p=14277","title":{"rendered":"Deploying Load Balanced Servers Using VMM 2012 SP1 (And Citrix NetScaler)"},"content":{"rendered":"<p>In this post I\u2019m going to run through how you can deploy a load balanced server farm in VMM 2012 SP1.&#160; My example will be using the Citrix NetScaler VPX virtual load balancing appliance.&#160; The Brocade ADX and F5 Big-IP also have support for this functionality \u2013 there may be more but I\u2019m not aware of them.<\/p>\n<p><strong><u>Load Balancer<\/u><\/strong><\/p>\n<p>I got a demo of this appliance.&#160; The install is easy enough; unzip the files, place them on a host, register the machine in place (Hyper-V Manager), refresh the host in VMM, assign and record a static MAC address for the legacy network adapter.&#160; Power it up, assign an IP config when prompted.&#160; The default user name and password are nsroot and nsroot.&#160; In the email from Citrix there is a product key \u2013 which is useless by itself.&#160; Log into <a href=\"http:\/\/www.citrix.com\/account\" target=\"_blank\">www.citrix.com\/account<\/a> (I had to use Chrome because the site didn\u2019t like IE10), go to Activate And Allocate Licenses, click Don\u2019t See Your Product, enter the product key and the recorded static MAC of the VPX appliance, and now a license file should appear under View Licenses.&#160; Download that file.&#160; Now browse to the IP that you assigned to the NetScaler.&#160; During the mini-setup wizard, you\u2019ll see a link to manage licenses.&#160; Click that and upload your license file.&#160; Your NetScaler appliance will reboot.&#160; Log back into the NetScaler via your browser, right-click Load Balancing on the left, and Enable Load Balancing Feature. Phew!<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image8.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb8.png\" width=\"404\" height=\"287\" \/><\/a><\/p>\n<p>By the way, your browser will require \u2026 Java.&#160; Oh!&#160; The horror!&#160; My advice: have an admin VM that you never venture online with.&#160; Dell storage requires Java too.&#160; Jeez!<\/p>\n<p><strong><u>Load Balancer Provider<\/u><\/strong><\/p>\n<p>The next step is to download the VMM provider for your load balancer.&#160; This provider gives VMM and interface to integrate with the load balancer.&#160; You will install this on your VMM server.&#160; The Citrix one is a bit of a next-next-next installer.<\/p>\n<p>Note: VMM will not be able to use this provider until you start the VMM service on your VMM server.<\/p>\n<p><strong><u>Run As Account<\/u><\/strong><\/p>\n<p>VMM will require a run-as account to log into and manage the load balancer.&#160; You create that in Settings &gt; Security &gt; Run As Accounts<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image9.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb9.png\" width=\"404\" height=\"302\" \/><\/a><\/p>\n<p>Name it after your LB, and enter the user name and password.&#160; <\/p>\n<p><strong><u>Virtual IP Address Pool<\/u><\/strong><\/p>\n<p>Your LB will require virtual IPs (VIPs).&#160; A VIP is used by a client (user or application) to access the load balanced service which actually spans multiple obscured IP addresses.&#160; That means you only need to register the VIP in DNS for the load balanced service.<\/p>\n<p>Identify the logical network, network site (and thus the IP pool) that will be used y your service.&#160; Note that you might need to update many IP pools if your LB will work with services across multiple subnets.<\/p>\n<p>Edit the properties of the IP pool and reserve some of the IPs for your LB to use as VIPs.&#160; Note that the reserved IPs must be a part of the range defined in the pool.&#160; Here I have defined several IPs for use as VIPs.&#160; They will be checked out (used) and checked in (recycled) as I deploy and remove services that use the load balancer.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image10.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb10.png\" width=\"404\" height=\"302\" \/><\/a><\/p>\n<p><strong><u>Fabric &gt; Load Balancer<\/u><\/strong><\/p>\n<p>Into the Fabric to define a new load balancer.&#160; Note that you must restart the VMM service on your VMM server to make use of the provider you installed earlier.<\/p>\n<p>Once that\u2019s done, right-click Load Balancers and hit Add Load Balancer.&#160; Select the Run As Account you just created.&#160; Pick the Host Group(s) that you will permit to use this LB.&#160; Select the manufacturer and model from the drop down box (populated by the provider).&#160; Enter the IP address and port for managing the LB.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image11.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb11.png\" width=\"404\" height=\"302\" \/><\/a><\/p>\n<p>Under Logical Network Affinity you enter the VMM logical networks that will be used for:<\/p>\n<ul>\n<li>Client comms (front end)<\/li>\n<li>Server comms (back end)<\/li>\n<\/ul>\n<p>My network is rather simple because it\u2019s a lab.&#160; I\u2019m using a single logical network for testing and demos so I check both boxes for it in this setting.<\/p>\n<p>In Provider you can test the new load balancer:<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image12.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb12.png\" width=\"404\" height=\"302\" \/><\/a><\/p>\n<p>Now you have a load balancer.&#160; It\u2019s time to start to define how VMM managed services will make use of it.<\/p>\n<p><strong><u>Fabric &gt; VIP Template<\/u><\/strong><\/p>\n<p>The VIP Template will be used by a Service Template to define how the load balancing will be done.&#160; You\u2019ll be asked for a number of bits of information, such as:<\/p>\n<ul>\n<li>A label (make this something useful that describes the function and planned usage of the template)<\/li>\n<li>A template type: specify the load balancer that you\u2019ve added to VMM<\/li>\n<li>Specify the protocol that will be load balanced (HTTP, HTTPS Passthrough, HTTPS Terminate, Custom)<\/li>\n<li>Client connection persistence to the application server (on or off)<\/li>\n<li>Load balancing method (least connections, round robin, fast response time, custom)<\/li>\n<li>Add custom health monitors (optional)<\/li>\n<\/ul>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image13.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb13.png\" width=\"404\" height=\"302\" \/><\/a><\/p>\n<p>Now you have all of the required load balancer ingredients.<\/p>\n<p><strong><u>Update The Cloud<\/u><\/strong><\/p>\n<p>Your cloud that will host the new VMs (the service) must be permitted to use the LB and the VIP Template.&#160; Open the properties and check the box for the LB, and then the box(es) for the VIP Template(s) that you will be deploying.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image14.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb14.png\" width=\"404\" height=\"302\" \/><\/a><\/p>\n<p><strong><u>VM Template<\/u><\/strong><\/p>\n<p>You will need a VM template.&#160; Confirm three things:<\/p>\n<ol>\n<li>You capability profile matches the cloud in question<\/li>\n<li>You have configured the template to connect to the server logical network you defined in the LB object (Logical Network Affinity) in Fabric.<\/li>\n<li>The virtual NIC that will be load balanced has a static IP\/MAC configuration<\/li>\n<\/ol>\n<p>You\u2019ll have all sorts of \u201cfun\u201d in the Service Template and deployment if you don\u2019t confirm that stuff.<\/p>\n<p>I\u2019m using IIS 8.0 for my testing so my VM template also enables IIS, the management console, and the default document.&#160; This allows me to re-use a single VHDX and get multiple server types from it.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image15.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb15.png\" width=\"404\" height=\"302\" \/><\/a><\/p>\n<p><strong><u>Service Template<\/u><\/strong><\/p>\n<p>Time to start designing.<\/p>\n<p><em>In reality you\u2019d be working with Web Deploy 3.0 and creating Web Deploy packages.&#160; You\u2019d use this Web Deploy package to automatically install your web app to the new servers as you scale out the web server tier in your Service Template.&#160; I\u2019m doing lab stuff here and I\u2019m sticking to the default web site.&#160; Anywho, there\u2019s enough in this post to keep you busy for now <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" style=\"border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none\" alt=\"Smile\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/wlEmoticon-smile1.png\" \/><\/em><\/p>\n<p>In Library &gt; Templates &gt; Service Templates, create a new Service Template.&#160; I\u2019m choosing the Single Machine one (\u201csingle machine\u201d refers to a single tier which might be made up of lots of identical servers) for my demo.&#160; Maybe you need a two or three tier service template?<\/p>\n<p>Click the application at the top, rename it to describe the template and give it a meaningful version number.&#160; You can create new versions to update your deployed apps based on this mechanism.&#160; <\/p>\n<p>I drag my VM template onto the machine in the service template.&#160; A warning with alerts appears \u2013 save and validate (in the Ribbon) the configuration and that\u2019ll sort itself out if your VM template is OK.&#160; Select the VM.&#160; In the bottom you can configure scalability for this server, thus turning it into a tier of 1 or more servers.&#160; I\u2019ve set my example to start out by deploying 2 VMs from this template.&#160; It will allow the tier to scale out to 10 VMs (inheriting all of the Service Template configurations), and shrink down to a minimum of 1 VM.<\/p>\n<p>Now I click Add Load Balancer in the Ribbon.&#160; The VIP profile, a Client Connection, and a Server Connection appear.&#160; My demo example is simple with everything on a single Logical Network.&#160; I need to connect the LB connections to the logical network.&#160; Do that by creating Connectors (the Ribbon) and dragging to connect:<\/p>\n<ul>\n<li>The Client Connection to the logical network<\/li>\n<li>The Server Connection to the relevant NIC in the application server<\/li>\n<\/ul>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image16.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb16.png\" width=\"404\" height=\"404\" \/><\/a><\/p>\n<p>Hit Save And Validate once again.&#160; Now any machines in this tier will be automatically be configured to use the LB.&#160; This tier will use a single VIP for client connections.&#160; OK time to play!<\/p>\n<p><strong><u>Deploy The Web Servers<\/u><\/strong><\/p>\n<p>You can hit Configure Deployment in the Ribbon of the Service Template Designer to test it out.&#160; Give the service instance that you are creating a name, and select the cloud it will be deployed to.&#160; There may be some warnings.&#160; Click Refresh Preview in the Ribbon.&#160; Everything is checked against the targeted cloud.&#160; If all is well, the errors will disappear.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image17.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb17.png\" width=\"404\" height=\"438\" \/><\/a><\/p>\n<p>If you got the LB config wrong then it won\u2019t appear. You can see mine in the bottom right in the above screenshot and how it\u2019s connected to a logical network (named after my hand-built converged fabric on the WS2012 Hyper-V hosts).<\/p>\n<p>When you\u2019re ready to commit, click Deploy Service.<\/p>\n<p>A new job starts.&#160; Here\u2019s what\u2019s happening:<\/p>\n<ul>\n<li>2 new VMs (based on my scalability config for this tier in the service template) are being deployed in parallel<\/li>\n<li>Configure the roles\/services to customize the VM<\/li>\n<li>It would drop on a web app if I\u2019d attached a Web Deploy package to the tier in the Service Template<\/li>\n<li>VMM will use the LB and Run As account to configure load balancing for both of these servers using the VIP Template<\/li>\n<\/ul>\n<p>All I have to do is sit back and be patient *tick* *tick* *tick* <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" style=\"border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none\" alt=\"Smile\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/wlEmoticon-smile1.png\" \/><\/p>\n<p>Tip: Your VM deployments will timeout if you forget to complete the OS configuration, e.g. a valid product key. I strongly suggest that you test your VM Template deployment before including them in a Service Template.&#160; Monitor the running VM during deployment from a Hyper-V Connect window to look for deployment, config, or timeout issues.<\/p>\n<p><strong><u>The Deployed Load Balanced Service<\/u><\/strong><\/p>\n<p>Once the template is deployed you can poke around.&#160; The service appears in VMs And Services in the Services (Ribbon) view:<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image18.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb18.png\" width=\"604\" height=\"79\" \/><\/a><\/p>\n<p>In the NetScaler console, I can see a Virtual Server was created with one of my VIPs:<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image19.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb19.png\" width=\"504\" height=\"144\" \/><\/a><\/p>\n<p>My two VMs are identified as servers in the NetScaler:<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image20.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb20.png\" width=\"404\" height=\"171\" \/><\/a><\/p>\n<p>And all that appears to be tied together in a Service Group by the NetScaler (this Service Group is selected in the Virtual Server):<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image21.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb21.png\" width=\"404\" height=\"261\" \/><\/a><\/p>\n<p>All I did was fire up the NetScaler, give it an IP config, license it, and enable load balancing.&#160; VMM did all the rest using the Service Template via the LB provider.&#160; Nice!<\/p>\n<p>You can test by doing the following:<\/p>\n<ul>\n<li>Set up different web pages on the web servers<\/li>\n<li>Browse to the VIP of the Virtual Server (192.168.1.161 in my example)<\/li>\n<li>If you selected round robin as the load balancing method of the VIP Template then the web pages should alternate.&#160; <\/li>\n<li>Try powering down a VM and the web app should stay operational.<\/li>\n<\/ul>\n<p>And the nice stuff continues:<\/p>\n<ul>\n<li>Right-click on the service tier in VMM.&#160; You can Scale Out the tier.&#160; VMM will deploy a VM according to the Service Template.&#160; The LB will be reconfigured to include the new VM in the NetScaler Service Group.<\/li>\n<li>You can manually delete VMs and VMM will tidy up the LB.<\/li>\n<li>You can remove the service entirely and VMM will tidy up the LB and recycle the VIP.<\/li>\n<\/ul>\n<p>When you\u2019re done, you can optionally delegate access to this Service Template for your cloud tenants by editing the tenant properties:<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image22.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/03\/image_thumb22.png\" width=\"404\" height=\"302\" \/><\/a><\/p>\n<p>And that\u2019s Service Templates and Load Balancers.&#160; There\u2019s a bit of work to get it up and running, but once you have, you can see just how easy it is to deploy new applications.&#160; And keep in mind that I\u2019ve only scratched the surface of Service Templates!<\/p>\n<p>Credit: Thanks to <a href=\"http:\/\/hyper-v.nu\/\" target=\"_blank\">Hans Vredevoort MVP<\/a> for some help on the Citrix end of things.<\/p>\n<div id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ca3e3694-e950-4071-8bef-f165f017ebf7\" class=\"wlWriterEditableSmartContent\" style=\"float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px\">Technorati Tags: <a href=\"http:\/\/technorati.com\/tags\/System+Center\" rel=\"tag\">System Center<\/a>,<a href=\"http:\/\/technorati.com\/tags\/VMM\" rel=\"tag\">VMM<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Networking\" rel=\"tag\">Networking<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>In this post I\u2019m going to run through how you can deploy a load balanced server farm in VMM 2012 SP1.&#160; My example will be using the Citrix NetScaler VPX virtual load balancing appliance.&#160; The Brocade ADX and F5 Big-IP also have support for this functionality \u2013 there may be more but I\u2019m not aware &hellip; <a href=\"https:\/\/aidanfinn.com\/?p=14277\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Deploying Load Balanced Servers Using VMM 2012 SP1 (And Citrix NetScaler)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[20],"tags":[80,193,196],"class_list":["post-14277","post","type-post","status-publish","format-standard","hentry","category-hyper-v","tag-networking","tag-system-center","tag-vmm"],"aioseo_notices":[],"jetpack_featured_media_url":"","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/14277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14277"}],"version-history":[{"count":0,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/14277\/revisions"}],"wp:attachment":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14277"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}