<?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>tdistler.com &#187; architecture</title>
	<atom:link href="http://tdistler.com/tag/architecture/feed" rel="self" type="application/rss+xml" />
	<link>http://tdistler.com</link>
	<description>&#34;To err is human, but to really foul things up you need a computer.”</description>
	<lastBuildDate>Tue, 06 Dec 2011 20:46:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Inside the .NET CLR Garbage Collector</title>
		<link>http://tdistler.com/2011/09/09/inside-the-net-clr-garbage-collector</link>
		<comments>http://tdistler.com/2011/09/09/inside-the-net-clr-garbage-collector#comments</comments>
		<pubDate>Fri, 09 Sep 2011 15:00:29 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Code Monkey]]></category>
		<category><![CDATA[Tech and Security]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://tdistler.com/?p=1049</guid>
		<description><![CDATA[Here&#8217;s a great interview with Microsoft Technical Fellow and author of the CLR garbage collector, Patrick Dussud. How does GC, work, generally? Why is it important? The GC inside of the CLR is of a specfic type &#8211; ephemeral, concurrent (the server version has always been concuurent and now with Background GC on the client [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a great interview with Microsoft Technical Fellow and author of the CLR garbage collector, <a title="Profile: Patrick Dussud" href="http://www.microsoft.com/presspass/exec/techfellow/dussud/default.mspx" target="_blank">Patrick Dussud</a>.</p>
<blockquote><p>How does GC, work, generally? Why is it important? The GC inside of the CLR is of a specfic type &#8211; ephemeral, concurrent (the server version has always been concuurent and now with Background GC on the client in CLR 4, GC is concurrent on the client as well, but there are differences&#8230;)</p></blockquote>
<p><iframe style="height: 288px; width: 512px;" src="http://channel9.msdn.com/Shows/Going+Deep/E2E-Erik-Meijer-and-Patrick-Dussud-Inside-Garbage-Collection/player?w=512&amp;h=288" frameborder="0" scrolling="no" width="320" height="240"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://tdistler.com/2011/09/09/inside-the-net-clr-garbage-collector/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft&#8217;s Midori OS</title>
		<link>http://tdistler.com/2008/07/30/microsofts-midori-os</link>
		<comments>http://tdistler.com/2008/07/30/microsofts-midori-os#comments</comments>
		<pubDate>Wed, 30 Jul 2008 16:49:33 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech and Security]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://tdistler.com/?p=128</guid>
		<description><![CDATA[The SDTimes has an article up about a new operating system Microsoft is working on called &#8220;Midori&#8221;. It is based on their &#8220;Singularity&#8221; OS, with everything being written in managed code then natively compiled.  Rumor has it that this is the follow-on to the Windows platform&#8230; we&#8217;ll see if it ever materializes commercially. SDTimes bases [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" style="float: right;" src="/media/images/MicrosoftLogo.jpg" alt="Microsoft" width="150" height="41" />The <a title="SDTimes" href="http://www.sdtimes.com" target="_blank">SDTimes</a> has an <a title="SDTimes: Microsoft's plans for post-Windows OS revealed" href="http://www.sdtimes.com/MICROSOFT_S_PLANS_FOR_POST_WINDOWS_OS_REVEALED/About_CLOUDCOMPUTING_and_MOBILEDEVELOPMENT_and_NET_and_SOASAAS_and_SOFTWAREDEVELOPMENT_and_WINDOWS_and_MICROSOFT/32627" target="_blank">article</a> up about a new operating system Microsoft is working on called &#8220;Midori&#8221;. It is based on their &#8220;<a title="Microsoft Research: Singularity" href="http://research.microsoft.com/os/Singularity/" target="_blank">Singularity</a>&#8221; OS, with everything being written in managed code then natively compiled.  Rumor has it that this is the follow-on to the Windows platform&#8230; we&#8217;ll see if it ever materializes commercially. SDTimes bases the article on some internal documents they got access to, which may be why we haven&#8217;t seen this level of detail before (<a title="Wikipedia: Midori Operating System" href="http://en.wikipedia.org/wiki/Midori_(operating_system)" target="_blank">see the entry in Wikipedia</a>). From the article:</p>
<blockquote><p>According to the documentation, Midori will be built with an asynchronous-only  architecture that is built for task concurrency and parallel use of local and  distributed resources, with a distributed component-based and data-driven  application model, and dynamic management of power and other resources.</p></blockquote>
<blockquote><p>The Midori documents foresee applications running across a multitude of  topologies, ranging from client-server and multi-tier deployments to  peer-to-peer at the edge, and in the cloud data center. Those topologies form a  heterogeneous mesh where capabilities can exist at separate places.</p>
<p>In  order to efficiently distribute applications across nodes, Midori will introduce  a higher-level application model that abstracts the details of physical machines  and processors. The model will be consistent for both the distributed and local  concurrency layers, and it is internally known as Asynchronous Promise  Architecture.</p></blockquote>
<blockquote><p>&#8230;operating system services, such as storage, would either be provided to the  applications by the OS or be discovered across a trusted distributed  environment.</p></blockquote>
<p><span id="more-128"></span>The programming model and API are also changing to help developers develop in the new model (goodbye Win32):</p>
<blockquote><p>The Midori documents indicate that the proposed OS would have a non-blocking  object-oriented framework API. This would have strong notions of immutability—in  the sense of objects that cannot be modified once created—and strive to foster  application correctness through deep verifiability by using .NET programming  languages.</p></blockquote>
<blockquote><p>The Midori programming model will tackle state management, which Microsoft  admits in its documentation is a challenge in Windows, by migrating APIs,  applications and developers to a constrained model.</p>
<p>Other objectives are  eliminating dynamic loading and in-process extensions; developing a failure  model based on reliable transactions, so the system understands exactly which  processes are impacted by a cascading failure and how to restart the  computation; and having a standard way of dealing with latency, asynchronous  behavior and cancellation, throughout the stack.</p></blockquote>
<p>To provide better modularity (and to support mobile devices), Midori will be a micro-kernel:</p>
<blockquote><p>Unlike Windows, Microsoft intends for Midori to be componentized from the  beginning to achieve performance and security benefits. It will have strong  isolation boundaries and enforced contracts between components, to ensure that  servicing one component will not cause others to fail, while keeping overhead  minimal.</p>
<p>At its lowest level, Midori has two separate kernel layers: a  microkernel comprised of unmanaged code that controls hardware and environment  abstracts, and higher-level managed kernel services that provide the full set of  operating system functionality.</p></blockquote>
<p>There are a lot more gems in the article&#8230; definitely worth a read. Click <a title="SDTimes: Microsoft's plans for post-Windows OS revealed" href="http://www.sdtimes.com/MICROSOFT_S_PLANS_FOR_POST_WINDOWS_OS_REVEALED/About_CLOUDCOMPUTING_and_MOBILEDEVELOPMENT_and_NET_and_SOASAAS_and_SOFTWAREDEVELOPMENT_and_WINDOWS_and_MICROSOFT/32627" target="_blank">HERE</a> to read it.</p>
]]></content:encoded>
			<wfw:commentRss>http://tdistler.com/2008/07/30/microsofts-midori-os/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YouTube&#8217;s Architecture and Scalability</title>
		<link>http://tdistler.com/2008/07/23/youtubes-architecture-and-scalability</link>
		<comments>http://tdistler.com/2008/07/23/youtubes-architecture-and-scalability#comments</comments>
		<pubDate>Wed, 23 Jul 2008 14:36:54 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech and Security]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://tdistler.com/?p=127</guid>
		<description><![CDATA[High Scalability has a great link to a video TechTalk with Cuong Do, YouTube&#8217;s engineering manager. He talks about the challenges YouTube faces (past and present) to meet it&#8217;s skyrocketing user demand, as well as the infrastructure that allows them to scale. I enjoyed the anecdotes: especially the frantic email sent at 2am alerting the [...]]]></description>
			<content:encoded><![CDATA[<p><a title="High Scalability" href="http://highscalability.com" target="_blank">High Scalability</a> has a great link to a video <a title="YouTube: Google Tech Talks" href="http://youtube.com/user/googletechtalks" target="_blank">TechTalk</a> with Cuong Do, <a title="YouTube" href="http://youtube.com/" target="_blank">YouTube&#8217;s</a> engineering manager. He talks about the challenges YouTube faces (past and present) to meet it&#8217;s skyrocketing user demand, as well as the infrastructure that allows them to scale. I enjoyed the anecdotes: especially the frantic email sent at 2am alerting the dev team that they only had 3 days of storage left&#8230; I always thought Google/YouTube would be immune to emergencies like that&#8230; ignorance on my part <img src='http://tdistler.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  </p>
<p style="text-align: center;"><object type="application/x-shockwave-flash" data="http://www.youtube.com/v/ZW5_eEKEC28&amp;hl=en" width="425" height="355"><param name="movie" value="http://www.youtube.com/v/ZW5_eEKEC28&amp;hl=en" /><param name="FlashVars" value="playerMode=embedded" /><param name="wmode" value="transparent" /></object></p>
<p style="text-align: center;">(requires <a href="http://www.adobe.com/products/flashplayer/" target="_blank">Adobe Flash</a> plugin&#8230; click <a href="http://www.youtube.com/watch?v=ZW5_eEKEC28" target="_blank">HERE</a> to watch it on YouTube)</p>
<p>I found this information interesting:</p>
<ul>
<li>The application code is written mostly in <a title="Python" href="http://www.python.org/" target="_blank">Python</a> (the web app is not the bottleneck&#8230; the database RPC is)</li>
<li>They use <a title="Apache Webserver" href="http://httpd.apache.org/" target="_blank">Apache</a> for page content and <a title="lighttpd Webserver" href="http://www.lighttpd.net/" target="_blank">lighttpd</a> for serving video</li>
<li>Thumbnails are now served by <a title="Wikipedia: Google BitTable" href="http://en.wikipedia.org/wiki/BigTable" target="_blank">Google&#8217;s BigTable</a></li>
<li>They&#8217;re running <a title="SuSE Linux" href="http://www.novell.com/linux/" target="_blank">SuSE</a> Linux with <a title="MySQL" href="http://www.mysql.com/" target="_blank">MySQL</a></li>
<li>HW <a title="Wikipedia: RAID" href="http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks" target="_blank">RAID</a>-10 across multiple disks was too slow. HW RAID-1 with SW RAID-0 was faster because the Linux I/O scheduler could see the multiple volumes and would therefore schedule more I/O</li>
</ul>
<p>You can read a good summary of the talk <a title="High Scalability: YouTube Architecture" href="http://highscalability.com/youtube-architecture" target="_blank">HERE</a> from the High Scalability website.</p>
<p><a title="Tech Crunch: YouTube: The Platform" href="http://www.techcrunch.com/2008/03/12/youtube-the-platform/" target="_blank">TechCruch</a> has a good article of the <a title="YouTube" href="http://youtube.com/" target="_blank">YouTube</a> API.</p>
]]></content:encoded>
			<wfw:commentRss>http://tdistler.com/2008/07/23/youtubes-architecture-and-scalability/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Interview with Mastercard&#8217;s Rob Reeg</title>
		<link>http://tdistler.com/2008/07/20/interview-with-mastercards-rob-reeg</link>
		<comments>http://tdistler.com/2008/07/20/interview-with-mastercards-rob-reeg#comments</comments>
		<pubDate>Sun, 20 Jul 2008 22:10:52 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech and Security]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://tdistler.com/?p=125</guid>
		<description><![CDATA[CIO has a good interview with Rob Reeg, president of Mastercard&#8217;s Global Technology and Operations. He discusses their infrastructure and processing architecture. Definitely worth looking at if you&#8217;re interested in how credit card transactions are processed. Interviewer: How big of an infrastructure do you have to support and maintain? It must be huge. Reeg: Actually [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" style="float: right;" src="/media/images/MastercardLogo.jpg" alt="Mastercard Logo" width="136" height="84" /><a title="CIO" href="http://www.cio.com" target="_blank">CIO</a> has a good interview with Rob Reeg, president of Mastercard&#8217;s Global Technology and Operations. He discusses their infrastructure and processing architecture. Definitely worth looking at if you&#8217;re interested in how credit card transactions are processed.</p>
<blockquote><p><strong>Interviewer:</strong> How big of an infrastructure do you have to support and maintain? It  must be huge.</p>
<p><strong>Reeg:</strong> Actually from a pure server footprint standpoint&#8230; we probably have fewer actual footprint servers because of  techniques like virtualization that help us leverage one box to do multiple  things.</p>
<p>Where it gets interesting is philosophically: We try to put [transaction]  processing as close to our customers, the banks, as possible. When we talk about  the global network, we have small servers that sit with the bank customers that  connect to our network. What it does is it gives us intelligence there at the  end of the network. So as a transaction comes through, we can take a look at  that transaction and decide how do we best process that transaction for the  benefit of all those four parties in the model.</p>
<p>As to processing, the majority of transactions we&#8217;re looking at relate to how  do we process them as fast as possible in the most accurate way. The way to do  that is by peer to peer: If you&#8217;re using your card in Europe, in London, say,  and you swipe your card as you check out of hotel, we can route that transaction  to the hotel&#8217;s acquiring bank in London directly to your issuing bank and get  that message back for approval without ever going through St. Louis or some big  data center in the middle of all that.</p></blockquote>
<p>You can read the full article <a title="CIO: The Man Behind Mastercard's 100 Terabyte Data Warehouse" href="http://www.cio.com/article/438138/The_Man_Behind_MasterCard_s_Terabyte_Data_Warehouse" target="_blank">HERE</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tdistler.com/2008/07/20/interview-with-mastercards-rob-reeg/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interview with Digg&#8217;s Enterprise Architect</title>
		<link>http://tdistler.com/2008/07/07/interview-with-diggs-enterprise-architect</link>
		<comments>http://tdistler.com/2008/07/07/interview-with-diggs-enterprise-architect#comments</comments>
		<pubDate>Tue, 08 Jul 2008 00:20:51 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech and Security]]></category>
		<category><![CDATA[architecture]]></category>

		<guid isPermaLink="false">http://tdistler.com/?p=109</guid>
		<description><![CDATA[Systems Management News has up an interview with Ron Gorodetzky, enterprise architect for Digg. It&#8217;s an interesting look at the challenges Digg faced scaling to meet it success (over 26 million unique visitors a month). They&#8217;re using a LAMP stack (Linux, Apache, MySQL, PHP), with MogileFS as their backend distributed file system. To help manage [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Systems Management News" href="http://www.sysmannews.com" target="_blank"><img class="alignright" style="float: right;" src="/media/images/DiggLogo.jpg" alt="Digg Logo" width="127" height="73" />Systems Management News</a> has up an interview with Ron Gorodetzky, enterprise architect for <a title="Digg" href="http://digg.com" target="_blank">Digg</a>. It&#8217;s an interesting look at the challenges Digg faced scaling to meet it success (over 26 million unique visitors a month). They&#8217;re using a LAMP stack (Linux, Apache, MySQL, PHP), with <a title="MogileFS" href="http://www.danga.com/mogilefs" target="_blank">MogileFS</a> as their backend distributed file system. To help manage their infrastructure, Digg uses <a title="Reductive Labs: Puppet" href="http://reductivelabs.com" target="_blank">Puppet</a>.</p>
<p>Ron highlights a commom problem all architects face when they try to scale their software: the database.</p>
<blockquote><p>“The first pain point we hit was just database stuff. The first thing you&#8217;ll  notice is when you start to grow these queries, the database can&#8217;t commit as  much time to committing a certain query as it used to,” said Gorodetzky. “You&#8217;ll  find the normal things that work, suddenly don&#8217;t. You&#8217;ll find that, one day,  you&#8217;ll see a spike in your graphs telling you that something&#8217;s going slower.  Once you do that, you get to the point where the database part is as fast as it  can be, you cache things.</p></blockquote>
<p>You can read the full article <a title="Digging His Way to Web Success" href="http://www.sysmannews.com/content/article.aspx?ArticleID=32490" target="_blank">HERE</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tdistler.com/2008/07/07/interview-with-diggs-enterprise-architect/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scalability Best Practices: Lessons from eBay</title>
		<link>http://tdistler.com/2008/05/30/scalability-best-practices-lessons-from-ebay</link>
		<comments>http://tdistler.com/2008/05/30/scalability-best-practices-lessons-from-ebay#comments</comments>
		<pubDate>Fri, 30 May 2008 15:24:23 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Code Monkey]]></category>
		<category><![CDATA[architecture]]></category>

		<guid isPermaLink="false">http://tdistler.com/2008/05/30/scalability-best-practices-lessons-from-ebay</guid>
		<description><![CDATA[InfoQ has a great article up from Randy Shoup, a senior architect at eBay. He discusses the philosophies and practices employed by eBay to ensure their software scales to the demands of the site. I like articles like this because the techniques used by large systems (eBay, Google, Amazon, etc) tend to also apply to [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="/media/images/logoEbay.gif" alt="eBay" /><a href="http://www.infoq.com/articles/ebay-scalability-best-practices" target="_blank">InfoQ has a great article up from Randy Shoup</a>, a senior architect at eBay. He discusses the philosophies and practices employed by eBay to ensure their software scales to the demands of the site. I like articles like this because the techniques used by large systems (eBay, Google, Amazon, etc) tend to also apply to smaller systems. These larger systems help flush out the problems that a smaller system may not run into until it is too late.</p>
<p>From the article:</p>
<blockquote><p>At eBay, one of the primary architectural forces we contend with every day is scalability. It colors and drives every architectural and design decision we make. With hundreds of millions of users worldwide, over two billion page views a day, and petabytes of data in our systems, this is not a choice &#8211; it is a necessity.</p></blockquote>
<p>Click <a href="http://www.infoq.com/presentations/shoup-ebay-architectural-principles" target="_blank">HERE</a> to watch the video presentation and corresponding slides.</p>
]]></content:encoded>
			<wfw:commentRss>http://tdistler.com/2008/05/30/scalability-best-practices-lessons-from-ebay/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

