Solved

How to update our application on an autoscaling EC2 stack

Posted on 2014-02-28
4
728 Views
Last Modified: 2014-11-12
Hi,

We have a particularly unique situation so I will try to be as clear as I can be.

Background information:
We are a SaaS business that currently runs a LAMP stack application on amazon EC2. We have no autoscaling and we plan to move to it in the very near future. Our deployment processes are moving towards agile development but we're not quite there yet. We run subversion as our version control system from which we manage multiple versions of our code at the same time.

End Goal:
We want to move to autoscaling using Amazon's Autoscaling infrastructure with CloudFormation for our web servers only at the moment. We're currently stuck on coming up with a method to perform updates to our code base all at the same time, whenever we want. The key here is that the update needs to be performed at the same time across all servers (we can allow for a small delay between updates of each server <1 min). I know that Amazon cloud formation can perform updates to the stack, but from what I have read the servers will update on their own time within a 15 minute period. This is of course not feasible as we don't want our clients on different versions of a particular code base.

We've thought about using a custom script on a permanent server that will push commands to update the code base on each server (by forking a process to each instance in the autoscaling group) but don't know if that's the best route. We're also trying to avoid having to re-bake the AMI used in the launch config to have new code in it.

The Question:
Does anyone know a method that works for them for updating the codebase on autoscaling servers that doesn't require building a new AMI for each release?

Thanks very much for your help!
0
Comment
Question by:alon_sabi
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 33

Expert Comment

by:shalomc
ID: 39898462
The key is using your own application configuration management tools.
CloudFormation deals only with infrastructure, and has a hook to bootstrap configuration scripts.
Choose either Chef or Puppet as your tool.
CloudFormation will start a base AMI with latest patches and a Puppet client.
The Puppet client will pull the application from SVN.

When there is an application change, the Puppet master will push application changes on demand to all servers.
0
 

Author Comment

by:alon_sabi
ID: 39904389
Your answer is actually very insightful. I was unaware puppet uses a pub/sub method for delivering update commands to servers. I don't think puppet is exactly good for us at the moment as we're still fairly small company, but it got me looking into it.

I'm more inclined to use an amazon service like SNS and SQS for this over puppet's ActiveMQ implementation.

What're your thoughts about this?
0
 
LVL 33

Accepted Solution

by:
shalomc earned 500 total points
ID: 39907109
So you want to create your own configuration management clients and c&c.
I am not a fan of reinventing stuff unlesd it really makes sense, and I am not convinced that it does in your case.
If you feel that puppet is too big for you, why dont you try Amazon Opsworks? Its even mostly free...
0
 

Author Comment

by:alon_sabi
ID: 39907141
Thanks, I'll check out OpsWorks. I'll be honest I didn't even think to consider it.

Thanks again :)
0

Featured Post

Defend Your Organization from The Greatest Threats

Looking to fill the gaps in your security? Bring together information from the network, endpoint and threat intelligence feeds to really see what's happening in your organization. Join the WatchGuardians in their adventures fighting cyber crime!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Displaying a google org chart from php/mysql code 27 45
Form not executing correctly 1 24
Best hashing method? 1 13
Secure registration PHP 7 33
Many CHPs use the buzzword ‘Cloud Hosting’ to sell the idea of reliability. Most consumers have the opinion that cloud hosting is easily scalable and can handle just about anything. Further, most CHPs are not transparent and hide the underlying arch…
Google Drive is extremely cheap offsite storage, and it's even possible to get extra storage for free for two years.  You can use the free account 15GB, and if you have an Android device..when you install Google Drive for the first time it will give…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question