<?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>Jeremy's Thoughts &#187; webapp deployment</title>
	<atom:link href="http://velohacker.com/tag/webapp-deployment/feed/" rel="self" type="application/rss+xml" />
	<link>http://velohacker.com</link>
	<description>Ramblings of a Cyclist Hacker</description>
	<lastBuildDate>Fri, 13 Jan 2012 02:12:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Why do all deployment systems suck?</title>
		<link>http://velohacker.com/fedora-notes/why-do-all-deployment-systems-suck/</link>
		<comments>http://velohacker.com/fedora-notes/why-do-all-deployment-systems-suck/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 02:50:16 +0000</pubDate>
		<dc:creator>Jeremy</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[HubSpot]]></category>
		<category><![CDATA[capistrano]]></category>
		<category><![CDATA[fabric]]></category>
		<category><![CDATA[webapp deployment]]></category>

		<guid isPermaLink="false">http://velohacker.com/?p=3973</guid>
		<description><![CDATA[At HubSpot, we have a pretty wide array of different things being used for the webapps running behind the scenes. This isn&#8217;t surprising. There&#8217;a also some home-grown scripts (in python, as that&#8217;s the scripting language of choice&#8230; something I&#8217;m not &#8230; <a href="http://velohacker.com/fedora-notes/why-do-all-deployment-systems-suck/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://hubspot.com">HubSpot</a>, we have a pretty wide array of different things being used for the webapps running behind the scenes.  This isn&#8217;t surprising.  There&#8217;a also some home-grown scripts (in python, as that&#8217;s the scripting language of choice&#8230; something I&#8217;m not complaining about) to take care of deploying the various webapps.  It works, but I really want to get it doing a bit more so that it&#8217;s more useful and also get the different scripts doing a bit more sharing of code so that we can improve one place and get the benefits for everything.</p>
<p>Given that this seemed like a pretty typical problem, I figured I&#8217;d take a look and see what open source projects exist out there to see if any of them were suitable or could be at least close to a good fit for what we need and want.  Unfortunately, I was kind of disappointed&#8230;</p>
<ul>
<li><b><a href="http://www.capify.org/">Capistrano</a></b> seems to be the big player in this arena.  It was originally written for Rails and still very very strongly shows that heritage.  This isn&#8217;t necessarily bad, but it makes it a lot harder to get to work if you&#8217;re not doing something that&#8217;s rails-like.  There are some people who have gotten some things working with Java app deployments for tomcat, but they all feel a bit hacky.  The other downside for me/us is that Capistrano is very much Ruby-based, both in how its own deployment language looks as well as some of the &#8220;how it depends on things working&#8221; aspects.  Also, the fact that it&#8217;s written in Ruby and thus a little bit more difficult for us to hack on if/when we run into problems is a point against.  So it&#8217;s probably a non-starter for now, or at least a pretty difficult sell
<li><b><a href="http://www.nongnu.org/fab/">Fabric</a></b> is written in python and seems to be following in the footsteps of Capistrano.  Right now, it&#8217;s far far simpler.  This is in some ways good but some of the pieces that we&#8217;d want (eg, scm integration) aren&#8217;t there and so I&#8217;d have to write them.  And I&#8217;m not sure if the Fabric devs are really interested in expanding in that way; haven&#8217;t sent email yet, but planning to tomorrow to feel it out.
<li><b>Config Management + Binary deployment</b> is the approach taken in <a href="https://fedoraproject.org/wiki/Infrastructure">Fedora Infrastructure</a> for app deployment and it seems to be working pretty well there.  It might be something to get to eventually, but that&#8217;s going to be a longer term thing and I&#8217;m not actually convinced that it&#8217;s really the best approach.  For Fedora it grew out of only a couple of things which could be considered &#8220;webapps&#8221; and a lot of system config that has turned much later into more webapps.  It also pre-supposes a bit more homogenous of an environment than we use at HubSpot from the work I did there
<li><b><a href="https://fedorahosted.org/func/">Func</a></b> is something that a few people have been working on that I keep wanting to find a use for but it seems a little less well suited to doing a lot of java app building/deployment given that it&#8217;s more https/xml-rpc based than shell based.
<li><b>Roll your own</b> is what we&#8217;re doing now and what it seems like is pretty common.  I don&#8217;t necessarily like this, but it&#8217;s certainly the path of least resistance
</ul>
<p>So, what am I missing?  Is there some great tool out there that I haven&#8217;t come found that you&#8217;re using for Java (and more) webapp deployments?  Bonus points if its python-based and pretty extensible.  </p>
]]></content:encoded>
			<wfw:commentRss>http://velohacker.com/fedora-notes/why-do-all-deployment-systems-suck/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

