<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>Technology Musings</title>
	<atom:link href="http://www.technologymusings.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.technologymusings.com</link>
	<description>Thoughts about Technology and Startup&#039;s</description>
	<lastBuildDate>Thu, 19 May 2011 18:57:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Android &#8211; Rise of the Amazon Marketplace, Part 2</title>
		<link>http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-2/</link>
		<comments>http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-2/#comments</comments>
		<pubDate>Thu, 19 May 2011 18:57:56 +0000</pubDate>
		<dc:creator>Todd Werelius</dc:creator>
				<category><![CDATA[Markets]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Kindle]]></category>
		<category><![CDATA[Market]]></category>

		<guid isPermaLink="false">http://www.technologymusings.com/?p=366</guid>
		<description><![CDATA[<p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-2/">Android &#8211; Rise of the Amazon Marketplace, Part 2</a> </p><p>Amazon has targeted the mobile application space with the creation of it’s own Amazon Marketplace, has locked in some exclusive deals with android application developers to move profits out of Google and into Amazon, and it now might be creating it’s own tablet device that will squarely point users directly back to Amazon. Amazon is ...</p></p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-2/">Android &#8211; Rise of the Amazon Marketplace, Part 2</a> </p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-2/">Android &#8211; Rise of the Amazon Marketplace, Part 2</a> </p><p>Amazon has targeted the mobile application space with the creation of it’s own Amazon Marketplace, has locked in some exclusive deals with android application developers to move profits out of Google and into Amazon, and it now might be creating it’s own tablet device that will squarely point users directly back to Amazon.</p>
<p>Amazon is clearly signaling it’s intentions that might as well be considered a nuclear first strike, so how will Google respond?</p>
<p><strong>To win a fight you have to first admit you are in one</strong></p>
<p>Google has a limited opportunity to successfully apply some high impact tactics to take control of the fight. They could for instance court the developers by dropping  the market fees dramatically, creating a better QA filter on the Market, do a much better and more transparent job of promotion for top quality applications etc. in other words address all of the concerns that developers have.</p>
<p>They could make the Google Android Marketplace the most lucrative place for developers to deploy to, making those developers that made exclusive deals with Amazon wish they had never signed on the dotted line. That would be a painful experience for Google perhaps but I suspect not as painful as a later stage fight.</p>
<p>If on the other hand Google dismisses the threat and simply sits back and watches then all things being equal developers will deploy to any and all market platforms without prejudice, and that means Amazon will probably win or at least tie which is about the same.  You might think that Google would be highly tuned into this but there are hundreds of cases where the giant sits back and yawns while Jack raids the place.</p>
<p>So while it seems unlikely there are precedents for Amazon to win vs. the owner of the platform.</p>
<p><strong>Hearts and Minds</strong></p>
<p>Amazon has something that the Android  Market doesn’t.  Namely a few hundred million users that love it’s single point of contact, trusted,  high quality brand.  Amazons users (just not the kindle owners ) can be cross promoted and more importantly these people are used to paying for things vs. just getting them for free.</p>
<p>Savvy developers will quickly figure out which market pays more and try and move their user base to that market. Developers care about market penetration or profits dependent on their own strategy&#8217;s. Which means that they prioritize by a few simple metrics</p>
<ol>
<li>Total Customers  Which market Sells / Downloads much of my Apps</li>
<li>The Math               Which market has the better profit sharing deal</li>
<li>Air Time                  Are my applications getting a fair shot in front of users</li>
</ol>
<p>While consumers make the final decisions both of these companies should take a page from Microsoft&#8217;s success and realize that Developers and Customers are in a symbiotic relationship, without one the other is useless. You have to keep both sides of the pipe happy to make that lucrative brokerage grow.</p>
<p>If I had to guess I would say that Google will be slow to respond because they won’t take this as seriously as they should, which will give Amazon some time to make this all happen. Once Google finally realizes it&#8217;s in a real fight they will start swinging wildly and Amazon will be ready and take things up a notch.  Apple of course will sit back and reap the rewards if that happens.</p>
<p>Market Wars, Map Wars, Device Wars, Social Wars, it almost feels like 1995 again &#8230;</p>
<p>In Part 3 I will give an overview of the new Android Marketplace initiative that addresses a few of the key shortcomings of the current market that was presented at Google IO 2011</p>
<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-2/">Android &#8211; Rise of the Amazon Marketplace, Part 2</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android &#8211; Rise of the Amazon Marketplace, Part 1</title>
		<link>http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-1/</link>
		<comments>http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-1/#comments</comments>
		<pubDate>Tue, 17 May 2011 17:09:34 +0000</pubDate>
		<dc:creator>Todd Werelius</dc:creator>
				<category><![CDATA[Markets]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Kindle]]></category>
		<category><![CDATA[Market]]></category>

		<guid isPermaLink="false">http://www.technologymusings.com/?p=339</guid>
		<description><![CDATA[<p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-1/">Android &#8211; Rise of the Amazon Marketplace, Part 1</a> </p><p>Is Amazon producing an Android Tablet?  Will the Amazon Marketplace capture a piece of the billion dollar mobile application industry?</p></p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-1/">Android &#8211; Rise of the Amazon Marketplace, Part 1</a> </p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-1/">Android &#8211; Rise of the Amazon Marketplace, Part 1</a> </p><p><strong>War and Pieces</strong></p>
<p>Welcome to the android  marketplace wars.  The opening salvo by Amazon was in first creating it&#8217;s own Marketplace for android applications, and then grabbing some high profile applications <strong><em>exclusively</em></strong> for the Amazon Marketplace for Android.</p>
<p>That’s only half the equation though because most Android devices have the Google Android Market pre-installed which gives it some advantages</p>
<ul>
<li>Trust                  If it came with the device it must be ok</li>
<li>Access              If access is easy and it&#8217;s not broken most users will just use what’s on the device</li>
<li>Interest            The typical user might not even know or care that there is <em><strong>another</strong></em> way to purchase applications</li>
</ul>
<p>Amazon had to have realized that kindle has a limited lifetime and their “no-glare” commercials fall flat from a potential iPad users perspective. It&#8217;s also apparent that a single use device may have minor benefits but it’s hard to rationalize carrying around 3 or 4 devices just on the chance that you might be reading in bright sunlight.</p>
<p>So the latest rumor has it that they will be developing their own Android tablet, quite honestly I am surprised it took this long. One can hope that after all that TV commercial time the device will arrive with an anti-glare screen <img src='http://www.technologymusings.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The real story here is that selling applications will be analogous to selling books in regards to profitability and you can bet they want in on that game, so what will it take to for Amazon to hit a home run?</p>
<ul>
<li>Produce a fairly killer device in terms of price and feature set (and for goodness don’t cheap out and forget the GPS!)</li>
<li>Pre-populate the device with great applications, even if they have to build them internally or contract out for them</li>
<li>Incent developers to publish there vs. the Android Market</li>
<li>Do a better job of QA on applications than the Android Market has to date. 10,000 usable apps beats 100,000 crappy ones any day</li>
</ul>
<p>A fight between Amazon and Google over how to do a proper market will be a good thing for everyone in the end because competition always is, but in the short term Google and Amazon should take care not to allow this to produce even more fragmentation. Doing so will inevitably let the iPad continue to solidify it’s hold in this space and that won&#8217;t help either company.</p>
<p><strong>Guerrilla Tactics</strong></p>
<p>In some ways Amazon is the underdog in this and can play the role of the Guerilla fighter by using Androids open source stance against any power plays Google might use to control it&#8217;s efforts to be the dominant market place. On top of this since Google doesn’t actually have it&#8217;s own tablet and bringing one out might potentially alienates it’s partners, in other words Google is in a fairly fixed position while amazon is free to maneuverer.</p>
<p>It&#8217;s true that Google owns the platform and has apparently brought a lot of pressure on partners in the past and undoubtedly will do the same with Amazon. This is somewhat of a paper tiger though because as mentioned If they push too hard in that regard they will get a lot of open source backlash.</p>
<p>Amazon is probably betting on a limited response from Google for a number of reasons and they are probably right, so the question becomes can Amazon produce a superior device?</p>
<p>One of the reasons I think they can is because I know Jon McCormack who is the VP of software for Kindle. I haven&#8217;t asked if this is his project, and he would not comment if it was but I know he has enough experience developing this type of thing to succeed.</p>
<p>Jon was at Liberate ( The failed Google TV of the dot.bomb ) where the team did some great things that were never seen because I was there with him. He is not the only guy that could do this but he has a lot of notches in his device belt so I know without a doubt that <strong><em>if</em></strong> he is the guy in charge that he could pull this off.</p>
<p>The only question I have is whether Amazons kindle DNA will get in the way of producing a truly useable all around product that appeals to users outside the book reader category, that though has more to do with politics than technology or design savvy.</p>
<p>The only real question is will Google ignore it, put down the rebellion quickly, or perhaps try and come up with a mutually beneficial scenario?</p>
<p>Let&#8217;s take a look at that in <a href="http://www.technologymusings.com/?p=366">Part 2</a></p>
<p>&nbsp;</p>
<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-1/">Android &#8211; Rise of the Amazon Marketplace, Part 1</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.technologymusings.com/android-rise-of-the-amazon-marketplace-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real Life Issues With Big Data In The Enterprise &#8211; The Issues With Data Completeness</title>
		<link>http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-completeness/</link>
		<comments>http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-completeness/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 11:58:54 +0000</pubDate>
		<dc:creator>Paul Michaud</dc:creator>
				<category><![CDATA[Big Data]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[CIO]]></category>
		<category><![CDATA[Enterprise Data Modeling (EDM)]]></category>
		<category><![CDATA[Data Completeness]]></category>

		<guid isPermaLink="false">http://www.technologymusings.com/?p=303</guid>
		<description><![CDATA[<p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-completeness/">Real Life Issues With Big Data In The Enterprise &#8211; The Issues With Data Completeness</a> </p><p>So completeness can mean a lot of different things.&#160; In this case I am going to define a piece of data as being complete if the description of the data contains all of the available information about the item in question and if that description is captured in a manner which represents a true representation ...</p></p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-completeness/">Real Life Issues With Big Data In The Enterprise &#8211; The Issues With Data Completeness</a> </p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-completeness/">Real Life Issues With Big Data In The Enterprise &#8211; The Issues With Data Completeness</a> </p><p>So completeness can mean a lot of different things.&#160; In this case I am going to define a piece of data as being complete if the description of the data contains all of the available information about the item in question and if that description is captured in a manner which represents a true representation of that object in a context neutral manner.&#160; In my experience,&#160; this is the single biggest cause of the data issues in the enterprise.&#160; In fact if this was done well the issues listed in the first article of this series would be much less likely to occur.</p>
<p>To read the complete article, you can find it on the <a href="http://www.nebility.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-completeness/">Nebility Blog</a>.</p>
<p>As always, you can reach me through the comments, at <a href="http://www.nebility.com">Nebility</a>, on <a href="http://www.twitter.com/techmusings">Twitter</a>, <a href="http://www.linkedin.com/in/paulkmichaud">LinkedIn</a> or by using the <a href="http://www.technologymusings.com/expert-technology-advice">Ask the Experts</a> form.</p>
<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-completeness/">Real Life Issues With Big Data In The Enterprise &#8211; The Issues With Data Completeness</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-completeness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<series:name><![CDATA[Challenges When Dealing With Big Data]]></series:name>
	</item>
		<item>
		<title>Real Life Issues With Big Data In The Enterprise &#8211; The Issues With Data Consistency (Or Lack Thereof)</title>
		<link>http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-consistency-or-lack-thereof/</link>
		<comments>http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-consistency-or-lack-thereof/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 03:14:22 +0000</pubDate>
		<dc:creator>Paul Michaud</dc:creator>
				<category><![CDATA[Big Data]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[CIO]]></category>
		<category><![CDATA[Executive Discussions]]></category>
		<category><![CDATA[Data Consistency]]></category>

		<guid isPermaLink="false">http://www.technologymusings.com/?p=299</guid>
		<description><![CDATA[<p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-consistency-or-lack-thereof/">Real Life Issues With Big Data In The Enterprise &ndash; The Issues With Data Consistency (Or Lack Thereof)</a> </p><p>Large Enterprises face huge challenges when dealing with their Big Data.  In this article I am going to outline some of the common challenges with Big Data I see firms dealing with on a day to day basis.  This is a continuation of the discussion that was started in the article titled “The Challenges of ...</p></p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-consistency-or-lack-thereof/">Real Life Issues With Big Data In The Enterprise &ndash; The Issues With Data Consistency (Or Lack Thereof)</a> </p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-consistency-or-lack-thereof/">Real Life Issues With Big Data In The Enterprise &ndash; The Issues With Data Consistency (Or Lack Thereof)</a> </p><p>Large Enterprises face huge challenges when dealing with their Big Data.  In this article I am going to outline some of the common challenges with Big Data I see firms dealing with on a day to day basis.  This is a continuation of the discussion that was started in the article titled “<a href="http://www.nebility.com/the-challenges-of-dealing-with-big-data/">The Challenges of Dealing With Big Data</a>”.</p>
<p>In the previous article we discussed how a lot of firms and discussions, in and out of the press, are focused on how to analyze and gain insight from Big Data (whether it be on Twitter or in the traditional Enterprise).  Furthermore, I outlined how, in my personal experience, the root of the true problems with big data are often not in how or what tools we use to analyze the data, but more so in how we capture, or fail to capture it in the first place.  In essence, our failure to capture the data accurately and consistently often renders analysis of it a meaningless exercise due to the Garbage In = Garbage Out (GIGO) principle.  To make this issue more clear, I am going to provide some real world examples of some of the Big Data issues I come across with my clients on a regular basis.  Unfortunately, as I started writing this it was getting more than a bit long so I have broken it into three shorter posts of which this is the first one.</p>
<p>The full article can be found on the <a href="http://www.nebility.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-consistency-or-lack-thereof/">Nebility Blog</a>.</p>
<p>As always, you can reach me through the comments, at <a href="http://www.nebility.com">Nebility</a>, on <a href="http://www.twitter.com/techmusings">Twitter</a>, <a href="http://www.linkedin.com/in/paulkmichaud">LinkedIn</a> or by using the <a href="http://www.technologymusings.com/expert-technology-advice">Ask the Experts</a> form.</p>
<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-consistency-or-lack-thereof/">Real Life Issues With Big Data In The Enterprise &ndash; The Issues With Data Consistency (Or Lack Thereof)</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.technologymusings.com/real-life-issues-with-big-data-in-the-enterprise-the-issues-with-data-consistency-or-lack-thereof/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<series:name><![CDATA[Challenges When Dealing With Big Data]]></series:name>
	</item>
		<item>
		<title>The Challenges of Dealing With Big Data</title>
		<link>http://www.technologymusings.com/the-challenges-of-dealing-with-big-data/</link>
		<comments>http://www.technologymusings.com/the-challenges-of-dealing-with-big-data/#comments</comments>
		<pubDate>Fri, 04 Mar 2011 16:15:32 +0000</pubDate>
		<dc:creator>Paul Michaud</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Big Data]]></category>
		<category><![CDATA[Enterprise Data Modeling (EDM)]]></category>
		<category><![CDATA[Executive Discussions]]></category>
		<category><![CDATA[Nebility]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Enterprise Data Architecture]]></category>

		<guid isPermaLink="false">http://www.technologymusings.com/?p=293</guid>
		<description><![CDATA[<p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/the-challenges-of-dealing-with-big-data/">The Challenges of Dealing With Big Data</a> </p><p>Big Data poses many challenges to those firms who have to deal with it on a regular basis.  On the flip side,  those who do it well and can use it to feed their analysis and gain insights into their business, customers and market trends will reap huge rewards for their efforts. I have just ...</p></p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/the-challenges-of-dealing-with-big-data/">The Challenges of Dealing With Big Data</a> </p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/the-challenges-of-dealing-with-big-data/">The Challenges of Dealing With Big Data</a> </p><p>Big Data poses many challenges to those firms who have to deal with it on a regular basis.  On the flip side,  those who do it well and can use it to feed their analysis and gain insights into their business, customers and market trends will reap huge rewards for their efforts.</p>
<p>I have just posted an article which will most likely be the start of a series on this topic over on the Nebility Blog.  The article was inspired by <a href="http://www.semilshah.com">Semil Shah</a> and a Twitter request (<a href="http://twitter.com/semilshah">@semilshah</a>) he made looking for people with Big Data expertise and a subsequent post he pointed me too that he had done discussing <a href="http://semilshah.posterous.com/three-levels-of-value-created-by-big-data" class="broken_link">ways to create value from big data</a>.  I would encourage you to read Semil’s thesis and the article over on <a href="http://www.nebility.com">Nebility</a>.</p>
<p>The complete article can be found <a href="http://www.nebility.com/the-challenges-of-dealing-with-big-data/">here</a>.  Enjoy!</p>
<p>As always, you can reach me through the comments, at <a href="http://www.nebility.com">Nebility</a>, on <a href="http://www.twitter.com/techmusings">Twitter</a>, <a href="http://www.linkedin.com/in/paulkmichaud">LinkedIn</a> or by using the <a href="http://www.technologymusings.com/expert-technology-advice">Ask the Experts</a> form.</p>
<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/the-challenges-of-dealing-with-big-data/">The Challenges of Dealing With Big Data</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.technologymusings.com/the-challenges-of-dealing-with-big-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<series:name><![CDATA[Challenges When Dealing With Big Data]]></series:name>
	</item>
		<item>
		<title>Introducing Ask The Experts</title>
		<link>http://www.technologymusings.com/introducing-ask-the-experts/</link>
		<comments>http://www.technologymusings.com/introducing-ask-the-experts/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 23:57:19 +0000</pubDate>
		<dc:creator>Paul Michaud</dc:creator>
				<category><![CDATA[Ask The Experts]]></category>
		<category><![CDATA[Software Design]]></category>
		<category><![CDATA[Technology Startups]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Expert Technology Advice]]></category>
		<category><![CDATA[Startups]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.technologymusings.com/?p=258</guid>
		<description><![CDATA[<p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/introducing-ask-the-experts/">Introducing Ask The Experts</a> </p><p>So as we relaunch the Technology Musings blog,  we have added a new feature to it called “Ask The Experts”.  You will find the link to this at the top of the Technology Musings blog. This came about because a lot of people who read this blog have over time tracked me down through Twitter, ...</p></p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/introducing-ask-the-experts/">Introducing Ask The Experts</a> </p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/introducing-ask-the-experts/">Introducing Ask The Experts</a> </p><p>So as we relaunch the Technology Musings blog,  we have added a new feature to it called “<a href="http://www.technologymusings.com/expert-technology-advice">Ask The Experts</a>”.  You will find the link to this at the top of the Technology Musings blog.</p>
<p><span>This came about because a lot of people who read this blog have over time tracked me down through <a href="http://www.twitter.com/techmusings">Twitter</a>, <a href="http://www.linkedin.com/in/paulkmichaud">LinkedIn</a>, and other means in order to ask me specific question about something of interest to them or about a particular problem they have with something.  As a result we decided that we would add a simple form to the blog which would allow people to ask these questions without having to jump through hoops to get to me and my colleagues.  So we would encourage you to use it to ask your questions.  We can’t  promise to be able to answer them all but we will do our best to at least respond to every request.  Things we would expect to get through this mechanism include, but are not limited to, the following:</span></p>
<ul>
<li><span>Requests for a blog article on a certain topic</span></li>
<li><span>Questions about something we already wrote about but that people felt were better served through a direct question instead of the comments (but we encourage you to use the comments so others can learn as well)</span></li>
<li><span>Specific questions related to some challenge you may be having with a project of your own.  See note below on this one.</span></li>
<li><span>Anything else you folks can come up with</span></li>
</ul>
<p><span>Where appropriate we will try and put the answers to question into a blog post either here or on the Nebility Blog depending on the topic and how it aligns with each blog.  We will of course anonymize anything we use for a blog article and make it more general, unless you give us specific permission to use you name/case as is.</span></p>
<p><span>NOTE: while we will try and answer every request we receive through this “Ask the Experts” mechanism, we cannot guarantee to be able to answer everything either because we don’t know the answer, don’t have time or the question is too specific to someone&#8217;s particular system issue and requires too detailed an answer to respond quickly.  In these cases we will at least try and get back to you to let you know we can’t answer and why. </span></p>
<p>Anyhow, what we are hoping is that people will use this opportunity to ask questions about any topic in the following broad categories:</p>
<ul>
<li>Technology in General</li>
<li>Systems Design and Architecture</li>
<li>Systems Implementation</li>
<li>Enterprise Data</li>
<li>Large Scale Systems</li>
<li>User Experience Techniques and Technologies</li>
<li>Technology Startups</li>
<li>request a blog article on a specific topic</li>
<li>or any other question or request which may fall inside our sphere of expertise</li>
</ul>
<p>So think of the questions you may have that we could possibly answer and start asking away.  We can’t promise to be able to answer every question that comes our way as we may not always have the time to answer every question or the expertise to answer it.  That said, we will try to at least respond to every request as soon as we can.</p>
<p>So go ahead and “<a href="http://www.technologymusings.com/expert-technology-advice">Ask The Experts</a>”.</p>
<p>&nbsp;</p>
<p>As always, you can reach me through the comments, at <a href="http://www.nebility.com">Nebility</a>, on <a href="http://www.twitter.com/techmusings">Twitter</a>, <a href="http://www.linkedin.com/in/paulkmichaud">LinkedIn</a> or by using the <a href="http://www.technologymusings.com/expert-technology-advice">Ask the Experts</a> form.</p>
<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/introducing-ask-the-experts/">Introducing Ask The Experts</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.technologymusings.com/introducing-ask-the-experts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back From The Dead</title>
		<link>http://www.technologymusings.com/back-from-the-dead/</link>
		<comments>http://www.technologymusings.com/back-from-the-dead/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 16:25:00 +0000</pubDate>
		<dc:creator>Paul Michaud</dc:creator>
				<category><![CDATA[Nebility]]></category>
		<category><![CDATA[Service Oriented Architecture (SOA)]]></category>
		<category><![CDATA[Software as a Service]]></category>
		<category><![CDATA[Solution Design]]></category>
		<category><![CDATA[Technology Startups]]></category>
		<category><![CDATA[Technology Strategy]]></category>
		<category><![CDATA[CIO]]></category>
		<category><![CDATA[Technology Startup]]></category>

		<guid isPermaLink="false">http://www.technologymusings.com/?p=225</guid>
		<description><![CDATA[<p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/back-from-the-dead/">Back From The Dead</a> </p><p>Well looking back at the last blog post I did, it's been over a year since I wrote it and I thought I would provide some insight into why the long hiatus.</p></p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/back-from-the-dead/">Back From The Dead</a> </p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/back-from-the-dead/">Back From The Dead</a> </p><p>Well looking back at the last blog post I did, it&#8217;s been over a year since I wrote it and I thought I would provide some insight into why the long hiatus.</p>
<p>As any of you who read my Bio here on the blog know, I had been working for IBM as Executive IT Architect for Financial Services when I wrote the last post, a role which I really enjoyed. One of the problems with the role though as it pertained to this blog was that I found myself constantly having to abandon articles out of concern about whether someone at IBM would feel it was against the official company party line. Particularly, since a number of IBM executives subscribed to this blog. Now in IBM&#8217;s defense they never gave me any grief over this blog and in fact encouraged myself and others to blog openly so this was more my choice to stop for a while in an attempt to remove any potential conflict of interest.</p>
<p>Another factor that made me stop blogging was the fact that I was already considering starting a new company and was being particularly careful about what I did or wrote during my employ, again to make sure I did not violate any potential IP agreements or other implied contracts. This is an area, if any of you read blogs from Venture Capitalists such as <a href="http://www.feld.com/wp/">Brad Feld</a>, <a href="http://www.bothsidesofthetable.com/">Mark Suster</a> or others, where many founders are not sufficiently careful and can get themselves and their new firm into trouble, before it even starts. So when combining these two issues I felt it was best to take a vacation from blogging until such time as any potential conflict of interest was removed.</p>
<p>Now is that time.</p>
<p>As of the end of September 2010, I have left IBM and started a new company with a couple of senior colleagues of mine, who will be introduced here over time.</p>
<p>The company is called <strong><a href="http://www.nebility.com">Nebility</a></strong> and it will be focused on a couple of areas:</p>
<ol>
<li><span>We will be designing both custom and shrink wrapped commercial software which we will offer as both stand alone and as Software as a Service (SaaS) offerings</span></li>
<li><span>We will be doing some consulting to other firms where it is focused on helping them design and build custom Service Oriented Architecture (SOA) based applications</span></li>
<li><span>We are developing an integrated library of enterprise caliber, prebuilt service components for a range of uses which acts as an accelerator for 1 &amp; 2 and which we are calling <strong><a href="http://www.nebility.com/enterprise-saas-solutions/software-as-a-service-sdk/">NebulaBlocks</a></strong>.</span></li>
<li><span>We are also developing some very advanced, proprietary technology which will help us do items 1, 2 and 3 and which we believe provides us with a game changing competitive advantage. So for now I will remain quiet about it <img class="wlEmoticon wlEmoticon-winkingsmile" style="border-style: none;" src="http://www.technologymusings.com/wp-content/uploads/2011/02/wlEmoticon-winkingsmile.png" alt="Winking smile" width="19" height="19" />.</span></li>
</ol>
<p>So, what does all of this mean for this blog? Well it means:</p>
<ol>
<li>I will be back to blogging and this time with fewer restrictions than before.</li>
<li>We will also be starting a blog on the <strong>Nebilty</strong> web site at <a href="http://www.Nebility.com">www.Nebility.com</a><strong> </strong>and will be dividing articles between the two depending on their focus. More on this to follow.</li>
<li>Some of my colleagues in this new venture will also be blogging on this site and the Nebility blog and will thus provide additional perspective reflecting our individual areas of expertise and specialization</li>
</ol>
<p><span>So you may be wondering how will the two blogs TechnologyMusings.com and the <a href="http://www.nebility.com/enterprise-solutions-done-right/">Nebility.com blog</a> be divided? While we don&#8217;t think there will be a really hard and fast rule our plan is as follows:</span></p>
<ol>
<li>TechnologyMusings.com will cover a range of topics including discussions of technologies including our experiences as we play with new technologies that we are evaluating and using for nebility.  Technology Musings will also have material on startup issues and considerations were are deliberating as we go through this startup journey.  It will also include general rants and wide ranging discussions about whatever strikes our fancy on any given day.</li>
<li>The Nebility.com blog will attempt to focus almost exclusively on business and technology discussions,  how-to type articles at both the design and implementation level (much like I have done here on this blog in the past).  On the Nebility blog we will also discuss a lot about business and technology strategy, Service Oriented Architecture (SOA), Software as a Service (SaaS) and issues and challenges in specific application verticals we are working on.  In addition we will also cover general issues and frustrations experienced by ourselves and our customers with enterprise software and other related topics.</li>
</ol>
<p><span>We will post a link to any articles which are posted on the Nebility bog, here on TechnologyMusings where appropriate, but we would encourage you to subscribe to both blogs to be sure to catch all of the articles.</span></p>
<p><span>In addition, you will notice that there is a new layout to the blog and some new features which we hope will allow you to reach us and interact with us better. </span></p>
<p><span>Well that’s about it for now.  I hope you enjoy the new articles on both blogs.</span></p>
<p><span> </span></p>
<p>As always, you can reach me through the comments, at <a href="http://www.nebility.com">Nebility</a>, on <a href="http://www.twitter.com/techmusings">Twitter</a>, <a href="http://www.linkedin.com/in/paulkmichaud">LinkedIn</a> or by using the <a href="http://www.technologymusings.com/expert-technology-advice">Ask the Experts</a> form.</p>
<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/back-from-the-dead/">Back From The Dead</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.technologymusings.com/back-from-the-dead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The New Economics of Technology Startups?</title>
		<link>http://www.technologymusings.com/the-new-economics-of-technology-startups/</link>
		<comments>http://www.technologymusings.com/the-new-economics-of-technology-startups/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 12:04:59 +0000</pubDate>
		<dc:creator>Paul Michaud</dc:creator>
				<category><![CDATA[Technology Startups]]></category>

		<guid isPermaLink="false">http://www.technologymusings.com/?p=122</guid>
		<description><![CDATA[<p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/the-new-economics-of-technology-startups/">The New Economics of Technology Startups?</a> </p><p>The Financial Economist in me is screaming that there is a potential train wreck coming for the technology sector ...</p></p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/the-new-economics-of-technology-startups/">The New Economics of Technology Startups?</a> </p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/the-new-economics-of-technology-startups/">The New Economics of Technology Startups?</a> </p><p>I have recently been reading the book &#8220;Free: The Future of a Radical Price&#8221; by Chris Anderson.  Well I am not actually reading it as I find I do not have time for reading books any more.  These days I do all of my &#8220;book reading&#8221; using audio books from Audible.com.  I find that by making a conscious effort to listen to a book every time I am driving a car, on a plane, in a cab, in a restaurant by myself on a business trip, etc, I can actually get about 45-60 hours per month of audio book covered using time that I cannot otherwise use all that productively.  This amounts to about 1200-1500 pages of book equivalent per month which is a lot.  Anyhow, I digress.  So I am &#8220;reading&#8221; Chris&#8217;s book and while I tend to agree with Chris on a lot of the trends and use cases cited in the book, the Financial Economist in me is screaming that there is a potential train wreck coming for the technology sector and consumer oriented Internet startups in particular.</p>
<p>For those who have not read the book, let me boil it down for you enough to understand where this article is coming from.</p>
<p>In a nut shell, Chris&#8217;s premise is that since the marginal cost of a computer program, web site, etc is close to $0 and given the expectations of Gen X and Gen Y that all things are available free on the Internet, that most software or web offerings will be forced in the future to have some form of Free version in order to get traction.  Furthermore the book is filled with examples and cases of how people have made a viable business by offering something for free and making money through an upsell, advertising, etc.</p>
<p>If you are in any way thinking of starting a technology company or bringing any product to market (particularly if its aimed at consumers under 35) then this book is a must read, as it makes some important points about the behaviors and mentality of today&#8217;s consumers.</p>
<p>Anyhow, what concerns me, particularly for consumer Internet apps is that it basically implies there will be only 2 viable business models going forward.</p>
<ol>
<li>The core product is offered for free and is subsidized by advertising</li>
<li>The Freemium model, where you offer a scaled down free product and hope to convert a small percentage of users to a paid premium version</li>
</ol>
<p>Now I do realize this is an over simplification but it&#8217;s sufficient for the purposes of this discussion.</p>
<p>What worries me about all of this can be broken down to the following few points:</p>
<p><strong>Scale</strong><br />
Both of these models require huge scale in order to be viable as a serious business (by that I mean supporting more than a handful of employees in the business).  While I understand that its certainly possible to achieve huge scale with consumer Internet based apps, it&#8217;s very difficult.  What portion of applications on the web get to 1 million users never mind 10 million or more?  The bottom line is that if you cannot achieve this kind of scale,  then it will be very difficult for a business which relies on advertising revenue or converting 2-5% of users to a paid product to support more than a part time income or at best a handful of employees.</p>
<p><strong>Reliance on Advertising</strong><br />
In the case of a business that relies on advertising from others to subsidize its product, I question the long term viability of this model for any one company, unless you are one of the few big success stories such as Google, and lets face it, although everyone wants to be, not all startups can be a Google.  Again, without huge scale It won&#8217;t be possible to generate enough advertising revenue to support more than few employees.  In addition,  lets do a small thought experiment (albeit one that is hopefully not too realistic or we are all in big trouble).  Imaging that all consumer oriented internet based apps eventually end up being free and that they are subsidized by advertising revenue. Who buys those ads?  If no one is making money directly through the sale of end product, then I argue that no one has money to pay for ads and the whole model fails.  The only way this model can work for more than just select point businesses within an ecosystem where at least some businesses make good money from direct sales of products, is if there is tons of external capital being pumped in to subsidize these business and to pay for those ads.  In this case its just a matter of time before that external capital dries up as its absolutely impossible for this system as a whole to make a sufficient return on investment at a systemic level.  That&#8217;s not to say some business won&#8217;t reap very good profits, My point is that as an economic sector overall using just this model,  its not possible to be profitable.  Therefore there must be at least some products for which the consumer is willing to pay for the product directly in order for this to succeed.  When you consider the average Gen Y doesn&#8217;t feel they should ever pay for anything computer software related, this is a big potential problem for the information economy in the future and the companies who hope to be successful selling to them.</p>
<p><strong>The Freemium Model</strong><br />
I actually think this model is more viable but it has its own challenges.  Firstly,  you still need huge scale to support more than a handful of employees.  Lets assume we can achieve that scale for the sake of argument.  What I think is difficult here is determining what your Free product should be such that it attracts a large number of users, but still leaves them wanting more.  If the product is feature light, you will not attract a large enough user base.  If the free product has too many features, then people will feel no need to upgrade to the paid premium version.  This is a very fine line in my opinion and one which is very hard to discern.  To make matters worse I suspect that over time as more and more gets offered in free versions, the level of features that will need to be in the Free versions will constantly increase making it harder and harder to get people to convert to the premium product.  If this turns out to be the case this business model will also collapse in time as conversion rates will constantly be in decline and will eventually approach zero.</p>
<p>I guess the bottom line here is that if you are planning to build a consumer oriented internet application,  you need to think long and hard about your business model.  Are you doing this as a hobby, in which case you may not care if it makes money or are you hoping to make a living off of this effort, in which case you need to think about this long and hard before you begin or you will fail to be successful.</p>
<p>Anyhow, as always, comments are welcome both here and on Twitter (<a title="@TechMusings" href="http://twitter.com/Techmusings">@TechMusings</a>)</p>
<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/the-new-economics-of-technology-startups/">The New Economics of Technology Startups?</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.technologymusings.com/the-new-economics-of-technology-startups/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Here is my hammer.  Show me your screw!</title>
		<link>http://www.technologymusings.com/here-is-my-hammer-show-me-your-screw/</link>
		<comments>http://www.technologymusings.com/here-is-my-hammer-show-me-your-screw/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 22:21:41 +0000</pubDate>
		<dc:creator>Paul Michaud</dc:creator>
				<category><![CDATA[Solution Design]]></category>

		<guid isPermaLink="false">http://www.technologymusings.com/?p=156</guid>
		<description><![CDATA[<p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/here-is-my-hammer-show-me-your-screw/">Here is my hammer.  Show me your screw!</a> </p><p>People always start off by describing their solution without having first defined the problem ...</p></p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/here-is-my-hammer-show-me-your-screw/">Here is my hammer.  Show me your screw!</a> </p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/here-is-my-hammer-show-me-your-screw/">Here is my hammer.  Show me your screw!</a> </p><p>Well I have been traveling out of the country a lot these past few weeks so its been a while since I posted.  I will try and do better in the future.  During my travels I had a lot of interesting discussions with people about a wide range of technology issues, solutions, and technology acquisitions and one theme kept coming up again and again which is the misalignment of problems and solutions.  This got me thinking about a blog post Dave McClure did a while back titled &#8220;<a title="Your Solution Is Not My Problem" href="http://500hats.typepad.com/500blogs/2009/08/your-solution-is-not-my-problem.html">Your Solution Is Not My Problem</a>&#8221; .</p>
<p>In this article, Dave discusses one of his pet peeves about pitches that he and other VC&#8217;s receive.  The net of his beef is that people always start off by describing their solution without having first defined the problem that the solution is intended to solve.  Dave&#8217;s point is that if he doesn&#8217;t understand or believe in the problem,  then telling him about your solution to it, is meaningless and a waste of time.  If you really think about this, you will come to realize that this is a really profound concept that applies not just to assessing an elevator pitch, but to many other areas as well.</p>
<p>Unfortunately,  I find that too often we go around saying &#8220;Here is my hammer.  Show me your screw!&#8221;</p>
<p>I can&#8217;t tell you how many times I see people selling their solution to clients without having identified if the client even believes they have a problem never mind whether your solution fits that problem.  It drives me crazy to have to constantly play the bad guy stopping sales reps from pitching a misaligned solution to a client or explaining how a proposed or worse yet newly developed product or solution doesn&#8217;t address a client problem and thus won&#8217;t sell.  Then, if and only if, the product or solution truly does address a well articulated, painful problem to which we can associate a dollar value, do we get to examine whether the solution we propose is truly able to solve the problem better than the alternatives.  If you cannot do that then you are in big trouble and you solution will fail to be successful.</p>
<p>The process, whether you are selling a product, solution or your company needs to be as follows:<br />
1) Define the problem.  You and the target audience need to agree on what the problem to be solved is or else there is no common ground on which to have the rest of the discussion that&#8217;s needed to result in a transaction.<br />
2) Once you have agreement on the problem to be solved, then and only then can you define your solution, and you better make sure that your solution is truly aligned with the problem as defined in step 1 or you are wasting everyone&#8217;s time<br />
3) You need to convince the target audience that your solution is the best solution to the agreed problem.  Remember its more that just the software or product that is being assessed.  Your solution includes you, your credibility and the credibility and viability of your company to support, maintain and improve the solution for the time horizon the client intends to use it for.</p>
<p>So if you want to have a successful solution, you need to make sure you know its a screw,  whether its a Philips or a Robertson and that your solution is the right screw driver and not a Hammer.  Even better, convince them your solution is a powered screw driver.</p>
<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/here-is-my-hammer-show-me-your-screw/">Here is my hammer.  Show me your screw!</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.technologymusings.com/here-is-my-hammer-show-me-your-screw/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Consideration For The Technical Implementation of an SOA</title>
		<link>http://www.technologymusings.com/consideration-for-the-technical-implementation-of-an-soa/</link>
		<comments>http://www.technologymusings.com/consideration-for-the-technical-implementation-of-an-soa/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 20:35:42 +0000</pubDate>
		<dc:creator>Paul Michaud</dc:creator>
				<category><![CDATA[Service Oriented Architecture (SOA)]]></category>
		<category><![CDATA[Software Design]]></category>

		<guid isPermaLink="false">http://www.technologymusings.com/?p=152</guid>
		<description><![CDATA[<p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/consideration-for-the-technical-implementation-of-an-soa/">Consideration For The Technical Implementation of an SOA</a> </p><p>System architects and programmers often don't consider the performance needs of their systems ...</p></p><p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/consideration-for-the-technical-implementation-of-an-soa/">Consideration For The Technical Implementation of an SOA</a> </p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/consideration-for-the-technical-implementation-of-an-soa/">Consideration For The Technical Implementation of an SOA</a> </p><p>I had a lot of questions from people after my last post on <a title="BPM approach to SOA" href="http://www.technologymusings.com/softwaredesign/why-a-business-process-modeling-bpm-approach-to-soa-usually-fails">BPM and SOA</a> about the layered SOA I proposed and whether it would be slow performance wise.  The answer I gave people was &#8220;It depends&#8221;.  In this post I will outline in more detail some of the considerations needed around performance when implementing an SOA or any system for that matter.</p>
<p>Firstly, I find over the last 10-15 years system architects and programmers often don&#8217;t consider the performance needs of their system enough when designing it.  The process most people follow is typically:</p>
<ol>
<li>Code the system up (or at least a prototype)</li>
<li>Run a small performance benchmark</li>
<li>Size the hardware to get the desired performance</li>
</ol>
<p>To be honest this drives me crazy as it often yields a very non-performent system and if the performance is not achieved with hardware at step 3 then its too late in most cases to do anything about it without going back and severely refactoring the code or worse yet rewriting it all together.</p>
<p>Years ago this was not the case because the hardware was too slow to assume you could easily find a big enough box to ensure you achieved your performance goals.  As a result programmers pre about 1993 thought very carefully about how they designed and implemented their code with performance front of mind before even a single function got coded.  But once the bigger SMP UNIX boxes started coming out, programmers got sloppy to the point where today most of the younger programmers (those who started commercial programming post say 1997 <img src='http://www.technologymusings.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) I come across, have not been taught how to evaluate the effects of their technology or programming decisions, when it comes to impacting performance.</p>
<p>In the old days programmers were taught that when implementing any function or procedure to consider the Order &#8220;O&#8221; of their algorithm.  We worried about whether it was Order N, N Log N, N^2 or God forbid N^3 or worse.  If we could replace an O(N^2) algorithm with one that was O(N Log N) we did.  The same mind set should be employed today as well when writing code, but more importantly it should be employed at a higher level when deciding the language, interface types, message formats, I/O pattern, network topology and database design.</p>
<p>Let me explain:</p>
<p>Consider our Layered SOA from the last post (shown again here for reference):</p>
<p><img class="aligncenter size-full wp-image-153" title="Point Of Sale" src="http://www.technologymusings.com/wp-content/uploads/2009/09/Point-Of-Sale1.JPG" alt="Point Of Sale" width="1371" height="561" /></p>
<p>This is in principle a logical architecture which we can choose to realize in a number of ways and with a range of languages, interface protocols, hardware choices, network topologies, etc.</p>
<p>So the first thing you need to consider at a high level is whether you are designing the system for throughput, latency/response time or both.  This is important, because depending on what the system needs to achieve, you should be making potentially dramatically different technology choices.  For example, if I am building an ultra high performance stock exchange system that does 5 million transactions per second and has a response time target end to end of 100 microseconds, then certain technologies are out right off the bat They include but are not limited to:</p>
<ul>
<li>I can&#8217;t use Java or c# as the languages themselves and the implementations of the base language libraries do not lend themselves to low latency.  I could use them to achieve the high throughput but I will not get to 100 microseconds as a rule (there are some ways to get close by using Java like C, pre-compiling, ensuring no garbage collection is used, etc but its a pain)</li>
<li>I can&#8217;t build it on windows at all, because of the overhead and the slow network stack</li>
<li>I can&#8217;t use persistent queue based messaging</li>
<li>No traditional database transactions in the critical path (in fact no on disk I/O at all)</li>
<li>No XML anywhere</li>
<li>And definitely no REST or SOAP Web Service Interfaces</li>
</ul>
<p>The key is that while all of these technologies can be used in a high throughput system,  they are inherently not fast from a latency or response time perspective, so if you choose to use them for a system that needs ultra fast response times, you are dead from the word go because no amount of hardware will fix it.<br />
It is important to keep in mind the time it takes for basic operations as well so that you can roughly gauge in advance what your system will be capable of.  Here is a list of rough performance measures for common operations.  Your mileage will vary based on specifics such as hardware, compiler, database, etc but the order of magnitude &#8220;O&#8221; will be about right regardless. These are approximations based on say a 2.8 GHz Xeon. Newer Nehalems, etc will do better.  Also these are for a single thread on a single core.  Most won&#8217;t benefit from multithreading.  Also keep in mind that to an extent the lower the latency or response time of the system the higher throughput it can handle per core as CPU&#8217;s free up faster, so getting this right is important for all systems.   So here they are:</p>
<ul>
<li>Network hop from desktop to remote web server                                              50-500 milliseconds</li>
<li>Persistent Message (small) per hop                                                                       15-30 milliseconds</li>
<li>Non-Persistent Queue based messaging (small) per hop                                2-5 milliseconds</li>
<li>Database Insert (Complex)                                                                                     15-30 milliseconds</li>
<li>Database Insert (Simple)                                                                                        3-10 milliseconds</li>
<li>Database Select (Complex)                                                                                    10+ milliseconds</li>
<li>Database Select (Simple)                                                                                       500 microseconds-3 milliseconds</li>
<li>Binary Write to Traditional Disk                                                                        2-5 milliseconds</li>
<li>Binary write to SSD                                                                                                25 microseconds</li>
<li>Screen Refresh                                                                                                          10-15 milliseconds</li>
<li>Web Service Call inside a Web Server (Small Payload Java or C#)         1-5 milliseconds</li>
<li>Web Service Call using GSOAP or Systinet (C no server)                           200-400 microseconds</li>
<li>Binary RPC Call (small payload Java or C#)                                                 50-100 microseconds (local machine plus network roundtrip if remote)</li>
<li>Binary message based function call (Small, C , Infiniband)                     1-2 microseconds in shared memory space, 5-10 microseconds remote through a switch</li>
</ul>
<p>Anyhow this list is by no means exhaustive.  Response times will increase with the size of the message payload, amount of XML to serialize/deserialize, complexity of the database query, etc.  What&#8217;s important to the system designer is the order of magnitude of the performance given the non-functional targets for the system.  Knowing what is possible for a given operation or technology should shape both your design and technology selection.</p>
<p>So armed with this,  lets revisit the questions I got re the performance impact of the layered approach vs a non-layered one to see what happens.  Let assume the following:</p>
<ul>
<li>We implemented the physical architecture exactly as the Logical one is laid out with each service component on a separate machine</li>
<li>We used SOAP web services for every public function call</li>
<li>Assume 1 Gigabit Ethernet networking in the data center (worst case)</li>
</ul>
<p>So lets look at the effects of layering on the Customer Service which adds an extra layer in the proposed design.</p>
<p>Lets assume we just want to retrieve a basic customer record.  In a single layer design with one database behind the service we have the following main costs:<br />
Network Hop Application to Customer Service                                                                  200-500 microseconds<br />
Find Customer Web Service Call                                                                                            1-5 milliseconds<br />
Complex query doing a join across multiple tables for name, addresses, etc           10 milliseconds<br />
Internal Logic Code execution                                                                                                Implementation and Process dependant</p>
<p>Now lets look at the layered costs:<br />
Network Hop Application to Customer Service                                                                200-500 microseconds<br />
Find Customer Web Service Call                                                                                          1-5 milliseconds<br />
Parallel Network round trips                                                                                                200-500 microseconds<br />
Second Layer Parallel Web Service Calls                                                                          1-3 milliseconds<br />
Parallel Simple Queries                                                                                                          500usec &#8211; 3 milliseconds<br />
Internal Logic Code execution                                                                                              Implementation and Process dependant</p>
<p>And I would contend that you can do better by using a binary call for internal Component to Component calls, reducing the 1-5 milliseconds down to more like 50-100 microseconds.</p>
<p>So if you add it up,  you will see that not only did the layered approach potentially improve total end to end latency but it definitely improved throughput of the system.  You should now be scratching your head wondering how that happened.  There is at least one major assumption here and that is that each Service Component had its own independent database.  This allowed the queries in the Layered approach to happen in parallel and the queries are themselves dramatically simpler with potentially no joins, etc.  If we still have one single database,  then performance will be bottlenecked there are we won&#8217;t see as much gain.  Even then at worst, if the queries take the same 10 milliseconds, we added about 1-3 milliseconds to the total end to end time.  Depending on the amount of time spent in the implementation specific code, that&#8217;s about 10-20% slower latency worst case (and still less than the cost of a single screen refresh so a user won&#8217;t notice it unless its enough to cause the total system to queue up throughput wise) but in return we got much better throughput and much more reuse.</p>
<p>Anyhow,  the point is, when designing a system and coding it,  you really should think about these types of things before you get so far down the road that you realize you have a problem only when you&#8217;re in it up to your neck and can&#8217;t easily do anything about it.</p>
<p>Feel free to fire away with the questions here or on Twitter (<a title="@TechMusings" href="http://twitter.com/techmusings">@TechMusings</a>)</p>
<p><a href="http://www.technologymusings.com">Technology Musings - Thoughts about Technology and Startup&#039;s</a> <a href="http://www.technologymusings.com/consideration-for-the-technical-implementation-of-an-soa/">Consideration For The Technical Implementation of an SOA</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.technologymusings.com/consideration-for-the-technical-implementation-of-an-soa/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)

Served from: www.technologymusings.com @ 2012-02-22 20:44:55 -->
