<?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>Readsource</title>
	<atom:link href="http://readsource.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://readsource.co.uk</link>
	<description>DevOps meets ALM</description>
	<lastBuildDate>Sun, 08 Apr 2012 12:39:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>A Vision for Configuration Management on Windows</title>
		<link>http://readsource.co.uk/2011/08/23/a-vision-for-configuration-management-on-windows/</link>
		<comments>http://readsource.co.uk/2011/08/23/a-vision-for-configuration-management-on-windows/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 13:49:46 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[configuration management]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[tooling]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://readsource.co.uk/2011/08/23/a-vision-for-configuration-management-on-windows/</guid>
		<description><![CDATA[In my first proper post here I talked about how despite the plethora of DevOps-oriented tools out there, the sysadmin in a pure Microsoft shop was more than likely at a serious disadvantage when it came to either using those tools or trying to find similar tools that specifically targeted the Microsoft platform. After posting [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://readsource.co.uk/2011/07/29/devops-tooling-the-microsoft-ghetto/">first proper post</a> here I talked about how despite the plethora of DevOps-oriented tools out there, the sysadmin in a pure Microsoft shop was more than likely at a serious disadvantage when it came to either using those tools or trying to find similar tools that specifically targeted the Microsoft platform.</p>
<p>After posting this I got a <a href="http://twitter.com/#!/patrickdebois/statuses/96939337492602880" target="_blank">tweet</a> from the <a href="http://www.jedi.be/blog/" target="_blank">DevOps Jedi himself</a>, effectively laying down the challenge to go make it happen &#8211; time has ticked by and a follow-up post is overdue, so here goes…</p>
<p>Configuration Management, whilst a large space to tackle <a href="http://idioms.thefreedictionary.com/out+of+the+gate" target="_blank">out-of-the-gate</a> so to speak, seems like a sensible place to start – it is arguably the single biggest building block you can have to underpin the running of your infrastructure.  It is also perhaps the area that folks in a Microsoft-only environment most view with envy as they see the options available to their *nix brethren (at least those who are aware of what’s happening in that world, but that’s another issue!), and all without a ‘big vendor’ anywhere to be seen.</p>
<p>Granted there are commercial configuration management tools out there, not least from Microsoft themselves but from what I’ve seen none of them take the approach of tools like Chef and Puppet (though feel free to correct me on that, I’m no expert on them all) and of course of there is the cost factor.  The cost is less of an issue for large corporates, they will far more readily loosen the purse strings to fund an enterprise rollout of XYZ, not forgetting another chunk of cash for the associated consulting required to plan, implement and train.</p>
<p>Don’t get me wrong, I’m a consultant so I can hardly sit here and ridicule company’s that spend out on consulting – it’s what keeps a roof over my family’s head – the point I’m making is that this approach does not work for smaller companies, and therefore is not going to make the broader world of Microsoft DevOps a better place.  That’s not to say that an alternative shouldn’t necessarily be a commercial offering, just that any pricing model needs to reflect the target audience and that it shouldn’t require a huge engineering effort just to implement.</p>
<p>Here’s what I propose….</p>
<p>A toolset built on the .NET Framework that combines the configuration management principles of Chef/Puppet with the virtualised provisioning of Vagrant (perhaps with less emphasis on the distribution-related features).</p>
<p>I realise I risk the wrath of those communities with charges of ‘<a href="http://en.wikipedia.org/wiki/Not_Invented_Here" target="_blank">Not Invented Here</a>’, but once you accept that there is a swathe of IT practitioners for whom the existing products in this space are simply not viable solutions (whether you agree with their reasoning for the unviability is irrelevant really), it seems clear to me that this is the only way to really tackle this ‘poverty gap’.</p>
<p>The more I thought about it, the more I realised that developing such a solution for a Windows audience and only a Windows audience, makes the size of the problem several orders of magnitude smaller than the Chef and Puppet projects have to deal with:</p>
<ol>
<li>Fewer abstraction layers are required because all systems share the same underlying platform </li>
<li>Being able to rely on features built-in to the Windows/.NET Framework platform means that we can get some serious heavy-lifting with very little effort. </li>
</ol>
<p align="left">Here’s an archetypal ‘big box’ diagram to try and illustrate what I mean.</p>
<p align="left"><a href="http://readsource.co.uk/wp-content/uploads/2011/08/ConceptualView.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="ConceptualView" border="0" alt="ConceptualView" src="http://readsource.co.uk/wp-content/uploads/2011/08/ConceptualView_thumb.png" width="624" height="389" /></a></p>
<p align="left">The aim here is that working with the tool should feel immediately familiar as it is using technologies that you are likely already using.  If not, the benefits you will reap from getting familiar with say <a href="http://en.wikipedia.org/wiki/MSBuild" target="_blank">MSBuild</a> will far outstrip simply understanding this tool – you will now be familiar with a fundamental tool used by your .NET developer colleagues, which can’t hurt.</p>
<ul>
<li>
<div align="left">MSBuild gives us a declarative orchestration engine that will manage resolving our dependency tree of required actions on a given client, for free.</div>
</li>
<li>
<div align="left">Heavy use of PowerShell is, of course, a no brainer not only can we perform deep system administration natively but we also get the excellent remoting facility – in fact this gives us the option of not necessarily needing a client footprint (at least for some scenarios).</div>
</li>
<li>
<div align="left">Windows Workflow Foundation ought to be good enough to orchestrate multi-server runs, ensuring that dependencies between servers can be resolved allowing them to be built in the correct order. For example, let’s not try to configure a SharePoint server before the SQL Server has finished &#8211; or perhaps, let’s just not try to build a SharePoint server! <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://readsource.co.uk/wp-content/uploads/2011/08/wlEmoticon-winkingsmile.png" /></div>
</li>
</ul>
<p>Obviously there is a lot of detail and hard work behind those boxes (and more boxes besides) even when utilising so much of the underlying platform, but this is my initial premise and I have started work on a prototype in what passes for my spare time.</p>
<p>I would really love to hear your thoughts on whether you believe the Microsoft eco-system needs this and your thoughts on how I’m going about it. </p>
<div align="left"> </div>
<div align="left">>jd</div>
]]></content:encoded>
			<wfw:commentRss>http://readsource.co.uk/2011/08/23/a-vision-for-configuration-management-on-windows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DevOps Tooling: The Microsoft Ghetto</title>
		<link>http://readsource.co.uk/2011/07/29/devops-tooling-the-microsoft-ghetto/</link>
		<comments>http://readsource.co.uk/2011/07/29/devops-tooling-the-microsoft-ghetto/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 10:42:57 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[configuration management]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[tooling]]></category>

		<guid isPermaLink="false">http://readsource.co.uk/?p=17</guid>
		<description><![CDATA[I wrote about my discovery of the DevOps movement in a previous blogging life and in the intervening time I&#8217;ve been trying to keep up with some of the excellent material being produced by the Community and at the same time becoming slightly frustrated. The bulk of my work revolves around the Microsoft platform and [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote about my discovery of the DevOps movement in a <a href="http://goo.gl/Hrwlp" target="_blank">previous blogging life</a> and in the intervening time I&#8217;ve been trying to keep up with some of the excellent material being produced by the Community and at the same time becoming slightly frustrated.</p>
<p>The bulk of my work revolves around the Microsoft platform and to put it bluntly it is very much a second class citizen in terms of the available tooling.</p>
<p>Now I&#8217;ve fanned the flames, let me put some context around that. I don&#8217;t mean that as a criticism, in fact I view the status quo as an entirely natural result given where the movement grew out of and, to be frank, the mindset of the typical Microsoft IT shop.  In a Microsoft environment there tends to be far greater reliance on big vendor products, whereas in the Linux/BSD world it is far more common to integrate a series of discrete tools into a complete tool chain that meets the needs for a given scenario.</p>
<p>The problem with the reliance on big vendor products is that it becomes almost a state of mind, where if preferred vendor&#8217;s product A doesn&#8217;t do Y then it just isn&#8217;t possible &#8211; or more insidious still, the underlying requirements become largely defined based on the capabilities of product A; rather than, say, the actual requirements!</p>
<p>You can draw a reasonable parallel using the Java and .NET development platforms as an example.  Java, the more mature platform, had tools and frameworks that simply didn&#8217;t exist in .NET (e.g. Maven, Hibernate, JUnit, CruiseControl, MVC web frameworks to name but a few).  Over time this inspired similar tools to be created by the .NET community, and then a vocal minority was spawned to champion the use of them (e.g. the <a href="http://msdn.microsoft.com/en-us/magazine/cc337902.aspx" target="_blank">Alt .NET</a> movement) until eventually Microsoft starting shipping some of these things as part of the core .NET development environment.</p>
<p>For the remainder of this post I want to consider Configuration Management (CM) tooling in particular.</p>
<p>I first came across <a href="http://www.opscode.com/chef/" target="_blank">Chef</a> about the same time as DevOps and was smitten by it, not because it was packed full with innovative concepts per se, but because here was a product that was aiming to do everything that a self-respecting infrastructure professional knows should be done.  Up until then we&#8217;d been stringing together our own partial systems on a per-case basis, or perhaps having to put up with one of the alleged CM &#8216;beast&#8217; products from a big vendor if the customer was willing to stump-up the cash – above all Chef struck me as a shining example of codifying best practise.  In that regard, whilst there is clearly a lot of innovation in Chef the core principles it applies are not, they simply reflect what has become a common understanding of what works amongst those in the space.</p>
<p>So back to my frustration&#8230;.</p>
<p>I have lost count of the number clients that were crying out for a Chef-like solution (even if they didn&#8217;t know it).  However, for a Microsoft-only IT shop there are barriers to entry for Chef adoption &#8211; although with OpsCode broadening their commercial offerings they are whittling them down.</p>
<p>Whilst Chef has a cross-platform client, the server itself must run on a Linux platform which can present significant problems for pure Microsoft shops, both in terms of approval red tape as well as longer-term technical supportability.  Of course OpsCode’s <a href="http://www.opscode.com/hosted-chef/" target="_blank">Hosted</a> and <a href="http://www.opscode.com/private-chef/" target="_blank">Private</a> offerings are designed to address those concerns and certainly, for some, they do.</p>
<p>However, the second barrier is more a philosophical one than technical.  Even if an organisation is willing and able to adopt or at least trial, there is still this impedance mismatch that a Windows person experiences when having to work with a tool that originated in the Linux world.</p>
<p>I don’t really want to get into the rights and wrongs of an organisation not being willing to step outside the Microsoft walled garden, IT teams shying away from broadening their skills or companies not willing to invest in suitable training for their IT teams.  The fact is it does happen, whether we like it or not.</p>
<p>That being the case should we just shrug our shoulders and say “bad luck, we told you Windoze sucks” and continue down this path where an entire subclass develops? Ironically, I would suggest that the likely members of that subclass would be precisely those who could most benefit from having access to such tools – small to medium businesses with small budgets and small IT teams whose professional lives primarily consist of fire-fighting.</p>
<p>I want to see the values espoused by DevOps spread far and wide, including the quietest backwaters of corporate IT, where Windows, Office and IE 6 reign supreme. To that end, the Microsoft infrastructure community needs to take a similar approach as the .NET community did and start bringing some of the goodness that we see in the Linux world to the Microsoft platform in a way that facilitates adoption for all and actually takes advantage of the platform’s innate richness and strengths.</p>
<p>&gt;jd</p>
]]></content:encoded>
			<wfw:commentRss>http://readsource.co.uk/2011/07/29/devops-tooling-the-microsoft-ghetto/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>A new beginning&#8230;</title>
		<link>http://readsource.co.uk/2011/03/23/a-new-beginning/</link>
		<comments>http://readsource.co.uk/2011/03/23/a-new-beginning/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 02:13:35 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Administrivia]]></category>

		<guid isPermaLink="false">http://readsource.co.uk/?p=6</guid>
		<description><![CDATA[This site is the home for my new life as an independent consultant and would-be tools purveyor &#8211; time will tell. Whilst I straighten things out here, you can read past posts on my previous blog: http://consultingblogs.emc.com/jamesdawson Thanks for stopping by. &#62;jd]]></description>
			<content:encoded><![CDATA[<p>This site is the home for my new life as an independent consultant and would-be tools purveyor &#8211; time will tell.</p>
<p>Whilst I straighten things out here, you can read past posts on my previous blog:</p>
<p><a href="http://consultingblogs.emc.com/jamesdawson">http://consultingblogs.emc.com/jamesdawson</a></p>
<p>Thanks for stopping by.</p>
<p>&gt;jd</p>
]]></content:encoded>
			<wfw:commentRss>http://readsource.co.uk/2011/03/23/a-new-beginning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

