Skip to content


Subversion checkout URL

You can clone with
Download ZIP

AppScale on Cloud as Cluster

Chris Donati edited this page · 15 revisions
Clone this wiki locally

Deploying AppScale on Clouds as Virtualized Clusters

AppScale can easily be deployed on clouds such as OpenStack and CloudStack. We use machines in a cloud as a virtualized cluster. The user can specify the given machines deployed, and the AppScale tools will deploy the given configuration. Read on to learn more on how to get started (Note: since 2.0.0 there is autoscaling for OpenStack deployments. See Openstack).

Step 1: Start your virtual machines

Begin by launching as many virtual machines as you'd like to use for your AppScale deployment. Be sure to note their IP addresses (which you can get from the cloud tools - euca2ools, OpenStack tools, CloudStack tools). Also be sure that you know what the root password to each VM is (which you can set by running passwd).

Password Login

You should also make sure that password-login is enabled in SSH, so that we can enter our root password when initially starting AppScale up. Look in /etc/ssh/sshd_config and make sure that this is present:

PasswordAuthentication yes

If you had to change that line, restart ssh by running /etc/init.d/ssh restart.

Open ports

Also make sure that the VMs can talk to each other over any port. If you're in EC2, that just means to make sure that your VMs are in a security group that has all ports open on TCP and UDP, and that ICMP is enabled.

Step 2: Install AppScale if necessary

If you're using a pre-built AppScale VM, skip this step - you've already got AppScale installed! Otherwise, log into each of your virtual machines and run:

$ sudo su
# cd /root
# wget -O - | sh

to install AppScale from source. Grab a cup of coffee while this runs, as it can take between 20-45 minutes (depending on the speed of your VMs and network).

Step 3: Deploy AppScale over the VMs

The AppScale Tools are pre-installed on all AppScale virtual machines in /root/appscale-tools. Begin by logging into one of the machines you started up (which we'll refer to as the master VM), and create an AppScale configuration file:

$ appscale init cluster

You only need to create this configuration file a single time. Modify the newly created AppScalefile and specify the four private IPs for your four VMs:

 controller :

If you're running over only one VM, you can leave out the servers altogether:

 controller :

Use the domain name or public IP address of your controller node for login_host:

login_host: public-domain-name-1

Start AppScale

Start AppScale on the machine you've marked as controller by running:

$ appscale up

And you should see output resembling the following:

About to start AppScale over a non-cloud environment.
New secret key is ****************************C0nY
Log in to your head node: ssh -i /root/.appscale/appscale.key root@
{"table"=>"cassandra", "replication"=>"1", "keypath"=>"appscale.key", "keyname"=>"appscale", "hostname"=>"", "autoscale"=>"true", "ips"=>"", "group"=>"appscale", "appengine"=>"1"}
Head node successfully created at It is now starting up cassandra via the command line arguments given.
Generating certificate and private key
Starting server at
Please wait for the controller to finish pre-processing tasks.

Please wait for AppScale to prepare your machines for use.
AppController just started
Starting up Load Balancer
Run instances: UserAppServer is at
Your user account has been created successfully.
Your XMPP username is a@
Please wait for AppScale to finish starting up.
No app uploaded. Use appscale-upload-app to upload an app later.
The status of your AppScale instance is at the following URL:

If you wish, you can navigate to this URL above to see the status of your AppScale deployment.

Deploy an App

You can deploy Google App Engine applications by running:

$ appscale deploy ~/path-to-your-app

And you should see output resembling the following:

This AppScale instance is linked to an e-mail address giving it administrator privileges.
Done starting up AppScale, now in heartbeat mode

Uploading guestbook...
We have reserved the name guestbook for your application.
Creating remote directory to copy app into
Copying over app
Updating AppController
Please wait for your app to start up.

Your app can be reached at the following URL:

Navigate on your host machine's browser to this address to interact with your app.

Step 4: Shutting Down AppScale and Terminating your Instance

Shut down your apps and AppScale deployment by running:

$ appscale down

Getting Help

If you run into any problems, please send an email to us via the AppScale Community group or join us on #appscale on freenode.

Something went wrong with that request. Please try again.