<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Kloud Blog</title>
	<atom:link href="http://blog.kloud.com.au/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kloud.com.au</link>
	<description></description>
	<lastBuildDate>Thu, 23 May 2013 00:24:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.kloud.com.au' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/268d335f2417deb946f413603aac4764?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Kloud Blog</title>
		<link>http://blog.kloud.com.au</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.kloud.com.au/osd.xml" title="Kloud Blog" />
	<atom:link rel='hub' href='http://blog.kloud.com.au/?pushpress=hub'/>
		<item>
		<title>Office Web Apps Server – just say no to Windows Update Automatic Updates</title>
		<link>http://blog.kloud.com.au/2013/05/21/office-web-apps-server-just-say-no-to-windows-update-automatic-updates/</link>
		<comments>http://blog.kloud.com.au/2013/05/21/office-web-apps-server-just-say-no-to-windows-update-automatic-updates/#comments</comments>
		<pubDate>Tue, 21 May 2013 08:19:24 +0000</pubDate>
		<dc:creator>Marc Terblanche</dc:creator>
				<category><![CDATA[Communication and Collaboration]]></category>
		<category><![CDATA[Lync]]></category>
		<category><![CDATA[Office Web Apps Server]]></category>

		<guid isPermaLink="false">http://blog.kloud.com.au/?p=1254</guid>
		<description><![CDATA[Office Web Apps Server 2013 is a standalone Microsoft product that is leveraged by Lync 2013, SharePoint 2013 and Exchange 2013 for web based document viewing and editing using the WOPI (Web app Open Platform Interface) protocol. Office Web Apps<span class="ellipsis">&#8230;</span><div class="read-more"><a href="http://blog.kloud.com.au/2013/05/21/office-web-apps-server-just-say-no-to-windows-update-automatic-updates/">Read more &#8250;</a></div><!-- end of .read-more --><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=1254&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Office Web Apps Server 2013 is a standalone Microsoft product that is leveraged by Lync 2013, SharePoint 2013 and Exchange 2013 for web based document viewing and editing using the WOPI (Web app Open Platform Interface) protocol. Office Web Apps Server used be called Web Application Companion (WAC) and that is what all of the Lync 2013 pre-release software and documentation called it. In my opinion, Office Web Apps Server is a very confusing name as Exchange Outlook Web App (or Access) has owned the OWA acronym since 1997 with Exchange 5.0 SP 1. I have seen some people refer to it as OWA Server, but I am trying to reduce confusion and am on a campaign to have everyone call it OWAS.</p>
<p>An overview of OWAS from Microsoft explains how it works and how it integrates with Lync 2013, SharePoint 2013 and Exchange 2013 <a href="http://technet.microsoft.com/en-us/library/jj219437(v=office.15)">http://technet.microsoft.com/en-us/library/jj219437(v=office.15)</a></p>
<p>For Lync 2013 OWAS is an optional component, but it is required if you want to use the PowerPoint sharing feature of Lync. If OWAS is not deployed you can still share the desktop or share PowerPoint as a program and meeting participants see what the presenter is showing them. However you cannot choose the &#8216;PowerPoint&#8217; option seen below which uploads a presentation and lets participants experience the full PowerPoint features such as embedded video, transitions, animations and skipping back or forward on the slide deck out of sync with the presenter.</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052113_0819_officewebap1.png?w=605" /></p>
<h3>Windows Update Automatic Updates is Not Supported</h3>
<p>The point of this post is to call out something that we have seen at two Lync 2013 clients so far who deployed OWAS. The documentation <a href="http://technet.microsoft.com/en-us/library/jj219435.aspx">Plan Office Web Apps Server</a> states:</p>
<p><span style="color:#333333;font-family:Segoe UI;font-size:10pt;background-color:white;">&#8220;Applying Office Web Apps Server updates by using the Microsoft automatic updates process isn&#8217;t supported with Office Web Apps Server&#8221;<br />
</span></p>
<p><a href="http://technet.microsoft.com/en-us/library/jj966220">Apply software updates to Office Web Apps Server</a> explains the correct process of how to deploy updates for Office Web Apps Server, including server farms, and cautions:</p>
<p><span style="color:#333333;font-family:Segoe UI;font-size:10pt;background-color:white;">&#8220;Applying Office Web Apps Server updates by using the automatic updates process isn&#8217;t supported with Office Web Apps Server. This is because updates to an Office Web Apps Server must be applied in a specific way, as described in this article. If Office Web Apps Server updates are applied automatically, users may be unable to view or edit documents in Office Web Apps. If this happens, you have to rebuild your Office Web Apps Server farm&#8221;<br />
</span></p>
<h3>What Goes Wrong</h3>
<p>If the advice above is not followed and automatic installation of Windows Updates is enabled, when an update for OWAS like the March 2013 <a href="http://www.microsoft.com/en-us/download/details.aspx?id=36981">KB2760445</a> or April 2013 <a href="http://www.microsoft.com/en-us/download/details.aspx?id=38378">KB2810007</a> updates (at +- 585 MB each) are added to Windows Update, the server will install the update and OWAS functionality will break. Lync users will not be able to use PowerPoint sharing in meetings.  The server CPU will spike to 100% (thanks to the many OWAS applications) and sit there indefinitely. Additionally, the Office Web Apps Server Farm will be in a broken state. You will get some Application Event Log errors logged for:</p>
<ul>
<li>&#8216;.NET Runtime&#8217; Event ID 1026 and</li>
<li>&#8216;Application Error&#8217; Event ID 1000 about some of the viewers such as &#8216;Faulting application name: pptviewerfrontendwatchdog.exe, version: 15.0.4481.1000&#8242;</li>
</ul>
<p>The following commands will state that &#8216;It does not appear that this machine is part of an Office Web Apps Server farm&#8217;:</p>
<pre class="brush: powershell; title: ; notranslate">
Import-Module OfficeWebApps
Get-OfficeWebAppsFarm
Get-OfficeWebAppsMachine
</pre>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052113_0819_officewebap2.png?w=605" /></p>
<p>In order to get these commands to even respond, you may have to stop the &#8216;Office Web Apps&#8217; WACSM service.</p>
<p>You may be thinking to yourself that if Office Web Apps Server updates should not be automatically installed – then the updates should not be published on Windows Update at all. Makes sense to me!</p>
<h3>Recreate The Farm</h3>
<p>The way to fix the broken OWAS farm is to recreate it using the same commands used when the server was installed to create the Office Web Apps Farm. The article mentioned above about applying updates says you should run:</p>
<pre class="brush: powershell; title: ; notranslate">
Remove-OfficeWebAppsMachine
</pre>
<p>However this can be bypassed by running the original commands and confirming at the editing and overwrite prompts, or adding &#8216;-force&#8217; to the command. Recreating the farm would be similar to the following:</p>
<pre class="brush: powershell; title: ; notranslate">
Import-module OfficeWebApps
New-OfficeWebAppsFarm -InternalUrl &quot;https://owas01.domain.local&quot; -ExternalUrl &quot;https://owas.domain.com.au&quot; –CertificateName &quot;OWAS_Internal&quot; –EditingEnabled
</pre>
<p>The output of this is a successfully created farm and the server should return to normal CPU levels. If the CPU is still 100%, restart the server.</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052113_0819_officewebap3.png?w=605" /></p>
<p>More information on the New-OfficeWebAppsFarm syntax is available <a href="http://technet.microsoft.com/en-us/library/jj219436.aspx">http://technet.microsoft.com/en-us/library/jj219436.aspx</a></p>
<p>Note that the command above can take about 10 minutes to complete as it starts the WACSM service if it is stopped. After that, make sure you disable automatic Windows Update installation or you will have to go through the process again in the future.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kloudsolutions.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kloudsolutions.wordpress.com/1254/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=1254&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.kloud.com.au/2013/05/21/office-web-apps-server-just-say-no-to-windows-update-automatic-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3c26feff325685b8a72b74788a852203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">marcterblanche</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052113_0819_officewebap1.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052113_0819_officewebap2.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052113_0819_officewebap3.png" medium="image" />
	</item>
		<item>
		<title>BHOLD SP1 Core Portal Role Management for Dummies</title>
		<link>http://blog.kloud.com.au/2013/05/20/bhold-sp1-core-portal-role-management-for-dummies-draft/</link>
		<comments>http://blog.kloud.com.au/2013/05/20/bhold-sp1-core-portal-role-management-for-dummies-draft/#comments</comments>
		<pubDate>Mon, 20 May 2013 10:00:25 +0000</pubDate>
		<dc:creator>Michael Pearn</dc:creator>
				<category><![CDATA[FIM]]></category>
		<category><![CDATA[Identity and Access Management]]></category>

		<guid isPermaLink="false">http://blog.kloud.com.au/?p=1069</guid>
		<description><![CDATA[I&#8217;ve had the rare luxury of time in learning BHOLD SP1 for a customer recently and I thought I&#8217;d share the basics of what I&#8217;ve learned about the product. There&#8217;s very little in the way of information in the public realm about<span class="ellipsis">&#8230;</span><div class="read-more"><a href="http://blog.kloud.com.au/2013/05/20/bhold-sp1-core-portal-role-management-for-dummies-draft/">Read more &#8250;</a></div><!-- end of .read-more --><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=1069&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve had the rare luxury of time in learning BHOLD SP1 for a customer recently and I thought I&#8217;d share the basics of what I&#8217;ve learned about the product. There&#8217;s very little in the way of information in the public realm about BHOLD SP1, particularly as Microsoft have made significant changes to the database schema for Service Pack 1 of BHOLD, so I thought I&#8217;d share some learnings.</p>
<p>Beware, this is a &#8216;BHOLD for Dummies&#8217; scenario where all you might like to do is develop a quick scenario to show off BHOLD&#8217;s capabilities in role management. This blog incorporates the following key technologies:</p>
<ol>
<li>BHOLD Core Portal</li>
<li>FIM Metaverse with 4 Management Agents (1 x AD DS, 2 x BHOLD, 1 x FIM Portal)</li>
<li>Active Directory (AD DS)</li>
</ol>
<p>Essentially, what I&#8217;m attempting to demo to a customer is the ability to quickly provide users access to applications using the BHOLD Core Portal without performing any permissions, group or OU membership changes in AD DS. The key scenario is being able to show how the BHOLD Core Portal can use its powerful role management capability to affect change into a group in the FIM Metaverse. After a group is updated and available with membership in the FIM Metaverse, it can then be turned into whatever a customer wants using code. BHOLD is essentially performing a task whereby it imports Active Directory Users, and an Organisational Structure (SQL, AD DS or 3<sup>rd</sup> party connector) to generate &#8216;role based access&#8217; to applications and permissions in the form of a FIM Metaverse group membership. That&#8217;s all it does essentially, it&#8217;s very powerful but at the same time very simple.</p>
<p>I&#8217;ve setup my demo to achieve the basic scenario:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for1.jpg?w=605" /></p>
<p>The above represents a scenario whereby I import both Users and a basic AD DS OU (flat) structure into the BHOLD database so I can quickly get started in demonstrating working with BHOLD OUs. I&#8217;ve seen other scenarios whereby others have used a SQL database to generate either a user and/or a sample BHOLD OU structure. For the purposes of simplicity (this is for dummies right!), I&#8217;ve kept it to only FIM, AD DS and BHOLD.</p>
<p>So boiling it down: Users and OUs go in, group membership comes out!</p>
<p><strong>Part 1: Bring your Users and OUs from AD DS into the FIM Metaverse.<br />
</strong></p>
<p>If you&#8217;d really like to cheat, get a FIM R2 SP1 platform installed and then run the &#8216;Quickstart&#8217; PowerShell command which will essentially install an AD and FIM Management Agent and configure it for a Self Service Password Reset (SSPR) scenario. It&#8217;s very easy and the QuickStart source code comes with the FIM R2 SP1 media – you can find how to get this scenario working by following this link: <a href="http://technet.microsoft.com/en-us/library/jj134276(v=ws.10).aspx">http://technet.microsoft.com/en-us/library/jj134276(v=ws.10).aspx</a></p>
<p>For reference, my AD DS and FIM Management Agents are configured very simply like the following:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for2.png?w=605" /></p>
<p>I&#8217;m cheating a bit here, because BHOLD actually needs a minimum of two attributes to get a working BHOLD OU working in the BHOLD database &#8216;B1&#8242;:</p>
<ol>
<li><em>Display Name</em> (I&#8217;m sourcing from an OU&#8217;s name attribute)</li>
<li><em>Company </em>(I hard-code this with a string &#8216;value&#8217; of simply &#8216;Kloud&#8217;). I&#8217;m using a FIM Portal Sync Rule to get the flat string value &#8216;Kloud&#8217; into the Organization Metaverse object (not in the screenshot).</li>
</ol>
<p>After this is setup, there should be a populated &#8216;Person&#8217; and &#8216;Organization&#8217; Metaverse entry similar to the following:</p>
<p><strong>Person:<br />
</strong></p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for3.png?w=605" /></p>
<p><strong>Organization:<br />
</strong></p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for4.png?w=605" /></p>
<p>Eagle eye observers will note I&#8217;m actually not bringing across any correlation between the &#8216;Person&#8217; and the &#8216;Organization&#8217; ie. that &#8216;Michael Pearn&#8217; belongs to &#8216;Identity Management&#8217; at all because essentially it doesn&#8217;t really matter for our demo.</p>
<p>It just means it will add one more step whereby I have to add person: &#8216;Brendan Carius&#8217; to a BHOLD OU called &#8216;Management&#8217;. We&#8217;re just sourcing BHOLD OUs from somewhere that&#8217;s not SQL. Keeping it really, really simple. Also, AD DS OUs are limited in that a user is generally only a member of one AD DS OU at a time (not including the parent hierarchy). A user however can be made a member of multiple BHOLD OUs so this is why I&#8217;ve purposefully kept AD DS OU import &#8216;flat&#8217; and not bring across user membership.</p>
<p>So run an AD DS Management Agent import, confirm that both a basic Person and Organizational objects exist in the Metaverse and have attributes similar to the above.</p>
<p><strong>Step 2: Create BHOLD Management Agents and Provisioning Code<br />
</strong></p>
<p>This step will consist of two major tasks:</p>
<ol>
<li>Create a Metaverse Project Extension to provision &#8216;Persons&#8217; and &#8216;Organizations&#8217; to the BHOLD connector space ready for export to the BHOLD database</li>
<li>Create the BHOLD Management Agents (using the BHOLD Access Connector MA template, installed by the BHOLD SP1 Access Connector MSI installation)</li>
</ol>
<p><em>Substep A:<br />
</em></p>
<p>Create a basic Metaverse extension with the Microsoft LAB provided code and compile it in Visual Studio 2012 (<a href="http://technet.microsoft.com/en-us/library/jj853089(v=ws.10).aspx)">http://technet.microsoft.com/en-us/library/jj853089(v=ws.10).aspx)</a>. Update the code to reflect your Management Agent names in your FIM Sync engine.</p>
<p><em>Substep B:<br />
</em></p>
<p>1. Create the two BHOLD Management Agents (1 for OUs, 1 for Users and Groups) and configure them with the following attribute mappings:</p>
<p><em>BHOLD Org Unit Management Agent<br />
</em></p>
<ul style="margin-left:54pt;">
<li><em>Select only the &#8216;OrganizationalUnit&#8217; part of the BHOLD MA:<br />
</em></li>
</ul>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for5.png?w=605" /></p>
<ul style="margin-left:54pt;">
<li><em>OUs &#8216;go in&#8217; to the BHOLD database:<br />
</em></li>
</ul>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for6.png?w=605" /></p>
<p><em>BHOLD User Management Agent:<br />
</em></p>
<ul style="margin-left:54pt;">
<li><em>Select both the &#8216;Group&#8217; and &#8216;User&#8217; Object Types<br />
</em></li>
</ul>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for7.png?w=605" /><em><br />
</em></p>
<ul style="margin-left:54pt;">
<li><em>Users go in, Group memberships come out!<br />
</em></li>
</ul>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for8.png?w=605" /></p>
<p>2. At the end of this step, you should have 4 Management Agents configured like this:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for9.png?w=605" /></p>
<p>The last part will be to create some &#8216;Export&#8217; run profiles for each of the Management Agents. Then run an AD DS MA &#8216;Full Import&#8217; and &#8216;Full Sync&#8217; cycle and you should have some pending exports in both of your BHOLD MAs. Run an export of these MAs and you should now have some users and BHOLD OUs created in the BHOLD Core portal.</p>
<p><strong>Step 3: Confirm Users and BHOLD OUs are created in the BHOLD Core Portal<br />
</strong></p>
<p>Time now for a basic sanity check to ensure that you have BHOLD Users and OUs to play with. Open up the BHOLD Core Portal on your BHOLD server.</p>
<ol>
<li>Login to BHOLD core website &#8211;&gt; click &#8216;Model&#8217; &#8211;&gt; Click &#8216;Users&#8217;. Click the magnifying glass search button:</li>
</ol>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for10.png?w=605" /></p>
<p>2. Login to BHOLD core website, click &#8216;Model&#8217; &#8211;&gt; Click &#8216;Organizational Units&#8217;. Click the magnifying glass search button:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for11.png?w=605" /></p>
<p>OK, it&#8217;s looking good. The BHOLD OUs have a very flat hierarchy (ie. all OUs have a parent BHOLD &#8217;root&#8217; OU which is the very &#8216;top of the tree&#8217;). This could be solved easily into a more complex hierarchy of multiple levels but for this demo not necessary (plus others have documented how this can be achieved). The next part will be to create a basic &#8216;BHOLD application&#8217; with some permission &#8216;groups&#8217; which we&#8217;ll export back to our FIM Metaverse as group memberships.</p>
<p>For reference, each time a new BHOLD OU is created, an &#8216;MR Role&#8217; is automatically created with the OU. Also, each time a &#8216;BHOLD user&#8217; is created, a &#8216;PR Role&#8217; is automatically created with that user. Both &#8216;MR Roles&#8217; and &#8216;PR Roles&#8217; can be found under: Model <span style="font-family:Wingdings;">à</span> Roles:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for12.png?w=605" /></p>
<p><strong>Step 4: Create BHOLD Applications &amp; Permissions<br />
</strong></p>
<p>For this scenario, every time a new BHOLD OU is created (either manually or from an import from the FIM Metaverse) it will automatically create an &#8216;MR Role&#8217; for that OU. This is the key bit for our demo – we&#8217;re going to make life simple and use this automatically created role to assign a &#8216;BHOLD application&#8217; and a &#8216;BHOLD permission&#8217; to that role and therefore assigns users to that application permission.</p>
<p><em>Substep A: Create your BHOLD application:<br />
</em></p>
<ol>
<li>Create a new application by clicking &#8216;Model&#8217; <span style="font-family:Wingdings;">à</span> &#8216;Applications&#8217;:<em><br />
</em></li>
</ol>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for13.png?w=605" /></p>
<p>I used data values of <em>Protocol = SOAP</em> and <em>Object type = User.bholdDefAlias</em>, as I found that would create me a BHOLD account with the correct &#8216;Alias&#8217; type (more on this later).</p>
<p>2. Click &#8216;OK&#8217; when complete.</p>
<p><em>Substep B: Create a BHOLD Permission:<br />
</em></p>
<p>This essentially represents a FIM Metaverse Group as you assign users (via BHOLD OUs and Roles) to Applications via a BHOLD Permission object.</p>
<ol>
<li>Click &#8216;Modify&#8217; next to the &#8216;Permissions&#8217; entry when you&#8217;re in the &#8216;Application&#8217; settings (in my case my &#8216;O365 Production&#8217; Application):</li>
</ol>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for14.png?w=605" /></p>
<p>2.  Create a basic label for the Permission (this essentially becomes your FIM Metaverse Group Name). My Permission name in this example is &#8216;B2 License&#8217;:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for15.png?w=605" /></p>
<p>3. Click &#8216;Add&#8217; when the Permission object is completed. The default values for <em>Maximum number of roles = 0</em> and <em>Maximum Number of users = 0</em> represents an unlimited value.</p>
<p>4.  You can confirm that there are now Permission objects assigned to that Application by checking: &#8216;Model&#8217; &#8211;&gt; &#8217;Permissions&#8217; then filtering on that Application using the drop down box and &#8216;magnifying glass&#8217; icon (in my case &#8216;O365 Production&#8217;):</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for16.png?w=605" /></p>
<p><em>Substep C: Assigning the Permission to the MR Role<br />
</em></p>
<p>I&#8217;m going to now link the Application, Permission and MR Role Objects to tie my user &#8216;Brendan Carius&#8217; (who is a member of the &#8216;Management MR Role&#8217;).</p>
<ol>
<li>Confirm the user &#8216;Brendan Carius&#8217; is a member of the MR Role object. Click &#8216;Model&#8217; &#8211;&gt; &#8216;Roles&#8217; &#8211;&gt; MR-&lt;name&gt;</li>
<li>Click &#8216;Modify&#8217; then add in a user (or a dozen!) to that MR Role object.</li>
<li>
<div>Confirm a user appears in the list for the MR object:</div>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for17.png?w=605" /></li>
<li>Now we will assign that MR Role object to the Permission &#8216;B2 License&#8217;. Open up the &#8216;Model&#8217; &#8211;&gt; &#8216;Permission&#8217; &#8211;&gt; e.g. B2 License:</li>
</ol>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for18.png?w=605" /></p>
<p>5. Under Roles click &#8216;Modify&#8217;, then add in the MR role from Step 3. I&#8217;m adding in the &#8216;MR Management&#8217; role to this Permission object:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for19.png?w=605" /></p>
<p>6. Confirm the value has been added successfully at the top of the screen:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for20.png?w=605" /></p>
<p>7.  You can now confirm that due to the test user (my user &#8216;brendan.carius&#8217;) being a member of the MR Role &#8216;Management&#8217; object now has the &#8216;Permission&#8217; object to that application in his profile. Confirm by browsing &#8216;Model&#8217; &#8211;&gt; &#8216;Users&#8217; &#8211;&gt; &lt; Test User&gt; then under the &#8216;Permission&#8217; there should be the example added in:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for21.png?w=605" /></p>
<p>8.  Confirm that user now has been automatically created into an Account in the BHOLD section. Browse &#8216;Model&#8217; &#8211;&gt; &#8216;Accounts&#8217; and the alias for the user should match their &#8216;sAMAccountName&#8217; from Active Directory.</p>
<p>This seemed to be the key essential element missing from my previous failings with BHOLD SP1, if the account does not appear in the &#8216;Accounts&#8217; section, then the &#8216;Permissions Object&#8217; will not flow membership to the &#8216;FIM Group Metaverse object&#8217;:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for22.png?w=605" /></p>
<p>9.  Now run an Import Run profile on the BHOLD Users Management Agent and then a Full Sync, and in the FIM Metaverse Search, that user should now be represented in both the FIM Groups called &#8216;B1 License&#8217; and &#8216;B2 License&#8217;:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for23.png?w=605" /></p>
<p>10.  Checking the membership of both the &#8216;B1 License&#8217; and &#8216;B2 License&#8217; groups in the Metaverse should now reveal Brendan Carius to be a member:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for24.png?w=605" /></p>
<p>11.  Well, step 11 is up to you! Write code to then use that membership to create either groups in AD DS directly or straight to a third party application over an extensible Management Agent (ECMA 2.0, 2.2 or Powershell).</p>
<p>This is just a &#8216;quick and dirty&#8217; intro to BHOLD to help demystify some of the terminology and use of the BHOLD Core Portal.  I&#8217;ll be blogging about more advanced scenarios and techniques in weeks and months to come.  Good luck!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kloudsolutions.wordpress.com/1069/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kloudsolutions.wordpress.com/1069/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=1069&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.kloud.com.au/2013/05/20/bhold-sp1-core-portal-role-management-for-dummies-draft/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2f84e5aa7ee041e2131f2d35eae5207f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpearn</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for1.jpg" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for2.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for3.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for4.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for5.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for6.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for7.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for8.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for9.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for10.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for11.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for12.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for13.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for14.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for15.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for16.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for17.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for18.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for19.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for20.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for21.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for22.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for23.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/052013_1146_bholdsp1for24.png" medium="image" />
	</item>
		<item>
		<title>Ideal Workloads for Cloud</title>
		<link>http://blog.kloud.com.au/2013/05/17/ideal-workloads-for-cloud/</link>
		<comments>http://blog.kloud.com.au/2013/05/17/ideal-workloads-for-cloud/#comments</comments>
		<pubDate>Fri, 17 May 2013 12:41:44 +0000</pubDate>
		<dc:creator>Peter Reid</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Value]]></category>

		<guid isPermaLink="false">http://blog.kloud.com.au/?p=1059</guid>
		<description><![CDATA[Working in the fast changing world of IT, sometimes is good to stop, take a breather and reflect on where we are and how we got here. Cloud computing is certainly no exception and has had an enormous amount of<span class="ellipsis">&#8230;</span><div class="read-more"><a href="http://blog.kloud.com.au/2013/05/17/ideal-workloads-for-cloud/">Read more &#8250;</a></div><!-- end of .read-more --><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=1059&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Working in the fast changing world of IT, sometimes is good to stop, take a breather and reflect on where we are and how we got here. Cloud computing is certainly no exception and has had an enormous amount of hype over the past 5 years, but has it lived up to the promise?</p>
<h2>Looking Back</h2>
<p>I and many others at PDC 2008 listened to the announcement of Azure and the follow up communications as Microsoft went &#8220;all in&#8221; on the cloud. I particularly remember a set of slides from this <a href="http://www.microsoftpdc.com/2009/SVC54">presentation</a> that found its way into thousands of other Microsoft sponsored presentations (including <a href="http://channel9.msdn.com/Events/TechEd/Australia/2010/VOC206">mine</a>) around the planet.</p>
<p style="text-align:center;"><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/051713_1241_idealworklo1.png?w=529&#038;h=433" width="529" height="433" /></p>
<p>The abridged message of this early marketing was based on the theory that the elastic nature of cloud should lend itself to a certain set of workloads that are uneconomic to serve on fixed infrastructure. Acronym heavy concepts like TCO, ROI and SLM are used to identify those workloads in your organisation and help build a business case to move them to the cloud.</p>
<h2>Reality</h2>
<p>So 5 years on where are we? Working on the frontline of cloud computing the reality is somewhat different and surprising. While the optimal workloads are certainly still the most economical to move off your on-premise infrastructure, cloud economics isn&#8217;t the most important factor, not yet anyway. Here&#8217;s my new 20-20 hindsight on that same slide, &#8220;Workload Patterns Practical for Cloud&#8221;.</p>
<p style="text-align:center;"><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/051713_1241_idealworklo2.png?w=605" /></p>
<p>Turns out the ideal workloads for Cloud are somewhat less ambitious and fall into one of the following categories:</p>
<h2>IT Avoidance</h2>
<p>Avoiding the internal IT department. We see a lot of this and it&#8217;s a conversation started by the business who just need to <em>get stuff done</em> but have been at the mercy of IT departments, project management prioritisation queues and bloated risk averse estimation processes. While all good IT departments should have systems in place to ensure they are serving the business (the money makers) in reality we are seeing a failing of that process and the resulting spill over of IT execution is being picked up by cloud based services outside of the control of IT departments. For example:</p>
<ul>
<li>Business departments directly engaging services from SAAS providers<br />
(Social, Collaboration, Accounting, Blogs, Video hosting etc)</li>
<li>Reaching a dispersed and mobile workforce who haven&#8217;t been well served by traditional internal, IT departments with their firewalls and standard operating environments.</li>
</ul>
<h2>Predictable and Boring</h2>
<p>While the original cloud sales pitch was all about quickly auto scaling your computations and web sites to solve new problems and serve huge numbers of customers, the reality is quite different. It is the plain vanilla workloads of Email , Intranet, Timesheets and Accounting with its fixed number of users and steady state traffic that is moving to cloud.</p>
<p>Why? It&#8217;s easy, the migration path is well trodden and quantifiable. The CIO who needs to reduce CapEx on the balance sheet can fund a large and risky migration of a core line of business system or alternatively take a fixed price migration, remove a rack of servers and a couple of IT head count in the deal. This really makes sense when you think about cloud computing as a utility like electricity. Organisations should be migrating out to cloud services those workloads that are not core business. This is just the beginning of an IT commoditisation process, the end result of which is organisations not in the business of making money from IT shouldn&#8217;t have an IT department nor a server room just as they don&#8217;t generate their own electricity.</p>
<p>That will take time, but evidentally it will start with the boring workloads first.</p>
<h2>Dev &amp; Test</h2>
<p>At Kloud we moved to a new office space with a dedicated air conditioned server room which now looks like this. The only cold server containment is the beer fridge and the only server is the xBox (actually there is one server left but its life is likely to be short lived).</p>
<p style="text-align:center;"><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/051713_1241_idealworklo3.jpg?w=605" /></p>
<p>We arguably are a company that makes money from IT and we do indeed have lots of development, test and build servers but they all run elsewhere and only when needed for an individual client or project. The short lived environments are used to replicate or fake everything needed to build a client solution and just as quickly removed.</p>
<p>It has become the norm for organisations to deploy much larger server footprint to support multiple independent development and test streams than that deployed to run production environments. These server farms are typically underutilised and run much longer than they need to.</p>
<p>While not glamorous nor business critical, these environments represent a large proportion of the corporate data centre and are an obvious starting point for moving workloads to the cloud. And since by definition these environments are meant to be isolated, there is no better isolation than the other side of the world in someone elses data centre.</p>
<h2>Disaster and Backup</h2>
<p>The final workload pattern that is blazing the cloud trail is disaster and backup. Hosting a replica of the corporate production environment and backing up the data to a remote data centre capable of being switched to in the event of disaster. This is a great strategy for that CIO who has until now had to support 2 data centres &gt;50 kms apart for the 1 day in 4 years when a backhoe cuts the Internet link.</p>
<p>This is potentially the most interesting of all the cloud adoption strategies since the disciplines, processes and deployment challenges of running a DR site in the cloud requires the same disciplines as those to run production. Cloud vendors know this and are encouraging the use of cloud platforms for DR and backup strategies and cloud backed storage solutions.</p>
<h2>Looking Forward</h2>
<p>So what now moving forward? Arguably we are at a tipping point for cloud I think for the following reasons:</p>
<ul>
<li>Hardware refresh cycle: Most hardware accounting factors in a 3-4 year hardware refresh cycle. Hardware that was purchased before cloud was a viable option are now up for renewal. We are now realistically at a point where a CIO with vision could quite justifyably say &#8220;we are buying no more hardware&#8221; (which is what startups have been doing for years)</li>
<li>Money wins most arguments: The formative years of cloud have been dominated by one persistent question; Security! But the rate of uptake of corporate Email and Intranet compared to other workloads suggests that in the mind of the CIO the prospect of fixed cost and low risk migration trumps the risk of hosting your sensitive internal data in the public cloud.</li>
<li>Moats are not a great defence: Traditional IT Security principles have followed the Middle Ages mindset of putting a ring of confidence around the castle where all the good people are on the inside and all the bad people safely on the outside. The adoption of SaaS as a service provider outside and BYOD mobility as a consumer have forced a challenge to that mindset and an acknowledgement by many IT professionals that the security provided by a top tier cloud provider is most likely better than something you can knock together under the stairs at work.</li>
<li>Identity first: One of the great side effects of the adoption of &#8220;boring&#8221; workloads is that even boring applications need logins and ideally you want those logins to be the same regardless of where the application runs. While the ultimate solution &#8220;Federation&#8221; appears to still be an afterthought for most SaaS provders the next best thing is identity management and provisioning to manage the potential explosion of identities. This valuable initiative being undertaken by organisations today is paving the way for much more flexible &#8220;apps without borders&#8221; model tomorrow.</li>
</ul>
<p>So Cloud adoption happened but in a different way than would be predicted purely on economics. But it happened. And the formative work is paving the way for a new generation of agile, competitive organisations relieved of the burden of IT.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kloudsolutions.wordpress.com/1059/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kloudsolutions.wordpress.com/1059/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=1059&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.kloud.com.au/2013/05/17/ideal-workloads-for-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b8b1f2ba48e5ce1c360209361806e163?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petermreid</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/051713_1241_idealworklo1.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/051713_1241_idealworklo2.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/051713_1241_idealworklo3.jpg" medium="image" />
	</item>
		<item>
		<title>Fixing issues with BHOLD SP1 FIM Integration MSI installation</title>
		<link>http://blog.kloud.com.au/2013/05/17/fixing-issues-with-bhold-sp1-fim-integration-msi-installation/</link>
		<comments>http://blog.kloud.com.au/2013/05/17/fixing-issues-with-bhold-sp1-fim-integration-msi-installation/#comments</comments>
		<pubDate>Fri, 17 May 2013 04:45:35 +0000</pubDate>
		<dc:creator>Michael Pearn</dc:creator>
				<category><![CDATA[FIM]]></category>
		<category><![CDATA[Identity and Access Management]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kloud.com.au/?p=1033</guid>
		<description><![CDATA[For those struggling to get their BHOLD SP1 demo working in a Windows 2008 R2 64-bit environment, I&#8217;ve recently run into two critical errors I thought I would blog about as they took me and my colleague Stefan Buchman some hair pulling time to<span class="ellipsis">&#8230;</span><div class="read-more"><a href="http://blog.kloud.com.au/2013/05/17/fixing-issues-with-bhold-sp1-fim-integration-msi-installation/">Read more &#8250;</a></div><!-- end of .read-more --><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=1033&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>For those struggling to get their BHOLD SP1 demo working in a Windows 2008 R2 64-bit environment, I&#8217;ve recently run into two critical errors I thought I would blog about as they took me and my colleague Stefan Buchman some hair pulling time to work through. As this is a bleeding edge release, there isn&#8217;t much in the way of public information about others running into these errors so I thought I&#8217;d blog their fixes in case others were struggling.</p>
<p>This blog should be read in conjunction with getting an infrastructure or demo scenarios working from this link:  <a href="http://technet.microsoft.com/en-us/library/jj134107(v=ws.10).aspx">http://technet.microsoft.com/en-us/library/jj134107(v=ws.10).aspx</a>.  Also, you have to be meticulous and methodical in following the installation guidance from Microsoft as there is quite a lot of pre-requisite software that has to be installed onto all of the FIM R2 Sp1 servers in order for the BHOLD installation to succeed.</p>
<p><strong>Issue 1: Application Pools not starting on your FIM Service &amp; Portal server during BHOLD SP1 FIM Integration MSI install</strong></p>
<p>Both Stefan and I recently ran into an issue installing the BHOLD FIM Integration MSI file onto our FIM Service &amp; Portal server.  We were seeing a problem where the MSI would launch a custom action to run an executable called:  &#8216;FIMCustomization.exe&#8217;.  This executable runs a command window which promptly crashes, returning a non-zero exit code to the MSI and therefore terminating and rolling back the installation.  We were noticing two things occurring during this MSI install:</p>
<p>1.  The MSI installation in real-time creates a web application locally to the FIM Portal server in IIS Manager called &#8216;BHOLD&#8217; under port 5151, then immediately tries to call a &#8216;BHoldRoleExchangePoint.svc&#8217; file that&#8217;s hosted in that new web application (locally to the FIM portal server)</p>
<p>2. IIS Manager reports an issue where the Application Pool cannot start for the new BHOLD application and then stops the web application.  This is noticeable in the Event Viewer (App Log) with an issue similar to this (click to expand):</p>
<p><a href="http://kloudsolutions.files.wordpress.com/2013/05/apppool-issue.jpg"><img class="alignnone size-medium wp-image-1042" alt="AppPool issue" src="http://kloudsolutions.files.wordpress.com/2013/05/apppool-issue.jpg?w=300&#038;h=141" width="300" height="141" /></a></p>
<p>This is what causes the MSI installation to fail and rollback during install.</p>
<p>Stefan determined that putting the following entry into the following file fixed the issue.</p>
<p>1.  On the FIM Portal (SharePoint 2010 Foundation) server, locate the file: C:<em>\Windows\System32\inetsrv\config\applicationHost.config</em></p>
<p>2. Search for the string: &#8216;SPNativeRequestModule&#8217; and add to end of the sentence: <em>preCondition=&#8221;bitness64&#8243;</em>  before the end text &#8216;/&gt;&#8217;</p>
<p>The final beginning and end string value should look similar to:</p>
<p><em>&lt;add name=&#8221;SPNative RequestModule&#8221; image=&#8230;&lt;edit&gt;&#8230; spnativerequestmodule.dll&#8221; <strong>preCondition=&#8221;bitness64&#8243;</strong> /&gt;</em></p>
<p>This fixed issues where Application Pools were not starting correctly due to an incorrect x86/x64 architecture.  I&#8217;m sure an expert SharePoint developer would be able to tell you why in more detail!   Note: This fix is alluded to in the Microsoft Release Notes for BHOLD SP1 but it states that it applies to Windows Server 2012 only.  However, it looks like it impacts Server 2008 R2 as well (thanks to Dan Thom for the spot!).</p>
<p><strong>Issue 2:  Cross Domain Silverlight issue after successful FIM Integration MSI file installation</strong></p>
<p>By default, the BHOLD installation for the BHOLD SP1 FIM Integration MSI file installs the link for the &#8216;BHOLD Self Service Portal&#8217; with only the hostname of the FIM service portal.  In some situations we saw, this causes an issue with Silverlight not running the BHOLD self-service portal as it detects a &#8216;cross domain&#8217; issue with the link and does not display the content for security reasons</p>
<p>The link is displayed off the FIM Portal here: (click to zoom):</p>
<p><a href="http://kloudsolutions.files.wordpress.com/2013/05/bhold-self-service-link.jpg"><img class="alignnone size-medium wp-image-1046" alt="BHOLD self service link" src="http://kloudsolutions.files.wordpress.com/2013/05/bhold-self-service-link.jpg?w=300&#038;h=67" width="300" height="67" /></a></p>
<p>By adding in the full FQDN of the new BHOLD site in the following file fixes the issue.</p>
<p>1. On the FIM Portal server, open the file with Notepad.exe:  <em>C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\template\layouts\BHOLD\Self service.aspx</em></p>
<p>2. Locate the string:  <em>value=&#8221;RoleExchangePoint=http://:5151/BHOLD/RoleExchangePoint</em> &#8230;..&lt;etc&gt;</p>
<p>and add in the full FQDN to the server so that the value reads:</p>
<p><em>value=RoleExchangePoint=http://<strong>&lt;FQDN of your FIM Portal server&gt;:</strong>5151/BHOLD/RoleExchangePoint</em>&#8230;.</p>
<p>Example, if  was &#8216;FIMPortal&#8217;, and your FIM portal server has a FQDN of &#8216;FIMPortal.Fabrikam.com&#8217;, then the value becomes:</p>
<p><em>value=RoleExchangePoint=http://<strong>FIMPortal.Fabrikam.com</strong>:5151/BHOLD/RoleExchangePoint&#8230;</em></p>
<p>By performing a test of the &#8216;BHOLD Self Service Portal&#8217; link, there should be no &#8216;cross domain&#8217; Silverlight errors interfering with the portal displaying correctly.</p>
<p>Hope this helps future installations!</p>
<p>Michael Pearn</p>
<p>Let me know by the form below if you have any questions about getting a BHOLD SP1 lab or environment built:</p>
[contact-form]
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kloudsolutions.wordpress.com/1033/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kloudsolutions.wordpress.com/1033/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=1033&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.kloud.com.au/2013/05/17/fixing-issues-with-bhold-sp1-fim-integration-msi-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/2f84e5aa7ee041e2131f2d35eae5207f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mpearn</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/apppool-issue.jpg?w=300" medium="image">
			<media:title type="html">AppPool issue</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/bhold-self-service-link.jpg?w=300" medium="image">
			<media:title type="html">BHOLD self service link</media:title>
		</media:content>
	</item>
		<item>
		<title>Outlook Anywhere NTLM SSO with UAG 2010 KCD</title>
		<link>http://blog.kloud.com.au/2013/05/17/outlook-anywhere-ntlm-sso-with-uag-2010-kcd/</link>
		<comments>http://blog.kloud.com.au/2013/05/17/outlook-anywhere-ntlm-sso-with-uag-2010-kcd/#comments</comments>
		<pubDate>Fri, 17 May 2013 01:53:26 +0000</pubDate>
		<dc:creator>Marc Terblanche</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Reverse Proxy]]></category>
		<category><![CDATA[UAG]]></category>

		<guid isPermaLink="false">http://blog.kloud.com.au/?p=1027</guid>
		<description><![CDATA[Outlook Anywhere can be configured with two authentication methods – Basic and NTLM. Outlook Anywhere NTLM authentication has always been a bit of a tricky beast when using a pre-authenticating reverse proxy like TMG or UAG. The benefit it can<span class="ellipsis">&#8230;</span><div class="read-more"><a href="http://blog.kloud.com.au/2013/05/17/outlook-anywhere-ntlm-sso-with-uag-2010-kcd/">Read more &#8250;</a></div><!-- end of .read-more --><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=1027&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Outlook Anywhere can be configured with two authentication methods – Basic and NTLM. Outlook Anywhere NTLM authentication has always been a bit of a tricky beast when using a pre-authenticating reverse proxy like TMG or UAG. The benefit it can bring is that a user signed on to a domain joined computer with a domain account can get seamless SSO (Single Sign On) without entering a password. This can happen if the user is on the corporate network or if they are remote using Outlook Anywhere (RPC over HTTP) and cached credentials. This sounds like a great solution but the reality is that it often causes more problems than it is worth when using TMG or UAG as they have to use Kerberos Constrained Delegation (KCD) to connect to Exchange.</p>
<p>This post will cover a bit of background around NTLM Outlook Anywhere and KCD and a seemingly hidden configuration change you need to make to successfully use Outlook Anywhere NTLM authentication with UAG and a hardware load balancer. I could not find this referenced anywhere else, so am hopeful that it will save somebody a lot of troubleshooting time. Bear with me as this post gets a little detailed. If you are impatient (and we have all been in that situation where we only care about the solution) then jump to the <a href="#_How_to_Make_1">fix</a>.</p>
<h3>Symptoms</h3>
<p>On a recent customer project, we had a UAG array that needed to connect to a Hardware Load Balancer (HLB) Virtual IP address (VIP) which load balanced an Exchange Client Access Server (CAS) array. The experience for remote Outlook clients using Outlook Anywhere is they keep getting authentication prompts when trying to connect or create a new Outlook profile. Putting in the correct user name and password will just prompt again and again.</p>
<h3>Publishing Outlook Anywhere with NTLM</h3>
<p>A white paper by Greg Taylor from the Exchange Product Group was released by Microsoft in January 2011 <a href="http://www.microsoft.com/en-us/download/details.aspx?id=22723">Publishing Outlook Anywhere Using NTLM Authentication With Forefront TMG or Forefront UAG</a> which covered the steps for TMG and UAG to enable NTLM Outlook Anywhere authentication. This configuration guide covered a lot of the issues people encountered and worked fine if you used a single Exchange Client Access Server (CAS) or wanted UAG to perform the load balancing with a server farm.</p>
<h3>Adding a Hardware Load Balancer to the Solution</h3>
<p>The problem comes when trying to use a Hardware Load Balancer (HLB) between UAG and the CAS Array. As UAG will only connect to a single published name that is configured on the &#8216;Addresses&#8217; section of the &#8216;Web Servers&#8217; tab and will be using KCD, Exchange needs to have a Service Principal Name (SPN) for the published name and UAG must be allowed to delegate authentication. However an SPN should not exist twice in an Active Directory forest, so the CAS array members cannot all have the SPN added. If UAG tries to connect to the server using the SPN, authentication will fail. This was covered in detail in an Exchange Team Blog <a href="http://blogs.technet.com/b/exchange/archive/2010/07/20/combining-web-farm-publishing-with-software-or-hardware-based-load-balanced-cas-arrays.aspx">Combining Web Farm publishing with Software or Hardware Based Load Balanced CAS arrays</a>.</p>
<h3>Alternate Service Account</h3>
<p>A solution for CAS Array Kerberos authentication was introduced with Exchange 2010 Service Pack 1 in the form of the Alternate Service Account (ASA) which is covered in <a href="http://technet.microsoft.com/en-us/library/ff808312.aspx">Configuring Kerberos Authentication for Load-Balanced Client Access Servers</a> and <a href="http://technet.microsoft.com/en-us/library/ff808313.aspx">Using Kerberos with a Client Access Server Array or a Load-Balancing Solution</a>. All Client Access Servers use a shared computer account (or use account if required) via the Microsoft Exchange Service Host service and SPNs are added to this account to allow clients to authenticate to any CAS using the CAS Array FQDN. The steps to configure the ASA are:</p>
<ol>
<li>Create a computer account for the ASA</li>
<li>Add the SPNs to the ASA</li>
<li>Convert the Offline Address Book to an application using ConvertOABDir.ps1</li>
<li>Deploy the ASA account to the Exchange CAS array members using RollAlternateserviceAccountPassword.ps1</li>
</ol>
<p>The first link above states:</p>
<p><span style="color:#333333;font-family:Segoe UI;font-size:10pt;background-color:white;">&#8220;External or Internet-based clients that use Outlook Anywhere won&#8217;t use Kerberos authentication. Therefore, the fully qualified domain names that are used by these clients don&#8217;t have to be added as SPNs to the ASA credential.&#8221;<br />
</span></p>
<p>This seems to be the root of the problem with Outlook Anywhere and UAG, as UAG needs to use Kerberos authentication to perform Kerberos Constrained Delegation (KCD).</p>
<h3>KCD, S4U2Self and S4U2Proxy</h3>
<p>In order for the client to authenticate to the Client Access Server via UAG, the high level flows are:</p>
<ol>
<li>UAG takes the user credentials in non-Kerberos form, for example Basic or NTLM</li>
<li>UAG uses the Kerberos protocol transition extension S4U2Self (Service for User to Self) to obtain a Kerberos ticket on behalf of the user, as if the user had obtained it directly</li>
<li>
<div>UAG uses the Kerberos Constrained Delegation (KCD) extension S4U2Proxy (Service for User to Proxy) to impersonate the user and obtain a Kerberos ticket to access the Exchange CAS</div>
<ol>
<li>The UAG server needs to be allowed to delegate authentication to the SPN Exchange uses</li>
</ol>
</li>
<li>The Exchange CAS responds to UAG as if the user had authenticated directly with Kerberos</li>
<li>UAG sends the response back to the user device</li>
</ol>
<p>More information on Kerberos Constrained Delegation and the S4U2Self and S4U2Proxy Kerberos extensions is available from:</p>
<p><a href="http://msdn.microsoft.com/library/cc246071(PROT.13).aspx">http://msdn.microsoft.com/library/cc246071(PROT.13).aspx</a></p>
<p><a href="http://technet.microsoft.com/en-US/library/cc738207(v=ws.10)">http://technet.microsoft.com/en-US/library/cc738207(v=ws.10)</a></p>
<h3>Usual Exchange and UAG Configuration</h3>
<ul>
<li>Follow the ASA guide mentioned above <a href="http://technet.microsoft.com/en-us/library/ff808312.aspx">Configuring Kerberos Authentication for Load-Balanced Client Access Servers</a></li>
<li>Enable Outlook Anywhere on each server (or all at once)</li>
</ul>
<pre class="brush: powershell; title: ; notranslate">
Get-OutlookAnywhere -server serverone | Set-OutlookAnywhere -ClientAuthenticationMethod NTLM
</pre>
<ul>
<li>Add SPNs for additional UAG published names if you are using custom ports as mentioned in my previous blog about <a href="http://blog.kloud.com.au/2013/05/10/uag-2010-problems-with-custom-trunk-ports-and-failing-redirects/">custom port redirect problems</a>.</li>
</ul>
<pre class="brush: powershell; title: ; notranslate">
setspn -s http/exchange.domain.com CAS-ASA$
</pre>
<ul>
<li>Configure UAG Outlook Anywhere application for KCD as per the White Paper above</li>
<li>Configure Active Directory to allow UAG to use KCD to the ASA computer account SPNs that are published by UAG. Rather than exporting the LDIF file from UAG, you can run the following script to setup delegation where &#8216;exchange.domain.com&#8217; is what is entered on the UAG application &#8216;Addresses&#8217; tab</li>
</ul>
<pre class="brush: powershell; title: ; notranslate">
$SPNs = &quot;http/exchange.domain.com&quot;,&quot;http/exchange&quot;
$UAGservers = &quot;UAG01&quot;,&quot;UAG02&quot;,&quot;UAG03&quot;,&quot;UAG04&quot;
Import-Module -Name ActiveDirectory
foreach ($UAGserver in $UAGservers) {
    $TempComputer = $null
    $Tempcomputer = Get-ADComputer $UAGserver
    Set-ADObject $Tempcomputer.DistinguishedName -Add @{&quot;msDS-AllowedToDelegateTo&quot; = $SPNs}
    Set-ADObject $Tempcomputer.DistinguishedName -Replace @{&quot;userAccountControl&quot; = 16781312}
}
</pre>
<p><span style="color:black;">At this point you will have done everything mentioned for Exchange and UAG in the Microsoft documentation but it will not work and Outlook users will keep getting prompted for credentials.</span></p>
<h3>Cause</h3>
<p>Outlook Anywhere uses the RPC application in IIS which uses the DefaultAppPool Application Pool.</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/051713_0153_outlookanyw1.jpg?w=605" /></p>
<p>The DefaultAppPool is different to all of the Exchange specific application pools as it uses the ApplicationPoolIdentity identity, not LocalSystem as can be seen below.</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/051713_0153_outlookanyw2.jpg?w=605" /></p>
<p>As it is not using LocalSystem this application pool cannot use the Exchange Alternate Service Account as it does not have access to the Exchange Service Host SPNs. That means UAG cannot delegate authentication and Kerberos Constrained Delegation will not work. KCD will not fall back to a lower authentication mechanism on authentication failure.</p>
<h3 id="_How_to_Make_1">How to Make It Work</h3>
<p>The fix is pretty simple – modify DefaultAppPool to LocalSystem or create a new application pool that uses LocalSystem. The first option is not recommended as there are other applications using the DefaultAppPool and doing so may give more rights than are required. Creating a new application pool is possible in the IIS console, but the DefaultAppPool has quite a few non-standard settings. So the easiest way is to use the IIS PowerShell module to copy the application pool. This was my first attempt at using the IIS PowerShell module and I could not get it consistently copy the DefaultAppPool across multiple Exchange versions and Windows patch levels. In the script below there is a dirty hack that creates the application pool, deletes it and then copy. Without the precreation I would get the error &#8216;Copy-Item : Object reference not set to an instance of an object&#8217; when trying to copy. Note the iisreset at the end – this will disconnect users so plan ahead.</p>
<pre class="brush: powershell; title: ; notranslate">
Import-Module webadministration
### Need to stop DefaultAppPool and precreate the new app pool to get it to work consistently
Stop-WebAppPool DefaultAppPool
New-WebAppPool MSExchangeRpcAppPool
Remove-WebAppPool MSExchangeRpcAppPool
copy IIS:\AppPools\DefaultAppPool IIS:\AppPools\MSExchangeRpcAppPool
Start-WebAppPool DefaultAppPool
### Modify new app pool to LocalSystem
$RpcAppPool = dir IIS:\AppPools | where {$_.name -eq &quot;MSExchangeRpcAppPool&quot;}
$RpcAppPool.processModel.identityType = &quot;LocalSystem&quot;
$RpcAppPool | set-item
### Change RPC applications to use the new app pool
set-itemproperty &quot;IIS:\Sites\Default Web Site\Rpc&quot; ApplicationPool MSExchangeRpcAppPool
set-itemproperty &quot;IIS:\Sites\Default Web Site\RpcWithCert&quot; ApplicationPool MSExchangeRpcAppPool
iisreset
</pre>
<p>You end up with a new application pool using LocalSystem that only contains the RPC applications.</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/051713_0153_outlookanyw3.jpg?w=605" /></p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/051713_0153_outlookanyw4.jpg?w=605" /></p>
<p>This process has been tested and works with Exchange 2010 Service Pack 2 and Service Pack 3 on Windows 2008 R2. Exchange 2013 and Windows 2012 have not been validated.</p>
<h3>Bonus Information – KCD and Trusts</h3>
<p>Attempting to work out if Outlook Anywhere NTLM with UAG and KCD was supported with a trust sent us down many conflicting documents and references. This UAG page in particular made me think it would not work <a href="http://technet.microsoft.com/en-us/library/ee690462.aspx">Configuring single sign-on with Kerberos constrained delegation</a> when it says:</p>
<p><span style="color:#333333;font-family:Segoe UI;font-size:10pt;background-color:white;">&#8220;The following are the requirements for Kerberos constrained delegation:<br />
</span></p>
<ul>
<li><span style="color:#333333;font-family:Segoe UI;font-size:10pt;background-color:white;">The Forefront UAG server must be part of a domain.<br />
</span></li>
<li><span style="color:#333333;font-family:Segoe UI;font-size:10pt;background-color:white;">You must define only one authentication server for the trunk to which the application belongs.<br />
</span></li>
<li><span style="color:#333333;font-family:Segoe UI;font-size:10pt;background-color:white;">All domain controllers in the internal network must be running Windows Server 2003.<br />
</span></li>
<li><span style="color:#333333;font-family:Segoe UI;font-size:10pt;"><span style="background-color:lightgrey;">Users must be part of the same Active Directory forest as the Forefront UAG server and the application servers</span><span style="background-color:white;">.<br />
</span></span></li>
<li><span style="color:#333333;font-family:Segoe UI;font-size:10pt;background-color:white;">Forefront UAG servers and application servers must be part of the same domain&#8221;<br />
</span></li>
</ul>
<p>However <a href="http://technet.microsoft.com/en-us/library/cc772683(v=ws.10).aspx">Summary (Kerberos Protocol Transition and Constrained Delegation)</a> says:</p>
<p><span style="color:#333333;font-family:Segoe UI;font-size:10pt;background-color:white;">&#8220;The accounts of users accessing the services do not have to be in the same domain as the services&#8221;<br />
</span></p>
<p>It wasn&#8217;t clear if that meant it could be in a different domain in the same forest, or if it could cross forest boundaries. Many other documents and articles confused the issue and I could not find a nice concise link stating it would work. This is probably the closest but it is for ISA and IAG (the predecessors of TMG and UAG) <a href="http://technet.microsoft.com/en-us/library/cc752953.aspx">KCD with Cross-Forest Accounts</a>.</p>
<p>The bottom line is that it does work &#8211; users from trusted forest A can access their linked mailboxes from Outlook Anywhere via UAG in forest B and get seamless SSO.</p>
<p>For KCD to work, UAG and the resource (Exchange in this case) have to be in the same domain. For S4U2Self protocol transition to work, there must be a two way forest trust (which means Windows 2003 Forest functional level or later) and the UAG servers need to be able to resolve and connect directly to the trusted forest Active Directory Domain Contollers for authenticating end users. In our situation we had to add an additional domain suffix to the UAG server internal network interfaces and open up firewall ports.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kloudsolutions.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kloudsolutions.wordpress.com/1027/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=1027&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.kloud.com.au/2013/05/17/outlook-anywhere-ntlm-sso-with-uag-2010-kcd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3c26feff325685b8a72b74788a852203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">marcterblanche</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/051713_0153_outlookanyw1.jpg" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/051713_0153_outlookanyw2.jpg" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/051713_0153_outlookanyw3.jpg" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/051713_0153_outlookanyw4.jpg" medium="image" />
	</item>
		<item>
		<title>AWS Cloud Architecture Essentials &#8211; The Commodity</title>
		<link>http://blog.kloud.com.au/2013/05/16/aws-cloud-architecture-essentials-the-commodity/</link>
		<comments>http://blog.kloud.com.au/2013/05/16/aws-cloud-architecture-essentials-the-commodity/#comments</comments>
		<pubDate>Wed, 15 May 2013 23:18:39 +0000</pubDate>
		<dc:creator>benturner999</dc:creator>
				<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Cloud Infrastructure]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.kloud.com.au/?p=932</guid>
		<description><![CDATA[AWS Architectures start at the heart of many businesses, customers. The foundation and principles of AWS have been built on Amazon, a company that was envisaged to be the most customer centric company in the world. &#8220;There are two kinds<span class="ellipsis">&#8230;</span><div class="read-more"><a href="http://blog.kloud.com.au/2013/05/16/aws-cloud-architecture-essentials-the-commodity/">Read more &#8250;</a></div><!-- end of .read-more --><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=932&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>AWS Architectures start at the heart of many businesses, customers.</p>
<p>The foundation and principles of AWS have been built on Amazon, a company that was envisaged to be the most customer centric company in the world. &#8220;There are two kinds of companies, those that work to try to charge more and those that work to charge less. We will be the second.&#8221; &#8211; Jeff Bezos</p>
<p>These types of requirements are inputs into an ethos that pervades, that underpins the Architecture of AWS.</p>
<h3>Core Principles</h3>
<p>Elasticity and Scalability are two fundamental cloud architecture principles that guide the AWS Architecture.</p>
<p>Elasticity is the ability to use resources in a dynamic and efficient way so the traditional anti-pattern of over provisioning of infrastructure resources to cope with capacity requirements is avoided. Significantly, elasticity avoids the costs of these over provisioned resources such as power, space and maintenance. This is the AWS pay as you go/pay for what you use model.</p>
<p>Scalability is the ability to scale without changing the design. With AWS, scalability is achieved by scaling-out.  Infrastructure and application components are designed with the premise that they will fail, instead of a just being designed around High Availability. The technology components are commodities that can be thrown out when they fail and grown by adding more when demanded. A guiding principle is to have a consistent approach to architecture and growth.</p>
<p>Embracing these core principles requires a number of traditional blockers to be removed to support resilience and growth. Manual Components, Tightly Coupled Components, Stateful Components and Vertical Components.</p>
<ul>
<li>Manual – where manual intervention is required to start, scale or control resources</li>
<li>Tightly Coupled Components – where a single component is dependent on another specific component</li>
<li>Stateful components &#8211; resiliency to a loss of state</li>
<li>Vertical scaling &#8211; ability to scale out horizontally, instead of vertical scaling which will eventually hit limitations</li>
</ul>
<p>Repeatability is at the heart of removing these blockers so that automation (autoscaling and bootstrapping) can take over and scale transparently as the demand arises.</p>
<p>AWS represents a fork in the road where Infrastructure and Application Technologies meet at a common manageable point, the API. This is the power and revolution of cloud and AWS architectures, largely turning the Datacentre into highly manageable software. The AWS API has SDKs for Java, Python, Ruby, .NET, PHP, iOS and Android.</p>
<p>Architecting technology components as commodities is fundamental. Once blockers are removed Technology building blocks just become interchangeable components, the very definition of a commodity &#8211; “A basic good used in commerce that is interchangeable with other commodities of the same type. Commodities are most often used as inputs in the production of other goods or services. The quality of a given commodity may differ slightly, but it is essentially uniform across producers”. In AWS speak quality refers to the instance type and whilst there a number of different flavours of scale from t1.micro to C1.Xlarge they are essentially the same &#8220;commodity&#8221;.</p>
<h3><strong>New Architectural Ethos</strong></h3>
<p>Where there are blockers of cloud architecture adoption there are also principles that promote and strengthen cloud architecture. Areas that you need to gravitate towards to successfully leverage the AWS cloud.</p>
<ul>
<li>Autoscaling and Bootstrapping &#8211; Autoscaling allows you to automatically horizontally scale to accommodate load. Bootstrapping allows you automatically setup your servers after they boot. (Using components such as Amazon Machine Images (AMI&#8217;s) and CloudFormation to automate)</li>
<li>Loosely Coupled</li>
<li>Stateless</li>
<li>Horizontal</li>
</ul>
<p>Changing a legacy architecture to this new pattern can be but isn&#8217;t always the first step in adopting the cloud. Sometimes a &#8220;lift and shift&#8221; of  a current application  &#8221;as-is&#8221; can be a suitable and compelling first step into the cloud.  It just means that all the capabilities of a cloud architecture will not be fully available until the blockers are removed and the new architecture ethos is more widely adopted. The adoption of new cloud architectures is like dining out. There are many choices,  you can choose a la carte options and sample some specific menu items or you can have a banquet and get the full experience.</p>
<p>In AWS Infrastructure becomes code. In this example see how quick it can be to provision infrastructure for a website using CloudFormation: <a href="http://www.youtube.com/watch?v=Rg7On-Yx82g">http://www.youtube.com/watch?v=Rg7On-Yx82g</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kloudsolutions.wordpress.com/932/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kloudsolutions.wordpress.com/932/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=932&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.kloud.com.au/2013/05/16/aws-cloud-architecture-essentials-the-commodity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/143b3b2a1f9296842e9bb35ac8f52681?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">benturner999</media:title>
		</media:content>
	</item>
		<item>
		<title>UAG 2010 &#8211; Problems with Custom Trunk Ports and Failing Redirects</title>
		<link>http://blog.kloud.com.au/2013/05/10/uag-2010-problems-with-custom-trunk-ports-and-failing-redirects/</link>
		<comments>http://blog.kloud.com.au/2013/05/10/uag-2010-problems-with-custom-trunk-ports-and-failing-redirects/#comments</comments>
		<pubDate>Fri, 10 May 2013 06:59:49 +0000</pubDate>
		<dc:creator>Marc Terblanche</dc:creator>
				<category><![CDATA[Communication and Collaboration]]></category>
		<category><![CDATA[Reverse Proxy]]></category>
		<category><![CDATA[UAG]]></category>

		<guid isPermaLink="false">http://blog.kloud.com.au/?p=995</guid>
		<description><![CDATA[UAG 2010 prior to Service Pack 1 Update 1 did not support publishing trunks on custom ports – only 80 and 443 were supported. That meant each UAG trunk required a separate IP address per trunk. With SP 1 Update<span class="ellipsis">&#8230;</span><div class="read-more"><a href="http://blog.kloud.com.au/2013/05/10/uag-2010-problems-with-custom-trunk-ports-and-failing-redirects/">Read more &#8250;</a></div><!-- end of .read-more --><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=995&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>UAG 2010 prior to Service Pack 1 Update 1 did not support publishing trunks on custom ports – only 80 and 443 were supported. That meant each UAG trunk required a separate IP address per trunk. With SP 1 Update we could publish UAG trunks on custom ports on a single IP address, although it doesn&#8217;t seem many people actually did this. For a customer recently where UAG 2010 was required with 5 trunks, there was an existing network architecture restriction that required the UAG servers to use public IP addresses. We needed high availability and using the existing Hardware Load Balancing (HLB) solution meant 15 public IP addresses in a default 1 trunk per IP configuration &#8211; 5 per UAG server and 5 HLB virtual IP addresses.</p>
<p>5 trunks were required to meet a combination of different domain names, certificates), different authentication mechanisms, different access methods and authorisation requirements. We could not give the UAG servers private IP addresses for the External interfaces, so the compromise was to publish each trunk on the same public IP address using a custom port. The HLB would publish the trunks on port 443 and connect to UAG on the relevant custom port. This meant 7 public IP addresses used (5 x HLB and 2 x UAG servers) which was the best we could do.</p>
<h4>Environment Overview</h4>
<p><a href="http://kloudsolutions.files.wordpress.com/2013/05/uag-custom-ports-3.jpg"><img class="aligncenter size-full wp-image-998" alt="UAG custom ports 3" src="http://kloudsolutions.files.wordpress.com/2013/05/uag-custom-ports-3.jpg?w=605&#038;h=425" width="605" height="425" /></a></p>
<p>The diagram above (click for a larger version) shows a high level overview with dummy trunk names and IP addresses showing that each HLB VIP is a different IP address and each UAG trunk is on the same address using a custom port.</p>
<p>Trunk 3 is a non-authenticated trunk for Lync 2013 referenced in my previous blog post <a href="http://blog.kloud.com.au/2013/05/06/publish-lync-2013-including-mobility-and-office-web-apps-with-uag-2010/">Publish Lync 2013 Including Mobility and Office Web Apps with UAG 2010</a></p>
<p>Trunks 1, 2, 4 and 5 all publish the same applications for Exchange 2010, SharePoint 2013 and FIM 2010 on different domain names and from different locations.</p>
<p>The table below has more detail with dummy trunk and published names.</p>
<div>
<table style="border-collapse:collapse;" border="0">
<col style="width:54px;" />
<col style="width:81px;" />
<col style="width:88px;" />
<col style="width:193px;" />
<col style="width:189px;" />
<col style="width:189px;" />
<col style="width:104px;" />
<col style="width:100px;" />
<tbody valign="top">
<tr style="background:#dbe5f1;">
<td style="padding-left:4px;padding-right:4px;border:solid #95b3d7 1pt;"><strong>Trunk Name</strong></td>
<td style="padding-left:4px;padding-right:4px;border-top:solid #95b3d7 1pt;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;"><strong>HLB Port</strong></td>
<td style="padding-left:4px;padding-right:4px;border-top:solid #95b3d7 1pt;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;"><strong>UAG Port</strong></td>
<td style="padding-left:4px;padding-right:4px;border-top:solid #95b3d7 1pt;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;"><strong>Trunk FQDN</strong></td>
<td style="padding-left:4px;padding-right:4px;border-top:solid #95b3d7 1pt;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;"><strong>Public FQDN</strong></td>
<td style="padding-left:4px;padding-right:4px;border-top:solid #95b3d7 1pt;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;"><strong>Internal host name (addresses)</strong></td>
<td style="padding-left:4px;padding-right:4px;border-top:solid #95b3d7 1pt;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;"><strong>Network Access</strong></td>
<td style="padding-left:4px;padding-right:4px;border-top:solid #95b3d7 1pt;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;"><strong>Pre-authentication</strong></td>
</tr>
<tr>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:solid #95b3d7 1pt;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Trunk1</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">1.1.1.1:443</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">2.1.1.1:443</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">trunk1.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">mail.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">mail.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Internet</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Yes</td>
</tr>
<tr>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:solid #95b3d7 1pt;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Trunk2</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">1.1.1.2:443</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">2.1.1.1:2443</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">trunk2.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">mail.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">mail.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">MPLS Cloud</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Yes</td>
</tr>
<tr>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:solid #95b3d7 1pt;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Trunk3</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">1.1.1.3:443</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">2.1.1.1:3443</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">trunk3.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">lyncws.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">lyncws.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Internet and MPLS Cloud</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">No</td>
</tr>
<tr>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:solid #95b3d7 1pt;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Trunk4</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">1.1.1.4:443</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">2.1.1.1:4443</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">trunk4.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">mail.contoso.com</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">mail.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Internet</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Yes</td>
</tr>
<tr>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:solid #95b3d7 1pt;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Trunk5</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">1.1.1.5:443</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">2.1.1.1:5443</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">trunk5.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">mail.contoso.com</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">mail.showcase.kloud.com.au</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">MPLS Cloud</td>
<td style="padding-left:4px;padding-right:4px;border-top:none;border-left:none;border-bottom:solid #95b3d7 1pt;border-right:solid #95b3d7 1pt;">Yes</td>
</tr>
</tbody>
</table>
</div>
<h4>Issues Encountered</h4>
<p>With UAG 2010 Service Pack 3, all applications on trunk 1, 4 and 5 worked correctly (trunk 3 worked in all scenarios due to not doing authentication). The problem was that all applications on trunk 2 (except for SharePoint) would authenticate but not be able to connect to the application. Using Outlook Web App as an example, the client would:</p>
<ol>
<li>Browse to <a href="https://mail.showcase.kloud.com.au/owa">https://mail.showcase.kloud.com.au/owa</a></li>
<li>be taken to the following for authentication <a href="https://mail.showcase.kloud.com.au/uniquesig0c4449dcaa9c2c7cb80a00574fc3ea78/uniquesig0/InternalSite/OWA/Login.asp?resource_id=5C0BCBBECE4E49BDA6859D1CD5DDD09C&amp;login_type=2&amp;site_name=trunk1&amp;secure=1&amp;URLHASH=7fc49ee2-2e27-4518-8fb8-b54b0ff77b87&amp;orig_url=https%3a%2f%2fmail.showcase.kloud.com.au%2fowa">https://mail.showcase.kloud.com.au/uniquesig0c4449dcaa9c2c7cb80a00574fc3ea78/uniquesig0/InternalSite/OWA/Login.asp?resource_id=5C0BCBBECE4E49BDA6859D1CD5DDD09C&amp;login_type=2&amp;site_name=trunk1&amp;secure=1&amp;URLHASH=7fc49ee2-2e27-4518-8fb8-b54b0ff77b87&amp;orig_url=https%3a%2f%2fmail.showcase.kloud.com.au%2fowa</a></li>
<li>After authentication the client browser would appear to be stuck on a validation page <a href="https://mail.showcase.kloud.com.au/uniquesig0c4449dcaa9c2c7cb80a00574fc3ea78/uniquesig0/InternalSite/Validate.asp">https://mail.showcase.kloud.com.au/uniquesig0c4449dcaa9c2c7cb80a00574fc3ea78/uniquesig0/InternalSite/Validate.asp</a></li>
<li>After about 40 seconds the connection would timeout with the following in the address bar <a href="https://mail.showcase.kloud.com.au/uniquesig0c4449dcaa9c2c7cb80a00574fc3ea78/uniquesig0/InternalSite/RedirectToOrigURL.asp?site_name=trunk1&amp;secure=1">https://mail.showcase.kloud.com.au/uniquesig0c4449dcaa9c2c7cb80a00574fc3ea78/uniquesig0/InternalSite/RedirectToOrigURL.asp?site_name=trunk1&amp;secure=1</a></li>
</ol>
<p>If I went to the original URL again <a href="https://mail.showcase.kloud.com.au/owa">https://mail.showcase.kloud.com.au/owa</a> I could get to the Outlook Web App page without having to authenticate. Sometimes I needed to go to the original URL 2 or 3 times for it to work.</p>
<h4>Troubleshooting</h4>
<p>UAG 2010 Service Pack 3 tracing symbols had not been released at the time of troubleshooting (they were <a href="http://blogs.technet.com/b/edgeaccessblog/archive/2013/04/30/updated-forefront-uag-sp3-tracing-for-is-now-available.aspx">released</a> on 30 April) so I rolled back to Service Pack 2. With Service Pack 2, only trunk 1 worked correctly so that was making the situation worse. The UAG trace logs were massive and did not get me any closer to a solution.</p>
<p><a href="http://fiddler2.com/get-fiddler">Fiddler</a> and <a href="http://www.httpwatch.com/">HttpWatch</a> showed the same thing, that after the validate.asp page it was trying to:</p>
<ol>
<li>Redirect to <a href="https://mail.showcase.kloud.com.au/uniquesig0c4449dcaa9c2c7cb80a00574fc3ea78/uniquesig0/InternalSite/RedirectToOrigURL.asp?site_name=trunk1&amp;secure=1">https://mail.showcase.kloud.com.au/uniquesig0c4449dcaa9c2c7cb80a00574fc3ea78/uniquesig0/InternalSite/RedirectToOrigURL.asp?site_name=trunk1&amp;secure=1</a></li>
<li>
<div>and then to one of the following addresses depending on which Service Pack I had</div>
<ol>
<li><a href="https://trunk2.showcase.kloud.com.au:2443/uniquesigacde95fbf87ff4ca921a1aca1d5b6d510f79207ec5f596b4b80c06329b09f2591329bdfadfac0bdd33fa95f57bf2ef36/uniquesig1/owa/">https://<span style="background-color:yellow;">trunk2.</span>showcase.kloud.com.au<span style="background-color:yellow;">:2443</span>/uniquesigacde95fbf87ff4ca921a1aca1d5b6d510f79207ec5f596b4b80c06329b09f2591329bdfadfac0bdd33fa95f57bf2ef36/uniquesig1/owa/</a></li>
<li><a href="https://mail.showcase.kloud.com.au:2443/owa">https://mail.showcase.kloud.com.au<span style="background-color:yellow;">:2443</span>/owa</a></li>
</ol>
</li>
</ol>
<p>which contained the trunk name and custom port or the published name with a custom port. A sample of the logon experience from HttpWatch is shown below (click for a larger version).</p>
<p><a href="http://kloudsolutions.files.wordpress.com/2013/05/uag_custom_port_5v2.jpg"><img class="aligncenter size-full wp-image-997" alt="UAG_Custom_Port_5" src="http://kloudsolutions.files.wordpress.com/2013/05/uag_custom_port_5v2.jpg?w=605&#038;h=127" width="605" height="127" /></a></p>
<h4>Cause</h4>
<p>After a lot of testing and troubleshooting I eventually raised a Microsoft PSS call. After a couple of days of testing, my very knowledgeable PSS engineer eventually worked out the cause of the issue:</p>
<ul style="margin-left:38pt;">
<li>UAG has a problem resolving the names internally when custom ports are in use and the &#8216;Public host name&#8217; matches the &#8216;Addresses&#8217; entry. In this example both are set to &#8216;mail.showcase.kloud.com.au&#8217;.</li>
</ul>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/051013_0659_uag2010cust3.jpg?w=605" /></p>
<p>Trunk 1 worked as it was using the default port 443. Trunk 4 and 5 worked as the &#8216;Public host name&#8217; &#8216;mail.contoso.com&#8217; was different to the &#8216;Addresses&#8217; published name &#8216;mail.showcase.kloud.com.au&#8217;. It turns out UAG 2010 Service Pack 2 has another bug with the custom port publishing which is why only trunk 1 worked when using SP 2.</p>
<h4>Resolution</h4>
<p>Using SP3, the solution for trunk 2 was to change the &#8216;Addresses&#8217; name UAG connected to the internal servers on to another name e.g. &#8216;mail-internal.showcase.kloud.com&#8217;. This caused another issue &#8211; a new name was required on the certificate used by the internal web servers. The internal certificate had to be regenerated with the additional FQDN added to the Subject Alternate Names and was applied to all Exchange Client Access Servers. For FIM we thought we could get away with changing &#8216;Replace the host header with the following&#8217; as you see below (which is not an option on the OWA application template) but encountered what seems like another bug where UAG does not pass the host header, but rather uses the original &#8216;Addresses&#8217; host name. So FIM needed a SAN added to the certificate too.</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/051013_0659_uag2010cust4.jpg?w=605" /></p>
<p>SharePoint worked in all scenarios so I can only assume it is because of the AAM (Alternate Access Mapping) already catering for the different names being published and the host header worked as expected.</p>
<h4>Summary</h4>
<p>The publishing scenario used here is probably an edge case. Most environments would use private IP addresses and not need custom ports so would not come across this issue. Others using custom ports may have different internal and external DNS namespaces, like mail.showcase.kloud.com.au externally and mail.kloud.local internally which would not hit this issue. I seem to have hit the perfect set of requirements for causing problems. Maybe some karmic payback – although just having to work with UAG is punishment for something. I miss the relative simplicity and flexibility of TMG like being able to publish multiple domain names on a single publishing rule!</p>
<p>Even though others will probably not see this problem, it is good to be aware that there are some issues with custom ports, using the same name internally and externally and that host headers do not always work as expected.</p>
<p>The <a title="Outlook Anywhere NTLM SSO with UAG 2010 KCD" href="http://blog.kloud.com.au/2013/05/17/outlook-anywhere-ntlm-sso-with-uag-2010-kcd/">next blog</a> will cover how to configure and publish Outlook Anywhere NTLM authentication with UAG to provide seamless Single Sign On from domain joined computers.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kloudsolutions.wordpress.com/995/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kloudsolutions.wordpress.com/995/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=995&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.kloud.com.au/2013/05/10/uag-2010-problems-with-custom-trunk-ports-and-failing-redirects/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3c26feff325685b8a72b74788a852203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">marcterblanche</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/uag-custom-ports-3.jpg" medium="image">
			<media:title type="html">UAG custom ports 3</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/uag_custom_port_5v2.jpg" medium="image">
			<media:title type="html">UAG_Custom_Port_5</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/051013_0659_uag2010cust3.jpg" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/051013_0659_uag2010cust4.jpg" medium="image" />
	</item>
		<item>
		<title>Publish Lync 2013 Including Mobility and Office Web Apps with UAG 2010</title>
		<link>http://blog.kloud.com.au/2013/05/06/publish-lync-2013-including-mobility-and-office-web-apps-with-uag-2010/</link>
		<comments>http://blog.kloud.com.au/2013/05/06/publish-lync-2013-including-mobility-and-office-web-apps-with-uag-2010/#comments</comments>
		<pubDate>Mon, 06 May 2013 00:50:55 +0000</pubDate>
		<dc:creator>Marc Terblanche</dc:creator>
				<category><![CDATA[Lync]]></category>
		<category><![CDATA[Office Web Apps Server]]></category>
		<category><![CDATA[Reverse Proxy]]></category>
		<category><![CDATA[UAG]]></category>

		<guid isPermaLink="false">http://blog.kloud.com.au/?p=944</guid>
		<description><![CDATA[Microsoft Forefront TMG (Threat Management Gateway) has been the primary way Lync Web Services have been published in the past. With the untimely demise of TMG, the only Microsoft product (other than IIS) with reverse proxy functionality is Microsoft Forefront<span class="ellipsis">&#8230;</span><div class="read-more"><a href="http://blog.kloud.com.au/2013/05/06/publish-lync-2013-including-mobility-and-office-web-apps-with-uag-2010/">Read more &#8250;</a></div><!-- end of .read-more --><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=944&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Microsoft Forefront TMG (Threat Management Gateway) has been the primary way Lync Web Services have been published in the past. With the <a href="http://blogs.technet.com/b/server-cloud/archive/2012/09/12/important-changes-to-forefront-product-roadmaps.aspx">untimely demise</a> of TMG, the only Microsoft product (other than IIS) with reverse proxy functionality is Microsoft Forefront UAG (Unified Access Gateway). TMG will continue to be supported until 2015 for mainstream support and 2020 for extended support. If TMG is not already installed however, technically it cannot be used for a new installation.</p>
<p>In this blog I will explain how to setup UAG 2010 Service Pack 3 to publish all Lync 2013 reverse proxy features including mobility (for Lync mobile clients) and Office Web Apps. But first a little background unless you want to jump straight to <a href="#_UAG_2010_Configuration">UAG 2010 Configuration</a>.</p>
<h3>IIS ARR (Application Request Routing)</h3>
<p>According to this NextHop blog <a href="http://blogs.technet.com/b/nexthop/archive/2013/02/19/using-iis-arr-as-a-reverse-proxy-for-lync-server-2013.aspx">Using IIS ARR as a Reverse Proxy for Lync Server 2013</a>, IIS ARR is the only supported Microsoft solution for customers who do not already own TMG. A couple of things to note is that IIS ARR cannot do pre-authentication (not supported for Lync anyway) and there does not seem to be any sizing or scaling documentation out yet.</p>
<p>So IIS ARR looks like a solution if you just publish Lync, or if pre-authentication is not important to you – and this seems to be the way most Microsoft products like Exchange and SharePoint are going.</p>
<p>A recent customer engagement had a requirement for pre-authentication and authorisation (allowing only members of a specific group access to Outlook Web App for example) for Exchange 2010, SharePoint 2013 and FIM 2010. Additionally Lync 2013 required no pre-authentication or authorisation. TMG had been planned for and following the end of life statement above, UAG 2010 was chosen. IIS ARR did not meet all of the requirements.</p>
<h3>UAG 2010 &#8211; No Official Support For Lync</h3>
<p>It is important to note up front that Lync 2013 is not officially supported on UAG 2010. <a href="http://support.microsoft.com/kb/2744025">UAG 2010 Service Pack 3</a> provided support for publishing Exchange 2013 and SharePoint 2013, but Lync was noticeably absent. Additionally, Office Web Apps Server 2013 is not specified as supported.</p>
<p><a href="http://technet.microsoft.com/en-us/library/hh490321.aspx">What&#8217;s new in Forefront UAG Service Pack 1 Update 1</a> added support for publishing Lync 2010 Lync Web App (and SharePoint 2010 Office Web Apps) and lists some known issues including &#8216;Forefront UAG does not support Lync Mobility scenarios&#8217;. More information at <a href="http://technet.microsoft.com/en-us/library/hh490317.aspx">Publishing Lync web services</a></p>
<p>Ben Ari from the Microsoft UAG CSS team (who publicly seems to know more about UAG than anybody else) wrote a clarification blog <a href="http://blogs.technet.com/b/ben/archive/2012/11/09/uag-lync-mobility-and-other-lync-clients.aspx">UAG Lync Mobility and other Lync clients</a> stating:</p>
<p>&#8220;<span style="color:#333333;font-family:Segoe UI;font-size:9pt;background-color:white;">UAG does not support accessing Lync using Lync Mobility on any platform, nor the use of the Lync software client. The only thing that IS supported is using the Web-based version of the Lync client. For customers who need to publish Lync for Mobility and the software client, Microsoft recommends publishing the Lync Edge server using TMG, or a comparable transparent-publishing firewall solution (note, though, that using the TMG server that&#8217;s on your UAG server is not supported for this purpose)&#8221;</span></p>
<p>At that time, Lync 2013 had reached RTM but not General Availability so I assume this references Lync 2010. Even the official TechNet article on <a href="http://technet.microsoft.com/en-us/library/gg398069.aspx">Lync 2013 Reverse Proxy</a> configuration only lists TMG and ISA as the Microsoft options.</p>
<h3>Investigating using UAG 2010 to Publish Lync 2013</h3>
<p>Bearing in mind the lack of support from Microsoft, our project decided to try using UAG to publish all Lync 2013 web services including mobility and Office Web Apps and see how far we got. Looking into publishing Lync on UAG 2010 I found three main articles which pointed me in the right direction:</p>
<p><a href="http://blogs.technet.com/b/ben/archive/2012/02/13/lync-publishing-on-uag.aspx">Lync publishing on UAG</a></p>
<p><a href="http://social.technet.microsoft.com/wiki/contents/articles/14000.publish-lync-2010-with-forefront-unified-access-gateway-2010-uag.aspx">Publish Lync 2010 with ForeFront Unified Access Gateway 2010 (UAG)</a></p>
<p><a href="http://www.stoknes.net/runesblog/Lists/Posts/Post.aspx?ID=11">UAG as a Lync reverse proxy</a></p>
<p>The blogs above cover a lot of the steps required for Lync Web App and mobility, but the full list of reverse proxy functions we required were:</p>
<ul>
<li>Meeting join</li>
<li>Dialin page</li>
<li>Lync Web App</li>
<li>Lync 2013 and Lync 2010 mobile clients</li>
<li>Lync autodiscover</li>
<li>Persistent Chat administration</li>
<li>Lync client Address book web search</li>
<li>Lync client Address book group expansion</li>
<li>Office Web Apps upload and presentation from Lync client and Lync Web App</li>
</ul>
<h3 id="_UAG_2010_Configuration">UAG 2010 Configuration</h3>
<p>I won&#8217;t cover UAG initial configuration and certificates here, except to say that you need a UC Certificate from a public certificate authority with SAN names containing the FQDNs of:</p>
<ul>
<li>Lync trunk public host name</li>
<li>Lync External Web Services</li>
<li>Lync Meet Simple URL</li>
<li>Lync Dialin Simple URL</li>
<li>Lyncdiscover for each SIP domain</li>
<li>Office Web Apps farm external URL</li>
</ul>
<h4>Create Trunk</h4>
<p>The first step to publish Lync with UAG 2010 is to create a new trunk. This has to be a separate trunk to the one used for Exchange or other applications, as the Lync trunk cannot do any authentication on UAG &#8211; all authentication will be handled by the Lync Front End servers. Create a new HTTPS portal trunk and run through the wizard. Note that the trunk &#8216;Public host name&#8217; must be a different name to any of the applications you are intending on publishing as we will be publishing whole domain names &#8216;/*&#8217; and not just specific paths. Add authentication servers now and they will be disabled after the wizard completes.</p>
<h4>Edit Trunk Authentication</h4>
<p>Configure the trunk and on the &#8216;Authentication&#8217; tab, clear &#8216;Require users to authenticate at session logon&#8217;</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/050413_1156_uag2010publ1.jpg?w=605" /></p>
<p>On the &#8216;Session&#8217; tab, enable &#8216;Disable component installation and activation&#8217; and &#8216;Disable scripting for portal applications&#8217; to allow non supported browsers to connect. Increase the &#8216;Inactive session timeout (seconds)&#8217; from the default 5 minutes to something closer to the 3 day (259200 seconds) &#8216;SessionExpirationInterval&#8217; default for Lync 2013 as documented in <a href="http://technet.microsoft.com/en-us/library/hh690050.aspx">Set-CsMcxConfiguration</a></p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/050413_1156_uag2010publ2.jpg?w=605" /></p>
<p>Enable authentication pass through. UAG 2010 SP 3 defaults to having &#8216;FullAuthPassthru&#8217; set to 1 in &#8216;HKEY_LOCAL_MACHINE\SOFTWARE\WhaleCom\e-Gap\von\UrlFilter&#8217;. For Lync to function we need another 32-bit DWORD key &#8216;KeepClientAuthHeader&#8217; with a value of &#8217;1&#8242; in the same location to retain the authentication headers.</p>
<p>Activate the trunk and go get a coffee while you wait for the activation process to complete and TMG storage to synchronise across all UAG array members.</p>
<h4>Create Applications</h4>
<p><strong>Web Services<br />
</strong></p>
<p>Create an application called &#8216;Lync 2013 Web Services&#8217; using the &#8216;Microsoft Lync Web App 2010&#8242; template. Follow the wizard and ensure you leave the path as &#8216;/&#8217; and destination HTTPS port as &#8217;4443&#8242;. Uncheck &#8216;Use SSO&#8217; and &#8216;Add portal and toolbar link&#8217; and leave &#8216;Authorize all users&#8217; enabled.</p>
<p>Three applications will be created as you can see below.</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/050413_1156_uag2010publ3.jpg?w=605" /></p>
<p>With the default configuration of Web Services, errors are posted in the UAG Web Monitor:</p>
<p>&#8220;A request for application Lync Web Services of type Lync2010 on trunk lync; Secure=1 failed because a POST action without a content-type header is not allowed. The URL is /WebTicket/WebTicketService.svc&#8221;</p>
<p>&#8220;A request for application Lync Web Services of type Lync2010 on trunk lync; Secure=1 failed because a POST action without a content-type header is not allowed. The URL is /ucwa/v1/applications/211401975557/me/reportMyActivity&#8221;</p>
<p>To allow Lync Mobile clients to authenticate to the Webticket service and update presence, edit the &#8216;Lync 2013 Web Services&#8217; application and on the &#8216;Web Settings&#8217; tab enable &#8216;Allow POST requests without a content-type header&#8217;.</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/050413_1156_uag2010publ4.jpg?w=605" /></p>
<p>Edit the meet and dialin applications and ensure &#8216;Addresses&#8217; and &#8216;Public Host Name&#8217; on the &#8216;Web Services&#8217; tab are correct if you use different internal and external domain names. For readability I rename them to &#8216;Lync 2013 Meet&#8217; and &#8216;Lync 2013 Dialin&#8217;.</p>
<p><strong>Lyncdiscover<br />
</strong></p>
<p>Create an application called &#8216;Lync 2013 Lyncdiscover&#8217; using the &#8216;Microsoft Lync Web App 2010&#8242; template with &#8216;Public Host Name&#8217; &#8216;lyncdiscover.&lt;sipdomain&gt;&#8217; and the same settings as the Lync Web Services application. Once the wizard is complete, remove the &#8216;Lync 2013 Lyncdiscover – Meet&#8217; and &#8216;Lync 2013 Lyncdiscover &#8211; Dialin&#8217; applications created by the rule.</p>
<p><strong>Office Web Apps Server<br />
</strong></p>
<p>Create an application called &#8216;Office Web Apps 2013&#8242; using the &#8216;Microsoft Office SharePoint Server 2013&#8242; template. Public host name should be the ExternalURL of the Office Web Apps Server Farm. Change the published port to &#8216;HTTPS&#8217; port &#8217;443&#8242; as it defaults to HTTP. As with the others, uncheck &#8216;Use SSO&#8217; and &#8216;Add portal and toolbar link&#8217; and leave &#8216;Authorize all users&#8217; enabled.</p>
<h4><strong>Final Configuration<br />
</strong></h4>
<p>You should end up with an application list similar to this:</p>
<p><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/05/050413_1156_uag2010publ5.jpg?w=605" /></p>
<p>The final step is to edit the trunk to allow Lync Web App to upload and present presentations using Office Web App Server. The default configuration denies PUT requests for UCWA (Unified Communications Web API) and you receive &#8216;Invalid Method&#8217; warning messages stating:</p>
<p>&#8220;A request from source IP address x.x.x.x, user on trunk lync; Secure=1 for application Lync Web Services of type Lync2010 failed because the method used PUT is not valid for requested URL /ucwa/v1/applications/111597367048/communication&#8221;</p>
<p>Configure the trunk settings and on the &#8216;URL Set&#8217; tab, click &#8216;Add Primary&#8217;. Enter the following details:</p>
<p>Name: Lync2010_UCWA</p>
<p>Action: Accept</p>
<p>URL: /ucwa/.*</p>
<p>Parameters: Ignore</p>
<p>Methods: PUT, POST, GET</p>
<p>Close the trunk settings and activate the UAG configuration.</p>
<h3><a href="http://kloudsolutions.files.wordpress.com/2013/05/lync_uag_8_ucwa_v2.jpg"><img class="aligncenter size-full wp-image-1019" alt="Lync_UAG_8_ucwa_v2" src="http://kloudsolutions.files.wordpress.com/2013/05/lync_uag_8_ucwa_v2.jpg?w=605&#038;h=523" width="605" height="523" /></a></h3>
<h3>Testing</h3>
<p>Considering the stated lack of support for Lync 2013 and specifically Lync Mobility, surprisingly all of the functions mentioned above worked without a hitch after the &#8216;POST without a content-type header&#8217; and UCWA PUT issues were resolved. Lync 2013 and Lync 2010 mobile clients on Windows Phone, iOS and Android could sign in. Lync Web App worked beautifully including audio, video and content sharing. The Lync client could search the address book, join meetings and users could get dialin information and create Persistent Chat rooms. From our testing, everything is working as expected. I keep waiting for something to fail, but so far all is good.</p>
<p>I have been doing a lot of work with UAG lately and run into a lot of bugs and problems, so I think this may be the first of a few UAG blogs.</p>
<p>Edit 15 May 2013 &#8211; updated UCWA path.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kloudsolutions.wordpress.com/944/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kloudsolutions.wordpress.com/944/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=944&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.kloud.com.au/2013/05/06/publish-lync-2013-including-mobility-and-office-web-apps-with-uag-2010/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3c26feff325685b8a72b74788a852203?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">marcterblanche</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/050413_1156_uag2010publ1.jpg" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/050413_1156_uag2010publ2.jpg" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/050413_1156_uag2010publ3.jpg" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/050413_1156_uag2010publ4.jpg" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/050413_1156_uag2010publ5.jpg" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/05/lync_uag_8_ucwa_v2.jpg" medium="image">
			<media:title type="html">Lync_UAG_8_ucwa_v2</media:title>
		</media:content>
	</item>
		<item>
		<title>An Overview of Server Name Indication (SNI) and Creating an IIS SNI Web SSL Binding Using PowerShell in Windows Server 2012</title>
		<link>http://blog.kloud.com.au/2013/04/18/an-overview-of-server-name-indication-sni-and-creating-an-iis-sni-web-ssl-binding-using-powershell-in-windows-server-2012/</link>
		<comments>http://blog.kloud.com.au/2013/04/18/an-overview-of-server-name-indication-sni-and-creating-an-iis-sni-web-ssl-binding-using-powershell-in-windows-server-2012/#comments</comments>
		<pubDate>Thu, 18 Apr 2013 08:00:59 +0000</pubDate>
		<dc:creator>Stefan Buchman</dc:creator>
				<category><![CDATA[FIM]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[SharePoint 2013]]></category>
		<category><![CDATA[transport layer security]]></category>
		<category><![CDATA[Windows Server 2012]]></category>

		<guid isPermaLink="false">http://blog.kloud.com.au/?p=815</guid>
		<description><![CDATA[One of the frustrating limitations in supporting secure websites has been the inability to share IP addresses among SSL websites. In the day, there were a few ways to solve this limitation. One, you could use multiple IP addresses, binding<span class="ellipsis">&#8230;</span><div class="read-more"><a href="http://blog.kloud.com.au/2013/04/18/an-overview-of-server-name-indication-sni-and-creating-an-iis-sni-web-ssl-binding-using-powershell-in-windows-server-2012/">Read more &#8250;</a></div><!-- end of .read-more --><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=815&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>One of the frustrating limitations in supporting secure websites has been the inability to share IP addresses among SSL websites. In the day, there were a few ways to solve this limitation. One, you could use multiple IP addresses, binding a SSL certificate to each combination of an IP address and standard SSL port. This has been the best method to date but it is administratively heavy and not necessarily a good use of valuable IP addresses. Another approach was to use additional non-standard ports for SSL. While this saved IP addresses, you would potentially run up against strict firewall or proxy limitations making this method undesirable. Finally, in the IIS 7 and 7.5 worlds you could use host-headers to share a certificate among websites but you were limited to a single certificate that each web site would have to share.</p>
<p>The reason behind these limitations rest in the handshake that takes place between the browser and the web server.  When a SSL client request is initiated, the HTTP header data is not available to the web server.  Only after successful handshake are the headers encrypted and sent to the web server.  Too late to allow for successful redirection to the desired web site.</p>
<p>Solving this limitation required an extension to the <a href="https://tools.ietf.org/html/rfc3546" target="_blank">Transport Layer Security (TLS)</a> protocol that includes the addition of what hostname a client is connecting to when a handshake is initiated with a web server.  The name of the extension is <a href="https://tools.ietf.org/html/rfc3546#section-3.1" target="_blank">Server Name Indication (SNI)</a>.  Of course, extending the definition of a protocol is never as easy as updating an RFC.  Both client and server compatibility are required to make use of these extensions.  On the client side, roughly 95% of browsers support SNI.  Specifically those are:</p>
<ul>
<li><span style="line-height:13px;">Internet Explorer 7 or later</span></li>
<li>Mozilla Firefox 2.0 or later</li>
<li>Opera 8 or later</li>
<li>Google Chrome 6 or later</li>
<li>Safari 3 or later</li>
<li><a href="https://sni.velox.ch/" target="_blank">Test Your Browser</a></li>
</ul>
<p>In the Microsoft world, support for the SNI extensions to TLS were introduced with Windows Server 2012 and IIS 8. &nbsp;Through the Internet Information Services (IIS) Manager and a web sites bindings UI, SNI can be specified for a HTTPS site along with a host header:</p>
<p><a href="http://kloudsolutions.files.wordpress.com/2013/04/sni-ssl-binding-1.png"><img class="alignnone size-full wp-image-839" alt="SNI-SSL-Binding-1" src="http://kloudsolutions.files.wordpress.com/2013/04/sni-ssl-binding-1.png?w=605"   /></a></p>
<p>There are many resources on the Internet that deal with setting up and configuring a site using SSL bindings as well as&nbsp;utilizing&nbsp;SNI from within the IIS Manager. &nbsp;Where I&#8217;d like to focus the second part of this blog is in creating SNI web-bindings using PowerShell. &nbsp;As a driver for implementing SNI is the scalability&nbsp;it provides, this scalability might be for naught if not coupled with the ability to deploy a solution without the use of a GUI.</p>
<p>There are three parts to successfully assigning and associating any SSL binding with a website through PowerShell:</p>
<ol>
<li><span style="line-height:13px;">A SSL binding needs to be created for the web site</span></li>
<li>A certificate needs to exist in the local machine certificate store</li>
<li>A SSL binding relationship needs to be created to associate a certificate with a web site</li>
</ol>
<h5>Creating the Web Site Binding</h5>
<p>Creating the web site binding is a straightforward process. &nbsp;The following PowerShell sequence would be used to create the binding and assign the correct port, host header and specification for use of SNI:</p>
<pre class="brush: powershell; gutter: true; light: true; title: ; notranslate">
# Import IIS Management PowerShell Module
Import-Module WebAdministration

$hostHeader = &quot;test.com&quot;

New-WebBinding -Name &quot;Test Website&quot; -Protocol &quot;https&quot; -Port 443 -HostHeader $hostHeader -SslFlags 1
</pre>
<p>The name specified would be the name of the web site you&#8217;d like to add the binding to. &nbsp;The protocol and port are standard for SSL bindings. &nbsp;The host header is the URL you&#8217;d like the web site to respond to. &nbsp;Finally, SslFlags with a value of 1 enables SNI for this binding.</p>
<h5>Retrieving the Certificate from the Certificate Store</h5>
<p>While I won&#8217;t cover the process to request a certificate or import the certificate into the local machine store, there are two factors we need to address before using the certificate in the third and final step.</p>
<p>In order to use the&nbsp;certificate&nbsp;in IIS<strong> it is critical that the certificate is imported allowing the private key to be exported</strong>. &nbsp;If a certificate is used without an exportable private key, IIS will be unable to bind that certificate.</p>
<p>Creating the SSL association in the third step requires we have some reference to the certificate we&#8217;d like to associate with the web site. &nbsp;There are two values that can be used. &nbsp;The thumbprint of the certificate or a reference to the certificate object itself.</p>
<p>In order to retrieve the thumbprint of a certificate the following PowerShell command is used:</p>
<pre class="brush: powershell; gutter: true; light: true; title: ; notranslate">
$thumbprint = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.FriendlyName -eq &quot;Test Cert&quot;}).Thumbprint
</pre>
<p>In the above example the friendly name of the certificate is used as the matching context. &nbsp;One could also use the subject instead.</p>
<p>In order to get a reference to the certificate itself the following syntax can be used:</p>
<pre class="brush: powershell; gutter: true; light: true; title: ; notranslate">
$certificate = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.FriendlyName -eq &quot;Test Cert&quot;}
</pre>
<p>After this step you will now either have a direct reference to the certificate or the value for the certificates thumbprint.</p>
<h5>Creating the SSL Association</h5>
<p>The final step in the puzzle is tying together both the binding and the certificate. &nbsp;This can be the trickiest part to get right. &nbsp;PowerShell doesn&#8217;t provide a native cmdlet to directly do this. Instead, one needs to use the IIS drive exposed by the WebAdministration module to create a SslBinding object and associate that object with the certificate.</p>
<p>The PowerShell sequence for that task is as follows, if you&#8217;re using the certificate object:</p>
<pre class="brush: powershell; gutter: true; light: true; title: ; notranslate">
New-Item -Path &quot;IIS:\SslBindings\!443!test.com&quot; -Value $certificate -SSLFlags 1
</pre>
<p>If you&#8217;re using the thumbprint your command would be:</p>
<pre class="brush: powershell; gutter: true; light: true; title: ; notranslate">
New-Item -Path &quot;IIS:\SslBindings\!443!test.com&quot; -Thumbprint $certificate -SSLFlags 1
</pre>
<p>If successful, you should&nbsp;receive&nbsp;confirmation displaying the host name, along with the site the host name is bound to. &nbsp;To confirm that SNI is in use run the following command from the command line:</p>
<p><a href="http://kloudsolutions.files.wordpress.com/2013/04/sni-ssl-binding-2.png"><img class="alignnone size-large wp-image-856" alt="SNI-SSL-Binding-2" src="http://kloudsolutions.files.wordpress.com/2013/04/sni-ssl-binding-2.png?w=605&#038;h=306" width="605" height="306" /></a></p>
<p>In the above, notice the SSL binding is using the <strong>hostname:port</strong> syntax which confirms SNI is in use.</p>
<p>Following the above steps will allow you to take advantage of the new Server Name Indication (SNI) implementation in Windows Server 2012 and IIS 8.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kloudsolutions.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kloudsolutions.wordpress.com/815/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=815&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.kloud.com.au/2013/04/18/an-overview-of-server-name-indication-sni-and-creating-an-iis-sni-web-ssl-binding-using-powershell-in-windows-server-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7b527c8ce42ad809649cee86593e0d8d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">stefanbuchman</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/04/sni-ssl-binding-1.png" medium="image">
			<media:title type="html">SNI-SSL-Binding-1</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/04/sni-ssl-binding-2.png?w=605" medium="image">
			<media:title type="html">SNI-SSL-Binding-2</media:title>
		</media:content>
	</item>
		<item>
		<title>Australian IaaS players – a comparison</title>
		<link>http://blog.kloud.com.au/2013/04/18/australian-iaas-players-a-comparison/</link>
		<comments>http://blog.kloud.com.au/2013/04/18/australian-iaas-players-a-comparison/#comments</comments>
		<pubDate>Thu, 18 Apr 2013 05:33:47 +0000</pubDate>
		<dc:creator>Vicky Perdana</dc:creator>
				<category><![CDATA[Cloud Infrastructure]]></category>

		<guid isPermaLink="false">http://blog.kloud.com.au/?p=826</guid>
		<description><![CDATA[UPDATE (21/05) : Azure announced their plans to expand to the Australian shore yesterday. This blog was updated to include the key changes. There are many blogs comparing the major IaaS providers – however this post focuses more on the<span class="ellipsis">&#8230;</span><div class="read-more"><a href="http://blog.kloud.com.au/2013/04/18/australian-iaas-players-a-comparison/">Read more &#8250;</a></div><!-- end of .read-more --><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=826&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><strong>UPDATE (21/05) :</strong> Azure announced their plans to expand to the Australian shore yesterday. This blog was updated to include the key changes.</p>
<p><span style="color:#333333;"><span style="font-family:Arial;">There are many blogs comparing the major IaaS providers – however this post focuses more on the Australian market IaaS providers. Organisations of all sizes have begun adopting or investigating Cloud computing making it essential for decision makers to look into what they offer. </span><span style="font-family:Arial;">This comparison looks at what available options are in the market in regards to Infrastructure as a Service (IaaS) providers.  As more customers are looking at the best combination in the market &#8211; we will examine each cloud provider feature set at a high level.  Note that this comparison does not include aspects on the PaaS (Platform as a service) space.</span></span></p>
<table style="border:none;" border="0">
<tbody valign="top">
<tr>
<td style="border:none;" colspan="2"><span style="color:#333333;"><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/04/041813_0533_australiani1.png?w=605" /></span></td>
<td style="border:none;" colspan="2"><span style="color:#333333;"><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/04/041813_0533_australiani2.png?w=605" /></span></td>
<td style="border:none;" colspan="2"><span style="color:#333333;"><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/04/041813_0533_australiani3.png?w=605" /></span></td>
</tr>
<tr>
<td style="border:none;" colspan="3"><span style="color:#333333;">                       <img alt="" src="http://kloudsolutions.files.wordpress.com/2013/04/041813_0533_australiani4.png?w=605" /></span></td>
<td style="border:none;" colspan="2"><span style="color:#333333;"><img alt="" src="http://kloudsolutions.files.wordpress.com/2013/04/041813_0533_australiani5.png?w=605" /></span></td>
</tr>
</tbody>
</table>
<div></div>
<p><span style="color:#333333;font-family:Arial;"><strong>IaaS major players in Australia</strong><br />
</span></p>
<p><span style="color:#333333;font-family:Arial;">When referring to pure Australian players &#8211; we can count major providers that have (actual) presence in Australia and who are yet to make their services available to this region. Firstly, as we all know Amazon has seen Australia as a serious market with its Sydney region establishment mid last year (June 2012). Next are the Telco&#8217;s, Telstra &amp; Optus who recognize that there is a significant revenue for the Cloud market. Finally, companies who wish to scale their services internationally should look at what Rackspace have to offer with their IaaS packages.  <strong>UPDATE:</strong> Microsoft have shared their plans to enable services in Victoria and NSW to cater for the growing demand of Cloud services.<br />
</span><br />
<span style="color:#333333;font-family:Arial;"> In summary we particularly look at the following Cloud providers:<br />
</span></p>
<ul>
<li><span style="color:#333333;"><span style="font-family:Arial;">Amazon Web Services</span><br />
</span></li>
<li><span style="color:#333333;"><span style="font-family:Arial;">Microsoft Windows Azure</span><br />
</span></li>
<li><span style="color:#333333;"><span style="font-family:Arial;">Telstra Utility Hosting (IaaS)</span><br />
</span></li>
<li><span style="color:#333333;"><span style="font-family:Arial;">Optus PowerOn IaaS</span><br />
</span></li>
<li><span style="color:#333333;"><span style="font-family:Arial;">Rackspace IaaS</span><br />
</span></li>
</ul>
<p><span style="color:#333333;"><span style="font-family:Arial;"><span style="text-decoration:underline;">Amazon Web Services<br />
</span></span><span style="font-family:Arial;">AWS has gained huge market share and popularity anywhere in the world including Australia and is seen as a leader in public IaaS. They have very frequent releases with new products/updates coming every 2 weeks or so. As an infrastructure as a service provider, Amazon is seen as a leader in the enterprises and start-ups at present.<br />
</span></span><br />
<span style="color:#333333;"> <span style="font-family:Arial;"><span style="text-decoration:underline;">Microsoft Windows Azure<br />
</span></span><span style="font-family:Arial;">Azure unveiled the IaaS Virtual Machines offering preview at the Meet Windows Azure Event in June last year (2012). Last week (17-Apr AEST) Microsoft has made the infrastructure services with GA (General Availability) along with new features such as larger virtual machines and a new pricing commitment based model for possible greater discounts. Despite no local availability in Australia, we see Azure as a major player in the Cloud especially its successful adoption by developers with their PaaS and SaaS offerings. <strong>UPDATE:</strong> Azure will be available in Australia &#8211; see their announcement <a title="Azure Australia" href="http://blogs.msdn.com/b/ausblog/archive/2013/05/21/windows-azure-expands-downunder.aspx">here</a>.</span></span></p>
<p><span style="color:#333333;"><span style="font-family:Arial;"><span style="text-decoration:underline;">Telstra Utility Hosting (IaaS)<br />
</span></span><span style="font-family:Arial;">It has been public for a while that Telstra are offering Cloud services, they have announced $800m investment to build a cloud platform to serve majority of Australian customers. They have also recently completed a major upgrade to their Cloud portal providing greater ease for consumers. Telstra are ramping up its services to cover more geography regions in APAC with its recent initiative &#8211; Telstra Global.</span></span></p>
<p><span style="text-decoration:underline;color:#333333;font-family:Arial;">Optus PowerOn IaaS</span><br />
<span style="color:#333333;font-family:Arial;"> Optus released its first Cloud product late 2010 followed by a major upgrade last year. To support its strategy, the parent company, Singtel has completed re-organisation to focus more on regional opportunities. Optus PowerOn Cloud is a vCloud certified data center.</span></p>
<p><span style="text-decoration:underline;color:#333333;font-family:Arial;">Rackspace IaaS</span><br />
<span style="color:#333333;font-family:Arial;"> Rackspace established an Australian presence in 2009 using its overseas data centers. Now, Rackspace has opened an Australian data center and brings its openstack solution for private cloud deployments. There is no date yet when they will release its public cloud offerings in Australia. To make a consistent comparison, we will compare the public cloud offering.</span></p>
<p><span style="color:#333333;"><strong style="color:black;font-family:Arial;">The Comparison</strong></span></p>
<p><span style="color:#333333;font-family:Arial;">The following table compares the offerings among major Cloud providers in the industry at a high level. The comparison takes into account support and availability within the Australian landscape focusing on Infrastructure services (IaaS). We have selected differentiators as a method to distinguish services/feature set being provided by the Cloud providers (refer to the table). Where applicable, we discuss several key areas in more detail.<br />
</span></p>
<p><span style="color:#333333;font-family:Arial;">This comparison is valid at the time this blog is published and is subject to change in the future as Cloud providers rapidly adding more features.<br />
</span></p>
<p>&nbsp;</p>
<p><span style="color:#333333;font-family:Arial;"><a href="http://kloudsolutions.files.wordpress.com/2013/04/table14.png"><img class="alignnone size-large wp-image-1242" alt="Cloud Comparison IaaS" src="http://kloudsolutions.files.wordpress.com/2013/04/table14.png?w=605&#038;h=336" width="605" height="336" /></a></span></p>
<p><span style="color:#333333;font-family:Arial;">Footnotes description:<br />
</span></p>
<ol>
<li><span style="color:#333333;">Only one region is available at present.</span></li>
<li><span style="color:#333333;">Refers to the DB cloud offerings (PaaS) and excludes the use of a dedicated database installed on a virtual server.</span></li>
<li><span style="color:#333333;">Microsoft customised Hyper-V for Azure.</span></li>
<li><span style="color:#333333;">Refers to a set of virtual machines running on a dedicated hardware.</span></li>
<li><span style="color:#333333;">Rackspace 100% SLA is for hardware and infrastructure failures &#8211; please refer to their SLA <a href="http://www.rackspace.com/information/legal/cloud/sla/"><span style="color:#333333;text-decoration:underline;">here</span></a>.</span></li>
<li><span style="color:#333333;">IaaS (Virtual Machines, Networks, Storage) has the same price worldwide.  <a title="CDN Pricing" href="http://www.windowsazure.com/en-us/pricing/details/cdn/" target="_blank"><span style="color:#333333;">CDN </span></a>(PaaS) has differing prices based on zones.</span></li>
<li><strong>Update:</strong> Azure will soon be available in Australia in two regions &#8211; New South Wales and Victoria.  No official date has been announced yet.</li>
</ol>
<p><span style="color:#333333;"><span style="font-family:Arial;"><span style="text-decoration:underline;"><span style="text-decoration:underline;">Cloud Engine</span><br />
</span></span><span style="font-family:Arial;">Cloud Engine refers to the underlying provisioning and orchestration technology supporting the IaaS. Azure, AWS, and Telstra IaaS use proprietary Cloud engines with Rackspace notably uses the OpenStack platform, and Optus as the early provider embraces VMware vCloud. </span></span></p>
<p><span style="color:#333333;text-decoration:underline;">Consumer API</span><br />
<span style="color:#333333;"> One of the add-on benefits with Cloud is the ability to programmatically manage your infrastructure via API and various programming languages.  Both Azure and AWS provide strong API support which practically allow anything done via UI possible via the APIs, this is also accessible via different languages too eg. .Net, Java, PHP, node.js, etc.  Rackspace supports the industry standard RESTful API powered by the OpenStack platform.  At the time this article written, there are no API published by both Telstra and Optus.</span></p>
<p><span style="color:#333333;"><span style="font-family:Arial;"><span style="text-decoration:underline;">Storage Offerings<br />
</span></span><span style="font-family:Arial;">All providers have services around storage &#8211; this again refers to dedicated storage offering for unstructured and structured data in the Cloud as opposed to disks attached to servers. Azure offers Table (NoSQL) and Blob (unstructured) storage to store your data; Amazon with its DynamoDB and S3 (and quite recently) Glacier for archiving solution; Rackspace offers Cloud Files and Databases solution but no support for NoSQL yet. Telstra and Optus only offer unstructured data storage option at this stage.</span></span></p>
<p><span style="text-decoration:underline;color:#333333;font-family:Arial;">Compute Offerings</span><br />
<span style="color:#333333;font-family:Arial;"> There is not much to say here as all providers we compared have compute offerings &#8211; there are varying workload sizes which is described in the above table.</span></p>
<p><span style="color:#333333;"><span style="font-family:Arial;"><span style="text-decoration:underline;">Network offerings<br />
</span></span><span style="font-family:Arial;">Azure has virtual network, load balancer, and network security products such as Traffic Manager (it&#8217;s in preview as this blog is written). AWS has virtual private cloud allowing you to create private and public subnets, load balancer with its elastic load balancing (ELB), and security groups and ACL allowing granular access control mechanism. Rackspace allows the creation of isolated networking with CloudNetworks, Load Balancer with the Cloud Load Balancers product, and advanced traffic filtering using open vSwitch technologies. Despite these similarities there are certain aspects of networking that are different eg. Load Balancer capabilities between Azure, AWS and Rackspace which we may cover in a separate blog.</span></span></p>
<p><span style="text-decoration:underline;color:#333333;font-family:Arial;">24&#215;7 Support Availability</span></p>
<p><span style="color:#333333;font-family:Arial;">All cloud providers offer 24&#215;7 support as follows</span></p>
<ul>
<li><span style="color:#333333;"><span style="font-family:Arial;">Azure has phone and email options but no online chat support option.</span></span></li>
<li><span style="color:#333333;"><span style="font-family:Arial;">AWS has phone, email, chat, screen sharing support options.</span></span></li>
<li><span style="color:#333333;"><span style="font-family:Arial;">Rackspace has phone, ticket (email), chat support.</span></span></li>
<li><span style="color:#333333;"><span style="font-family:Arial;">Telstra has phone and email support but no community forum option.</span></span></li>
<li><span style="color:#333333;"><span style="font-family:Arial;">Optus has phone and email support, service management reporting but no community forum.</span><br />
</span></li>
</ul>
<p><span style="color:#333333;"><span style="font-family:Arial;"><span style="text-decoration:underline;">SLA<br />
</span></span><span style="font-family:Arial;">Each vendor provides differing SLA terms and condition and you should consult appropriate parties (SIs, lawyers, and the relevant vendors)</span></span></p>
<p><span style="color:#333333;">Amazon</span><br />
<span style="color:#0000ff;"> <a href="http://aws.amazon.com/ec2-sla/"><span style="color:#0000ff;">EC2 SLA<br />
</span></a><a href="http://aws.amazon.com/s3-sla/"><span style="color:#0000ff;">S3 SLA</span></a></span></p>
<p><span style="color:#333333;">Azure</span><br />
<span style="color:#0000ff;"> <a href="http://go.microsoft.com/fwlink/?linkid=296425&amp;clcid=0x409"><span style="color:#0000ff;">Virtual Machines and Network SLA<br />
</span></a><a href="http://go.microsoft.com/fwlink/p/?linkid=159705&amp;clcid=0x409"><span style="color:#0000ff;">Storage SLA<br />
</span></a><a href="http://go.microsoft.com/fwlink/p/?linkid=159706&amp;clcid=0x409"><span style="color:#0000ff;">SQL Databases SLA</span></a></span></p>
<p><span style="color:#333333;">Rackspace</span><br />
<span style="color:#0000ff;"> <a href="http://www.rackspace.com/information/legal/cloud/sla"><span style="color:#0000ff;">Cloud Servers SLA<br />
</span></a><a href="http://www.rackspace.com/information/legal/cloud/sla"><span style="color:#0000ff;">Cloud Load Balancers SLA<br />
</span></a><a href="http://www.rackspace.com/information/legal/cloud/sla"><span style="color:#0000ff;">Cloud Databases SLA<br />
</span></a><a href="http://www.rackspace.com/information/legal/cloud/sla"><span style="color:#0000ff;">Cloud Files SLA </span></a></span></p>
<p><span style="color:#333333;">Telstra<br />
<span style="color:#0000ff;"><a href="http://www.telstra.com.au/customer-terms/download/document/cloud-e.pdf"><span style="color:#0000ff;">Telstra IaaS SLA</span></a></span></span></p>
<p><span style="color:#333333;">Optus<br />
<span style="color:#0000ff;"><a href="http://www.optus.com.au/dafiles/OCA/AboutOptus/LegalAndRegulatory/SharedStaticFiles/SharedDocuments/Optus%20PowerON_Compute%20Service_ServDesc.doc"><span style="color:#0000ff;">Optus PowerOn SLA</span></a></span></span></p>
<p><span style="color:#333333;"><strong>What does this mean for my organization?</strong></span></p>
<p><span style="color:#333333;font-family:Arial;">While it is good to see what these cloud providers bring to the table, you will need to understand how your organization can benefit from these. For starters, understand at what stage your organisation is at in the journey of adopting the cloud, what immediate business problems you urgently need to address, and then think about ways Cloud can make a real impact to your organisation.<br />
</span><br />
<span style="color:#333333;font-family:Arial;"> It is important to look at beyond the hype and to align your cloud initiatives to your business need. At Kloud, we believe that every organisation can benefit from Cloud in some way and we are enthusiastic in enabling your business to be a cloud-ready business. Invite us for a quick meeting &amp; discuss how the Cloud can transform your business.<br />
</span><br />
<span style="color:#333333;font-family:Arial;"> We look forward to hearing what you think &#8211; if you have any suggestions or questions please <a href="http://kloud.com.au/contact-us/"><span style="color:#333333;text-decoration:underline;">contact us</span></a>.<br />
</span><br />
<span style="color:#333333;font-family:Arial;"> <strong>Key links for further info:</strong><br />
</span></p>
<p><span style="color:#0000ff;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;"><a href="https://cloud.telstra.com/virtual-servers"><span style="color:#0000ff;text-decoration:underline;">https://cloud.telstra.com/virtual-servers<br />
</span></a></span><span style="font-family:Arial;font-size:10pt;text-decoration:underline;"><a href="http://www.arnnet.com.au/article/425575/optus_shifts_cloud_strategy_into_high_gear/"><span style="color:#0000ff;text-decoration:underline;">http://www.arnnet.com.au/article/425575/optus_shifts_cloud_strategy_into_high_gear/<br />
</span></a></span><span style="font-family:Arial;font-size:10pt;text-decoration:underline;"><a href="http://www.rackspace.com/blog/rackspace-comes-to-australiaand-brings-our-openstack-solution-too/"><span style="color:#0000ff;text-decoration:underline;">http://www.rackspace.com/blog/rackspace-comes-to-australiaand-brings-our-openstack-solution-too/<br />
</span></a></span><span style="font-family:Arial;font-size:10pt;text-decoration:underline;"><a href="http://www.rackspace.com/blog/cloud-networks-the-next-chapter-in-the-open-cloud/"><span style="color:#0000ff;text-decoration:underline;">http://www.rackspace.com/blog/cloud-networks-the-next-chapter-in-the-open-cloud/<br />
</span></a></span><span style="font-family:Arial;font-size:10pt;text-decoration:underline;"><a href="http://aws.amazon.com/premiumsupport/"><span style="color:#0000ff;text-decoration:underline;">http://aws.amazon.com/premiumsupport/<br />
</span></a></span><span style="font-family:Arial;font-size:10pt;text-decoration:underline;"><a href="http://www.windowsazure.com/en-us/support/plans/"><span style="color:#0000ff;text-decoration:underline;">http://www.windowsazure.com/en-us/support/plans/<br />
http://www.rackspace.com/cloud/servers/support_b/</span></a></span></span><span style="color:#0000ff;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;"><br />
<a href="http://www.telstraglobal.com/news/437-telstra-global-s-cloud-solution-powers-flat-planet-s-expansion-in-asia"><span style="color:#0000ff;text-decoration:underline;">http://www.telstraglobal.com/news/437-telstra-global-s-cloud-solution-powers-flat-planet-s-expansion-in-asia</span></a><br />
<a href="https://cloud.telstra.com/help-and-support"><span style="color:#0000ff;text-decoration:underline;">https://cloud.telstra.com/help-and-support</span></a></span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/kloudsolutions.wordpress.com/826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/kloudsolutions.wordpress.com/826/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.kloud.com.au&#038;blog=29186770&#038;post=826&#038;subd=kloudsolutions&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.kloud.com.au/2013/04/18/australian-iaas-players-a-comparison/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/8091bd5833ce5fed48123a78dbd9b9a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vscribblepad</media:title>
		</media:content>

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/04/041813_0533_australiani1.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/04/041813_0533_australiani2.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/04/041813_0533_australiani3.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/04/041813_0533_australiani4.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/04/041813_0533_australiani5.png" medium="image" />

		<media:content url="http://kloudsolutions.files.wordpress.com/2013/04/table14.png?w=605" medium="image">
			<media:title type="html">Cloud Comparison IaaS</media:title>
		</media:content>
	</item>
	</channel>
</rss>
