<?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>PaaSTalk.com &#187; Abstraction</title>
	<atom:link href="http://paastalk.com/tag/abstraction/feed/" rel="self" type="application/rss+xml" />
	<link>http://paastalk.com</link>
	<description>A blog for ISVs on Platform as a Service (PaaS)</description>
	<lastBuildDate>Fri, 01 Jun 2012 17:22:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Fault tolerance: Now you see me, now you don&#8217;t</title>
		<link>http://paastalk.com/no-hiding-behind-abstraction-for-saas/</link>
		<comments>http://paastalk.com/no-hiding-behind-abstraction-for-saas/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 06:04:05 +0000</pubDate>
		<dc:creator>Andrew Biss</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Abstraction]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Fault Tolerance]]></category>
		<category><![CDATA[ISV]]></category>
		<category><![CDATA[PaaS]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Services]]></category>

		<guid isPermaLink="false">http://paastalk.com/no-hiding-behind-abstraction-for-saas/</guid>
		<description><![CDATA[Reliable SaaS applications demand fault-tolerant techniques]]></description>
			<content:encoded><![CDATA[<p><strong>Reliable SaaS applications demand fault-tolerant techniques</strong></p>
<p class="figure"> <img width="302" height="192" src="http://paastalk.com/wordpress/wp-content/uploads/hiding-abstraction.jpg" alt="Man hiding behind sofa" title="Hiding abstraction" /> <br /><br /><span class="figcaption"><em>Image: ISVs have long used abstraction to isolate applications from technical implementation details. SaaS is based on services that can, and will, disappear just when you need them. Fault tolerance is no longer nice-to-have.</em></span></p>
<p>Whether using frameworks, cross-platform toolkits or even application generators, abstraction has worked well for the different combinations of OS, database, networking and user interfaces that confront on-premise developers.</p>
<p>As an SaaS ISV you only have one platform&#8211;what technology doubts could you possibly have to worry about?</p>
<p><span id="more-29"></span></p>
<h2>For SaaS it&#8217;s services, all the way down&#8230;</h2>
<p>SaaS applications are large portfolios of services that extend over the complete hardware and software stacks, including:</p>
<ul>
<li>Utility computing services for hardware, data storage and networking</li>
<li>Common system features, such as billing, subscription management, analytics and service management</li>
<li>Common application features, including charting, mapping, search and many others</li>
</ul>
<p>Your customers do not count your technology as a benefit to them. They will not accept premium pricing. As a result, you will only ever have time and money to invest in building services that are core features for your vertical niche.</p>
<p>It makes financial sense to buy-in most of your services; keeping your running costs strictly under control. Your service portfolio can, and should, change in the future as you look for opportunities to swap to something cheaper.</p>
<p>As an SaaS ISV you now have total independence to choose the services you need for your application&#8211;where are the technical doubt and implementation differences you need to hide with abstraction?</p>
<h2>My service was there a minute ago!</h2>
<p>Technical doubt for on-premise products could usually by fully resolved at build-time. Once the customer had installed the product the IT setup changed slowly, if at all.</p>
<p>When a 3rd party supplier disappeared, or dropped support for their product, there was no short or medium term impact on any of the installed applications. These continued to run as before&#8211;often for many years. There was enough time to consider replacements <em>(and you abstracted the </em><em>interfaces </em><em>anyway)</em>.</p>
<p>The services world of SaaS is different&#8211;the services you carefully selected can (and will) disappear at run-time! This could simply be from a temporary network outage. More seriously, a provider might close and stop offering their <em>(probably in perpetual-beta)</em> service with little or no warning.</p>
<p>Service outages can impact all of your SaaS customers&#8211;and quickly. The buffer that exists in the on-premise world between off-line development and build, and on-line deployment has disappeared.</p>
<p>If a service is unavailable you need to have a <em>plan B</em> in place. You cannot wait and develop a replacement solution in days, weeks or perhaps even months. Your customers have already noticed and they are waiting&#8230;</p>
<p>Without your having had any choice in the matter, SaaS throws you head first into the real-time world. You have to build a reliable SaaS application based on a large portfolio of (assumed to be) unreliable services. This is not easy.</p>
<h2>Fault tolerance&#8211;here comes SaaS, ready or not</h2>
<p>You SaaS application must degrade gracefully as services come and go. No matter what happens, you must always deliver the best possible customer experience. How it degrades depends on the missing service or services. An unavailable charting or mapping service clearly has a different impact than a missing database or networking service.</p>
<p>Your SaaS application must handle missing and unavailable services well, and tell your customers what is going on. It cannot just <em>fail</em> because a service is unavailable&#8211;even if it is something critical such as your login or security service.</p>
<p>All SaaS outages have an all-too real potential to blow up into a PR disaster. Bad press is not healthy for your reputation or keeping customer trust&#8211;both of which are essential for success in the SaaS market.</p>
<p>This time your main technical doubt is not the easy API differences between implementations&#8211;the main issue is the concern that any of your chosen services will <em>actually</em> be available from one transaction to the next.</p>
<p>Hiding behind abstraction will not work. You need a more flexible approach that handles unreliable services and guarantees an excellent user experience&#8211;no matter what service fails or disappears.</p>
<h2>Coming up&#8230;</h2>
<p>Are you forced to develop this supporting service infrastructure yourself, or are there standard solutions you can use? That is what I will look at in my next post on <cite>PaaS Talk</cite>: <a href="http://paastalk.com/amazon-ec2-saas-profit-squeeze-for-isvs/">Might Amazon EC2 cloud platform squeeze the profits from SaaS apps?</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://paastalk.com/no-hiding-behind-abstraction-for-saas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Platform selection: Everything old is new again</title>
		<link>http://paastalk.com/saas-platform-troubles-still-exist/</link>
		<comments>http://paastalk.com/saas-platform-troubles-still-exist/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 11:23:14 +0000</pubDate>
		<dc:creator>Andrew Biss</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Abstraction]]></category>
		<category><![CDATA[ISV]]></category>
		<category><![CDATA[PaaS]]></category>
		<category><![CDATA[Platform]]></category>
		<category><![CDATA[SaaS]]></category>

		<guid isPermaLink="false">http://paastalk.com/saas-platform-troubles-still-exist/</guid>
		<description><![CDATA[ISVs face tough choices choosing the right technology stack]]></description>
			<content:encoded><![CDATA[<p><strong>ISVs face tough choices choosing the right technology stack</strong></p>
<p class="figure"> <img width="302" height="192" src="http://paastalk.com/wordpress/wp-content/uploads/troubles.jpg" alt="Troubles written in sand on beach" title="Troubles" /> <br /><br /><span class="figcaption"><em>Image: Supporting multiple platforms has always been an issue for ISVs. At first sight SaaS washes this problem away once and for all. If only that were true.</em></span></p>
<p>SaaS is a dream come true for ISV development managers; finally there is only one platform to worry about. The long years of cross-platform development are over.</p>
<p>The bad old days are over where every customer had a different combination of hardware and software. No more support calls asking you to confirm in writing that you support version x.y of product z.</p>
<p>In the new SaaS world there is only one platform&#8211;the one you choose to run your hosted application. Even better, you have total control of your platform. What&#8217;s more, not just making the first choice, but for all future upgrades and improvements as well. Luxury, pure luxury!</p>
<p><span id="more-27"></span></p>
<p>So what if you choose to develop your application in Erlang, Groovy or even Wasabi? This time your customers don&#8217;t care at all about your technology choice. This is new and cool&#8230;</p>
<p>So, having got all the good points out of the way, there is still an issue to resolve. What platform do you choose to build and deploy your new SaaS application? Unfortunately it is at this point that <em>platform issues</em> start to intrude on the SaaS clean sheet.</p>
<h2>Platforms are not what they used to be</h2>
<p>In the on-premise world your customers demanded your application fit seamlessly into their existing IT world. This was a benefit of your application and so rightly flowed into the ROI calculation when evaluating your product.</p>
<p>That all changes with SaaS. Everything to do with your technology platform is now solely part of your internal cost base. No matter how good your technology might be, it will never again be part of the ROI calculation. Platform independence and <em>ease of integration</em> have now disappeared from your benefits list.</p>
<p>Your customers do not care about your technology&#8211;it&#8217;s your problem now. All they care about is the delivery of the service they have subscribed to. The bits and bytes of how you build it do not interest them. That is one of the attractions of SaaS. This is new and radically changes the ISV business model.</p>
<h2>It helps to know the (SaaS) rules</h2>
<p>Customers evaluating SaaS applications look at the core features where they see a real value. The other (80%?) of your application is just <em>supporting stuff</em>. While they recognise it, it is not something that they will pay extra to have.</p>
<p>This focus on core features opens the door to new players entering your vertical niche. The barriers to entry drop dramatically if new entrants only have to offer the 10-20% of features customers place a high value on. They can ignore the rest and so be quicker to market.</p>
<p>As with so many other industries, SaaS is driving an unbundling of business application features. Customers will only subscribe to features where there is a clear value proposition. Cross-subsidizing technical frameworks and <em>nice-to-have</em> features will be much more difficult to justify and sell. This unbundling is new and means ISVs must be much more focused on the saleability of each individual feature.</p>
<h2>It is the early 1980s again</h2>
<p>While SaaS is new, selecting the right platform and tools to build your SaaS application raises issues that would be familiar to an ISV from 30 years ago.</p>
<p>Now, as then, it is a young market with new ideas, technologies, tools and providers. Who will survive? What technologies will become an industry standard? Nobody knows, and that makes planning difficult.</p>
<p>Your customers do not care about your technology. However, If you make the wrong SaaS technology or provider decision then the risk is much higher that someone will notice&#8211;and quickly. And once one user notices, it will not be long before everyone knows. This is new for ISVs where there has always been a disconnect between off-line development and the production applications running on-premise.</p>
<p>While SaaS makes it easier to start using your application, it also makes it easier to move somewhere else. It is therefore critical to get your technology decisions right&#8211;each and every time.</p>
<h2>Investing in technology might not be a good idea</h2>
<p>SaaS changes the rules on deciding how to invest in development. Your customers only care about the features that they can see and use. Anything that happens <em>behind the scenes</em> does not contribute to the value of your application as seen by your customers. This raises the question of how much you can and should invest in these hidden features.</p>
<p>For on-premise it made good sense to invest to build a flexible platform to support the customer-specific IT variants. That way of thinking is no longer correct and can lead to financial disaster in the new world of SaaS.</p>
<p>Over investing in technology layers and frameworks just serve to increase your base running costs. Your customers do not care. They will not reward your cool technology with premium prices. Pushing your cost base up you makes your life more difficult and squeezes your margins.</p>
<p>When planning your SaaS technology strategy you must focus your development investments on core application features. Resist all temptation to start building supporting &#8220;stuff&#8221;. This is new and marks a big change in how we need to think. This will take much getting used to by ISV development managers; even more so by ISV developers.</p>
<h2>Will abstraction save the day again?</h2>
<p>The ISV&#8217;s traditional solution to technology doubt is abstraction. Data abstraction layers handled the doubts about which database would <em>win</em> in the SQL wars. GUI abstraction layers came into play when ISVs first needed to support Windows, Mac, OS/2 and X-Windows.</p>
<p>Does it make sense to take the same approach again and create an abstraction layer between the SaaS application and the underlying platform?</p>
<p>The answer is&#8211;it depends! And that is what I will look at in the next post on <cite>PaaS Talk</cite>: <a href="http://paastalk.com/no-hiding-behind-abstraction-for-saas/">Why hiding behind abstraction is not enough for SaaS applications</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://paastalk.com/saas-platform-troubles-still-exist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

