<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: How we built buildabrand. A sneak peak.</title>
	<atom:link href="http://buildabrand.com/news/2009/08/how-we-built-buildabrand-a-sneak-peak/feed/" rel="self" type="application/rss+xml" />
	<link>http://buildabrand.com/news/2009/08/how-we-built-buildabrand-a-sneak-peak/</link>
	<description>Professional branding for the masses</description>
	<lastBuildDate>Thu, 15 Jul 2010 12:59:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Ben Francis</title>
		<link>http://buildabrand.com/news/2009/08/how-we-built-buildabrand-a-sneak-peak/comment-page-1/#comment-43</link>
		<dc:creator>Ben Francis</dc:creator>
		<pubDate>Tue, 25 Aug 2009 10:35:59 +0000</pubDate>
		<guid isPermaLink="false">http://buildabrand.com/news/?p=30#comment-43</guid>
		<description>That&#039;s very interesting, thanks Justin!

One further question - does your setup allow your database cluster to automatically or &quot;elastically&quot; scale up and down (horizontally, if that makes any sense!) based on demand? it sounds as though increasing or decreasing the number of nodes in the cluster would require manually creating or removing a new server instance and an EBS volume for it to persist to, mounting the EBS volume on the instance, then somehow adding that node into the cluster.

Another hosting solution our team looked at was Google App Engine. GAE provides this kind of database elasticity by default, and can host both Java and Python, but also has its own limitations and the data store isn&#039;t a relational database. I&#039;m guessing the lack of mass file storage on GAE would have been an issue for you too. For us, the problem was not being able to run Apache Jackrabbit using the data store and without Java threading support.</description>
		<content:encoded><![CDATA[<p>That&#8217;s very interesting, thanks Justin!</p>
<p>One further question &#8211; does your setup allow your database cluster to automatically or &#8220;elastically&#8221; scale up and down (horizontally, if that makes any sense!) based on demand? it sounds as though increasing or decreasing the number of nodes in the cluster would require manually creating or removing a new server instance and an EBS volume for it to persist to, mounting the EBS volume on the instance, then somehow adding that node into the cluster.</p>
<p>Another hosting solution our team looked at was Google App Engine. GAE provides this kind of database elasticity by default, and can host both Java and Python, but also has its own limitations and the data store isn&#8217;t a relational database. I&#8217;m guessing the lack of mass file storage on GAE would have been an issue for you too. For us, the problem was not being able to run Apache Jackrabbit using the data store and without Java threading support.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Shanley</title>
		<link>http://buildabrand.com/news/2009/08/how-we-built-buildabrand-a-sneak-peak/comment-page-1/#comment-42</link>
		<dc:creator>Dave Shanley</dc:creator>
		<pubDate>Tue, 25 Aug 2009 09:06:23 +0000</pubDate>
		<guid isPermaLink="false">http://buildabrand.com/news/?p=30#comment-42</guid>
		<description>Hi Ben, 

Yes, you&#039;re right: we use EBS to persist data permanently. You&#039;re also right when you state that EC2 instances don&#039;t have non-volatile storage (once you shut down the instance, it&#039;s all wiped clean). EBS works by creating a virtual drive, known as a volume. You decide how large you want the volume (minimum is 1GB, but can go into the tens of TB&#039;s). Once you have created your volume, you can then attach it to any one of your instances with a few commands, or, using the AWS console, you can do it by just pointing and clicking. Once you have attached the volume to your instance, you will need to create a file system on it (if it&#039;s brand new and has never been used).

When you attach your EBS volume, you define a device type, like /dev/sdaf, so on your instance you can simply mount a new drive as if it were a new hard disk. Then, configure your database node (or whatever system you want to persist data to to use that mount point instead of writing to the local file system) and voila! you have non-volatile storage. When you are done with your instance, when you shut it down. Your EBS volume will simply be unmounted and wait to be used again. AWS have also given the ability to create snapshots of your volumes so backups are a breeze! If you configure your AMI to always use your new EBS volume, you will have a pretty robust setup. You can create as many volumes as you like and attach and detach them to any instance at any time (though you can only ever have one volume attached to one instance at a time).

Hope that clears things up.

Let me know if you have any other questions.</description>
		<content:encoded><![CDATA[<p>Hi Ben, </p>
<p>Yes, you&#8217;re right: we use EBS to persist data permanently. You&#8217;re also right when you state that EC2 instances don&#8217;t have non-volatile storage (once you shut down the instance, it&#8217;s all wiped clean). EBS works by creating a virtual drive, known as a volume. You decide how large you want the volume (minimum is 1GB, but can go into the tens of TB&#8217;s). Once you have created your volume, you can then attach it to any one of your instances with a few commands, or, using the AWS console, you can do it by just pointing and clicking. Once you have attached the volume to your instance, you will need to create a file system on it (if it&#8217;s brand new and has never been used).</p>
<p>When you attach your EBS volume, you define a device type, like /dev/sdaf, so on your instance you can simply mount a new drive as if it were a new hard disk. Then, configure your database node (or whatever system you want to persist data to to use that mount point instead of writing to the local file system) and voila! you have non-volatile storage. When you are done with your instance, when you shut it down. Your EBS volume will simply be unmounted and wait to be used again. AWS have also given the ability to create snapshots of your volumes so backups are a breeze! If you configure your AMI to always use your new EBS volume, you will have a pretty robust setup. You can create as many volumes as you like and attach and detach them to any instance at any time (though you can only ever have one volume attached to one instance at a time).</p>
<p>Hope that clears things up.</p>
<p>Let me know if you have any other questions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Francis</title>
		<link>http://buildabrand.com/news/2009/08/how-we-built-buildabrand-a-sneak-peak/comment-page-1/#comment-41</link>
		<dc:creator>Ben Francis</dc:creator>
		<pubDate>Tue, 25 Aug 2009 08:04:05 +0000</pubDate>
		<guid isPermaLink="false">http://buildabrand.com/news/?p=30#comment-41</guid>
		<description>Hi Justin,

Thanks for sharing this information, it&#039;s interesting to see that you took similar decisions to a team I&#039;m working on at the moment.

I&#039;m curious to know how you&#039;re persisting the data in your MySQL cluster. As I understand it, EC2 instances don&#039;t have non-volatile storage so you have to use one of Amazon&#039;s data storage services as a back end. Are you using Elastic Block Storage to store the data from your MySQL cluster, and how does that work exactly?

Thanks

Ben</description>
		<content:encoded><![CDATA[<p>Hi Justin,</p>
<p>Thanks for sharing this information, it&#8217;s interesting to see that you took similar decisions to a team I&#8217;m working on at the moment.</p>
<p>I&#8217;m curious to know how you&#8217;re persisting the data in your MySQL cluster. As I understand it, EC2 instances don&#8217;t have non-volatile storage so you have to use one of Amazon&#8217;s data storage services as a back end. Are you using Elastic Block Storage to store the data from your MySQL cluster, and how does that work exactly?</p>
<p>Thanks</p>
<p>Ben</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://buildabrand.com/news/2009/08/how-we-built-buildabrand-a-sneak-peak/comment-page-1/#comment-8</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Tue, 11 Aug 2009 10:22:36 +0000</pubDate>
		<guid isPermaLink="false">http://buildabrand.com/news/?p=30#comment-8</guid>
		<description>Thank you Justin,

You could teach Web Oriented Architectures in University! 
Your answers where very clear and convincing.

Do you have some resources (web) or books to suggest about solid web architecture strategy?
Ok last question (alternatives) : if someone would decided to choose Python, would you also choose Google Apps engine?

Your service will be a hit, and we know that well scale forever :-D

Cheers</description>
		<content:encoded><![CDATA[<p>Thank you Justin,</p>
<p>You could teach Web Oriented Architectures in University!<br />
Your answers where very clear and convincing.</p>
<p>Do you have some resources (web) or books to suggest about solid web architecture strategy?<br />
Ok last question (alternatives) : if someone would decided to choose Python, would you also choose Google Apps engine?</p>
<p>Your service will be a hit, and we know that well scale forever <img src='http://buildabrand.com/news/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Champney</title>
		<link>http://buildabrand.com/news/2009/08/how-we-built-buildabrand-a-sneak-peak/comment-page-1/#comment-5</link>
		<dc:creator>Justin Champney</dc:creator>
		<pubDate>Mon, 10 Aug 2009 21:08:28 +0000</pubDate>
		<guid isPermaLink="false">http://buildabrand.com/news/?p=30#comment-5</guid>
		<description>Hello Dave, 

Thanks ever so much for your comment and your feedback. Here are the answers to your questions: 
&lt;ol&gt;
	&lt;li&gt;We store our client and product data &amp; meta data using MySQL, however we store our raw assets and generated branding on S3. We use both because storing binary data in a database is a bad idea, it can get corrupted easily when restoring / backing up. S3 is lightning fast for serving binary content and infinitely scalable - we never need to worry about runing out of disk space!&lt;/li&gt;
	&lt;li&gt;Rails is great for web sites. It is not so great for background processes or process intensive heavy lifting (one of the reasons why twitter migrated to Scala from Rails). It was a toss up between Python with Django and Java with Struts 2. We chose Java (there was no learning curve for us).&lt;/li&gt;
	&lt;li&gt;You&#039;re correct! AWS does provide the load balancer, we haven&#039;t implemented our own. Sorry if that wasn&#039;t clear.&lt;/li&gt;
&lt;/ol&gt;

Hope that clears some questions up, feel free to ask any more!</description>
		<content:encoded><![CDATA[<p>Hello Dave, </p>
<p>Thanks ever so much for your comment and your feedback. Here are the answers to your questions: </p>
<ol>
<li>We store our client and product data &#038; meta data using MySQL, however we store our raw assets and generated branding on S3. We use both because storing binary data in a database is a bad idea, it can get corrupted easily when restoring / backing up. S3 is lightning fast for serving binary content and infinitely scalable &#8211; we never need to worry about runing out of disk space!</li>
<li>Rails is great for web sites. It is not so great for background processes or process intensive heavy lifting (one of the reasons why twitter migrated to Scala from Rails). It was a toss up between Python with Django and Java with Struts 2. We chose Java (there was no learning curve for us).</li>
<li>You&#8217;re correct! AWS does provide the load balancer, we haven&#8217;t implemented our own. Sorry if that wasn&#8217;t clear.</li>
</ol>
<p>Hope that clears some questions up, feel free to ask any more!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://buildabrand.com/news/2009/08/how-we-built-buildabrand-a-sneak-peak/comment-page-1/#comment-4</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Mon, 10 Aug 2009 20:45:40 +0000</pubDate>
		<guid isPermaLink="false">http://buildabrand.com/news/?p=30#comment-4</guid>
		<description>Hi guys,

first of all I wish a huge success because your ideas are brilliant and your service looks disruptive. 

I have few and very dumb questions on the architecure (I&#039;m not an experienced engineer and I&#039;m going to create a my first startup) :

1)Why do you need two different storages : Amazon S3 and MYSQL ? 

2)Why did you discarded Ruby on Rails in favor of Java ?

3) Load balancing : why do you need to implement your own load balancer , is not Amazon EC2 providing that ?

I know this are really rookie questions, but you inveted to ask ;-) , I can&#039;t miss such opportunity :D

Looking forward to use your service.

And thank you in case you will aswer my questions .

Cheers
Dave</description>
		<content:encoded><![CDATA[<p>Hi guys,</p>
<p>first of all I wish a huge success because your ideas are brilliant and your service looks disruptive. </p>
<p>I have few and very dumb questions on the architecure (I&#8217;m not an experienced engineer and I&#8217;m going to create a my first startup) :</p>
<p>1)Why do you need two different storages : Amazon S3 and MYSQL ? </p>
<p>2)Why did you discarded Ruby on Rails in favor of Java ?</p>
<p>3) Load balancing : why do you need to implement your own load balancer , is not Amazon EC2 providing that ?</p>
<p>I know this are really rookie questions, but you inveted to ask <img src='http://buildabrand.com/news/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  , I can&#8217;t miss such opportunity <img src='http://buildabrand.com/news/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Looking forward to use your service.</p>
<p>And thank you in case you will aswer my questions .</p>
<p>Cheers<br />
Dave</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Mascarenhas</title>
		<link>http://buildabrand.com/news/2009/08/how-we-built-buildabrand-a-sneak-peak/comment-page-1/#comment-3</link>
		<dc:creator>Kevin Mascarenhas</dc:creator>
		<pubDate>Mon, 10 Aug 2009 03:32:30 +0000</pubDate>
		<guid isPermaLink="false">http://buildabrand.com/news/?p=30#comment-3</guid>
		<description>Hi Justin,

I sat next to you at the Business Link &quot;Start Up&quot; course a month or so back. I have two months in which to develop my business proposition. I&#039;m really keen to use your platform. I was hoping to be part of your closed loop beta testing group.

I&#039;m developing my ideas around a design consultancy for ecological and sustainable land management. In October, I leave for a study tour in central America. 

I look forward to hearing from you. 
Cheers
Kevin Mascarenhas</description>
		<content:encoded><![CDATA[<p>Hi Justin,</p>
<p>I sat next to you at the Business Link &#8220;Start Up&#8221; course a month or so back. I have two months in which to develop my business proposition. I&#8217;m really keen to use your platform. I was hoping to be part of your closed loop beta testing group.</p>
<p>I&#8217;m developing my ideas around a design consultancy for ecological and sustainable land management. In October, I leave for a study tour in central America. </p>
<p>I look forward to hearing from you.<br />
Cheers<br />
Kevin Mascarenhas</p>
]]></content:encoded>
	</item>
</channel>
</rss>
