<?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/"
	>

<channel>
	<title>CleverWorkarounds &#187; Security</title>
	<atom:link href="http://www.cleverworkarounds.com/category/sharepoint/governance/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cleverworkarounds.com</link>
	<description>After much frustration, it seems DEFAULT is the way to go...</description>
	<lastBuildDate>Thu, 02 Feb 2012 09:39:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>An obscure &#8220;failed to create the configuration database&#8221; issue&#8230;</title>
		<link>http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/</link>
		<comments>http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 09:12:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/?p=3245</guid>
		<description><![CDATA[Hi all You would think that after years of installing SharePoint in various scenarios, that I would be able to get past step 3 in the configuration wizard (the step that creates the configuration database). But today I almost got nailed by an issue that – while in hindsight is dead-set obvious – was rather [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>You would think that after years of installing SharePoint in various scenarios, that I would be able to get past step 3 in the configuration wizard (the step that creates the configuration database). But today I almost got nailed by an issue that – while in hindsight is dead-set obvious – was rather difficult to diagnose.</p>
<p>Basically it was a straightforward two server farm installation. The installer account had local admin rights on the web front end server and sysadmin rights on the SQL box. SQL was a dedicated named instance using an alias. I was tutoring the install while an engineer did the driving and as soon as we hit step 3, blammo! – the Installation failed claiming that the configuration database could not be created.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2012/02/image.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2012/02/image_thumb.png" width="591" height="457" /></a></p>
<p>Looking a little deeper into the log, the error message stated:</p>
<blockquote><p>An error occurred while getting information about the user svc-spfarm at server mydomain.com: Access is denied </p>
</blockquote>
<p>Hmm.. After double checking all the obvious things (SQL dbcreator and securityadmin on the farm account, group policy interference, etc) it was clear this was something different. <strong>The configuration database was successfully created on the SQL server, although the permissions of the farm account had not been applied</strong>. This proved that SQL permissions were appropriate. Clearly this was an issue around authentication and active directory.</p>
<p>There were very few reports of similar symptoms online and the closest I saw was a situation where the person ran the SharePoint configuration wizard using the local machine administrator account by mistake, rather than a domain account. Of course, the local account had no rights to access active directory and the wizard had failed because it had no way to verify the SharePoint farm account in AD to grant it permissions to the configuration database. But in this case we were definitely using a valid domain account.</p>
<p>As part of our troubleshooting, we opted to explicitly give the farm account “Log on as a service” rights (since this is needed for provisioning the user profile service later anyhow). It was then we saw some really bizarre behaviour. <strong>We were unable to find the SharePoint farm account in Active Directory</strong>. Any attempt to add the farm account to the “log on as a service” right would not resolve and therefore we could not assign that right. We created another service account to test this behaviour and and the <strong>same thing happened</strong>. This immediately smelt like an issue with Active directory replication – where the domain controller being accessed was not replicating with the others domain controllers. A quick <a href="http://support.microsoft.com/kb/229896">repladmin</a> check and we ascertained that all was fine.</p>
<p>Hmm…</p>
<p>At this point, we started experimenting with various accounts, old and new. We were able to conclude that irrespective of the age of the account, some accounts could be found in Active Directory no problem, whereas others could not be. Yet those that could not be found were valid and working on the domain.</p>
<p>Finally one of the senior guys in the organisation realised the problem. In their AD topology, there was an OU for all service accounts. <strong>The permissions of that OU had been modified from the default</strong>. The “Domain users” group did not have any access to that OU at all. This prevented service accounts from being enumerated by regular domain accounts (a security design they had adopted some time back). Interestingly, even service accounts that live in this OU cannot enumerate any other accounts in that OU, including themselves.</p>
<p>This caused several problems with SharePoint. First the configuration wizard could not finish because it needed to assign the farm account permissions to the config and central admin databases. Additionally, the farm account would not be able to register managed accounts if those accounts were stored in this OU.</p>
<p>Fortunately, when they created this setup, they made a special group called “Enumerate Service Account OU”. By adding the installer account and the farm account to this group all was well.</p>
<p>I have to say, I thought I had seen most of the ways Active Directory configuration might trip me up – but this was a first. Anyone else seen this before?</p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<p><a href="http://www.hereticsguidebooks.com">www.hereticsguidebooks.com</a></p>
<p>p.s The error log detail is below….</p>
<p>  <br clear="all" />
<p>&#160;</p>
<p>Log Name:&#160;&#160;&#160;&#160;&#160; Application</p>
<p>Source:&#160;&#160;&#160;&#160;&#160;&#160;&#160; SharePoint 2010 Products Configuration Wizard</p>
<p>Date:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1/02/2012 2:22:52 PM</p>
<p>Event ID:&#160;&#160;&#160;&#160;&#160; 104</p>
<p>Task Category: None</p>
<p>Level:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Error</p>
<p>Keywords:&#160;&#160;&#160;&#160;&#160; Classic</p>
<p>User:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; N/A</p>
<p>Computer:&#160;&#160;&#160;&#160;&#160; Mycomputer</p>
<p>Description:</p>
<p>Failed to create the configuration database.</p>
<p>An exception of type System.InvalidOperationException was thrown.&#160; Additional exception information: An error occurred while getting information about the user svc-spfarm at server mydomain: Access is denied</p>
<p>System.InvalidOperationException: An error occurred while getting information about the user svc-spfarm at server mydomain</p>
<p>&#160;&#160; at Microsoft.SharePoint.Win32.SPNetApi32.NetUserGetInfo1(String server, String name)</p>
<p>&#160;&#160; at Microsoft.SharePoint.Administration.SPManagedAccount.GetUserAccountControl(String username)</p>
<p>&#160;&#160; at Microsoft.SharePoint.Administration.SPManagedAccount.Update()</p>
<p>&#160;&#160; at Microsoft.SharePoint.Administration.SPProcessIdentity.Update()</p>
<p>&#160;&#160; at Microsoft.SharePoint.Administration.SPApplicationPool.Update()</p>
<p>&#160;&#160; at Microsoft.SharePoint.Administration.SPWebApplication.CreateDefaultInstance(SPWebService service, Guid id, String applicationPoolId, SPProcessAccount processAccount, String iisServerComment, Boolean secureSocketsLayer, String iisHostHeader, Int32 iisPort, Boolean iisAllowAnonymous, DirectoryInfo iisRootDirectory, Uri defaultZoneUri, Boolean iisEnsureNTLM, Boolean createDatabase, String databaseServer, String databaseName, String databaseUsername, String databasePassword, SPSearchServiceInstance searchServiceInstance, Boolean autoActivateFeatures)</p>
<p>&#160;&#160; at Microsoft.SharePoint.Administration.SPWebApplication.CreateDefaultInstance(SPWebService service, Guid id, String applicationPoolId, IdentityType identityType, String applicationPoolUsername, SecureString applicationPoolPassword, String iisServerComment, Boolean secureSocketsLayer, String iisHostHeader, Int32 iisPort, Boolean iisAllowAnonymous, DirectoryInfo iisRootDirectory, Uri defaultZoneUri, Boolean iisEnsureNTLM, Boolean createDatabase, String databaseServer, String databaseName, String databaseUsername, String databasePassword, SPSearchServiceInstance searchServiceInstance, Boolean autoActivateFeatures)</p>
<p>&#160;&#160; at Microsoft.SharePoint.Administration.SPAdministrationWebApplication.CreateDefaultInstance(SqlConnectionStringBuilder administrationContentDatabase, SPWebService adminService, IdentityType identityType, String farmUser, SecureString farmPassword)</p>
<p>&#160;&#160; at Microsoft.SharePoint.Administration.SPFarm.CreateAdministrationWebService(SqlConnectionStringBuilder administrationContentDatabase, IdentityType identityType, String farmUser, SecureString farmPassword)</p>
<p>&#160;&#160; at Microsoft.SharePoint.Administration.SPFarm.CreateBasicServices(SqlConnectionStringBuilder administrationContentDatabase, IdentityType identityType, String farmUser, SecureString farmPassword)</p>
<p>&#160;&#160; at Microsoft.SharePoint.Administration.SPFarm.Create(SqlConnectionStringBuilder configurationDatabase, SqlConnectionStringBuilder administrationContentDatabase, IdentityType identityType, String farmUser, SecureString farmPassword, SecureString masterPassphrase)</p>
<p>&#160;&#160; at Microsoft.SharePoint.Administration.SPFarm.Create(SqlConnectionStringBuilder configurationDatabase, SqlConnectionStringBuilder administrationContentDatabase, String farmUser, SecureString farmPassword, SecureString masterPassphrase)</p>
<p>&#160;&#160; at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.CreateOrConnectConfigDb()</p>
<p>&#160;&#160; at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.Run()</p>
<p>&#160;&#160; at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()</p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/&title=An+obscure+%26ldquo%3Bfailed+to+create+the+configuration+database%26rdquo%3B+issue%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/&title=An+obscure+%26ldquo%3Bfailed+to+create+the+configuration+database%26rdquo%3B+issue%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/&title=An+obscure+%26ldquo%3Bfailed+to+create+the+configuration+database%26rdquo%3B+issue%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/&title=An+obscure+%26ldquo%3Bfailed+to+create+the+configuration+database%26rdquo%3B+issue%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2012/02/02/an-obscure-failed-to-create-the-configuration-database-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An opportunity to learn about aligning SharePoint to business goals in Vancouver</title>
		<link>http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/</link>
		<comments>http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 07:11:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Assurance]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[Business Process Management]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Estimating]]></category>
		<category><![CDATA[Facilitation]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[HPM]]></category>
		<category><![CDATA[Human Process Management]]></category>
		<category><![CDATA[IBIS]]></category>
		<category><![CDATA[Information Architecture]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[IRR]]></category>
		<category><![CDATA[Issue Mapping]]></category>
		<category><![CDATA[Knowledge management]]></category>
		<category><![CDATA[Managed Metadata]]></category>
		<category><![CDATA[Non Linear Process]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Seven Sigma]]></category>
		<category><![CDATA[shared understanding]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Speaking presentation]]></category>
		<category><![CDATA[SQL Reporting services]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[user engagement]]></category>
		<category><![CDATA[Wicked Problems]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/?p=3197</guid>
		<description><![CDATA[Hi all Just a quick note to mention that I’m off travelling again, this time swapping 39 degree Celsius summer weather of Perth for somewhere between –6 to 5 degrees of Canada. I’ll be spending a week in Canada running two classes – one public and one private. The first class is a public SharePoint [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>Just a quick note to mention that I’m off travelling again, this time swapping 39 degree Celsius summer weather of Perth for somewhere between –6 to 5 degrees of Canada. I’ll be spending a week in Canada running two classes – one public and one private. The first class is a public <a href="www.spgovia.com">SharePoint Governance and Information Architecture</a> class running in Vancouver. MVP Michal Pisarek of <a href="http://www.sharepointanalysthq.com/">SharePointAnalystHQ</a> fame will be there and it should be a terrific two days of learning how to think a little differently to govern SharePoint strategy and deployment. You will learn a bunch of new skills, techniques and perspectives. Best of all, the skills learnt are applicable for many other types of complex projects.</p>
<p>The class flyer is here: <a title="http://www.sevensigma.com.au/wp-content/uploads/downloads/2011/02/SPIA.pdf" href="http://www.sevensigma.com.au/wp-content/uploads/downloads/2011/02/SPIA.pdf">http://www.sevensigma.com.au/wp-content/uploads/downloads/2011/02/SPIA.pdf</a></p>
<p>The registration site is here: <a href="http://spiavancouver.eventbrite.com/">http://spiavancouver.eventbrite.com/</a></p>
<p>In terms of course coverage and content it is worth noting the <a href="http://www.shareconference.com/au/hottopics">research performed</a> by the <a href="http://www.theeventfulgroup.com/">Eventful group</a> (who run the <a href="http://www.shareconference.com/au">Share conferences</a>). According to them, the hot topic areas for SharePoint are governance, user adoption, change management, information architecture and user empowerment. These sort of topics are the sort where plenty of people tell you what the issues are, but are typically lighter on what to do about them. This class covers why this is, as well as dealing with all of these areas and presents detailed strategies, tools and methods to address them. Furthermore, aside from the 500+ page manual of meaty governance goodness, as a take home, we supply a CD for attendees with a sample performance framework, governance plan, SharePoint ROI calculator and sample mind maps of Information Architecture. </p>
<p>At last count there were 5 places left for the Vancouver class, so if you have been pondering if it is a worthwhile class, check out some of the feedback from the <a href="www.spgovia.com">class web site</a>. Also, if you know anybody who might be interested in attending, please pass the <a href="http://www.sevensigma.com.au/wp-content/uploads/downloads/2011/02/SPIA.pdf">course flyer</a> and registration site details to them. We always end up with people who tell us “Ah – if only I knew about the class!!”</p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<p><a href="http://www.hereticsguidebooks.com">www.hereticsguidebooks.com</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/&title=An+opportunity+to+learn+about+aligning+SharePoint+to+business+goals+in+Vancouver" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/&title=An+opportunity+to+learn+about+aligning+SharePoint+to+business+goals+in+Vancouver" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/&title=An+opportunity+to+learn+about+aligning+SharePoint+to+business+goals+in+Vancouver" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/&title=An+opportunity+to+learn+about+aligning+SharePoint+to+business+goals+in+Vancouver" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2012/01/23/an-opportunity-to-learn-about-aligning-sharepoint-to-business-goals-in-vancouver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The cloud isn&#8217;t the problem&#8211;Part 5: Server huggers and a crisis of identity</title>
		<link>http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/</link>
		<comments>http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 22:24:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Assurance]]></category>
		<category><![CDATA[Cloud compouting]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[Globalisation]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[ROI]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Strategy]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/?p=3173</guid>
		<description><![CDATA[Hi all Welcome to my fifth post that delves into the irrational world of cloud computing. After examining the not-so-obvious aspects of Microsoft, Amazon and the industry more broadly, its time to shift focus a little. Now the appeal of the cloud really depends on your perspective. To me, there are three basic motivations for [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>Welcome to my fifth post that delves into the irrational world of cloud computing. After examining the not-so-obvious aspects of Microsoft, Amazon and the industry more broadly, its time to shift focus a little. Now the appeal of the cloud really depends on your perspective. To me, there are three basic motivations for getting in on the act…</p>
<ol>
<li>I can make a buck </li>
<li>I can save a buck </li>
<li>I can save a buck (and while I am at it, escape my pain-in-the-ass IT department) </li>
</ol>
<p>If you haven’t guessed it, this post will examine #3, and look at what the cloud means for the the perennial issue of the IT department and business disconnect. I recently read an article over at CIO magazine where they coined the term “<a href="http://www.computerworld.com/s/article/9222377/_Server_huggers_present_obstacle_to_cloud_adoption">Server Huggers</a>” to describe the phenomenon I am about to describe. So to set the flavour for this discussion, let me tell you about the biggest secret in organisational life…</p>
<h2>We all have an identity crisis (so get over it).</h2>
<p>In organizations, there are roles that I would call <em>transactional</em> (i.e. governed by process and clear KPI’s) and those that are <em>knowledge-based </em>(governed by gut feel and insight). Whilst most roles actually entail both of these elements, most of us in SharePoint land are the latter. In fact we actually spend a lot of time in meeting rooms “strategizing” the solutions that our more transactionally focused colleagues will be using to meet their KPI’s. Beyond SharePoint, this also applies to Business Analysts, Information Architects, Enterprise Architects, Project Managers and pretty much anyone with the word “senior”, “architect”, “analyst”&#160; or “strategic” in their job title.</p>
<p>But there is a big, fat, elephant in the “strategizing room” of certain knowledge worker roles that is at the root of some irrational organisational behaviour. Many of us are suffering <strong>a role-based identity crisis</strong>. To explain this, lets pick a straw-man example of one of the most conflicted roles of all right now: Information Architects. </p>
<p>One challenge with the craft of IA is pace of change, since IA today looks very different from its library and taxonomic roots. Undoubtedly, it will look very different ten years from now too as it gets assailed from various other roles and perspectives, each believing their version of rightness is more right. Consider this slightly abridged quote from <a href="http://bokardo.com/archives/infoprefixation/">Joshua Porter</a>: </p>
<blockquote><p>Worse, the term “information architecture” has over time come to encompass, as suggested by its principal promoters, nearly every facet of not just web design, but Design itself. Nowhere is this more apparent than in the latest update of Rosenfeld and Morville’s O’Reilly title, where the definition has become so expansive that there is now little left that <em>isn’t</em> information architecture […] In addition, the authors can’t seem to make up their minds about what IA actually is […] (a similar affliction pervades the SIGIA mailing list, which has become infamous for never-ending definition battles.) This is not just academic waffling, but evidence of a term too broadly defined. Many disciplines often reach out beyond their initial borders, after catching on and gaining converts, but IA is going to the extreme. One technologist and designer I know even referred to this ever-growing set of definitions as the “IA land-grab”, referring to the tendency that all things Design are being <em>redefined</em> as IA.</p>
<p><em></em></p>
</blockquote>
<p>You can tell when a role is suffering an identity crisis rather easily too. It is when people with the current role start to muse that the title no longer reflects what they do and call for new roles to better reflect the environment they find themselves in. Evidence for this exists further in <a href="http://bokardo.com/archives/infoprefixation/">Porter’s post</a>. Check out the line I marked with bold below:</p>
<blockquote><p>In addition, this shift is already happening to information architects, who, recognizing that information is only a byproduct of activity, increasingly adopt a different job title. Most are moving toward something in the realm of “user experience”, which is probably a good thing because it has the rigor of focusing on the user’s actual experience. Also, this as an inevitable move, given that most IAs are concerned about designing great things. IA <a href="http://www.scottweisbrod.com/">Scott Weisbrod</a>, sees this happening too: “People who once identified themselves as Information Architects are now looking for more meaningful expressions to describe what they do – whether it’s <strong>interaction architect </strong>or <strong>experience designer</strong>”</p>
</blockquote>
<p>So while I used the example of Information Architects as an example of how pace of change causes an identity crisis, the advent of the cloud doesn’t actually cause too many IA’s (or whatever they choose to call themselves) to lose too much sleep. But there are other knowledge-worker roles that have not really felt the effects of change in the same way as their IA cousins. In fact, for the better part of twenty years one group have actually benefited greatly from pace of change. Only now is the ground under their feet starting to shift, and the resulting behaviours are starting to reflect the emergence of an identity crisis that some would say is long overdue.</p>
<h2>IT Departments and the cloud</h2>
<p>At a SharePoint Saturday in 2011, I was on a panel and we were asked by an attendee what effect Office 365 and other cloud based solutions might have on a traditional IT infrastructure role. This person asking was an infrastructure guy and his question was essentially around how his role might change as cloud solutions becomes more and more mainstream. Of course, all of the SharePoint nerds on the panel didn’t want to touch that question with a bargepole and all heads turned to me since apparently I am “the business guy”. My reply was that he was sensing a change &#8211; commoditisation of certain aspects of IT roles. Did that mean he was going to lose his job? Unlikely, but nevertheless when&#160; change is upon us, many of us tend to place more <strong>value on what we will lose compared to what we will gain</strong>. Our defence mechanisms kick in. </p>
<p>But lets take this a little further: The average tech guy comes in two main personas. The first is the tech-cowboy who documents nothing, half completes projects then loses interest, is oblivious to how much they are in over their head and generally gives IT a bad name. They usually have a lot of intellectual intelligence (IQ), but not so much emotional intelligence (EQ). <a href="http://sharepoint.mindsharpblogs.com/Ben/default.aspx">Ben Curry</a> once referred to this group as “dumb smart guys.” The second persona is the conspiracy theorist who had to clean up after such a cowboy. This person usually has more skills and knowledge than the first guy, writes documentation and generally keeps things running well. Unfortunately, they <em>also can </em>give IT a bad name. This is because, after having to pick up the pieces of something not of their doing, they tend to develop a <a href="http://www.cleverworkarounds.com/2008/07/26/it-and-the-corporate-immune-mechanism-the-mother-hen-reflex/">mother hen reflex</a> based on a pathological fear of being paged at 9pm to come in and recover something they had no part in causing. The aforementioned cowboys rarely last the distance and therefore over time, IT departments begin to act as risk minimisers, rather than business enablers. </p>
<p>Now IT departments will never see it this way of course, instead believing that they enable the business <em>because of </em>their risk minimisation. Having spent 20 years being a paranoid conspiracy theorist, security-type IT guy, I totally get why this happens as I was the living embodiment of this attitude for a long time. Technology is getting insanely complex while users innate ability to do some really risky and dumb is increasing. Obviously, such risk needs to be managed and accordingly, a common characteristic of such an IT department is the word <strong>“no” </strong>to pretty much any question that involves introducing something new (banning iPads or espousing the <a href="http://www.macworld.com/article/159370/2011/04/dropbox_security.html">evils of DropBox</a> are the best examples I can think of right now). When I wrote about this issue in the context of SharePoint user adoption back in 2008, I had this to say:</p>
<blockquote><p>The mother hen reflex should be understood and not ridiculed, as it is often the user’s past actions that has created the reflex. But once ingrained, the reflex can start to stifle productivity in many different ways. For example, for an employee not being able to operate at full efficiency because they are waiting 2 days for a helpdesk request to be actioned is simply not smart business. Worse still, a vicious circle emerges. Frustrated with a lack of response, the user will take matters into their own hands to improve their efficiency. But this simply plays into the hands of the mother hen reflex and for IT this reinforces the reason why such controls are needed. <em>You just can’t trust those dog-gone users! More controls required!</em></p>
</blockquote>
<p>The long term legacy of increasing technical complexity and risk is that IT departments become slow-moving and find it difficult to react to pace of change. Witness the number of organisations still running parts of their business on Office 2003, IE6 and Windows XP. The rest of the organisation starts to resent using old tools and the imposition of process and structure for no tangible gain. The IT department develops a reputation of being difficult to deal with and taking ages to get anything done. This disconnect begins to fester, and little by little both IT and “the business” develop a rose-tinged view of themselves (which is known as <a href="http://en.wikipedia.org/wiki/Groupthink">groupthink</a>) and a misguided perception of the other. </p>
<p>At the end of the day though, irrespective of logic or who has the moral high ground in the debate, <strong>an IT department with a poor reputation will eventually lose</strong>. This is because IT is no longer seen as a business enabler, but as a cost-center. Just as organisations did with the IT outsourcing fad over the last decade, organisational decision makers will read <a href="http://www.computerworld.com/s/article/9222377/_Server_huggers_present_obstacle_to_cloud_adoption?taxonomyId=158&amp;pageNumber=2">CIO magazine articles about server huggers</a> look longingly to the cloud, as applications become more sophisticated and more and more <a href="http://blogs.forrester.com/paul_hamerman/11-12-03-saps_acquisition_of_successfactors_re_engergizes_its_hcm_and_saas_strategy">traditional vendors move into the space</a>, thus legitimising it. IT will be viewed, however unfairly, as a burden where the cost is not worth the value realised. All the while, to conservative IT, the cloud represents some of their worst fears realised. Risk! risk! risk! Then the vicious circle of the mother-hen reflex will continue because <a href="http://www.aidanfinn.com/?p=11277">rogue cloud applications will be commissioned without IT knowledge or approval</a>. Now we are back to the bad old days of rogue MSAccess or SharePoint deployments that drives the call for control based governance in the first place!</p>
<p><strong>&lt;nerd interlude&gt;</strong></p>
<p>Now to the nerds reading this post who find it incredibly frustrating that their organisation will happily pump money into some cloud-based flight of fancy, but whine when you want to upgrade the network, I want you to take take note of this paragraph as it is really (really) important! I will tell you the simple reason why people are more willing to spend more money on fluffy marketing than IT. In the eyes of a manager who needs to make a profit, sponsoring a conference or making the reception area look nice is seen as <strong>revenue generating</strong>. Those who sign the cheques do not like to spend capital on stuff unless they can see that it <strong>directly contributes to revenue generation!</strong> Accordingly, a bunch of servers (and for that matter, a server room) are often not considered expenditure that generates revenue but are instead considered <strong>overhead!</strong> Overhead is something that any smart organisation strives to <strong>reduce to remain competitive</strong>. The moral of the story? Stop arguing cloud vs. internal on what direct costs are incurred because people will not care! You would do much better to demonstrate to your decision makers that IT is not an overhead. Depending on how strong your mother hen reflex is and how long it has been in place, that might be an uphill battle.</p>
<p><strong>&lt;/nerd interlude&gt; </strong></p>
<h2>Defence mechanisms…</h2>
<p>Like the poor old Information Architect, the rules of the game are changing for IT with regards to cloud solutions. I am not sure how it will play out, but I am already starting to see the defence mechanisms kicking in. There was a CIO interviewed in the “Server Huggers” article that I referred to earlier (Scott Martin) who was hugely pro-cloud. He suggested that many CIO’s are seeing cloud solutions as a <em>threat </em>to the empire they have built:</p>
<blockquote><p>I feel like a lot of CIOs are in the process of a kind of empire building.&#160; IT empire builders believe that maintaining in-house services helps justify their importance to the company. Those kinds of things are really irrational and not in the best interest of the company […] there are CEO’s who don&#8217;t know anything about technology, so their trusted advisor is the guy trying to protect his job.</p>
</blockquote>
<p>A client of mine in Sydney told me he enquired to his IT department about the use of hosted SharePoint for a multi-organisational project and the reply back was a giant “hell no,” based primarily on fear, uncertainty and doubt. With IT, such FUD is always cloaked in areas of quite genuine risk. There *are* many core questions that we must ask cloud vendors when taking the plunge because to not do so would be remiss (I will end this post with some of those questions). <strong>But the key issue is whether the real underlying reason behind those questions is to shut down the debate or to genuinely understand the risks and implications of moving to the cloud</strong>. </p>
<p>How can you tell an IT department is likely using a FUD defence? Actually, it is pretty easily because conservative IT is very predictable &#8211; they will likely try and hit you with what they think is their slam-dunk counter argument first up. Therefore, they will attempt to bury the discussion with the <strong>US Patriot Act Issue</strong>. I’ve come across this issue and and <a href="http://www.linkedin.com/in/endusersharepoint">Mark Miller</a> at <a href="http://www.fpweb.net/">FPWeb</a> mentioned to me that this comes up all the time when they talk about SharePoint hosting to clients. (I am going to cover the Patriot Act issue in the next post because it warrants a dedicated post). </p>
<p>If the Patriot Act argument fails to dent unbridled cloud enthusiasm, the next layer of defence is to highlight cloud based security (identity, authentication and compliance) as well as downtime risk, citing examples such as the <a href="http://www.zdnet.com.au/office-365-hit-by-worldwide-outage-339322048.htm">September outage</a> of Office 365, SalesForce.com’s <a href="http://www.theregister.co.uk/2009/01/06/salesforce_outage/">well publicized outages</a>, the <a href="http://techcrunch.com/2011/08/08/amazon-ec2-outage/" target="_blank">Amazon outage</a> that took out Twitter, Reddit, Foursquare, Turntable.fm, Netflix and many, many others. The fact that many IT departments do not actually have the level of governance and assurance of their systems that they aspire to will be conveniently overlooked.&#160; </p>
<p>Failing that, the last line of defence is to call into question the commercial viability of cloud providers. We talked about the <a href="http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/">issues facing the smaller players</a> in the last post, but It is not just them. What if the provider decides to change direction and discontinue a service? Google will likely be cited, since it has a habit of axing <a href="http://news.cnet.com/8301-17939_109-10143245-2.html" target="_blank">cloud based services</a> that don’t reach enough critical mass (the most recent casualty is <a href="http://googleblog.blogspot.com/2011/06/update-on-google-health-and-google.html" target="_blank">Google health being retired</a> as I write this).&#160; The risk of a cloud provider going out of business or withdrawing a service is a much more serious risk than when a software supplier fails. At least when its on premise you still have the application running and can use it.</p>
<h2>Every FUD defence is based on truth…</h2>
<p>Now as I stated above, all of the concerns listed above are genuine things to consider before embarking on a cloud strategy. Prudent business managers and CIOs must weigh the pros and cons of cloud offering before rushing into a deployment that may not be appropriate for their organisation. Equally though, its important to be able to see through a FUD defence when its presented. The easiest way to do this is do some of your own investigations first.</p>
<p>To that end, you can save yourself a heap of time by checking out the work of <a href="https://www.nothingbutsharepoint.com/sites/itpro/Pages/Evaluating-Cloud-Providers-Tools-and-Questions.aspx">Richard Harbridge</a>. Richard did a <a href="http://www.slideshare.net/rharbridge/share-australia-looking-to-the-future-sharepoint-in-the-cloud">terrific cloud talk</a> at the most recent Share 2011 conference. You can view his <a href="http://www.slideshare.net/rharbridge/share-australia-looking-to-the-future-sharepoint-in-the-cloud">slide deck here</a> and I recommend really going through slides 48-81. He has provided a really comprehensive <a href="https://www.nothingbutsharepoint.com/sites/itpro/Pages/Evaluating-Cloud-Providers-Tools-and-Questions.aspx">summary of considerations and questions to ask</a>. Among other things, he offered a list of questions that any organisation should be asking providers of cloud services. I have listed some of them below and encourage you to check out his slide deck as it is really comprehensive and covers way more than what I have covered here.</p>
<table border="0" cellspacing="2" cellpadding="2" width="870">
<tbody>
<tr>
<td valign="top" width="291"><strong>Security </strong></td>
<td valign="top" width="275"><strong>Storage</strong></td>
<td valign="top" width="294"><strong>Identity &amp; Access</strong> </td>
</tr>
<tr>
<td valign="top" width="291">Who will have access to my data?          <br />Do I have full ownership of my data?           <br />What type of employee / contractor screening you do, before you hire them?           <br />How do you detect if an application is being attacked (hacked), and how is that           <br />reported to me and my employees?           <br />How do you govern administrator access to the service?           <br />What firewalls and anti-virus technology are in place? </td>
<td valign="top" width="275">What controls do you have in place to ensure safety for my data while it is          <br />stored in your environment?           <br />What happens to my data if I cancel my service?           <br />Can I archive environments?           <br />Will my data be replicated to any other datacenters around the world (If           <br />yes, then which ones)?           </td>
<td valign="top" width="294">Do you offer single sign-on for your services?          <br />Active directory integration?           <br />Do all of my users have to rely on solely web based tools?           <br />Can users work offline?           <br />Do you offer a way for me to run your application locally and how quickly I can revert to the local installation?           <br />Do you offer on-premise, web-based, or mixed environments?           </td>
</tr>
<tr>
<td valign="top" width="291">&nbsp;</td>
<td valign="top" width="275">&nbsp;</td>
<td valign="top" width="294">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="291"><strong>Reliability &amp; Support </strong></td>
<td valign="top" width="276"><strong>Performance</strong> </td>
<td valign="top" width="294">&nbsp;</td>
</tr>
<tr>
<td valign="top" width="291">What is your Disaster Recovery and Business Continuity strategy?          <br />What is the retention period and recovery granularity?           <br />Is your Cloud Computing service compliant with [insert compliance regime here]?           <br />What measures do you provide to assist compliance and minimize legal risk?           <br />What types of support do you offer?           <br />How do you ensure we are not affected by upgrades to the service?           <br />What are your SLAs and how do you compensate when it is not met? </td>
<td valign="top" width="276">How fast is the local network?          <br />What is the storage architecture?           <br />How many locations do you have and how are they connected?           <br />Have you published any benchmark scores for your infrastructure?           <br />What happens when there is over subscription?           <br />How can I ensure CPU and memory are guaranteed?           </td>
<td valign="top" width="294">&nbsp;</td>
</tr>
</tbody>
</table>
<h2>Conclusion and looking forward…</h2>
<p>For some organisations, the lure of cloud solutions is very seductive. From a revenue perspective, it saves a lot of capital expenditure. From a time perspective, it can be deployed very quickly and and from a maintenance perspective, takes the burden away from IT. Sounds like a winner when put that way. But the real issue is that the changing cloud paradigm potentially impacts the wellbeing of some IT professionals and IT departments because it calls into question certain patterns and practices within established roles. It also represents a loss of control and as I said earlier, people often place a higher value on what they will lose compared to what they will gain. </p>
<p>Irrespective of this, whether you are a new age cloud loving CIO or a server hugger, any decision to move to the cloud should be about real business outcomes. Don’t blindly accept what the sales guy tells you. Understand the risks as well as the benefits. Leverage the work Richard has done and ask the cloud providers the hard questions. Look for real world stories (like my <a href="http://www.cleverworkarounds.com/2011/12/19/the-cloud-isnt-the-problempart-2-when-complex-technology-meets-process/">second</a> and <a href="http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/">third</a> articles in this series) which illustrate where the services have let people down. </p>
<p>For some, cloud will be very successful. For others, the gap between expectations and reality will come with a thud.</p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<p><a href="http://www.hereticsguidebooks.com">www.hereticsguidebooks.com</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/&title=The+cloud+isn%26rsquo%3Bt+the+problem%26ndash%3BPart+5%3A+Server+huggers+and+a+crisis+of+identity" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/&title=The+cloud+isn%26rsquo%3Bt+the+problem%26ndash%3BPart+5%3A+Server+huggers+and+a+crisis+of+identity" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/&title=The+cloud+isn%26rsquo%3Bt+the+problem%26ndash%3BPart+5%3A+Server+huggers+and+a+crisis+of+identity" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/&title=The+cloud+isn%26rsquo%3Bt+the+problem%26ndash%3BPart+5%3A+Server+huggers+and+a+crisis+of+identity" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2012/01/20/the-cloud-isnt-the-problempart-5-server-huggers-and-a-crisis-of-identity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The cloud is not the problem-Part 4: Industry shakeout and playing with the big kids&#8230;</title>
		<link>http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/</link>
		<comments>http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 14:31:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Cloud compouting]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Globalisation]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[IAAS]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[IPSEC]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Office365]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[VPC]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/?p=2837</guid>
		<description><![CDATA[Hi all Welcome to the fourth post about the adaptive change that cloud computing is going to have on practitioners, paradigms and organisations. The previous two posts took a look at some of the dodgier side of two of the industries biggest players, Microsoft and Amazon. While I have highlighted some dumb issues with both, [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p>Hi all</p>
<p>Welcome to the fourth post about the adaptive change that cloud computing is going to have on practitioners, paradigms and organisations. The previous two posts took a look at some of the dodgier side of two of the industries biggest players, <a href="http://www.cleverworkarounds.com/2011/12/19/the-cloud-isnt-the-problempart-2-when-complex-technology-meets-process/">Microsoft</a> and <a href="http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/">Amazon</a>. While I have highlighted some dumb issues with both, I nevertheless have to acknowledge their resourcing, scalability, and ability to execute. On that point of ability to execute, in this post we are going to expand a little towards the cloud industry more broadly and the inevitable consolidation that is, and will continue to take place.</p>
<p>Now to set the scene, a lot of people know that in the early twentieth century, there were a lot of US car manufacturers. I wonder if you can take a guess at the number of defunct car manufacturers there have been before and after that time. </p>
<p>…Fifty? </p>
<p>…One Hundred? </p>
<p>Not even close… </p>
<p>What if I told you that there were <a href="http://en.wikipedia.org/wiki/List_of_defunct_United_States_automobile_manufacturers">over 1700</a>! </p>
<p>Here is another interesting stat. The table below shows the years where manufacturers went bankrupt or ceased operations. Below that I have put the average shelf life of each company for that decade.</p>
<table style="border-collapse: collapse" border="1" cellspacing="0" cellpadding="0" width="1001">
<colgroup>
<col style="width: 48pt" width="64" /></colgroup>
<tbody>
<tr style="height: 15pt" height="20">
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" height="20" width="85" align="right"><strong>Year</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="49" align="right"><strong>1870’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="48" align="right"><strong>1880’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>1890’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>1900’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>1910’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>1920’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>1930’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>1940’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>1950’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>1960’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>1970’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>1980’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>1990’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="63" align="right"><strong>2000’s</strong></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="61" align="right"><strong>2010’s</strong></td>
</tr>
<tr style="height: 15pt" height="20">
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" height="20" width="85" align="right"><font size="2"><strong># defunct</strong></font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="51" align="right"><font size="2">4</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="50" align="right"><font size="2">2</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">5</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">88</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">660</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">610</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">276</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">42</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">13</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">33</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">11</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">5</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">5</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">3</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="61" align="right"><font size="2">5</font></td>
</tr>
<tr style="height: 15pt" height="20">
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" height="20" width="85" align="right"><font size="2"><strong>avg years in operation</strong></font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="52" align="right"><font size="2">5</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="51" align="right"><font size="2">1</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">1</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">3</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">3</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">4</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">5</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">7</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">14</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">10</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">19</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">37</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">16</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="62" align="right"><font size="2">49</font></td>
<td style="padding-left: 1px; padding-right: 1px; vertical-align: bottom; padding-top: 1px" width="61" align="right"><font size="2">42</font></td>
</tr>
</tbody>
</table>
<p>Now, you would expect that the bulk of closures would be depression era, but note that the depression did not start until the late 1920’s and during the boom times that preceded it, 660 manufactures went to the wall – a worse result! </p>
<h2>The pattern of consolidation</h2>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2012/01/image.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2012/01/image_thumb.png" width="414" height="259" /></a></p>
<p>What I think the above table shows is the classic pattern of industry consolidation after an initial phase of innovation and expansion, where over time, the many are gobbled by the few. As the number of players consolidate, those who remain grow bigger, with more resources and economies of scale. This in turn creates barriers to entry for new participants. Accordingly, the rate of attrition slows down, but that is more due to the fact that there are fewer players in the industry. Those that are left continue to fight their battles, but now those battles take longer. Nevertheless, as time goes on, the number of players consolidate further.</p>
<p>If we applied a cloud/web hosting paradigm to the above table, I would equate the dotcom bust of 2000 with the depression era of the 1920’s and 1930’s. I actually think with cloud computing, we are in the 1960’s and on right now. The largest of the large players have how made big bets on the cloud and have entered the market in a big, big way. For more than a decade, other companies hosted Microsoft technology, with Microsoft showing little interest beyond selling licenses via them. Now Microsoft themselves are also the hosting provider. Does that mean most the hosting providers will have the fate of Netscape? Or will they manage to survive the dance with Goliath like Citrix or VMWare have?</p>
<h2>For those who are not Microsoft or Amazon…</h2>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2012/01/image1.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2012/01/image_thumb1.png" width="239" height="372" /></a></p>
<p>Imagine you have been hosting SharePoint solutions for a number of years. Depending on your size, you probably own racks or a cage in some-one else’s data centre, or you own a small data centre yourself. You have some high end VMWare gear to underpin your hosting offerings and you do both managed SharePoint (i.e. offer a basic site collection subscription with no custom stuff – ala Office 365) and you offer dedicated virtual machines for those who want more control (ala Amazon). You have dutifully paid your <a href="http://www.microsoft.com/hosting/en/us/licensing/splabenefits.aspx">service provider licensing</a> to Microsoft, have IT engineers on staff, some SharePoint specialists, a helpdesk and some dodgy sales guys &#8211; all standard stuff and life is good. You had a crack at implementing SharePoint multi tenancy, but found it all a bit too fiddly and complex.</p>
<p>Then Amazon comes along and shakes things up with their <a href="http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/">IaaS offerings</a>. They are cost competitive, have more data centres in more regions, a higher capacity, more fault tolerance, a wider variety of services and can scale more than you can. Their ability to execute in terms of offering new services is impossible to keep up with. In short, they slowly but relentlessly take a chunk of the market and continue to grow. So, you naturally counter by pushing the legitimate line that you specialise in SharePoint, and as a result customers are in much more trusted hands than Amazon, when investing on such a complex tool as SharePoint. </p>
<p>But suddenly the game changes again. The very vendor who you provide cloud-based SharePoint services for, now bundles it with Exchange, Lync and offers Active Directory integration (yeah, yeah, I know there was <a href="http://www.microsoft.com/online/business-productivity.aspx">BPOS</a> but no-one actually heard of that). Suddenly the argument that you are a safer option than Amazon is shot down by the fact that Microsoft themselves now offer what you do. So whose hands are safer? The small hosting provider with limited resources or the multinational with billions of dollars in the bank who develops the product? Furthermore, given Microsoft’s advantage in being able to mobilise its knowledge resources with deep product knowledge, they have a richer managed service offering than you can offer (i.e. they offer multi tenancy <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>This puts you in a bit of a bind as you are getting assailed at both ends. Amazon trumps you in the capabilities at the IaaS end and is encroaching in your space and Microsoft is assailing the <a href="http://www.cleverworkarounds.com/2011/12/19/the-cloud-isnt-the-problempart-2-when-complex-technology-meets-process/">SaaS</a> end. How does a small fish survive in a pond with the big ones? In my opinion, the mid-tier SharePoint cloud providers will have to reinvent themselves.</p>
<h2>The adaptive change…</h2>
<p>So for the mid-tier SharePoint cloud provider grappling with the fact that their play area is reduced because of the big kids encroaching, there is only one option. They have to be really, really good in areas the big kids are <em>not </em>good at. In SharePoint terms, this means they have to go to places many don’t really want to go: <strong>they need to bolster their support offerings and move up the SharePoint stack</strong>. </p>
<p>You see, traditionally a SharePoint hosting provider tends to take two approaches. They provide a managed service where the customer cannot mess with it too much (i.e. Site collection admin access only). For those who need more than that, they will offer a virtual machine and wipe their hands of any maintenance or governance, beyond ensuring that&#160; the infrastructure is fast and backed up. Until now, cloud providers could get away with this and the reason they take this approach should be obvious to anyone who has implemented SharePoint. If you don’t maintain operational governance controls, things can rapidly get out of hand. Who wants to deal with all that “people crap”? Besides, that&#8217;s a different skill set to typical skills required to run and maintain cloud services at the infrastructure layer. </p>
<p>So some cloud providers will kick and scream about this, and delude themselves into thinking that hosting and cloud services are their core business. For those who think this, I have news for you. The big boys think these are their core business too and they are going to do it better than you. This is now commodity stuff and a by-product of commoditisation is that many <strong>SharePoint consultancies</strong> <strong>are now cloud providers anyway!</strong> They sign up to Microsoft or Amazon and are able to provide a highly scalable SharePoint cloud service with all the value added services further up the SharePoint stack. In short, they combine their SharePoint expertise with Microsoft/Amazon’s scale. </p>
<p>Now on the issue of support, Amazon has no specific SharePoint skills and they never will. They are first and foremost a compelling IaaS offering. Microsoft’s support? … go and <a href="http://www.cleverworkarounds.com/2011/12/19/the-cloud-isnt-the-problempart-2-when-complex-technology-meets-process/">re-read part 2</a> if you want to see that. It seems that no matter the big multinational, level 1 tech support is always level 1 tech support. </p>
<p>So what strategies can a mid-tier provider take to stay competitive in this rapidly commoditising space. I think one is to go premium and go niche.</p>
<ul>
<li>Provide brilliant support. If I call you, day or night, I expect to speak to a SharePoint person straight away. I want to get to know them on a first name basis and I do not want to fight the defence mechanism of the support hierarchy. </li>
<li>Partner with SharePoint consultancies or acquire consulting resources. The latter allows you to do some vertical integration yourself and broaden your market and offerings. A potential KPI for any SharePoint cloud provider should be that no support person ever says “sorry that’s outside the scope of what we offer.” </li>
<li>Develop skills in the tools and systems that surround SharePoint or invest in SharePoint areas where skills are lacking. Examples include Project Server, PerformancePoint, integration with GIS, Records management and ERP systems. Not only will you develop competencies that few others have, but you can target particular vertical market segments who use these tools. </li>
<li>(Controversial?) Dump your infrastructure and use Amazon in conjunction with another IaaS provider. You just can’t compete with their scale and price point. If you use them you will likely save costs, when combined with a second provider you can play the resiliency card and best of all … you can offer <a href="http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/">VPC</a> <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  </li>
</ul>
<h2>Conclusion</h2>
<p>In the last two posts we looked at some of the areas where both <a href="http://www.cleverworkarounds.com/2011/12/19/the-cloud-isnt-the-problempart-2-when-complex-technology-meets-process/">Microsoft</a> and <a href="http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/">Amazon</a> sometimes struggle to come to grips with the SharePoint cloud paradigm. In this post, we took a look at other cloud providers having to come to grips with the SharePoint cloud paradigm of having to compete with these two giants, who are clearly looking to eke out as much value as they can from the cloud pie. Whether you agree with my suggested strategy (<a href="http://www.rackspace.com/whyrackspace/support/">Rackspace appears to</a>), the pattern of the auto industry serves as an interesting parallel to the cloud computing marketplace. Is the relentless consolidation a good thing? Probably not in the long term (we will tackle that issue in the last post in this series). In the next post, we are going to shift our focus away from the cloud providers themselves, and turn our gaze to the internal IT departments – who until now, have had it pretty good. As you will see, a big chunk of the irrational side of cloud computing comes from this area.</p>
<p>&#160;</p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/&title=The+cloud+is+not+the+problem-Part+4%3A+Industry+shakeout+and+playing+with+the+big+kids%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/&title=The+cloud+is+not+the+problem-Part+4%3A+Industry+shakeout+and+playing+with+the+big+kids%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/&title=The+cloud+is+not+the+problem-Part+4%3A+Industry+shakeout+and+playing+with+the+big+kids%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/&title=The+cloud+is+not+the+problem-Part+4%3A+Industry+shakeout+and+playing+with+the+big+kids%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2012/01/13/the-cloud-is-not-the-problem-part-4-industry-shakeout-and-playing-with-the-big-kids/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The cloud is not the problem&#8211;Part 3: When silos strike back&#8230;</title>
		<link>http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/</link>
		<comments>http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 04:27:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Cloud compouting]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[IAAS]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[VPC]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/?p=2775</guid>
		<description><![CDATA[What can Ikea fails tell us about cloud computing? My next door neighbour is a builder. When he moved next door, the house was an old piece of crap. Within 6 months, he completely renovated it himself, adding in two bedrooms, an underground garage and all sorts of cool stuff. On the other hand, I [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 10px; display: inline; float: left; padding-top: 5px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:06924454-ca3d-437c-9c64-28e91834b14a" class="wlWriterEditableSmartContent">
<div><object width="448" height="336"><param name="movie" value="http://www.youtube.com/v/WugVu2b-y0s?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/WugVu2b-y0s?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="336"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">What can Ikea fails tell us about cloud computing?</div>
</div>
<p> My next door neighbour is a builder. When he moved next door, the house was an old piece of crap. Within 6 months, he completely renovated it himself, adding in two bedrooms, an underground garage and all sorts of cool stuff. On the other hand, I bought my house because it was a good location, someone had already renovated it and all we had to do was move in. The reason for this was simple: I had a new baby and more importantly, me and power tools do not mix. I just don’t have the skills, nor the time to do what my neighbour did.
<p>You can probably imagine what would happen if I tried to renovate my house the way my neighbour did. It would turn out like the Ikea fails in the video. Similarly, many SharePoint installs tend to look similar to the video too. Moral of the story? Sometimes it is better to get something pre-packaged than to do it yourself.</p>
<p>In the <a href="http://www.cleverworkarounds.com/2011/12/19/the-cloud-isnt-the-problempart-2-when-complex-technology-meets-process/" target="_blank">last post</a>, we <a href="http://www.cleverworkarounds.com/2011/12/19/the-cloud-isnt-the-problempart-2-when-complex-technology-meets-process/" target="_blank">examined</a> the<strong> “Software as a Service” (SaaS)</strong> model of cloud computing in the form of Office 365. Other popular SaaS providers include <a href="http://www.slideshare.net/">SlideShare</a>, <a href="http://www.salesforce.com/au/?ir=1">Salesforce</a>, <a href="http://basecamphq.com/">Basecamp</a> and <a href="http://www.tomsplanner.com/">Tom’s Planner</a> to name a few. Most SaaS applications are browser based and not as feature rich or complex as their on-premise competition. Therefore the SaaS model is that its a bit like buying a kit home. In SaaS, no user of these services ever touches the underlying cloud infrastructure used to provide the solution, nor do they have a full mandate to tweak and customise to their hearts content. SaaS is basically predicated on the notion that someone else will do a better set-up job than you and the old 80/20 rule about what features for an application are actually used.</p>
<p>Some people may regard the restrictions of SaaS as a <em>good thing </em>– particularly if they have dealt with the consequences of one too many unproductive customization efforts previously. As many SharePointer’s know, the more you customise SharePoint, the less resilient it gets. Thus restricting what sort of customisations can be done in many circumstances might be a wise thing to do. </p>
<p>Nevertheless, this actually goes against the genetic traits of pretty much every Australian male walking the planet. The reason is simple: no matter how much our skills are lacking or however inappropriate tools or training, we nevertheless always want to do it ourselves. This brings me onto our next cloud provider: Amazon, and their Infrastructure as a Service (IaaS) model of cloud based services. This is the ultimate DIY solution for those of us that find SaaS to cramping our style. Let’s take a closer look shall we?</p>
<h2>Amazon in a nutshell</h2>
<p>Okay, I have to admit that as an infrastructure guy, I am genetically predisposed to liking Amazon’s cloud offerings. Why? well as an infrastructure guy, I am like my neighbour who renovated his own house. I’d rather do it all myself because I have acquired the skills to do so. So for any server-hugging infrastructure people out there who are wondering what they have been missing out on? Read on… you might like what you see. </p>
<p>Now first up, its easy for new players to get a bit intimidated by Amazon’s bewildering array of offerings with brand names that make no sense to anybody but Amazon&#8230; EC2, VPC, S3, ECU, EBS, RDS, AMI’s, Availability Zones – sheesh! So I am going to ignore all of their confusing brand names and just hope that you have heard of <a href="http://en.wikipedia.org/wiki/Virtual_machine">virtual machines</a> and will assume that you or your tech geeks know all about VMware. The simplest way to describe Amazon is VMWare on steroids. Amazon’s service essentially allows you to create Virtual Machines within Amazon’s “cloud” of large data centres around the world. As I stated earlier, the official cloud terminology that Amazon is traditionally associated is called <strong>Infrastructure as a Service (IaaS). </strong>This is where, instead of providing ready-made applications like SaaS, a cloud vendor provides lower level IT infrastructure for rent. This consists of stuff like virtualised servers, storage and networking. </p>
<p>Put simply, utilising Amazon, one can deploy virtual servers with my choice of operating system, applications, memory, CPU and disk configuration. Like any good “all you can eat” buffet, one is spoilt for choice. One simply chooses an <em>Amazon Machine Image</em> (AMI) to use as a base for creating a virtual server. You can choose one of Amazon’s pre-built AMI’s (Base installs of Windows Server or Linux) or you can choose an image from the <strong>community contributed list of over 8000 base images</strong>. Pretty much any vendor out there who sells a turn-key solution (such as those all-in-one virus scanning/security solutions) has likely created an AMI. Microsoft have also <a href="http://aws.amazon.com/amis/Microsoft?browse=1">gotten in on the Amazon act</a> and <a href="http://aws.amazon.com/amis/Microsoft?browse=1">created AMI’s</a> for you, optimised by their product teams. Want SQL 2008 the way Microsoft would install it? Choose the <a href="http://aws.amazon.com/amis/Microsoft/6258880392999312">Microsoft Optimized Base SQL Server 2008R2</a> AMI&#160; which “contains scripts to install and optimize SQL Server 2008R2 and accompanying services including SQL Server Analysis services, SQL Server Reporting services, and SQL Server Integration services to your environment based on Microsoft best practices.”</p>
<p>The series of screen shots below shows the basic idea. After signing up, use the “Request instance wizard” to create a new virtual server by choosing an AMI first. In the example below, I have shown the default Amazon AMI’s under “Quick start” as well as the community AMI’s.</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td valign="top" width="200"><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image61.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image61_thumb.png" width="527" height="260" /></a>           <br /><strong><font size="2" face="Arial">Amazons default AMI’s</font></strong></td>
<td valign="top" width="200"><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image31.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image3_thumb.png" width="529" height="260" /></a>           <br /><strong><font size="2" face="Arial">Community contributed AMI’s</font></strong> </td>
</tr>
</tbody>
</table>
<p>From the list above, I have chosen Microsoft’s “Optimized SQL Server 2008 R2 SP1” from the community AMI’s and clicked “Select”. Now I can choose the CPU and memory configurations. Hmm how does a 16 core server sound with 60 gig of RAM? That ought to do it… <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image13.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image13_thumb.png" width="535" height="327" /></a></p>
<p>Now I won’t go through the full description of commissioning virtual servers, but suffice to say that you can choose which geographic location this server will reside within Amazon’s cloud and after 15 minutes or so, your virtual server will be ready to use. It can be assigned a public IP address, firewall restricted and then remotely managed as per any other server. This can all be done programmatically too. You can talk to Amazon via web services start, monitor, terminate, etc. as many virtual machines as you want, which allows you to scale your infrastructure on the fly and very quickly. There are no long procurement times and you then only pay for what servers are currently running. If you shut them down, you stop paying.</p>
<h2>But what makes it cool…</h2>
<p>Now I am sure that some of you might be thinking “big deal…any virtual machine hoster can do that.” I agree – and when I first saw this capability I just saw it as a larger scale VMWare/Xen type deployment. But when really made me sit up and take notice was Amazon’s <a href="http://aws.amazon.com/vpc/">Virtual Private Cloud</a> (VPC) functionality. The super-duper short version of VPC is that it allows you <em>extend your corporate network </em>into the Amazon cloud. It does this by allowing you to define your own private network and connecting to it via site-to-site VPN technology. To describe how it works, diagrammatically check out the image below.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image10.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image_thumb9.png" width="713" height="257" /></a></p>
<p>Let’s use an example to understand the basic idea. Let’s say your internal IP address range at your office is 10.10.10.0 to 10.10.10.255 (a /24 for the geeks). With VPC you tell Amazon “I’d like a new IP address range of 10.10.11.0 to 10.10.11.255” . You are then prompted to tell Amazon the public IP address of your internet router. The screenshots below shows what happens next: </p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image11.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image_thumb10.png" width="270" height="190" /></a>&#160; </p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image62.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/12/image6_thumb.png" width="449" height="423" /></a></p>
<p>The first screenshot asks you to choose what type of router is at your end. Available choices are Cisco, Juniper, Yamaha, Astaro and generic. The second screenshot shows you a sample configuration that is downloaded. Now any Cisco trained person reading this will recognise what is going on here. This is the automatically generated configuration to be added to an organisations edge router to create an IPSEC tunnel. In other words, we have extended our corporate network itself into the cloud. Any service can be run on such a network – not just SharePoint. For smaller organisations wanting the benefits of off-site redundancy without the costs of a separate datacenter, this is a very cost effective option indeed.</p>
<p><em>For the Cisco geeks, the actual configuration is two GRE tunnels that are IPSEC encrypted. BGP is used for route table exchange, so Amazon can learn what routes to tunnel back to your on-premise network. Furthermore Amazon allows you to manage firewall settings at the Amazon end too, so you have an additional layer of defence past your IPSEC router. </em></p>
<p>This is called Virtual Private Cloud (VPC) and when configured properly is very powerful. Note the “P” is for private. No server deployed to this subnet is internet accessible unless you choose it to be. This allows you to extend your internal network into the cloud and gain all the provisioning, redundancy and scalability benefits without exposure to the internet directly. As an example, I did a hosted SharePoint extranet where we use <a href="http://msdn.microsoft.com/en-us/library/ms187103.aspx">SQL log shipping</a> of the extranet content databases back to the a DMZ network for redundancy. Try doing that on Office365!</p>
<p>This sort of functionality shows that Amazon is a mature, highly scalable and flexible IaaS offering. They have been in the business for a long time and it shows because their full suite of offerings is much more expansive than what I can possibly cover here. Accordingly my Amazon experiences will be the subject of a more in-depth blog post or two in future. But for now I will force myself to stop so the non-technical readers don’t get too bored. <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h2>So what went wrong?</h2>
<p>So after telling you how impressive Amazon’s offering is, what could possibly go wrong? Like the <a href="http://www.cleverworkarounds.com/2011/12/19/the-cloud-isnt-the-problempart-2-when-complex-technology-meets-process/" target="_blank">Office365 issue covered in part 2</a>, absolutely nothing with the technology. To understand why, I need to explain Amazon’s pricing model.</p>
<p>Amazon offer a couple of ways to pay for servers (called <em>instances </em>in Amazon speak). An <strong>on-demand instance </strong>is calculated based on a per-hour price while the server is running. The more powerful the server is in terms of CPU, memory and disk, the more you pay. To give you an idea, Amazon’s <a href="http://aws.amazon.com/ec2/pricing/" target="_blank">pricing</a> for a Windows box with 8CPU’s and 16GB of RAM, running in Amazon’s “US east” region will set you back $0.96 per hour (as of 27/12/11).&#160; If you do the basic math for that, it equates to around $8409 per year, or <strong>$25228</strong> over three years. (Yeah I agree that’s high – even when you consider that you get all the trappings of a highly scalable and fault tolerant datacentre).</p>
<p>On the other hand, a <strong>reserved instance </strong>involves making a one-time payment and in turn, receive a significant discount on the hourly charge for that instance. Essentially if you are going to run an Amazon server on a 24*7 basis for more than 18 months or so, a reserved instance makes sense as it reduces considerable cost over the long term. The same server would only cost you $0.40 per hour if you pay an up-front $2800 for a 3 year term. Total cost: $13312 over three years – much better.</p>
<p>So with that scene set, consider this scenario: Back at the start of 2011, a client of mine consolidated all of their SharePoint cloud services to Amazon from a variety of other another hosting providers. They did this for a number of reasons, but it basically boiled down to the fact they had 1) outgrown the SaaS model and 2) had a growing number of clients. As a result, requirements from clients were getting more complicated and beyond that which most of the hosting providers could cater for. They also received irregular and inconsistent support from their existing providers, as well as some unexpected downtime that reduced confidence. In short, they needed to consolidate their cloud offering and manage their own servers. They were developing custom SharePoint solutions, needed to support federated claims authentication and required disaster recovery assurance to mitigate the risk of going 100% cloud. Amazon’s VPC offering in particular seemed ideal, because it allowed full control of the servers in a secure way. </p>
<p>Now making this change was not something we undertook lightly. We spent considerable time researching Amazon’s offerings, trying to understand all the acronyms as well as their fine print. (For what its worth I used IBIS as the basis to develop an assessment and the <a href="http://www.cleverworkarounds.com/maps/amazon/Amazon_1011111302746104307.html" target="_blank">map of my notes can be found here</a>). As you are about to see though, we did not check well enough. </p>
<p>Back when we initially evaluated the VPC offering, it was only available in very few Amazon sites (two locations in the USA only) and the service was still in beta. This caused us a bit of a dilemma at the time because of the risk of relying on a beta service. But we were assured when Amazon confirmed that VPC would eventually be available in all of of their datacentres. We also stress tested the service for a few weeks, it remained stable and we developed and tested a disaster recovery strategy involving SQL log shipping and a standby farm. We also <em>purchased reserved instances </em>from Amazon since these servers were going to be there for the long haul, so we pre-paid to reduce the hourly rates. Quite a complex configuration was provisioned in only two days and we were amazed by how easy it all was. </p>
<p>Things hummed along for 9 months in this fashion and the world was a happy place. We were delighted when Amazon notified us that VPC had come out of beta and was now available in any of Amazon’s datacentres around the world. We only used the US datacentre because it was the only location available at the time. Now we wanted to transfer the services to Singapore. My client contacted Amazon about some finer points on such a move and was informed that they would have to pay for their <strong>reserved instances all over again!</strong> </p>
<p>What the? </p>
<p>It turns out, <strong>reserved instances are not transferrable</strong>! Essentially, Amazon were telling us that although we paid for a three year reserved instance, and only used it for 9 months, to move the servers to a new region would mean we have to <strong>pay all over again for another 3 year reserve</strong>. According to Amazon’s documentation, each reserved instance is associated with a specific region, which is fixed for the lifetime of the reserved instance and cannot be changed.</p>
<p>“Okay,” we answer, “we can understand that in circumstances where people move to another cloud provider. But in our case we were not.” We had used around 1/3rd of the reserved instance. So surely Amazon should pro-rata the unused amount, and offer that as a credit when we re-purchase reserved instances in Singapore? I mean, we will still be hosting with Amazon, so overall, they will not be losing any revenue al all. On the contrary, we will be paying them more, because we will have to sign up for an additional 3 years of reserve when we move the services. </p>
<p>So we ask Amazon whether that can be done. “Nope,&quot; comes back the answer from amazons not so friendly billing team with one of those trite and grossly insulting “Sorry for any inconvenience this causes” ending sentences. After more discussions, it seems that internally within Amazon, each region or datacentre within each region is its own profit centre. Therefore in typical silo fashion, the US datacentre does not want to pay money to the Singapore operation as that would mean the revenue we paid would no longer recognised against them. </p>
<p>Result? Customer is screwed all because the Amazon fiefdoms don’t like sharing the contents of the till. But hey – the regional managers get their bonuses right? <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-sadsmile" alt="Sad smile" src="http://www.cleverworkarounds.com/wp-content/uploads/2012/01/wlEmoticon-sadsmile.png" /></p>
<h2>Conclusion</h2>
<p>Like <a href="http://www.cleverworkarounds.com/2011/12/19/the-cloud-isnt-the-problempart-2-when-complex-technology-meets-process/" target="_blank">part 2</a> of this cloud computing series, this is not a technical issue. Amazon’s cloud service in our experience has been reliable and performed well. In this case, we are turned off by the fact that their internal accounting procedures create a situation that is not great for customers who wish to remain loyal to them. In a post about the <a href="http://www.cleverworkarounds.com/2011/05/22/whatever-you-do-do-not-ignore-legacy/" target="_blank">danger of short termism and ignoring legacy</a>, I gave the example of how dumb it is for organisations to think they are measuring success based on how long it takes to close a helpdesk call. When such a KPI is used, those in support roles have little choice but to try and artificially close calls when users problems have not been solved because that’s how they are deemed to be performing well. The reality though is rather than measure happy customers, this KPI simply rewards which helpdesk operators have managed to game the system by getting callers off the phone as soon as they can. </p>
<p>I feel that Amazon are treating this is an internal accounting issue, irrespective of client outcomes. Amazon will lose the business of my client because of this since they have enough servers hosted where the financial impost of paying all over again is much more than transferring to a different cloud provider. While VPC and automated provisioning of virtual servers is cool and all, at the end of the day many hosting providers can offer this if you ask them. Although it might not be as slick with fancy as Amazon’s automated configuration, it nonetheless is very doable and the other providers are playing catch-up. Like Apple, Amazon are enjoying the benefits of being first to market with their service, but as competition heats up, others will rapidly bridge the gap. </p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/&title=The+cloud+is+not+the+problem%26ndash%3BPart+3%3A+When+silos+strike+back%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/&title=The+cloud+is+not+the+problem%26ndash%3BPart+3%3A+When+silos+strike+back%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/&title=The+cloud+is+not+the+problem%26ndash%3BPart+3%3A+When+silos+strike+back%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/&title=The+cloud+is+not+the+problem%26ndash%3BPart+3%3A+When+silos+strike+back%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2012/01/03/the-cloud-is-not-the-problempart-3-when-silos-strike-back/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troubleshooting SharePoint (People) Search 101</title>
		<link>http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/</link>
		<comments>http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 04:34:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Assurance]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Web Parts]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/</guid>
		<description><![CDATA[I’ve been nerding it up lately SharePointwise, doing the geeky things that geeks like to do like ADFS and Claims Authentication. So in between trying to get my book fully edited ready for publishing, I might squeeze out the odd technical SharePoint post. Today I had to troubleshoot a broken SharePoint people search for the [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p>I’ve been nerding it up lately SharePointwise, doing the geeky things that geeks like to do like ADFS and Claims Authentication. So in between trying to get my book fully edited ready for publishing, I might squeeze out the odd technical SharePoint post. Today I had to troubleshoot a broken SharePoint people search for the first time in a while. I thought it was worth explaining the crawl process a little and talking about the most likely ways in which is will break for you, in order of likelihood as I see it. There are articles out on this topic, but none that I found are particularly comprehensive.</p>
<h2>Background stuff</h2>
<p><em>If you consider yourself a legendary IT pro or SharePoint god, feel free to skip this bit. If you prefer a more gentle stroll through SharePoint search land, then read on…</em></p>
<p>When you provision a search service application as part of a SharePoint installation, you are asked for (among other things), a windows account to use for the search service. Below shows the point in the GUI based configuration step where this is done. First up we choose to create a search service application, and then we choose the account to use for the “Search Service Account”. By default this is the account that will do the crawling of content sources.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb.png" width="118" height="143" /></a>&#160;&#160;&#160; <a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image1.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb1.png" width="393" height="144" /></a></p>
<p>Now the search service account is described as so: <em>“.. the Windows Service account for the SharePoint Server Search Service. This setting affects all Search Service Applications in the farm. You can change this account from the Service Accounts page under Security section in Central Administration.”</em></p>
<p>In reading this, suggests that the windows service (“SharePoint Server Search 14”) would run under this account. The reality is that the SharePoint Server Search 14 service account is the farm account. You can see the pre and post provisioning status below. First up, I show below where SharePoint has been installed and the SharePoint Server Search 14 service is disabled and with service credentials of “Local Service”.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image2.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb2.png" width="632" height="116" /></a></p>
<p>The next set of pictures show the Search Service Application provisioned according to the following configuration:</p>
<ul>
<li>Search service account: SEVENSIGMA\searchservice </li>
<li>Search admin web service account: SEVENSIGMA\searchadminws </li>
<li>Search query and site settings account: SEVENSIGMA\searchqueryss </li>
</ul>
<p>You can see this in the screenshots below.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image3.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb3.png" width="490" height="95" /></a></p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image4.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb4.png" width="244" height="90" /></a><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image5.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb5.png" width="246" height="88" /></a></p>
<p>Once the service has been successfully provisioned, we can clearly see the “Default content access account” is based on the “Search service account” as described in the configuration above (the first of the three accounts).</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image6.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb6.png" width="522" height="307" /></a></p>
<p>Finally, as you can see below, once provisioned, it is the SharePoint farm account that is running the search windows service.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image7.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb7.png" width="641" height="147" /></a></p>
<p>Once you have provisioned the Search Service Application, the default content access (in my case SEVENSIGMA\searchservice), it is granted “Read” access to <em>all web applications </em>via <strong>Web Application User Policies </strong>as shown below. This way, no matter how draconian the permissions of site collections are, the crawler account will have the access it needs to crawl the content, as well as the permissions of that content. You can verify this by looking at any web application in Central Administration (except for central administration web application) and choosing “User Policy” from the ribbon. You will see in the policy screen that the “Search Crawler” account has “Full Read” access.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image8.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb8.png" width="516" height="136" /></a></p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image9.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb9.png" width="278" height="135" /></a></p>
<p>In case you are wondering why the search service needs to crawl the <em>permissions</em> of content, as well as the content itself, it is because it uses these permissions to trim search results for users who do not have access to content. After all, you don’t want to expose sensitive corporate data via search do you?</p>
<p>There is another more subtle configuration change performed by the Search Service. Once the <a href="http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/" target="_blank">evilness</a> known as the User Profile Service has been provisioned, the Search service application will grant the Search Service Account <em>specific permission to the User Profile Service</em>. SharePoint is smart enough to do this whether or not the User Profile Service application is installed before or after the Search Service Application. In other words, if you install the Search Service Application first, and the User Profile Service Application afterwards, the permission will be granted regardless.</p>
<p>The specific permission by the way, is “Retrieve People Data for Search Crawlers” permission as shown below:</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image10.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb10.png" width="204" height="244" /></a>&#160;&#160;&#160; <a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image11.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb11.png" width="214" height="244" /></a></p>
<p>Getting back to the title of this post, this is a critical permission, because without it, the Search Server will not be able to talk to the User Profile Service to enumerate user profile information. The effect of this is empty &quot;People Search results.</p>
<h2>How people search works (a little more advanced)</h2>
<p>Right! Now that the cool kids have joined us (who skipped the first section), lets take a closer look at SharePoint People Search in particular. This section delves a little deeper, but fear not I will try and keep things relatively easy to grasp.</p>
<p>Once the Search Service Application has been provisioned, a default <strong>content source</strong>, called – originally enough &#8211; “Local SharePoint Sites” is created. Any web applications that exist (and any that are created from here on in) will be listed here. An example of a freshly minted SharePoint server with a single web application, shows the following configuration in Search Service Application:</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image12.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb12.png" width="527" height="252" /></a></p>
<p>Now hopefully <a href="http://web">http://web</a> makes sense. Clearly this is the URL of the web application on this server. But you might be wondering that <strong>sps3://web</strong> is? I will bet that you have never visited a site using sps3:// site using a browser either. For good reason too, as it wouldn’t work.</p>
<p>This is a SharePointy thing – or more specifically, a Search Server thing. That funny protocol part of what looks like a URL, refers to a <em>connector</em>. A connector allows Search Server to crawl other data sources that don’t necessarily use HTTP. Like some native, binary data source. People can develop their own connectors if they feel so inclined and a classic example is the Lotus Notes connector that Microsoft supply with SharePoint. If you configure SharePoint to use its Lotus Notes connector (and by the way – its really tricky to do), you would see a URL in the form of:</p>
<p>notes://mylotusnotesbox</p>
<p>Make sense? The protocol part of the URL allows the search server to figure out what connector to use to crawl the content. (For what its worth, there are many others out of the box. If you want to see all of the connectors then check <a href="http://technet.microsoft.com/en-us/library/gg153529.aspx" target="_blank">the list here</a>).</p>
<p>But the one we are interested in for this discussion is SPS3: which accesses SharePoint User profiles which supports <em>people search </em>functionality. The way this particular connector works is that when the crawler accesses this SPS3 connector, it in turns calls a special <em>web service </em>at the host specified. The web service is called <strong>spscrawl.asmx </strong>and in my example configuration above, it would be <a href="http://web/_vti_bin/spscrawl.asmx">http://web/_vti_bin/spscrawl.asmx</a></p>
<p>The basic breakdown of what happens next is this:</p>
<ol>
<li>Information about the Web site that will be crawled is retrieved (the GetSite method is called passing in the site from the URL (i.e the “web” of sps3://web) </li>
<li>Once the site details are validated the service enumerates all of the use profiles </li>
<li>For each profile, the method GetItem is called that retrieves all of the user profile properties for a given user. This is added to the index and tagged as content class of “urn:content-class:SPSPeople” (I will get to this in a moment) </li>
</ol>
<p>Now admittedly this is the simple version of events. If you really want to be scared (or get to sleep tonight) you can read the actual SP3 <a href=": http://download.microsoft.com/download/8/5/8/858F2155-D48D-4C68-9205-29460FD7698F/[MS-SPSCRWL].pdf" target="_blank">protocol specification</a> PDF.</p>
<p>Right! Now lets finish this discussion by this notion of <strong>contentclass</strong>. The SharePoint search crawler tags all crawled content according to its <em>class</em>. The name of this “tag” &#8211; or in correct terminology “managed property” &#8211; is contentclass. By default SharePoint has a People Search scope. It is essentially a limits the search to only returning content tagged as “People” contentclass.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image13.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb13.png" width="346" height="213" /></a></p>
<p>Now to make it easier for you, <a href="http://www.devcow.com/blogs/jdattis/archive/2007/12/20/the-contentclass-and-isdocument-properties-along-with-the-welcome-page-caveat.aspx" target="_blank">Dan Attis</a> listed all of the content classes that he knew of back in SharePoint 2007 days. I’ll list a few here, but for the full list visit <a href="http://www.devcow.com/blogs/jdattis/archive/2007/12/20/the-contentclass-and-isdocument-properties-along-with-the-welcome-page-caveat.aspx" target="_blank">his site</a>.</p>
<ul>
<li>“STS_Web” &#8211; Site </li>
<li>“STS_List_850″ &#8211; Page Library </li>
<li>“STS_List_DocumentLibrary” &#8211; Document Library </li>
<li>“STS_ListItem_DocumentLibrary” &#8211; Document Library Items </li>
<li>“STS_ListItem_Tasks” &#8211; Tasks List Item </li>
<li>“STS_ListItem_Contacts” &#8211; Contacts List Item </li>
<li>“urn:content-class:SPSPeople” &#8211; People </li>
</ul>
<p>(why some properties follow the <a href="http://en.wikipedia.org/wiki/Uniform_Resource_Name" target="_blank">universal resource name</a> format I don’t know *sigh* – geeks huh?)</p>
<h2>So that was easy Paul! What can go wrong?</h2>
<p>So now we know that although the protocol handler is SPS3, it is still ultimately utilising HTTP as the underlying communication mechanism and calling a web service, we can start to think of all the ways that it can break on us. Let’s now take a look at common problem areas in order of commonality:</p>
<h2>1. The Loopback issue.</h2>
<p>This has been done to death elsewhere and most people know it. What people don’t know so well is that the loopback fix was to prevent an extremely <a href="http://www.microsoft.com/technet/security/bulletin/MS08-068.mspx" target="_blank">nasty security vulnerability</a> known as a replay attack that came out a few years ago. Essentially, if you make a HTTP connection to your server, from that server and using a name that does not match the name of the server, then the request will be blocked with a 401 error. In terms of SharePoint people search, the sps3:// handler is created when you create your first web application. If that web application happens to be a name that doesn’t match the server name, then the HTTP request to the spscrawl.asmx webservice will be blocked due to this issue.</p>
<p>As a result your search crawl will not work and you will see an error in the logs along the lines of:</p>
<ul>
<li>Access is denied: Check that the Default Content Access Account has access to the content or add a crawl rule to crawl the content (0&#215;80041205) </li>
<li>The server is unavailable and could not be accessed. The server is probably disconnected from the network.&#160;&#160; (0x80040d32) </li>
<li>***** Couldn&#8217;t retrieve server <a href="http://web.sevensigma.com">http://web.sevensigma.com</a> policy, hr = 80041205 &#8211; File:d:\office\source\search\search\gather\protocols\sts3\sts3util.cxx Line:548 </li>
</ul>
<p>There are two ways to fix this. The quick way (DisableLoopbackCheck) and the right way (BackConnectionHostNames). Both involve a registry change and a reboot, but one of them leaves you much more open to exploitation. Spence Harbar wrote about the <a href="http://www.harbar.net/archive/2009/07/02/disableloopbackcheck-amp-sharepoint-what-every-admin-and-developer-should-know.aspx" target="_blank">differences between the two</a> some time ago and I recommend you follow his advice.</p>
<p><em>(As an slightly related side note, I hit an issue with the User Profile Service a while back where it gave an error: “Exception occurred while connecting to WCF endpoint: System.ServiceModel.Security.MessageSecurityException: The HTTP request was forbidden with client authentication scheme &#8216;Anonymous&#8217;. &#8212;&gt; System.Net.WebException: The remote server returned an error: (403) Forbidden”. In this case I needed to disable the loopback check but I was using the server name with no alternative aliases or full qualified domain names. I asked Spence about this one and it seems that the DisableLoopBack registry key addresses <strong>more</strong> than the SMB replay vulnerability.)</em></p>
<h2>2. SSL</h2>
<p>If you add a certificate to your site and mark the site as HTTPS (by using SSL), things change. In the example below, I installed a certificate on the site <a href="http://web">http://web</a>, removed the binding to http (or port 80) and then updated SharePoint’s alternate access mappings to make things a HTTPS world.</p>
<p>Note that the reference to SPS3://WEB is unchanged, and that there is also a reference still to <a href="http://WEB">HTTP://WEB</a>, as well as an automatically added reference to <a href="https://WEB">HTTPS://WEB</a></p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image14.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb14.png" width="292" height="273" /></a></p>
<p>So if we were to run a crawl now, what do you think will happen? Certainly we know that <a href="http://WEB">HTTP://WEB</a> will fail, but what about SPS3://WEB? Lets run a full crawl and find out shall we?</p>
<p>Checking the logs, we have the unsurprising error “the item could not be crawled because the crawler could not contact the repository”. So clearly, SPS3 isn’t smart enough to work out that the web service call to spscrawl.asmx needs to be done over SSL.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image15.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb15.png" width="523" height="129" /></a></p>
<p>Fortunately, the solution is fairly easy. There is another connector, identical in function to SPS3 except that it is designed to handle secure sites. It is “SPS3s”. We simple change the configuration to use this connector (and while we are there, remove the reference to <a href="http://WEB">HTTP://WEB</a>)</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image16.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb16.png" width="386" height="362" /></a></p>
<p>Now we retry a full crawl and check for errors… Wohoo &#8211; all good!</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image17.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb17.png" width="669" height="70" /></a></p>
<p>It is also worth noting that there is another SSL related issue with search. The search crawler is a little fussy with certificates. Most people have visited secure web sites that warning about a problem with the certificate that looks like the image below:</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image18.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb18.png" width="364" height="182" /></a></p>
<p>Now when you think about it, a search crawler doesn’t have the luxury of asking a user if the certificate is okay. Instead it errs on the side of security and by default, will not crawl a site if the certificate is invalid in some way. The crawler also is more fussy than a regular browser. For example, it doesn’t overly like wildcard certificates, even if the certificate is trusted and valid (although all modern browsers do).</p>
<p>To alleviate this issue, you can make the following changes in the settings of the Search Service Application: Farm Search Administration-&gt;Ignore SSL warnings and tick “Ignore SSL certificate name warnings”.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image19.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb19.png" width="339" height="113" /></a>&#160; <a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image20.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb20.png" width="307" height="75" /></a></p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image21.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb21.png" width="339" height="78" /></a></p>
<p>The implication of this change is that the crawler will now accept any old certificate that encrypts website communications.</p>
<h2>3. Permissions and Change Legacy</h2>
<p>Lets assume that we made a configuration mistake when we provisioned the Search Service Application. The search service account (which is the default content access account) is incorrect and we need to change it to something else. Let’s see what happens.</p>
<p>In the search service application management screen, click on the default content access account to change credentials. In my example I have changed the account from SEVENSIGMA\searchservice to SEVENSIGMA\svcspsearch</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image22.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb22.png" width="343" height="159" /></a></p>
<p>Having made this change, lets review the effect in the Web Application User Policy and User Profile Service Application permissions. Note that the user policy for the <strong>old search crawl account remains</strong>, but the new account has had an entry <strong>automatically created</strong>. (Now you know why you end up with multiple accounts with the display name of “Search Crawling Account”)</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image23.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb23.png" width="347" height="191" /></a></p>
<p>Now lets check the User Profile Service Application. Now things are different! The search service account below refers to the *old* account SEVENSIGMA\searchservice. But the required permission of “Retrieve People Data for Search Crawlers” permission <strong>has not been granted</strong>!</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image24.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb24.png" width="347" height="360" /></a></p>
<p>&#160;</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image25.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb25.png" width="422" height="133" /></a></p>
<p>If you traipsed through the ULS logs, you would see this:</p>
<p><span style="font-family: arial; font-size: x-small">Leaving Monitored Scope (Request (GET:</span><a href="https://web/_vti_bin/spscrawl.asmx))"><span style="font-family: arial; font-size: x-small">https://web/_vti_bin/spscrawl.asmx))</span></a><span style="font-family: arial; font-size: x-small">. Execution Time=7.2370958438429 c2a3d1fa-9efd-406a-8e44-6c9613231974      <br />mssdmn.exe (0x23E4) 0x2B70 SharePoint Server Search FilterDaemon e4ye High FLTRDMN: Errorinfo is &quot;HttpStatusCode Unauthorized The request failed with HTTP status 401: Unauthorized.&quot; [fltrsink.cxx:553] d:\office\source\search\native\mssdmn\fltrsink.cxx       <br />mssearch.exe (0x02E8) 0x3B30 SharePoint Server Search Gatherer cd11 Warning The start address sps3s://web cannot be crawled. Context: Application &#8216;Search_Service_Application&#8217;, Catalog &#8216;Portal_Content&#8217; Details: Access is denied. Verify that either the Default Content Access Account has access to this repository, or add a crawl rule to crawl this repository. If the repository being crawled is a SharePoint repository, verify that the account you are using has &quot;Full Read&quot; permissions on the SharePoint Web Application being crawled. (0&#215;80041205) </span></p>
<p>To correct this issue, manually grant the crawler account the “Retrieve People Data for Search Crawlers” permission in the User Profile Service. As a reminder, this is done via the Administrators icon in the “Manage Service Applications” ribbon.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image26.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb26.png" width="237" height="244" /></a></p>
<p>Once this is done run a fill crawl and verify the result in the logs.4.</p>
<h2>4. Missing root site collection</h2>
<p>A more uncommon issue that I once encountered is when the web application being crawled is missing a default site collection. In other words, while there are site collections defined using a managed path, such as <a href="http://WEB/SITES/SITE">http://WEB/SITES/SITE</a>, there is no site collection defined at <a href="http://WEB">HTTP://WEB</a>.</p>
<p>The crawler does not like this at all, and you get two different errors depending on whether the SPS or HTTP connector used.</p>
<ul>
<li>SPS:// &#8211; Error in PortalCrawl Web Service (0&#215;80042617) </li>
<li>HTTP:// &#8211; The item could not be accessed on the remote server because its address has an invalid syntax (0&#215;80041208) </li>
</ul>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image27.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb27.png" width="512" height="106" /></a></p>
<p>The fix for this should be fairly obvious. Go and make a default site collection for the web application and re-run a crawl.</p>
<h2>5. Alternative Access Mappings and Contextual Scopes</h2>
<p>SharePoint guru (and my squash nemesis), Nick Hadlee <a href="http://nickhadlee.wordpress.com/2011/07/24/no-search-results-for-contextual-scopes/" target="_blank">posted recently</a> about a problem where there are no search results on contextual search scopes. If you are wondering what they are Nick explains:</p>
<blockquote><p>Contextual scopes are a really useful way of performing searches that are restricted to a specific site or list. The “This Site: [Site Name]”, “This List: [List Name]” are the dead giveaways for a contextual scope. What’s better is contextual scopes are auto-magically created and managed by SharePoint for you so you should pretty much just use them in my opinion.</p>
</blockquote>
<p>The issue is that when the alternate access mapping (AAM) settings for the default zone on a web application do not match your search content source, the contextual scopes return no results. </p>
<blockquote><p>I came across this problem a couple of times recently and the fix is really pretty simple – check your alternate access mapping (AAM) settings and make sure the host header that is specified in your default zone is the same url you have used in your search content source. Normally SharePoint kindly creates the entry in the content source whenever you create a web application but if you have changed around any AAM settings and these two things don’t match then your contextual results will be empty. Case Closed!</p>
</blockquote>
<p>Thanks Nick</p>
<h2>6. Active Directory Policies, Proxies and Stateful Inspection</h2>
<p>A particularly insidious way to have problems with Search (and not just people search) is via Active Directory policies. For those of you who don’t know what AD policies are, they basically allow geeks to go on a power trip with users desktop settings. Consider the image below. Essentially an administrator can enforce a massive array of settings for all PC’s on the network. Such is the extent of what can be controlled, that I can’t fit it into a single screenshot. What is listed below is but a small portion of what an anal retentive Nazi administrator has at their disposal (mwahahaha!)</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image28.png" target="_blank"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2011/07/image_thumb28.png" width="287" height="293" /></a></p>
<p>Common uses of policies include restricting certain desktop settings to maintain consistency, as well as enforce Internet explorer security settings, such as proxy server and security settings like maintaining the trusted sites list. One of the common issues encountered with a global policy defined proxy server in particular is that the search service account will have its profile modified to use the proxy server.</p>
<p>The result of this is that now the proxy sits between the search crawler and the content source to be crawled as shown below:</p>
<p>Crawler &#8212;&#8211;&gt; Proxy Server &#8212;&#8211;&gt; Content Source</p>
<p>Now even though the crawler does not use Internet Explorer per se, proxy settings aren’t actually specific to Internet Explorer. Internet explorer, like the search crawler, uses wininet.dll. Wininet is a module that contains Internet-related functions used by Windows applications and it is <em>this</em> component that utilises proxy settings.</p>
<p>Sometimes people will troubleshoot this issue by using telnet to connect to the HTTP port. &quot;ie: “Telnet web 80”. But telnet does not use the wininet component, so is actually not a valid method for testing. Telnet will happily report that the web server is listening on port 80 or 443, but it matters not when the crawler tries to access that port via the proxy. Furthermore, even if the crawler and the content source are on the same server, the result is the same. As soon as the crawler attempts to index a content source, <strong>the request will be routed to the proxy server</strong>. Depending on the vendor and configuration of the proxy server, various things can happen including:</p>
<ul>
<li>The proxy server cannot handle the NTLM authentication and passes back a 400 error code to the crawler </li>
<li>The proxy server has funky stateful inspection which interferes with the allowed HTTP verbs in the communications and interferes with the crawl </li>
</ul>
<p>For what its worth, it is not just proxy settings that can interfere with the HTTP communications between the crawler and the crawled. I have seen security software also get in the way, which monitors HTTP communications and pre-emptively terminates connections or modifies the content of the HTTP request. The effect is that the results passed back to the crawler are not what it expects and the crawler naturally reports that it could not access the data source with suitably weird error messages.</p>
<p><em>Now the very thing that makes this scenario hard to troubleshoot is the tell-tale sign for it. That is: nothing will be logged in the ULS logs, not the IIS logs for the search service. This is because the errors will be logged in the proxy server or the overly enthusiastic stateful security software</em>.</p>
<p>If you suspect the problem is a proxy server issue,&#160; but do not have access to the proxy server to check logs, the best way to troubleshoot this issue is to temporarily grant the search crawler account enough access to log into the server interactively. Open internet explorer and manually check the proxy settings. If you confirm a policy based proxy setting, you might be able to temporarily disable it and retry a crawl (until the next AD policy refresh reapplies the settings). The ideal way to cure this problem is to ask your friendly Active Directory administrator to either:</p>
<ul>
<li>Remove the proxy altogether from the SharePoint server (watch for <a href="http://ddkonline.blogspot.com/2010/05/fix-sharepoint-very-slow-to-start-after.html" target="_blank">certificate revocation slowness</a> as a result) </li>
<li>Configure an exclusion in the proxy settings for the AD policy to that the content sources for crawling are not proxied </li>
<li>Create a new AD policy specifically for the SharePoint box so that the default settings apply to the rest of the domain member computers. </li>
</ul>
<p>If you suspect the issue might be overly zealous stateful inspection, temporarily disable all security-type software on the server and retry a crawl. Just remember, that if you have no logs on the server being crawled, chances are its not being crawled and you have to look elsewhere.</p>
<h2>7. Pre-Windows 2000 Compatibility Access Group</h2>
<p>In an <a href="http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/comment-page-1/#comment-80183" target="_blank">earlier post</a> of mine, I hit an issue where search would yield no results for a regular user, but a domain administrator could happily search SP2010 and get results. Another symptom associated with this particular problem is certain recurring errors event log &#8211; Event ID 28005 and 4625.</p>
<ul>
<li>ID 28005 shows the message “An exception occurred while enqueueing a message in the target queue. Error: 15404, State: 19. Could not obtain information about Windows NT group/user ‘DOMAIN\someuser’, error code 0×5”. </li>
<li>The 4625 error would complain “An account failed to log on. Unknown user name or bad password status 0xc000006d, sub status 0xc0000064” or else “An Error occured during Logon, Status: 0xc000005e, Sub Status: 0&#215;0”</li>
</ul>
<p>If you turn up the debug logs inside SharePoint Central Administration for the “Query” and “Query Processor” functions of “SharePoint Server Search” you will get an error “<em>AuthzInitializeContextFromSid failed with ERROR_ACCESS_DENIED. This error indicates that the account under which this process is executing may not have read access to the tokenGroupsGlobalAndUniversal attribute on the querying user’s Active Directory object. Query results which require non-Claims Windows authorization will not be returned to this querying user</em>. </p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image2.png"><img title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image_thumb2.png" width="295" height="439" /></a></p>
<p>The fix is to add your search service account to a group called “Pre-Windows 2000 Compatibility Access” group. The issue is that SharePoint 2010 re-introduced something that was in SP2003 – an API call to a function called <a href="http://msdn.microsoft.com/en-us/library/aa376309(VS.85).aspx">AuthzInitializeContextFromSid</a>. Apparently it was not used in SP2007, but its back for SP2010. This particular function requires a certain permission in Active Directory and the “Pre-Windows 2000 Compatibility Access” group happens to have the right required to read the “tokenGroupsGlobalAndUniversal“ Active Directory attribute that is described in the debug error above.</p>
<h2>8. Bloody developers!</h2>
<p>Finally, Patrick Lamber blogs about <a href="http://patricklamber.blogspot.com/2010/04/why-might-moss-crawler-not-working.html" target="_blank">another cause of crawler issues</a>. In his case, someone developed a custom web part that had an exception thrown when the site was crawled. For whatever reason, this exception did not get thrown when the site was viewed normally via a browser. As a result no pages or content on the site could be crawled because all the crawler would see, no matter what it clicked would be the dreaded “An unexpected error has occurred”. When you think about it, any custom code that takes action based on browser parameters such as locale or language might cause an exception like this – and therefore cause the crawler some grief.</p>
<p>In Patricks case there was a second issue as well. His team had developed a custom HTTPModule that did some URL rewriting. As Patrick states “The indexer seemed to hate our redirections with the <em>Response.Redirect</em> command. I simply removed the automatic redirection on the indexing server. Afterwards, everything worked fine”.</p>
<p>In this case Patrick was using a multi-server farm with a dedicated index server, allowing him to remove the HTTP module for that one server. in smaller deployments you may not have this luxury. So apart from the obvious opportunity to bag programmers <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> , this example nicely shows that it is easy for a 3rd party application or code to break search. What is important for developers to realise is that client web browsers are not the only thing that loads SharePoint pages.</p>
<p>If you are not aware, the user agent User Agent string identifies the type of client accessing a resource. This is the means by which sites figure out what browser you are using. A quick look at the User Agent parameter by SharePoint Server 2010 search reveals that it identifies itself as “Mozilla/4.0 (compatible; MSIE 4.01; Windows NT; MS Search 6.0 Robot)“. At the very least, test any custom user interface code such as web parts against this string, as well as check the crawl logs when it indexes any custom developed stuff.</p>
<h2>Conclusion</h2>
<p>Well, that&#8217;s pretty much my list of gotchas. No doubt there are lots more, but hopefully this slightly more detailed exploration of them might help some people.</p>
<p>&#160;</p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<p><a href="http://www.spgovia.com">www.spgovia.com</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/&title=Troubleshooting+SharePoint+%28People%29+Search+101" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/&title=Troubleshooting+SharePoint+%28People%29+Search+101" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/&title=Troubleshooting+SharePoint+%28People%29+Search+101" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/&title=Troubleshooting+SharePoint+%28People%29+Search+101" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2011/07/22/troubleshooting-sharepoint-people-search-101/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Consequences of complexity&#8211;the evilness of the SharePoint 2010 User Profile Service</title>
		<link>http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/</link>
		<comments>http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 10:08:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Forefront Identity Manager]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SP2010]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/?p=2550</guid>
		<description><![CDATA[Hiya A few months back I posted a relatively well behaved rant over the ridiculously complex User Profile Service Application of SharePoint 2010. I think this component in particular epitomises SharePoint 2010’s awful combination of “design by committee” clunkiness, along with real-world sheltered Microsoft product manager groupthink which seems to rate success on the number [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p>Hiya</p>
<p>A few months back I posted a <a href="http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/" target="_blank">relatively well behaved rant</a> over the ridiculously complex <a href="http://technet.microsoft.com/en-us/library/ee662538.aspx" target="_blank">User Profile Service Application</a> of SharePoint 2010. I think this component in particular epitomises SharePoint 2010’s awful combination of “design by committee” clunkiness, along with real-world sheltered Microsoft product manager groupthink which seems to rate success on the number of half baked features packed in, as opposed to how well those features install logically, integrate with other products and function properly in real-world scenarios. </p>
<p>Now truth be told, until yesterday, I have had an unblemished record with the User Profile Service – being able to successfully provision it first time at all sites I have visited (and no I did not resort to running it all as administrator). Of course, we all have <a href="http://www.harbar.net/articles/About.aspx" target="_blank">Spence</a> to thank for this with his <a href="http://www.harbar.net/articles/sp2010ups.aspx" target="_blank">rational guide</a>. Nevertheless, I am strongly starting to think that I should write the irrational guide as a sort of bizzaro version of <a href="http://www.harbar.net/articles/sp2010ups.aspx" target="_blank">Spencers articles</a>, which combines his rigour with some mega-ranting <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>So what happened to blemish my perfect record? Bloody Active Directory policies – that’s what.</p>
<p>In case you didn’t know, SharePoint uses a scaled down, pre-release version of <a href="http://www.microsoft.com/forefront/identitymanager/en/us/default.aspx" target="_blank">Forefront Identify Manager</a>. Presumably the logic here to this was to allow more flexibility, by two-way syncing to various directory services, thereby saving the SharePoint team development time and effort, as well as being able to tout yet another cool feature to the masses. Of course, the trade-off that the programmers overlooked is the insane complexity that they introduced as a result. I’m sure if you asked Microsoft’s support staff what they think of the UPS, they will tell you it has not worked out overly well. Whether that feedback has made it way back to the hallowed ground of the open-plan cubicles of SharePoint product development I can only guess. But I theorise that if Microsoft made their SharePoint devs accountable for providing front-line tech support for their components, they will suddenly understand why conspiracy theorist support and infrastructure guys act the way they do.</p>
<p>Anyway I better supress my desire for an all out rant and tell you the problem and the fix. The site in question was actually a fairly simple set-up. Two server farm and a single AD forest. About the only thing of significance from the absolute stock standard setup was that the <a href="http://www.harbar.net/articles/sp2010ups2.aspx" target="_blank">active directory NETBIOS name did not match the active directory fully qualified domain name</a>. But this is actually a well known and well covered by <a href="http://technet.microsoft.com/en-us/library/ee721049.aspx" target="_blank">TechNet</a> and <a href="http://www.harbar.net/articles/sp2010ups2.aspx" target="_blank">Spence</a>. A quick bit of <a href="http://www.harbar.net/articles/sp2010ups2.aspx" target="_blank">PowerShell goodness and some AD permission configuration</a> sorts the issue.</p>
<p>Yet when I provisioned the User Profile Service Application and then tried to start the User Profile Synchronisation Service on the server (the big, scary step that strikes fear into practitioners), I hit the sadly common “stuck on starting” error. The ULS logs told me utterly nothing of significance – even when i turned the debug juice to full throttle. The ever helpful windows event logs showed me Event ID 3:</p>
<blockquote><p>ForeFront Identity Manager,      <br />Level: Error</p>
<p>.Net SqlClient Data Provider: System.Data.SqlClient.SqlException: HostId is not registered     <br />at Microsoft.ResourceManagement.Data.Exception.DataAccessExceptionManager.ThrowException(SqlException innerException)      <br />at Microsoft.ResourceManagement.Data.DataAccess.RetrieveWorkflowDataForHostActivator(Int16 hostId, Int16 pingIntervalSecs, Int32 activeHostedWorkflowDefinitionsSequenceNumber, Int16 workflowControlMessagesMaxPerMinute, Int16 requestRecoveryMaxPerMinute, Int16 requestCleanupMaxPerMinute, Boolean runRequestRecoveryScan, Boolean&amp; doPolicyApplicationDispatch, ReadOnlyCollection`1&amp; activeHostedWorkflowDefinitions, ReadOnlyCollection`1&amp; workflowControlMessages, List`1&amp; requestsToRedispatch)      <br />at Microsoft.ResourceManagement.Workflow.Hosting.HostActivator.RetrieveWorkflowDataForHostActivator()      <br />at Microsoft.ResourceManagement.Workflow.Hosting.HostActivator.ActivateHosts(Object source, ElapsedEventArgs e) </p>
</blockquote>
<p>The most common issue with this message is the NETBIOS issue I mentioned earlier. But in my case this proved to be fruitless. I also took Spence’s advice and installed the <a href="http://support.microsoft.com/kb/2475878" target="_blank">Feb 2011 cumulative update for SharePoint 2010</a>, but to no avail. Every time I provisioned the UPS sync service, I received the above persistent error &#8211; many, many, many times. <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p><em>For what its worth, forget googling the above error because it is a bit of a red herring and you will find issues that will likely point you to the wrong places. </em></p>
<p>In my case, the key to the resolution lay in understanding my <a href="http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/" target="_blank">previously documented issue</a> with the UPS and self-signed certificate creation. This time, I noticed that the certificates were successfully created <em>before </em>the above error happened.&#160; <a href="http://blog.mediawhole.com/2010/09/where-to-find-fim-client-miisclientexe.html" target="_blank">MIISCLIENT</a> showed no configuration had been written to Forefront Identity Manager at all. Then I remembered that the SharePoint User Profile Service Application talks to Forefront over <em>HTTPS </em>on port 5725. As soon as I remembered that HTTP was the communication mechanism, I had a strong suspicion on where the problem was – as I have seen this sort of crap before&#8230; </p>
<p>I wondered if some <strong>stupid proxy setting </strong>was getting in the way. Back in the halcyon days of SharePoint 2003, I had this issue when scheduling SMIGRATE tasks, where the account used to run SMIGRATE is configured to use a proxy server, would fail. To find out if this was the case here, a quick execute of the <a href="http://www.microsoft.com/windowsxp/using/setup/expert/gpresults.mspx" target="_blank">GPRESULT tool</a> and we realised that there was a proxy configuration script applied at the domain level for all users. We then logged in as the farm account interactively (given that to provision the UPS it needs to be Administrator anyway this was not a problem). We then disabled all proxy configuration via Internet explorer and tried again.</p>
<p>Blammo! The service provisions and we are cooking with gas! it was the bloody proxy server. Reconfigure group policy and all is good. </p>
<h2>Conclusion</h2>
<p>The moral of the story is this. Anytime windows components communicate with each-other via HTTP, there is always a chance that some AD induced dumbass proxy setting might get in the way. If not that, stateful security apps that check out HTTP traffic or even a corrupted cache (as happened in <a href="http://www.cleverworkarounds.com/2009/09/05/missing-metadata-with-office-2003-yet-another-duh-moment/" target="_blank">this case</a>). The ULS logs will never tell you much here, because the problem is not SharePoint per se, but the registry configuration enforced by policy.</p>
<p>So, to ensure that you do not get affected by this, configure all SharePoint servers to be excluded from proxy access, or configure the SharePoint farm account not to use a proxy server at all. (Watch for <a href="http://ddkonline.blogspot.com/2010/05/fix-sharepoint-very-slow-to-start-after.html" target="_blank">certificate revocation related slowness</a> if you do this though).</p>
<p>Finally, I called this post “consequences of complexity” because this sort of problem is very tricky to identify the root cause. With so many variables in the mix, how the hell can people figure this sort of stuff out?</p>
<p>Seriously Microsoft, you need to adjust your measures of success to include resiliency of the platform! </p>
<p>&#160;</p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/&title=Consequences+of+complexity%26ndash%3Bthe+evilness+of+the+SharePoint+2010+User+Profile+Service" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/&title=Consequences+of+complexity%26ndash%3Bthe+evilness+of+the+SharePoint+2010+User+Profile+Service" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/&title=Consequences+of+complexity%26ndash%3Bthe+evilness+of+the+SharePoint+2010+User+Profile+Service" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/&title=Consequences+of+complexity%26ndash%3Bthe+evilness+of+the+SharePoint+2010+User+Profile+Service" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2011/03/31/consequences-of-complexitythe-evilness-of-the-sharepoint-2010-user-profile-service/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>More User Profile Sync issues in SP2010: Certificate Provisioning Fun</title>
		<link>http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/</link>
		<comments>http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 02:03:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Forefront Identity Manager]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SP2010]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[User Profiles]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/</guid>
		<description><![CDATA[Wow, isn’t the SharePoint 2010 User Profile Service just a barrel of laughs. Without a bit of context, when you compare it to SP2007, you can do little but shake your head in bewilderment at how complex it now appears. I have a theory about all of this. I think that this saga started over [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p>Wow, isn’t the SharePoint 2010 User Profile Service just a barrel of laughs. Without a bit of context, when you compare it to SP2007, you can do little but shake your head in bewilderment at how complex it now appears.</p>
<p>I have a theory about all of this. I think that this saga started over a beer in 2008 or so.</p>
<p>I think that Microsoft decided that SharePoint 2010 should be able to write back to Active Directory (something that AD purists dislike but sold Bamboo many copies of their sync tool). Presumably the SharePoint team get on really well with the Forefront Identify Manager team and over a few Friday beers, the FIM guys said “Why write your own? Use our fit for purpose tool that does exactly this. As an added bonus, you can sync to other directories easily too”.</p>
<p>“Damn, that *is* a good idea”, says the SharePoint team and the rest is history. Remember the old saying, the road to hell is paved with good intentions?</p>
<p>Anyways, when you provision the UPS enough times, and understand what Forefront Identity Manager does, it all starts to make sense. Of course, to have it make sense, requires you to mess it up in the first place and I think that everyone universally will do this – because it is essentially <strong>impossible to get it right the first time </strong>unless you run everything as domain administrator. This is a key factor that I feel did not get enough attention within the product team. I have now visited three sites where I have had to correct issues with the user profile service. Remember, not all of us do SharePoint all day – for the humble system administrator that is also catering with the overall network, this implementation is simply too complex. Result? Microsoft support engineers are going to get a lot of calls here – and its going to cost Microsoft that way.</p>
<h2>One use-case they never tested</h2>
<p>I am only going to talk about one of the issues today because <a href="http://www.harbar.net/articles/sp2010ups.aspx">Spence</a> has written the definitive article that will get you through if you are doing it from scratch.</p>
<p>I went to a client site where they had attempted to provision the user profile synchronisation unsuccessfully. I have no idea of the things they tried because I wasn’t there unfortunately, but I made a few changes to permissions, AD rights and local security policy as per Spencers post. I then provisioned user profile sync again and I hit this issue. A sequence of 4 event log entries.</p>
<p><span style="font-family: Verdana;">Event ID:      234<br />
Description:<br />
ILM Certificate could not be created: Cert step 2 could not be created: C:\Program Files\Microsoft Office Servers\14.0\Tools\MakeCert.exe -pe -sr LocalMachine -ss My -a sha1 -n CN=&#8221;ForefrontIdentityManager&#8221; -sky exchange -pe -in &#8220;ForefrontIdentityManager&#8221; -ir localmachine -is root<br />
</span></p>
<p><span style="font-family: Verdana;">Event ID:      234<br />
Description:<br />
ILM Certificate could not be created: Cert could not be added: C:\Program Files\Microsoft Office Servers\14.0\Tools\CertMgr.exe -add -r LocalMachine -s My -c -n &#8220;ForefrontIdentityManager&#8221; -r LocalMachine -s TrustedPeople<br />
</span></p>
<p><span style="font-family: Verdana;">Event ID:      234<br />
Description:<br />
ILM Certificate could not be created: netsh http error:netsh http add urlacl url=</span><a href="http://+:5725/"><span style="font-family: Verdana;">http://+:5725/</span></a><span style="font-family: Verdana;"> user=Domain\spfarm sddl=D:(A;;GA;;;S-1-5-21-2972807998-902629894-2323022004-1104)<br />
</span></p>
<p><span style="font-family: Verdana;">Event ID:      234<br />
Description:<br />
Cannot get the self issued certificate thumbprint:<br />
</span></p>
<h2>The theory</h2>
<p>Luckily this one of those rare times where the error message actually makes sense (well – if you have worked with PKI stuff before). Clearly something went wrong in the creation of certificates. Looking at the sequence of events, it seems that as part of provisioning ForeFront Identity Manager, a self signed certificate was created for the Computer Account, added to the Trusted People certificate store and then is used for SSL on a web application or web service listening on port 5725.</p>
<p><em>By the way, don’t go looking for the web app listening on such a port in IIS because its not there. Just like <a href="http://blogs.msdn.com/b/bwelcker/archive/2007/12/04/everybody-why-leave-iis.aspx">SQL Reporting Services</a>, FIM likely uses very little of IIS and doesn’t need the overhead. </em> </p>
<p>The way I ended up troubleshooting this issue was to take a good look at the first error in the sequence and what the command was trying to do. Note the description in the event log is important here. “ILM Certificate could not be created: Cert step 2 could not be created”. So this implies that this command is the second step in a sequence and there was a step 1 that must have worked. Below is the step 2 command that was attempted.</p>
<p><span style="font-family: Verdana;">C:\Program Files\Microsoft Office Servers\14.0\Tools\MakeCert.exe -pe -sr LocalMachine -ss My -a sha1 -n CN=&#8221;ForefrontIdentityManager&#8221; -sky exchange -pe -in &#8220;ForefrontIdentityManager&#8221; -ir localmachine -is root<br />
</span></p>
<p>When you create a certificate, it has to have a trusted issuer. Verisign and Thawte are examples and all browsers consider them trustworthy issuers. But we are not using 3rd party issuers here. Forefront uses a self-signed certificate. In other words, it trusts itself. We can infer that step 1 is the creation of this self-trusted certificate issuer by looking at the parameters of the MakeCert command that step 2 is using.</p>
<p>Now I am not going to annotate every Makecert parameter here, but the English version of the command above says something like:</p>
<blockquote><p>Make me a shiny new certificate for the local machine account and call it “ForefrontIdentityManager”, issued by a root certificate that can be found in the <strong>trusted root store </strong>also called ForeFrontIdentityManager.</p></blockquote>
<p>So this command implies that step 1 was the creation of that root certificate that issues the other certificates. <em>(Product team &#8211; you could have given the name of the root issuer certificate something different to the issued certificate)</em></p>
<h2>The root cause</h2>
<p>Now that we have established a theory of what is going on, the next step is to run the failing Makecrt command from a prompt and see what we get back. Make sure you do this as the Sharepoint farm account so you are comparing apples with apples.</p>
<p>C:\Program Files\Microsoft Office Servers\14.0\Tools&gt;MakeCert.exe -pe -sr LocalMachine -ss My -a sha1 -n CN=&#8221;ForefrontIdentityManager&#8221; -sky exchange -pe -in &#8220;ForefrontIdentityManager&#8221; -ir localmachine -is root</p>
<p><strong>Error: There are more than one matching certificate in the issuer&#8217;s root cert store. Failed</strong></p>
<p>Aha! so what do we have here? The error message states that we have more than 1 matching certificate in the <strong>issuers root certificate store</strong>.</p>
<p><em>For what its worth it is the parameters “-ir localmachine -is root” that specifies the certificate store to use. In this case, it is the <strong>trusted root certificate store </strong>on the <strong>local computer</strong>.</em></p>
<p>So lets go and take a look. Run the Microsoft Management Console (MMC) and Choose “Add/Remove Snap In” from the File Menu.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image4.png"><img style="display: inline; border: 0px;" title="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image_thumb4.png" border="0" alt="image" width="553" height="386" /></a></p>
<p>From the list of snap ins choose Certificates and then choose “Computer Account”</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image5.png"><img style="display: inline; border: 0px;" title="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image_thumb5.png" border="0" alt="image" width="244" height="126" /></a></p>
<p>Now in the list of certificate stores, we need to examine the one that the command refers to: The Trusted Root Certification Authorities store. Well, look at that, the error was telling the truth!</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image6.png"><img style="display: inline; border: 0px;" title="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image_thumb6.png" border="0" alt="image" width="781" height="421" /></a></p>
<p>Clearly the Forefront Identity Manager provisioning/unprovisioning code does not check for all circumstances. I can only theorise what my client did to cause this situation because I wasn’t privy to what was done on this particular install before I got there. but step 1 of this provisioning process would create an issuing certificate whether <strong>one existed already or not</strong>. Step 2 then failed because it had no way to determine which of these certificates is the <strong>authoritative one</strong>.</p>
<p>This was further exacerbated because each re-attempt creates another root certificate because there is <strong>no check whether a certificate already exists</strong>.</p>
<p>The cure is quite easy. Just delete all of the ForefrontIdentityManager certificates from the Trusted Root Certification Authorities and re-provision the user profile sync in SharePoint. Provided that there is no certificate in this store to begin with, step 1 will create it and step 2 will then be able to create the self signed certificate using this issuer just fine.</p>
<h2>Conclusion (and minor rant)</h2>
<p>Many SharePoint pros have commented on the insane complexity of the new design of the user profile sync system. Yes I understand the increased flexibility offered by the new regime, leveraging a mature product like Forefront, but I see that with all of this flexibility comes risk that has not been well accounted for. SP2010 is twice as tough to learn as SP2007 and it is more likely that you will make a mistake than not making one. The more components added, the more points of failure and the less capable over-burdened support staff are in dealing with it when it happens.</p>
<p>SharePoint 2010 is barely out of nappies and I have already been in a remediation role for several sites over the user profile service alone.</p>
<p>I propose that Microsoft add a new program level KPI to rate how well they are doing with their SharePoint product development. That KPI should be something like % of time a system administrator can provision a feature without making a mistake or resorting to running it all as admin. The benefit to Microsoft would be tangible in terms of support calls and failed implementations. Such a KPI would force the product team to look at an example like the user profile service and think “How can we make this more resilient?”. “How can we remove the number of manual steps that are not obvious?”, “how can we make the wizard clearer to understand?” (yes they *will* use the wizard).</p>
<p>Right now it feels like the KPI was how many features could be crammed, in as well as how much integration between components there is. If there is indeed a KPI for that they definitely nailed it this time around.</p>
<p>Don’t get me wrong – its all good stuff, but if Microsoft are stumping seasoned SharePoint pros with this stuff, then they definitely need to change the focus a bit in terms of what constitutes a good product.</p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/&title=More+User+Profile+Sync+issues+in+SP2010%3A+Certificate+Provisioning+Fun" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/&title=More+User+Profile+Sync+issues+in+SP2010%3A+Certificate+Provisioning+Fun" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/&title=More+User+Profile+Sync+issues+in+SP2010%3A+Certificate+Provisioning+Fun" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/&title=More+User+Profile+Sync+issues+in+SP2010%3A+Certificate+Provisioning+Fun" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2010/08/15/more-user-profile-sync-in-sp2010-certificate-provisioning-issues/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Index index everywhere but not a result in sight.</title>
		<link>http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/</link>
		<comments>http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 13:56:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/</guid>
		<description><![CDATA[I have been doing a bit more tech work than normal lately – SP2010 popularity I guess, and was asked to remediate a few issues on a problematic server that I hadn’t set up. The server in question had a number of issues (over and above the usual “lets all run it as one account” [...]<p class="tags">No Tags</p>]]></description>
			<content:encoded><![CDATA[<p>I have been doing a bit more tech work than normal lately – SP2010 popularity I guess, and was asked to remediate a few issues on a problematic server that I hadn’t set up. The server in question had a number of issues (over and above the usual “lets all run it as one account” type stuff) that had a single root cause, so I thought I’d quickly document the symptoms and the cause here.</p>
<h2>Symptom 1: SQL Server Event ID 28005: </h2>
<p>“An exception occurred while enqueueing a message in the target queue. Error: 15404, State: 19. Could not obtain information about Windows NT group/user ‘DOMAIN\someuser&#8217;, error code 0&#215;5”</p>
<p>This error would be reported in the Application log around 70 times per minute. As it happened, I had removed the account in question from running any of the SharePoint web, application or windows services, but this still persisted. I suspect SharePoint was installed as this account because it was the db owner of many of the databases on the SQL Server. Whatever the case, SQL was whinging about it despite its lack of actual need to be there.</p>
<h2>Symptom 2: Event ID 4625:</h2>
<p>At a similar rate of knots as the SQL error, was the rate of 4625 errors in the security log. These logs were not complaining about the account that the SQL event complained about, but instead it complained about ANY account running the SQL Server instance. I tried network service, a domain account and a local account and saw similar errors (although the local one had a different code).</p>
<pre class="csharpcode">Log Name:      Security
Source:        Microsoft-Windows-Security-Auditing
Event ID:      4625
Task Category: Logon
Keywords:      Audit Failure
Description:  An account failed to log on. 

Subject:
    Security ID:        NETWORK SERVICE
    Account Name:        COMPUTER$
    Account Domain:        DOMAIN
    Logon ID:        0x3e4 

Failure Information:
    Failure Reason:        Unknown user name or bad password.
    Status:            0xc000006d
    Sub Status:        0xc0000064 

Process Information:
    Caller Process ID:    0x7e0
    Caller Process Name:    E:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe 

Detailed Authentication Information:
    Logon Process:        Authz
    Authentication Package:    Kerberos</pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>When using a local, rather than a domain user account the code was:</p>
<pre class="csharpcode">Failure Information:
    Failure Reason:        An Error occured during Logon.
    Status:            0xc000005e
    Sub Status:        0x0 </pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<h2>Symptom 3: Search only working for domain administrators</h2>
<p>On top of the logs being filled by endless entries of the previous two, I had another error (the original reason why I was called in actually). A SharePoint search would yield zip, nada, zero, no results for a regular user, but a domain administrator could happily search SP2010 and get results. (well actually regular users did get some results &#8211; people searched actually worked fine). </p>
<p>The crawler was fine and dandy and the default content source had not been messed with. There were no errors or logs to suggest anything untoward.</p>
<h2>The resolution:</h2>
<p>It was the second symptom that threw me because I thought that the problem must have been kerberos config. But I quickly discounted that after checking SPN’s and the like (notwithstanding the fact this was a single server install anyway!)</p>
<p>On a hunch (helped by the fact that I had dealt with the issue of <a href="http://social.technet.microsoft.com/Forums/en-US/sharepoint2010setup/thread/5279f8da-2924-461f-8c35-5b81a2329927">registering managed accounts</a> not so long ago), I concentrated on the user account that was causing SQL Server all the trouble (Event ID 28005). I loaded up Active Directory and temporarily changed the security of this user account so that “Authenticated Users” had “READ” access to it.</p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image_thumb3.png" width="430" height="407" /></a> </p>
<p>As soon as I did this, both event ID 28005 and 4625 stopped. </p>
<p>I then checked the search (symptom 3) and it was still barfing. In this case I decided to turn up the debug juice on the “Query” and “Query Processor” functions of “SharePoint Server Search”. </p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/08/image_thumb2.png" width="295" height="439" /></a></p>
<p>After upping the level of verbosity, I found what I was looking for.</p>
<p><em><font size="2" face="Verdana">08/12/2010 22:13:41.00&#160;&#160;&#160;&#160; w3wp.exe (0&#215;2228)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0x1F0C&#160;&#160;&#160; SharePoint Server Search&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Query Processor&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; g2j3&#160;&#160;&#160; High&#160;&#160;&#160;&#160;&#160;&#160;&#160; AuthzInitializeContextFromSid failed with ERROR_ACCESS_DENIED. This error indicates that the account under which this process is executing may not have read access to the tokenGroupsGlobalAndUniversal attribute on the querying user&#8217;s Active Directory object. Query results which require non-Claims Windows authorization will not be returned to this querying user.&#160;&#160;&#160; debd2c54-d6a5-41b8-bf26-c4697b36f4d4</font></em></p>
<p>I knew immediately that this was very likely the same issue as the first two symptoms and when I googled this result, my Perth compatriot, Jeremy Thake had hit the <a href="http://social.technet.microsoft.com/Forums/en-US/sharepoint2010setup/thread/688b5c52-f478-463b-bc00-debfd0c3be2b">same issue</a> in July. The fix is to add your search service account to a group called “Pre-Windows 2000 Compatibility Access” group. This group happens to have the right required to read this attribute. Whether it is the same attribute I needed for my SQL issue, or the registering managed accounts issue I don’t know, but what I do know is that this group loosens up permissions enough to cure all four of these issues.</p>
<p><em>The little security guy in me keeps telling me I should confirm the least privilege in each of these scenarios, but hey if Microsoft are saying to put the accounts into this group, then who am I to argue?</em></p>
<p>Finally, it turns out that SP2010 re-introduced something that was in SP2003. A call to a function called <a href="http://msdn.microsoft.com/en-us/library/aa376309(VS.85).aspx">AuthzInitializeContextFromSid</a> which seems to be the root of it all. Apparently it was not used in SP2007, but its sure there now. I assume that one of the many stored procedures that SharePoint would call in SQL may have been the cause of Symptom 1. When you look at Symptom 2, it now makes sense because AD was faithfully reporting an access denied when the call to AuthzInitializeContextFromSid was made. It reported SQL Server as the culprit, I assume, because of a stored proc doing the work perhaps? It just sucks that the security event logged is a fairly stock message that doesn’t give you enough specifics to really work out what is going on. </p>
<p>Anyway, I hope that helps someone else – as googling the event ID details is not overly helpful</p>
<p>&#160;</p>
<p>Thanks for reading</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/&title=Index+index+everywhere+but+not+a+result+in+sight." target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/&title=Index+index+everywhere+but+not+a+result+in+sight." target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/&title=Index+index+everywhere+but+not+a+result+in+sight." target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/&title=Index+index+everywhere+but+not+a+result+in+sight." target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">No Tags</p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2010/08/12/index-index-everywhere-but-not-a-result-in-sight/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Why I&#8217;ve been quiet&#8230;</title>
		<link>http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/</link>
		<comments>http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 10:06:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Business Analysis]]></category>
		<category><![CDATA[COBiT]]></category>
		<category><![CDATA[cognitive bias]]></category>
		<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Dialogue mapping]]></category>
		<category><![CDATA[Estimating]]></category>
		<category><![CDATA[Global Managers]]></category>
		<category><![CDATA[Governance]]></category>
		<category><![CDATA[IBIS]]></category>
		<category><![CDATA[IO9001]]></category>
		<category><![CDATA[ISO17799/27001]]></category>
		<category><![CDATA[ISO9001]]></category>
		<category><![CDATA[Issue Mapping]]></category>
		<category><![CDATA[ITIL]]></category>
		<category><![CDATA[Knowledge management]]></category>
		<category><![CDATA[LEAN]]></category>
		<category><![CDATA[organisational culture]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[Process Improvement]]></category>
		<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[Sarbanes-Oxley]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[shared understanding]]></category>
		<category><![CDATA[Six Sigma]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Training]]></category>
		<category><![CDATA[user engagement]]></category>
		<category><![CDATA[Wicked Problems]]></category>
		<category><![CDATA[Beyond Best Practices]]></category>
		<category><![CDATA[Book]]></category>

		<guid isPermaLink="false">http://www.cleverworkarounds.com/?p=1830</guid>
		<description><![CDATA[As you may have noticed, this blog has been a bit of a dead zone lately. There are several very good reasons for this – one being that a lot of my creative energy has been going into co-writing a book – and I thought it was time to come clean on it. So first [...]<p class="tags">Technorati Tags: <a href="http://technorati.com/tags/Book" rel="tag">Book</a>, <a href="http://technorati.com/tags/Beyond+Best+Practices" rel="tag">Beyond Best Practices</a></p>]]></description>
			<content:encoded><![CDATA[<p>As you may have noticed, this blog has been a bit of a dead zone lately. There are several very good reasons for this – one being that a lot of my creative energy has been going into co-writing a book – and I thought it was time to come clean on it. </p>
<p>So first up, just because I get asked this all the time, the book is definitely *not* “A humble tribute to the leave form – The Book”! In fact, it’s not about SharePoint per se, but rather the deeper dark arts of team collaboration in the face of really complex or novel problems. </p>
<p>It was late 2006 when my own career journey took an interesting trajectory, as I started getting into <a href="http://www.sevensigma.com.au/what-we-do/sensemaking.html">sensemaking</a> and acquiring the <a href="http://www.cleverworkarounds.com/2009/09/10/the-practice-of-dialogue-mapping-part-1/">skills necessary</a> to help groups deal with really complex, <a href="http://www.cleverworkarounds.com/2009/02/12/the-one-best-practice-to-rule-them-all-part-1/">wicked problems</a>. My original intent was to reduce the chances of SharePoint project failure but in learning these skills, now find myself performing facilitation, goal alignment and sensemaking in areas <em>miles </em>away from IT. In the process I have been involved with projects of considerable complexity and uniqueness that make IT look pretty easy by comparison. The other fringe benefit is being able to sit in a room and listen to the wisdom of some top experts in their chosen disciplines as they work together. </p>
<p>Through this work and the professional and personal learning that came with it, I now have some really good case studies that use unique (and I mean, unique) approaches to tackling complex problems. I have a keen desire to showcase these and explain why our approaches worked.</p>
<p>My leanings towards sensemaking and strategic issues would be apparent to regular readers of CleverWorkarounds. It is therefore no secret that this blog is not really much of a technical SharePoint blog these days. The articles on <a href="http://www.cleverworkarounds.com/2007/10/08/sharepoint-branding-how-css-works-with-master-pages-part-1/">branding</a>, <a href="http://www.cleverworkarounds.com/2007/11/17/learn-to-talk-to-your-cfo-in-their-language-part-1/">ROI</a>, and <a href="http://www.cleverworkarounds.com/2007/10/17/disk-and-io-sizing-for-moss2007-part-1/" target="_blank">capacity planning</a> were written in 2007, just before the mega explosion of interest in SharePoint. This time around, there are legions of excellent bloggers who are doing a tremendous job on giving readers a leg-up onto this new beast known as SharePoint 2010. </p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/06/BBP32.jpg" target="_blank"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 25px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="BBP (3)" border="0" alt="BBP (3)" align="left" src="http://www.cleverworkarounds.com/wp-content/uploads/2010/06/BBP3_thumb1.jpg" width="320" height="470" /></a></p>
<p>So back to the book. Our tentative title is “Beyond Best Practices” and it’s an ambitious project, co-authored with <a href="http://eight2late.wordpress.com/about/">Kailash Awati</a> &#8211; the man behind the brilliant <a href="http://eight2late.wordpress.com/">eight to late</a> blog. I had been a fan of Kailash’s work for a long time now, and was always impressed at the depth of research and effort that he put into his writing. Kailash is a scarily smart guy with two PHD’s under his belt and to this day, I do not think I have ever mentioned a paper or author to him that he hasn’t read already. In fact, usually he has read it, checked out the citations and tells me to go and read three more books!</p>
<p>Kailash writes with the sort of rigour that I aspire to and will never achieve, thus when the opportunity of working with him on a book came up, I knew that I absolutely had to do it and that it would be a significant undertaking indeed. </p>
<p>To the left is a mock-up picture to try and convey where we are going with this book. See the guy on the right? Is he scratching his head in confusion, saluting or both? (note, this is our mockup and the real thing may look nothing like this)</p>
<p>This book dives into the seedy underbelly of organisational problem solving, and does so in a way that no other book has thus far attempted. We examine why the very notion of “best practices” often makes no sense and have such a high propensity to go wrong. We challenge some mainstream ideas by shining light on some obscure, but highly topical and interesting research that some may consider radical or heretical. To counter the somewhat dry nature of some of this research (the topics <em>are </em>really interesting but the style in which academics write can put insomniacs to sleep), we give it a bit of the cleverworkarounds style treatment and are writing in a conversational style that loses none of the rigour, but won’t have you nodding off on page 2. If you liked my posts where I use odd metaphors like <a href="http://www.cleverworkarounds.com/2009/02/25/boy-bands-how-to-understand-the-site-definitiontemplate-debate/">boy bands to explain SharePoint site collections</a>, the <a href="http://sharepointmagazine.net/technical/development/a-tribute-to-the-humble-leave-form">Simpsons to explain InfoPath</a> or <a href="http://www.cleverworkarounds.com/2007/10/31/sharepoint-sucks-at-document-management-or-does-it-a-metal-perspective/">death metal to explain records versus collaborative document management</a>, then you should enjoy our journey through the world of cognitive science, memetics, scientific management and Willy Wonka (yup – Willy Wonka!). </p>
<p>Rather than just bleat about what the problems with best-practices are, we will also tell you what you can do to address these issues. We back up this advice by presenting a series of practical case studies, each of which illustrates the techniques used to address the inadequacies of best practices in dealing with wicked problems. In the end, we hope to arm our readers with a bunch of tools and approaches that actually work when dealing with complex issues. Some of these case studies are world unique and I am very proud of them.</p>
<p>Now at this point in the writing, this is not just an idea with an outline and a catchy title. We have been at this for about six months, and the results thus far (some 60-70,000 words) have been very, very exciting. Initially, we really had no idea whether the combination of our writing styles would work – whether we could take the degree of depth and skill of Kailash with my low-brow humour and my quest for cheap laughs (I am just as likely to use a fart joke if it helps me get a key point across)… </p>
<p>… But signs so far are good so stay tuned <img src='http://www.cleverworkarounds.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://www.cleverworkarounds.com/wp-content/uploads/2010/06/BBP31.jpg"></a></p>
</p>
</p>
</p>
<p>Thanks for reading</p>
<p>&#160;</p>
<p>Paul Culmsee</p>
<p><a href="http://www.sevensigma.com.au">www.sevensigma.com.au</a></p>
<div id="spreadx">&nbsp;<a href="http://digg.com/submit?phase=2&url=http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/digg.gif" alt="Digg" border="0" /></a>&nbsp;&nbsp;<a href="http://www.facebook.com/share.php?u=http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/facebook.gif" alt="Facebook" border="0" /></a>&nbsp;&nbsp;<a href="http://www.stumbleupon.com/submit?url=http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/&title=Why+I%26rsquo%3Bve+been+quiet%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/stumble.gif" alt="StumbleUpon" border="0" /></a>&nbsp;&nbsp;<a href="http://technorati.com/faves?add=http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/technorati.gif" alt="Technorati" border="0" /></a>&nbsp;&nbsp;<a href="http://del.icio.us/post?url=http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/&title=Why+I%26rsquo%3Bve+been+quiet%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/delicious.gif" alt="Deli.cio.us" border="0" /></a>&nbsp;&nbsp;<a href="http://slashdot.org/submit.pl?url=http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/slashdot.gif" alt="Slashdot" border="0" /></a>&nbsp;&nbsp;<a href="http://www.twitter.com/home?status=http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/twitter.gif" alt="Twitter" border="0" /></a>&nbsp;&nbsp;<a href="http://www.sphinn.com/submit.php?url=http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/sphinn.gif" alt="Sphinn" border="0" /></a>&nbsp;&nbsp;<a href="http://www.mixx.com/submit?page_url=http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/mixx.gif" alt="Mixx" border="0" /></a>&nbsp;&nbsp;<a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/&title=Why+I%26rsquo%3Bve+been+quiet%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/google.gif" alt="Google" border="0" /></a>&nbsp;&nbsp;<a href="http://www.dzone.com/links/add.html?url=http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/&title=Why+I%26rsquo%3Bve+been+quiet%26hellip%3B" target="_new"><img src="http://www.cleverworkarounds.com/wp-content/plugins/spreadx/images/dzone.gif" alt="DZone" border="0" /></a>&nbsp;</div><p class="tags">Technorati Tags: <a href="http://technorati.com/tags/Book" rel="tag">Book</a>, <a href="http://technorati.com/tags/Beyond+Best+Practices" rel="tag">Beyond Best Practices</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.cleverworkarounds.com/2010/06/07/why-ive-been-quiet/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>

