On 2011-08-22, at 4:04 PM, Cal Leeming [Simplicity Media Ltd] wrote:

>> > - How will new versions of the product (new code and new content) be 
>> > provided?
>> 
>> New versions are part of our contract. We're going to provide them via a 
>> tarball containing the code, the media files, a content fixture, and a pip 
>> bundle containing the project's python dependencies. We'll use a deployment 
>> script that will put all those things in place on the server once the 
>> tarball is unpacked and activate the new version in a way that minimizes 
>> downtime and allows for a rollback if anything seems screwy with the new 
>> version.
> 
> Assuming your engineers are going to be doing these updates manually, and you 
> are not looking for some sort of auto deployment update system, then this 
> approach is fine.
> 
> Does your product need to consider licensing/obfuscation??
Good question. I don't think so, but I'll ask. I sure hope not.

>> Out of all of that, the part I like the least is the deployment script part. 
>> I don't think we can provide much less than this without creating serious 
>> roadblocks to actually getting this thing deployed by disinterested IT 
>> departments, but maybe we're over-thinking it. And if we're not, I'm worried 
>> that there are tools or conventions out there that we should be using. We 
>> use fabric, pip, virtualenv and puppet, but there's still this script for 
>> putting everything in place on the server and smoothly switching over from 
>> one version to the next that's basically home grown.
> 
> A lot of places that give customers 'appliances' in the form of VM images, 
> will just insist they export their data, re-install the latest appliance, 
> then re-import. Although thankfully, most now realise this is a retarded 
> approach and allow updates without re-imaging.
> 
> To allow auto update, you need to have a very very very robust testing and 
> release procedure. You need to ensure clients are given appropriate notice, 
> risk assessment etc.
> 
> Don't automate if it causes more problems than solutions :)

I assume by "auto update" you mean a completely autonomous updating solution. 
We don't plan to offer that, at least not any time soon. Our plan is to require 
a sysadmin to deploy the update, but the deployment workflow will be as close 
to "turnkey" as we can get.

For our initial release the deployment interface will be via the shell, but in 
some future version I'd like to wrap it in a web interface and add support for 

Sam

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to