Deploy AppScale

To start a deployment:    Get AppScale on your infrastructure    Configure    Go

Set up AppScale virtual machines on your infrastructure

1. Set up security firewall

AppScale dynamically manages the firewall on its nodes.
On public cloud environments, in particular, AppScale-compatible security groups or network rules should be created.

Learn more about AppScale security, AWS EC2 security groups, and GCE networks in our FAQs.

2. Set up AppScale-ready virtual machines

Get the latest AWS, GCE, Vagrant/VirtualBox images and start as many virtual machines as you need, or

Install AppScale on clean Ubuntu 16.04 (Xenial Xerus):

sudo -i
wget -O && bash ./
. /etc/profile.d/
3. Set up password-less SSH

You need to ensure the root user can SSH without password among all virtual machines, as AppScale requires access to all of them in order to start and stop its services. Depending on the infrastructure, you may need the password for the root user to set up password-less SSH.

To read more on setting up password-less SSH, click here.

Configure AppScale

1. Log into one of the virtual machines you just launched

SSH as root. This virtual machine will be the head node; it will host the load balancer, and will be the entry point for any application(s) launched on this AppScale deployment.

2. Create and save the AppScalefile

The primary purpose of the AppScalefile is to configure the virtual machines that are part of an AppScale deployment, especially which services, referred to as roles, run on each machine. This can be handy for specifying database or appengine nodes.

There are four main roles:

  • master: the head node. There is only one master per deployment.
  • appengine: the node(s) to serve the application(s). Having multiple appengine nodes, offers redundancy and tolerance to failure.
  • database: the node(s) to host the application data. At least three database nodes are needed for fault tolerance while maintaining quorum.
  • zookeeper: the node(s) to hold persistent state for a deployment.

Here is an AppScalefile example. For each AppScale service/role, fill out the private IP of the virtual machine that will be hosting the service. Use the private IP of your head node for master and the public IP for login.

ips_layout :
    roles: [master, zookeeper]
    nodes: private_IP_1
    roles: appengine
    nodes: [private_IP_2, private_IP_3]
    roles: database
    nodes: [private_IP_4, private_IP_5, private_IP_6]
login : public_IP

Start AppScale

Go to the directory where you stored the AppScalefile and start AppScale, with:
appscale up

The system will be up in a few minutes. Use the provided URL to log into the AppScale Dashboard.

That’s it! AppScale is up and running and ready to host your app.

Next Steps

Learn everything about AppScale and application management:

AppScale Tools