jj's picture

is using Amazon with your solution an alternative to a second "development server?"

i am tring to decide my best 360 degree workflow and was told by beanstlak support:

I've actually done some Magento development in the past, and unless you've got a particularly beefy computer, you're going to find it to be very cumbersome and slow. Magento is a memory hog, and is fitted far better to be running on a decent sized server. The other major benefit to doing your development in a proper server account is that you can configure your dev environment and your production environment to be very similar. Magento works best with careful tuning of Apache or Nginx (whatever your webhost preference), and you'll have far less headaches when development and production are similar.

Beanstalk uses either SVN or Git to version and store your files. Then it copies changed files to your production server environment via FTP or SFTP, rather than you having to manually copy or synchronize the servers. In your proposed workflow, you'd need SVN or Git on your development machine, but not on your production machine if you're using Beanstalk deployments.

Depending on the size of your store, my recommendation would be:

1. Go the route where you have a separate development server account. This server will need SVN or Git installed on it. This is easy to do so long as you have root SSH access to the server, which you'll need in order for it to be an effective development machine anyway.

2. Use Beanstalk (and either SVN or Git, whichever you're more comfortable with) to keep your site's files (all Magento core, plugin, and theme files including them images) versioned, but possibly exclude the media/ directory and any other directories that have large sets of rarely-changed large files.

3. Use a free tool like rsync that can be programmed to very quickly move large files around and keep the media directories on your server environments in sync. rsync is a command line tool, so it'll require some understanding. There's a good tutorial on how to use it here: http://everythinglinux.org/rsync/




so how does your soltuion compare, can it do all the same as if I go get a second normal hosting account?

can it do more? what?



Jeremy Davis's picture

Which is really flexable. It can be run as a production server or for development or testing. It can be run from a range of Virtual Environments (locally or in the cloud - eg AWS) or on bare metal. It has integrated backup and data migration via TKLBAM. As it is based on Ubuntu 10.04/Lucid the underlaying OS is well supported and can be extended in many, many different ways.

If you use AWS (or any other VPS provider that will allow you to install the current v11.x TKL) for production then you can use TKLBAM to migrate from your development server (that can be hosted anywhere with internet access) to your production one easily and painlessly.

One of the best things about TKL is that it is basically free - you only pay Amazon S3 usage fees for TKLBAM (assuming you use the default S3 backup storage) and hosting costs from your VPS provider (plus 10% on EC2 usage whch goes to TKL).

jj's picture

"If you use AWS for production then you can use TKLBAM to migrate from your development server"


i was thinking of using it for dev and then pushing to my already operating live sever. thats why i wonderd about svn, versioning, etc mentioned in OP - if I were to try AWS for dev and have my regualr host as production.

Jeremy Davis's picture

But if you aren't using a TKL appliance for production then you can't use TKLBAM. You will need to work out your own way of doing things. Git or SVN with Rsync are options although you'll need to set it all up yourself. TKLBAM can still take care of your dev backups though.

Add new comment