<?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>Webmonkey &#187; Instagram</title>
    <atom:link href="http://www.webmonkey.com/tag/instagram/feed/" rel="self" type="application/rss+xml" />
    <link>http://www.webmonkey.com</link>
    <description>The Web Developer&#039;s Resource</description>
    <lastBuildDate>Fri, 05 Apr 2013 20:20:46 +0000</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <generator>http://wordpress.org/?v=3.4.2</generator>
    
    <item>
        <title>Behind the Scenes at Instagram: Tools for Building Reliable Web Services</title>
        <link>http://www.webmonkey.com/2012/04/behind-the-scenes-at-instagram-tools-for-building-reliable-web-services/</link>
        <comments>http://www.webmonkey.com/2012/04/behind-the-scenes-at-instagram-tools-for-building-reliable-web-services/#comments</comments>
        <pubDate>Tue, 10 Apr 2012 16:58:59 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=55514</guid>
        		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Instagram]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2012/04/Instagram_logo-200x100.png" type="image/png" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2012/04/Instagram_logo.png" alt="Behind the Scenes at Instagram: Tools for Building Reliable Web Services" /></div>Want to build a web service that sells for a cool billion dollars? Instagram's developers have some advice for you: Choose your tools wisely.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><img class="aligncenter size-full wp-image-55519" title="Instagram_logo" src="http://www.webmonkey.com/wp-content/uploads/2012/04/Instagram_logo.png" alt="" width="200" height="200" />In case you missed it, yesterday <a href="http://www.wired.com/epicenter/2012/04/facebook-buys-instagram/">Facebook acquired Instagram</a>, a photo-sharing service with some 30 million users and hundreds of millions of images on its servers.</p>
<p>The reported sale price of one billion dollars no doubt has many developers dreaming of riches, but how do you build a service and scale it to the size and success of Instagram? At least part of the answer lies in choosing your tools wisely.</p>
<p>Fortunately for outside developers, Instagram&#8217;s devs have been documenting the tools they used all along. The company&#8217;s <a href="http://instagram-engineering.tumblr.com/">engineering blog</a> <a href="http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances-dozens-of">outlined its development stack</a> last year and has further detailed <a href="http://instagram-engineering.tumblr.com/post/12202313862/storing-hundreds-of-millions-of-simple-key-value-pairs">how it uses</a> several of the tools it&#8217;s chosen.</p>
<p>Instagram uses an interesting mashup of tried-and-true technologies alongside more cutting-edge tools, mixing SQL databases with NoSQL tools like Redis, and chosing to host its traditional Ubuntu servers in Amazon&#8217;s cloud.</p>
<p>In a blog post last year Instagram <a href="http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances-dozens-of">outlined its core principles</a> when it comes to chosing tools, writing, &#8220;keep it very simple, don&#8217;t reinvent the wheel [and] go with proven and solid technologies when you can.&#8221;</p>
<p>In other words, go with the boring stuff that just works.</p>
<p>For Instagram that means a Django-based stack that runs on Ubuntu 11.04 servers and uses PostgreSQL for storage. There are several additional layers for load balancing, push notifications, queues and other tasks, but overwhelmingly Instagram&#8217;s stack consists of stolid, proven tools.</p>
<p>Among the newer stuff is Instagram&#8217;s use of <a href="http://redis.io/">Redis</a> to store <a href="http://instagram-engineering.tumblr.com/post/12202313862/storing-hundreds-of-millions-of-simple-key-value-pairs">hundreds of millions of key-value pairs</a> for fast feeds, and <a href="http://gunicorn.org/">Gunicorn</a> instead of Apache as a web server.</p>
<p>All in all it&#8217;s a very impressive setup that has, thus far, helped Instagram avoid the down time that has plague many similar services hit with the same kind of exponential growth. (Twitter, I&#8217;m looking at you.) For more details on how Instagram looks behind the scenes and which tools the company uses, be sure to check out <a href="http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances-dozens-of">the blog post</a> as well as <a href="http://instagram-engineering.tumblr.com/archive">the archives</a>.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2012/04/behind-the-scenes-at-instagram-tools-for-building-reliable-web-services/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    </channel>
</rss>