<?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>AKF Partners Blog</title>
	<atom:link href="http://akfpartners.com/techblog/feed/" rel="self" type="application/rss+xml" />
	<link>http://akfpartners.com/techblog</link>
	<description>Technical and Leadership Thoughts</description>
	<lastBuildDate>Wed, 01 Jul 2009 17:00:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Tuning versus Scaling</title>
		<link>http://akfpartners.com/techblog/2009/07/01/tuning-versus-scaling/</link>
		<comments>http://akfpartners.com/techblog/2009/07/01/tuning-versus-scaling/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:56:46 +0000</pubDate>
		<dc:creator>Wabb</dc:creator>
				<category><![CDATA[Engineering]]></category>

		<guid isPermaLink="false">http://akfpartners.com/techblog/?p=325</guid>
		<description><![CDATA[We often talk to clients about the differences between tuning an application or platform and scaling it.  Often the clients intuitively see them as different things, but oddly still refer to them similarly as in “We scaled the database last year by tuning the top SQL queries and getting 20% better performance”.
Tuning is something that [...]]]></description>
			<content:encoded><![CDATA[<p>We often talk to clients about the differences between tuning an application or platform and scaling it.  Often the clients intuitively see them as different things, but oddly still refer to them similarly as in “We scaled the database last year by tuning the top SQL queries and getting 20% better performance”.</p>
<p>Tuning is something that you absolutely must do, but we stress that it’s more of an operational endeavor than an architectural endeavor.  In the ideal world, as a typical part of your operation, you would focus some time monthly or quarterly on identifying the slowest portions of your product or the most costly in terms of hardware, engineering time or clock cycles.  These would then be prioritized based on cost to fix and expected return with changes being made to them as engineering allocations allow.  This process is just good housecleaning; throwing out old clothes, and books or getting rid of the motorcycle and lawn mower that no longer work to make room in a garage bay for other “stuff”.</p>
<p>And that’s just what you’re doing with tuning – throwing out old stuff to make room for new stuff.  Just as with the house analogy, you aren’t really making your house “bigger”, you are making the current house capable of holding different and ideally more valuable “stuff”.   If the occupants of your house aren’t growing (i.e. your business isn’t growing quickly), as with a new addition to a family or several new roommates, then this disposition of old less valuable stuff (old code that is seldom executed but costly, often executed code that is very costly) for newer more valuable stuff (new functionality or more efficient code) may be all you ever need to do.</p>
<p>Scaling, however, is an architectural effort that implies significant modifications to your current structure.  In the house analogy, it might mean adding a second floor or expanding the house.  Structurally the house is different and is capable of holding more “stuff” because the total floor space has increased, as compared to the tuning example where you just freed up existing floor space.  Scaling involves architectural effort in redesign of the underlying fundamentals of your system such as <a href="http://akfpartners.com/techblog/2008/05/22/splitting-databases-for-scale/">adding replicated read databases or splitting databases along data boundaries</a> while tuning is just “spring cleaning” of your platform.</p>
<p>If you are experiencing rapid or hyper growth, you need to both tune your system for the sake of efficiency and performance and scale it for future growth.  Scaling is what allows you to achieve orders of magnitude of improvement (10x, 100x, etc), while tuning should afford linear growth and more efficient operation over time.</p>
<p><a href='http://theartofscalability.com'>The Art of Scalability</a></p>]]></content:encoded>
			<wfw:commentRss>http://akfpartners.com/techblog/2009/07/01/tuning-versus-scaling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Look</title>
		<link>http://akfpartners.com/techblog/2009/06/30/new-look/</link>
		<comments>http://akfpartners.com/techblog/2009/06/30/new-look/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 13:17:05 +0000</pubDate>
		<dc:creator>Fish</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Blog software]]></category>
		<category><![CDATA[Content management systems]]></category>
		<category><![CDATA[Technology/Internet]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://akfpartners.com/techblog/?p=323</guid>
		<description><![CDATA[In the event that you are reading this via RSS, we updated our site last night with a new look. A couple things are worth mentioning. First is the &#8220;All Posts&#8221; page. One thing that annoys me about most blogs is the lack of a way to see all the posts on one page. We [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">In the event that you are reading this via RSS, we updated our site last night with a new look. A couple things are worth mentioning. First is the &#8220;All Posts&#8221; page. One thing that annoys me about most blogs is the lack of a way to see all the posts on one page. We now have a drop down menu  as well as a link on the right sidebar of the blog for &#8220;All Posts&#8221;. This page list by topic all of our blog posts. It is a very simple way to find an article or post that you might be interested in.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The second thing is the &#8220;Best of Posts&#8221; page. I wanted a way for our readers to be able to select what posts they liked the best, as ranked by the number of views, comments, pingbacks (links to the post), etc. The &#8220;Best of Posts&#8221; page on the right sidebar of the blog is a dynamically generated list of posts that through our readers interaction has ranked them the most popular. If you self-host a wordpress blog and like this idea of a reader selected &#8220;best of&#8221; list, you can get the plugin here.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">As none of us are very good graphic artists we outsourced the desgin of our new logo. We used 99designs.com to host an auction and thought it was a great experience. You get to establish the price you are willing to pay, provide requirements, and give feedback to designers who sbumit entries. Our auction ran for 1 week and generated over 200 entries.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">If you have any questions or comments about the site feel free to let us know.</div>
<p>In the event that you are reading this via RSS, we updated our site last night with a new look. A couple things are worth mentioning. First is the &#8220;<a href="http://akfpartners.com/list.php">All Posts</a>&#8221; page. One thing that annoys me about most blogs is the lack of a way to see all the posts on one page. We now have a drop down menu  as well as a link on the right sidebar of the blog for &#8220;All Posts&#8221;. This page list by topic all of our blog posts. It is a very simple way to find an article or post that you might be interested in.</p>
<p>The second thing is the &#8220;<a href="http://akfpartners.com/techblog/best-of-posts/">Best of Posts</a>&#8221; page. I wanted a way for our readers to be able to select what posts they liked the best, as ranked by the number of views, comments, pingbacks (links to the post), etc. The &#8220;Best of Posts&#8221; page on the right sidebar of the blog is a dynamically generated list of posts that through our readers interaction has ranked them the most popular. If you self-host a WordPress blog and like this idea of a reader selected &#8220;best of&#8221; list, you can get the <a href="http://wordpress.org/extend/plugins/best-post-page/">plugin here</a>.</p>
<p>As none of us are very good graphic artists we outsourced the design of our new logo. We used <a href="http://99designs.com/">99designs.com</a> to host an auction and thought it was a great experience. You get to establish the price you are willing to pay, provide requirements, and give feedback to designers who submit entries. Our auction ran for 1 week and generated over 200 entries.</p>
<p>If you have any questions or comments about the site feel free to let us know.</p>
<p><a href='http://theartofscalability.com'>The Art of Scalability</a></p>]]></content:encoded>
			<wfw:commentRss>http://akfpartners.com/techblog/2009/06/30/new-look/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Posts</title>
		<link>http://akfpartners.com/techblog/2009/06/25/twitter-posts/</link>
		<comments>http://akfpartners.com/techblog/2009/06/25/twitter-posts/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 20:03:02 +0000</pubDate>
		<dc:creator>Fish</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[HighScalability.com]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[technology scalability problems]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://akfpartners.com/techblog/?p=319</guid>
		<description><![CDATA[If you are like me you probably read hundreds of articles and posts each week. I often come across an interesting article related to scalabiltiy and share it on Twitter. For those of our blog readers who don&#8217;t follow us on Twitter I thought I&#8217;d share some linksthat I&#8217;ve recently posted:

Project Voldemort Blog: Building a [...]]]></description>
			<content:encoded><![CDATA[<p>If you are like me you probably read hundreds of articles and posts each week. I often come across an interesting article related to scalabiltiy and share it on <a href="http://twitter.com/mfisher5kavika">Twitter</a>. For those of our blog readers who don&#8217;t <a href="http://akfpartners.com/techblog/follow-us-on-twitter/">follow us</a> on Twitter I thought I&#8217;d share some linksthat I&#8217;ve recently posted:</p>
<ul>
<li><a href="http://project-voldemort.com/blog/2009/06/building-a-1-tb-data-cycle-at-linkedin-with-hadoop-and-project-voldemort/">Project Voldemort Blog: Building a terabyte-scale data cycle at LinkedIn</a></li>
<li><a href="http://highscalability.com/latency-everywhere-and-it-costs-you-sales-how-crush-it">Latency is Everywhere and it Costs You Sales &#8211; How to Crush it</a></li>
<li><a href="http://gojko.net/2009/06/23/improving-performance-and-scalability-with-ddd/">Improving performance and scalability with DDD</a></li>
<li><a href="http://googleresearch.blogspot.com/2009/06/large-scale-graph-computing-at-google.html">Large-scale Graph Computing at Google</a></li>
<li><a href="http://highscalability.com/plentyoffish-architecture">PlentyOfFish Architecture</a></li>
<li><a href="http://www.infoq.com/articles/scalability-principles">InfoQ &#8211; Scalability Principles</a></li>
<li><a href="http://markorodriguez.com/Lectures_files/risk-symposium2009.pdf">Graph Databases and the Future of Large-Scale Knowledge Management</a></li>
<li><a href="http://storm.alert.sk/blog/2009/06/02/Good-Vibrations">Google Wave Architecture</a></li>
<li><a href="http://highscalability.com/hotpads-shows-true-cost-hosting-amazon">HotPads Shows the True Cost of Hosting on Amazon</a></li>
</ul>
<p>If you have any favorite articles you&#8217;ve read in the last month share them with us in the comments.</p>
<p><a href='http://theartofscalability.com'>The Art of Scalability</a></p>]]></content:encoded>
			<wfw:commentRss>http://akfpartners.com/techblog/2009/06/25/twitter-posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Continuous Deployment</title>
		<link>http://akfpartners.com/techblog/2009/06/22/continuous-deployment/</link>
		<comments>http://akfpartners.com/techblog/2009/06/22/continuous-deployment/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 00:10:20 +0000</pubDate>
		<dc:creator>Fish</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Continuous integration]]></category>
		<category><![CDATA[CTO]]></category>
		<category><![CDATA[Eric  Ries]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[IMVU]]></category>
		<category><![CDATA[Software development process]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[Technology/Internet]]></category>

		<guid isPermaLink="false">http://akfpartners.com/techblog/?p=314</guid>
		<description><![CDATA[You probably have heard of continuous integration that is the practice of checking code into the source code repository early and often.  The goal of which is to ease the often very painful process of integrating multiple developer&#8217;s code after weeks of independent work. If you have never had the pleasure of experiencing this pain, [...]]]></description>
			<content:encoded><![CDATA[<p>You probably have heard of <a href="http://en.wikipedia.org/wiki/Continuous_Integration ">continuous integration</a> that is the practice of checking code into the source code repository early and often.  The goal of which is to ease the often very painful process of integrating multiple developer&#8217;s code after weeks of independent work. If you have never had the pleasure of experiencing this pain, let me give you another example that we have experienced recently. In the process of writing <a href="http://theartofscalability.com/ ">The Art of Scalability</a>, we have seven editors including an acquisition editor, a development editor, and five technical editors who all provide feedback on each chapter. Our job is to take all of this separate input and merge it back into a single document, which at times can be challenging when editors have different opinions for the direction of certain parts of the chapter. The upside of this process is that it does make the manuscript much better for having gone through the process. Luckily software engineering has developed the process of continuous integration designed to reduce wasted engineering effort. In order to make this process the most effective the automation of builds and smoke tests are highly recommended. For more information on continuous integration there are a lot of resources such as <a href="http://www.amazon.com/Continuous-Integration-Improving-Addison-Wesley-Signature/dp/0321336380 ">books </a>and <a href="http://www.martinfowler.com/articles/continuousIntegration.html ">articles</a>.</p>
<p>The topic of this post is taking continuous integration to an extreme and performing <strong>continuous deployment</strong>. And it is exactly what it sounds like, all code that is written for an application is immediately deployed into production. If you haven&#8217;t heard of this before you&#8217;re first thought is probably that this is the ultimate in <a href="http://en.wikipedia.org/wiki/Cowboy_coding">Cowboy Coding</a> but it is in use by some household technology names like <a href="http://www.flickr.com">Flickr</a> and IMVU. If you don&#8217;t believe this check out <a href="http://code.flickr.com/">code.flickr.com</a> and look at the bottom of the page, last time I checked it said:</p>
<p><em>Flickr was last deployed 20 hours ago, including 1 change by 1 person.</em></p>
<p><em>In the last week there were 34 deploys of 385 changes by 17 people.</em></p>
<p>Eric Ries, co-founder and former CTO of <a href="http://www.imvu.com/">IMVU</a>, is a <a href="http://vator.tv/news/show/2009-06-16-why-continuous-deployment ">huge proponent</a> of continuous deployment as a method of improving software quality due to the  discipline, automation, and rigorous standards that are required in order to accomplish continuous deployment. Other folks at IMVU also seem to be fans of the continuous deployment methodology as well from the <a href="http://timothyfitz.wordpress.com/2009/02/08/continuous-deployment/">post by Timothy Fitz</a>. Eric suggest a <a href="http://radar.oreilly.com/2009/03/continuous-deployment-5-eas.html ">5 step approach</a> for moving to a continuous deployment environment.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 91px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The topic of this post is taking continuous integration to an extreme and performing continuous deployment. And it is exactly what it sounds like, all code that is written for an application is immediately deployed into production. If you haven&#8217;t heard of this before you&#8217;re first thought is probably that this is the ultimate in &#8216;Cowboy Coding&#8217; but it is in use by some household technology names like Flickr and IMVU. If you don&#8217;t believe this check out code.flickr.com and look at the bottom of the page, last time I checked it said:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 91px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Flickr was last deployed 20 hours ago, including 1 change by 1 person.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 91px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>In the last week there were 34 deploys of 385 changes by 17 people.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 91px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Eric Ries, CTO of IMVU, is a huge proponent of continuous deployment as a method of improving software quality due to the  discipline, automation, and rigorous standards that are required in order to accomplish continuous deployment. Eric suggest a 5 step approach for moving to a continous deployment environment.</div>
<ol>
<li>Continuous Integration &#8211; Obviously before moving beyond integration into full deployment, this is a prerequisite that must be in place.</li>
<li>Source Code Commit Checks &#8211; This feature which is available in almost all modern source code control systems,  allows the process of checking in code to halt if one of the tests fail.</li>
<li>Simple Deployment Script &#8211; Deployment must be automated and have the ability to rollback, which we wholeheartedly agree with <a href="http://akfpartners.com/techblog/2008/06/09/top-20-mistakes-in-technology/">here</a> and <a href="http://akfpartners.com/techblog/2009/05/12/scaling-availability-anti-patterns/">here</a>.</li>
<li>Real-time altering &#8211; Bugs will slip through so you must be monitoring for problems and have the processes in place to react quickly</li>
<li>Root Cause Analysis &#8211; Eric recommends the <a href="http://startuplessonslearned.blogspot.com/2008/11/five-whys.html ">Five Why&#8217;s</a> approach to find root cause, whatever the approach, finding and fixing the root cause of problems is critical to stop repeating them.</li>
</ol>
<p>Admittedly, this concept of developers pushing code straight to production scares me quite a bit, since I&#8217;ve seen the types of horrific bugs that can make their way into pre-production environments. However, I think Eric and the other continuous deployment proponents are onto something that perhaps the reason so many bugs are found by weeks of testing is a self-fulfilling prophecy. If engineers know their code is moving straight into production upon check in they might be a lot more vigilant about their code, I know I would be. How about you, what do you think about this development model?</p>
<p><a href='http://theartofscalability.com'>The Art of Scalability</a></p>]]></content:encoded>
			<wfw:commentRss>http://akfpartners.com/techblog/2009/06/22/continuous-deployment/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Art of Scalability Update</title>
		<link>http://akfpartners.com/techblog/2009/06/19/the-art-of-scalability-update/</link>
		<comments>http://akfpartners.com/techblog/2009/06/19/the-art-of-scalability-update/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 16:12:54 +0000</pubDate>
		<dc:creator>Wabb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://akfpartners.com/techblog/2009/06/19/the-art-of-scalability-update/</guid>
		<description><![CDATA[Chapters 1 through 10 of The Art of Scalability have been published online at Safari Books Online. The folks at Pearson Publishing (Addison-Wesley and Prentice-Hall) are working on getting chapters 11 through 20 online soon. We just completed editing through chapter 24 of 32 chapters.

We will have one more round of editing before the January, [...]]]></description>
			<content:encoded><![CDATA[<p>Chapters 1 through 10 of The Art of Scalability have been published online at <a href="http://my.safaribooksonline.com/9780137031436">Safari Books Online</a>. The folks at Pearson Publishing (Addison-Wesley and Prentice-Hall) are working on getting chapters 11 through 20 online soon. We just completed editing through chapter 24 of 32 chapters.</p>
<p><img src="http://my.safaribooksonline.com/images/9780137031436/9780137031436_xs.jpg" alt="Art of Scalability Cover" /></p>
<p>We will have one more round of editing before the January, 2010 launch of the book, so it&#8217;s not too late for you to sign up for Safari Books Online, review our book and give us your valuable insights!</p>
<p><a href='http://theartofscalability.com'>The Art of Scalability</a></p>]]></content:encoded>
			<wfw:commentRss>http://akfpartners.com/techblog/2009/06/19/the-art-of-scalability-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Newsletter &#8211; The Future of Relational Databases</title>
		<link>http://akfpartners.com/techblog/2009/06/17/newsletter-the-future-of-relational-databases/</link>
		<comments>http://akfpartners.com/techblog/2009/06/17/newsletter-the-future-of-relational-databases/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 14:11:31 +0000</pubDate>
		<dc:creator>Fish</dc:creator>
				<category><![CDATA[Newsletters]]></category>

		<guid isPermaLink="false">http://akfpartners.com/techblog/?p=309</guid>
		<description><![CDATA[For those readers who haven&#8217;t subscribed to our newsletter here is a copy of what was sent out earlier this week.  If you would like to receive future emails, about once every other month, sign up here.
We were intrigued by a question asked by Tony Bain of Read Write Web, in his recent article &#8220;Is [...]]]></description>
			<content:encoded><![CDATA[<p>For those readers who haven&#8217;t subscribed to our newsletter here is a copy of what was sent out earlier this week.  If you would like to receive future emails, about once every other month, <a href="http://list-manage.com/subscribe?u=232beee3e31b91e2acd7d8387&amp;id=e6b58f6dcf">sign up here</a>.</p>
<p>We were intrigued by a question asked by Tony Bain of <a href="http://www.readwriteweb.com/?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">Read Write Web</a>, in his recent article &#8220;<a href="http://www.readwriteweb.com/archives/is_the_relational_database_doomed.php?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">Is the Relational Database Dead?</a>&#8221; Since relational databases management systems (RDBMS) are a significant part of most SaaS or Web 2.0 architectures, we spend a lot of time helping people scale their databases. We also often find ourselves part of discussions about the future of relational databases.</p>
<p><strong>Do Relational Databases Scale?</strong><strong><br />
</strong>We believe that RDBMS scale very well especially when not on a single server. This is the major principle behind the three axes of the <a href="http://akfpartners.com/images/db_cube.png?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">AKF Scale Cube</a>.</p>
<p align="center"><a href="http://akfpartners.com/images/db_cube.png"><img src="http://akfpartners.com/images/db_cube.png" alt="" height="300" /></a></p>
<p>The AKF Database Scale Cube consists of an X, Y and Z axes – each addressing a different approach to scale transactions applied to a database. The lowest left point of the cube (coordinates X=0, Y=0 and Z=0) represents the worst case monolithic database – a case where all data is located in a single location and all accesses go to this single database.</p>
<p>The X Axis of the cube represents spreading read requests across multiple instances of the same data set. All writes get executed on a single database that asynchronously propagates to the read replicas. Caching can be implemented to further reduce database load. The Y Axis of the cube represents a split by function or service. The Z Axis represents ways to split transactions by performing a lookup, a modulus or other indiscriminate function (hash for instance).</p>
<p><strong>Key / Value Stores</strong><strong><br />
</strong>We don’t believe in the imminent demise of the RDBMS but we do expect more applications and services to use a relational database as a persistent data store and use key/value stores as part of the transactional system. We have seen and expect to see more of the use of key/value stores such as <a href="http://www.danga.com/memcached/?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">memcached</a> and <a href="http://code.google.com/p/redis/?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">redis</a> as a shared memory object cache that is the primary data source for the service or application.  Writes work their way back to the relational database asynchronously and reads into the object cache work their way forward either scheduled or on demand.</p>
<p>This trend is possible obviously because of the software being developed to allow this but also the cheaper hardware including virtualization in clouds. As services become more specialized and service level agreements demand faster response times, in memory data stores are very likely to be involved in more architectures as a layer between the application servers and the relational databases.</p>
<p><strong>Specialized Databases</strong><strong><br />
</strong>Another trend in RDBMS is the creation of specialized databases such as <a href="http://www.facebook.com/note.php?note_id=16121578919&amp;utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">Hive </a>that is an open source, peta-byte scale date warehousing framework based on Hadoop that was developed by Facebook. Other databases include Amazon&#8217;s distributed, web service <a href="http://aws.amazon.com/simpledb/?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">SimpleDB</a>, Google&#8217;s column-oriented <a href="http://labs.google.com/papers/bigtable.html?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">BigTable</a>, and the Apache JSON based <a href="http://couchdb.apache.org/?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">CouchDB</a>. Each of these with advantages in particular scenarios. It has been shown in research papers like &#8220;<a href="http://www.cs.brown.edu/~ugur/osfa.pdf?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">One Size Fits All? &#8211; Part 2: Benchmarking Results</a>&#8221; by Michael Stonebraker and Ugur Cetintemel that major RDBMS vendors can be outperformed by 1 &#8211; 2 orders of magnitude by specialized database engines.</p>
<p>In &#8220;<a href="http://db.cs.yale.edu/vldb07hstore.pdf?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">The End of an Architectural Era</a>&#8221; they continue their argument  that the current legacy RDBMS code attempting to be a &#8220;one size fits all&#8221; excels at nothing. In fact they offer data that the completely written from scracth, <a href="http://db.cs.yale.edu/hstore/?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">H-Store database</a>, built in collaboration with MIT, Brown and Yale Universities, can outperform these legacy RDBMS by two orders of magnitude on standard transactional benchmarks.</p>
<p><strong>Conclusion</strong><strong><br />
</strong>The demise of the RDBMS has been prophesied almost since it&#8217;s inception in E.F. Codd&#8217;s 1970 paper &#8220;<a href="http://www.eecs.harvard.edu/~margo/codd-1970.pdf?utm_source=AKF+Newsletter&amp;utm_campaign=68b7106558-Newsletter_06_2009&amp;utm_medium=email">A Relational Model of Data for Large Shared Data Banks</a>&#8220;. One of the most promising replacements given the advent of object oriented programming languages was the object-oriented database, which never became mainstream but has resulted in the inclusion of object-relational features in more popular RDBMS.</p>
<p>Even with the improved performance from specialized databases the most popular relational databases including Oracle, MySQL, and PostgreSQL will continue to be an integral part of SaaS and Web 2.0 architectures. Learning how to scale them will continue to be important for many years to come.</p>
<p><a href='http://theartofscalability.com'>The Art of Scalability</a></p>]]></content:encoded>
			<wfw:commentRss>http://akfpartners.com/techblog/2009/06/17/newsletter-the-future-of-relational-databases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring Strategies</title>
		<link>http://akfpartners.com/techblog/2009/06/15/monitoring-strategies/</link>
		<comments>http://akfpartners.com/techblog/2009/06/15/monitoring-strategies/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 15:51:52 +0000</pubDate>
		<dc:creator>Fish</dc:creator>
				<category><![CDATA[Engineering]]></category>

		<guid isPermaLink="false">http://akfpartners.com/techblog/?p=302</guid>
		<description><![CDATA[What questions do each of your system monitors answer? You probably think they answer questions such as &#8220;Is there a problem?&#8221; and if so &#8220;Where is the problem?&#8221; Most likely this is not the case and instead of telling you &#8220;Is there a problem?&#8221; it really only tells you &#8220;Where&#8221; or &#8220;What&#8221; the problem might [...]]]></description>
			<content:encoded><![CDATA[<p>What questions do each of your system monitors answer? You probably think they answer questions such as &#8220;Is there a problem?&#8221; and if so &#8220;Where is the problem?&#8221; Most likely this is not the case and instead of telling you &#8220;Is there a problem?&#8221; it really only tells you &#8220;Where&#8221; or &#8220;What&#8221; the problem might be. Before we continue this, first a quick detour to discuss metrics, which while different than monitoring are very similar in many ways.</p>
<p>Eric Ries, co-founder and CTO of IMVU, <a href="http://www.fourhourworkweek.com/blog/2009/05/19/vanity-metrics-vs-actionablemetrics/">posted an article</a> about the difference between vanity metrics and actionable metrics.  The entire article and accompaning video are worth a read and listen but the take away is that most people are using and looking for metrics that are great soundbites but do not offer any definable actions.  One example is the total number of hits to a website.  Eric ask the questions &#8220;Now what? Do you really know what actions you took in the past that drove those visitors to you, and do you really know which actions to take next?&#8221; This makes total sense to me as we  often see teams misusing monitoring in an attempt to determine what actions to take with their systems.</p>
<p>Back to our discussion of what question your monitoring is attempting to answer. We think there are five evolutionary questions that monitoring should answer:</p>
<ol>
<li>Is there a problem?</li>
<li>Where is the problem?</li>
<li>What is the problem?</li>
<li>Why is there a problem?</li>
<li>Will there be a problem?</li>
</ol>
<p style="text-align: left;">Where most people fail is using a monitoring tool that is designed to answer &#8220;Where&#8221; or &#8220;What&#8221; and try to use it to answer &#8220;Is&#8221;. For example, if you are monitoring all of your servers vitals such as CPU, memory, and I/O what is the appropriate action for your team to take when the CPU utilization goes to 100%? The reason that might be a tough question is that you are missing the vital piece of information &#8220;Is this affecting my customers?&#8221;.  The &#8220;Is there a problem&#8221; is intended to be a proxy for customer impact in order to help determine the degree and speed of escalation of the issue.</p>
<p style="text-align: left;">If you have monitoring services in place now it is worthwhile to determine what question each one answers. If you are missing a monitor for a particular question, the time to remedy it is before you need that question answered.</p>
<p><a href='http://theartofscalability.com'>The Art of Scalability</a></p>]]></content:encoded>
			<wfw:commentRss>http://akfpartners.com/techblog/2009/06/15/monitoring-strategies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advertising Revenue</title>
		<link>http://akfpartners.com/techblog/2009/06/08/advertising-revenue/</link>
		<comments>http://akfpartners.com/techblog/2009/06/08/advertising-revenue/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 13:22:50 +0000</pubDate>
		<dc:creator>Fish</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[advertising display mediums]]></category>
		<category><![CDATA[advertising revenue]]></category>
		<category><![CDATA[interactive media]]></category>
		<category><![CDATA[internet display ads]]></category>
		<category><![CDATA[online advertising]]></category>

		<guid isPermaLink="false">http://akfpartners.com/techblog/?p=298</guid>
		<description><![CDATA[The Internet Advertising Bureau (IAB) just released Q1 revenue numbers for advertising online which showed a 5% decline over the same period in 2008.  At $55 Billion in advertising revenue for Q1 2009, the amount is equal to 2007 revenue numbers. &#8220;Interactive advertising has taken its rightful place as a fixture on marketing plans across [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.iab.net/">Internet Advertising Bureau (IAB)</a> just released <a href="http://www.iab.net/about_the_iab/recent_press_releases/press_release_archive/press_release/pr-060509">Q1 revenue numbers for advertising online</a> which showed a 5% decline over the same period in 2008.  At $55 Billion in advertising revenue for Q1 2009, the amount is equal to 2007 revenue numbers. &#8220;Interactive advertising has taken its rightful place as a fixture on marketing plans across sectors, which means we aren’t immune to broader economic trends,&#8221; said Randall Rothenberg, President and CEO of the IAB.  </p>
<p><img class="aligncenter" title="IAB Revenue Graph" src="http://www.iab.net/media/image/pwc_q109.gif" alt="" width="550" height="297" /></p>
<p> </p>
<p>David Silverman, PricewaterhouseCoopers Assurance partner, stated &#8220;Current economic conditions are clearly challenging &#8230; nonetheless, interactive media continues to consume a larger piece of the overall advertising pie.&#8221; According to the <a href="http://www.iab.net/media/file/IAB_Interactive_Advertising_Outlook_2009.pdf">growth rates of advertising display mediums</a>, internet display ads were growing at 7% year over year from 2007 to 2008 while all other mediums (radio, newspaper, magazine, outdoor, etc) were shrinking, except for television which grew at a modest 2%.  </p>
<div>As we pointed out in our <a href="http://akfpartners.com/techblog/2009/03/17/monetization/">post about monetization</a>, we don&#8217;t necessarily believe that people are resentful of advertising on free services or that this downward trend is anything more than online advertising being tied to the economy. However, if you were a start up planning on starting monetization through advertising in 2009 this economy and downward move of advertising spend might have caught you at a particularly bad time. Had your business model <a href="http://akfpartners.com/techblog/2009/02/10/there-is-no-substitute-for-profitability/">built in profitability from the start</a>, you would not be immune from the economy but you would be able to react quicker and be impacted less. Amassing a following and then figuring out how to make it into a business is a great way to burn cash for a lot of years.</div>
<p><a href='http://theartofscalability.com'>The Art of Scalability</a></p>]]></content:encoded>
			<wfw:commentRss>http://akfpartners.com/techblog/2009/06/08/advertising-revenue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Problem With Food and Technology</title>
		<link>http://akfpartners.com/techblog/2009/06/01/the-problem-with-food-and-technology/</link>
		<comments>http://akfpartners.com/techblog/2009/06/01/the-problem-with-food-and-technology/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 15:05:08 +0000</pubDate>
		<dc:creator>Fish</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[hardware software]]></category>
		<category><![CDATA[Michael Pollan]]></category>
		<category><![CDATA[processed food products]]></category>
		<category><![CDATA[purpose driven technology]]></category>

		<guid isPermaLink="false">http://akfpartners.com/techblog/?p=290</guid>
		<description><![CDATA[If you are curious about the food that you eat a couple of books that I&#8217;d recommend are The Omnivore&#8217;s Dilemma and In Defense of Food both by Michael Pollan. One of the key pieces of advice to his readers is &#8220;Eat food. Not too much. Mostly plants.&#8221; Admittedly, I don&#8217;t follow that advice but it sounds [...]]]></description>
			<content:encoded><![CDATA[<p>If you are curious about the food that you eat a couple of books that I&#8217;d recommend are <a href="http://www.michaelpollan.com/omnivore.php">The Omnivore&#8217;s Dilemma</a> and <a href="http://www.michaelpollan.com/indefense.php">In Defense of Food</a> both by Michael Pollan. One of the key pieces of advice to his readers is &#8220;Eat food. Not too much. Mostly plants.&#8221; Admittedly, I don&#8217;t follow that advice but it sounds reasonable. The other interesting point in his books is how we have arrived at so much highly processed food. As Michael explains it this is because the food chain wants to grow more than the 1% per year population growth and therefore by processing the food more they can charge more and achieve faster growth. The result is not only higher prices but food with much higher caloric values. This &#8220;value add&#8221; by the members of the food chain reminded me of technology vendors.</p>
<p style="text-align: center;"><a title="La Vie en rose" href="http://flickr.com/photos/26396724@N05/2882279308"><img class="aligncenter" src="http://farm4.static.flickr.com/3252/2882279308_4da9b72ecb_m.jpg" alt="" /></a></p>
<p>A product (hardware or software) perhaps starts out as a unique technology that is innovative and sells because of this. Over time this product becomes less unique and eventually commoditized, everyone sells essentially the same product only differentiated by price. High tech companies generally don&#8217;t like selling commodity products because the profit margins continue to get squeezed each year. The way to prevent this is to add features to the product, sort of like making highly processed food products. The more &#8220;value&#8221; the vendor adds the more they can keep the price high. What we as the consumers are left with is highly processed products that are not what they were originally designed for.</p>
<p>What&#8217;s the problem you say? What&#8217;s the harm in a piece of network gear that does it all?  It routes, load balances, firewalls, manages sessions, and even can have business logic. The problem is that it was more than likely designed to do one of those things and when the vendor sells it to us as a &#8220;do everything&#8221; panacea we&#8217;re setting ourselves up for problems. This is not to say that it&#8217;s never okay to dual use hardware or software or that you can&#8217;t use added features of a vendor&#8217;s product. What we do say is that the more you rely on these the more you are tied to this vendor and the more likely you are to have problems with that product.</p>
<p>We have a term that we use with our customers to explain this, we call it &#8220;purpose driven hardware/software&#8221;. The general principle is to use the hardware or software for its original purpose, a load balancer as a load balancer and a database as a database. Use an <a href="http://akfpartners.com/techblog/2008/05/22/splitting-databases-for-scale/">X, Y, or Z axis split to scale your database</a>, don&#8217;t rely on a vendor for scale. Following this principle will 1) allow you to remain vendor agnostic, achieving the best pricing 2) rely on yourself for scaling not a vendor who may or may not release the next version/bug fix when you need to scale and 3) simplify your architecture which leads to less human error when everyone understands how the system works.</p>
<p><a href='http://theartofscalability.com'>The Art of Scalability</a></p>]]></content:encoded>
			<wfw:commentRss>http://akfpartners.com/techblog/2009/06/01/the-problem-with-food-and-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Art v. Science in Products</title>
		<link>http://akfpartners.com/techblog/2009/05/27/art-v-science-in-products/</link>
		<comments>http://akfpartners.com/techblog/2009/05/27/art-v-science-in-products/#comments</comments>
		<pubDate>Wed, 27 May 2009 15:27:21 +0000</pubDate>
		<dc:creator>Wabb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://akfpartners.com/techblog/?p=284</guid>
		<description><![CDATA[Bringing compelling and unique products to market requires a blend of art and science.  The art is the vision of what might be; the stirring promise of something that might change our lives or make it easier, faster or less costly to perform some function or task.  The science is the practical implementation of that [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;">Bringing compelling and unique products to market requires a blend of art and science.<span style="mso-spacerun: yes;">  </span>The art is the vision of what might be; the stirring promise of something that might change our lives or make it easier, faster or less costly to perform some function or task.<span style="mso-spacerun: yes;">  </span>The science is the practical implementation of that vision; the profitable development, manufacturing and deployment of the product in a manner that is accretive to shareholders.<span style="mso-spacerun: yes;">  </span>In our world, product vision embodies the art of what’s possible the science of the practical is defined by architecture, design, discipline and execution.<span style="mso-spacerun: yes;">  </span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;">Sometimes the intersection of what’s possible and what is practical is narrow or non-existent.<span style="mso-spacerun: yes;">  </span>In the case where it’s nonexistent we should run, not walk, away from the idea as very often it is destructive to shareholder value.<span style="mso-spacerun: yes;">  </span>Where that intersection exists but is small we should tread carefully to build something that can create shareholder value and hope that the foothold we create can expand once technology advances giving us a first mover advantage.<span style="mso-spacerun: yes;">  </span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">But what about when there is a larger intersection?<span style="mso-spacerun: yes;">  </span>Which is more important, the art or the science?<span style="mso-spacerun: yes;">  </span>While there are many people who will take one side or the other, and while I have my own opinion, the best answer is that you need both.<span style="mso-spacerun: yes;">  </span>Rarely is it the case that you will find someone with a compelling product vision and incredible execution skills as these two things seem to sit on opposite sides of a spectrum. It is much more likely that you will find someone who sits in the middle of the spectrum.<span style="mso-spacerun: yes;">  </span>These people can paint a vision and execute against it, but they aren’t Steve Jobs on the vision side or Jack Welch on the execution side.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="mso-spacerun: yes;"><span style="font-size: small; font-family: Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">We think some of the best teams are built with two people and potentially two organizations embodying the art and the science.<span style="mso-spacerun: yes;">  </span>A natural conflict occurs here, but it needn’t be an adversarial conflict.<span style="mso-spacerun: yes;">  </span>Assuming the appropriate company culture and a healthy respect for each other’s abilities and value-add to the company, it is possible for these people or organizations to work together and for the healthy tension to accelerate the creation of shareholder value.<span style="mso-spacerun: yes;">  </span>The “science” tethers the “art” and keeps it from wondering off aimlessly with no clear implementable path to value.<span style="mso-spacerun: yes;">  </span>The art buoys the science and keeps it from sinking and being mired for a lack of product differentiating vision.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;">As chief executives, it is our responsibility to attract and retain “the best of the best” within both the art and the science and to create a culture where both are valued.<span style="mso-spacerun: yes;">  </span>We should reward the folks who think and appear to be lost in the clouds to the same level as those who are attempting to keep them anchored to the practical.<span style="mso-spacerun: yes;">  </span>Neither should be seen as less or more important and the debates between them should be cordial and filled with mutual respect.</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: small; font-family: Times New Roman;"> </span></p>
<p><a href='http://theartofscalability.com'>The Art of Scalability</a></p>]]></content:encoded>
			<wfw:commentRss>http://akfpartners.com/techblog/2009/05/27/art-v-science-in-products/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.676 seconds -->
<!-- Cached page served by WP-Cache -->
