AppScale tools get smarter --Use them now to provision your resources

AppScale’s strong suit has been to support a wide range of resources, from clouds (public and private) to virtualized environments (virtualbox, kvm, docker, and more) to bare-metal (clusters and any resources the user has access to). Whenever there is a provisioning service, AppScale can take advantage of it to simplify resource management: for example, AWS, GCE, Azure, Euca, OpenStack all provide provisioning systems that AppScale can leverage to manage resources -- instances, network, disks. Without provisioning services, AppScale relies on an administrator (or any IT automation framework like Ansible, Puppet, Chef, Salt) to deploy and configure resources. In AppScale terminology, AppScale performs resource allocation in cloud mode and relies on an administrator in cluster mode.

When in cloud mode, and with the appropriate credentials, AppScale will provision resources at deployment time. For example the following snippet of an AppScalefile

---

infrastructure : 'ec2'

machine : 'ami-xxxxxxx'

instance_type : 'm3.xlarge'

ips_layout :

master : node-1

zookeeper : node-2

database : node-3

appengine : node-4

will create 4 new instances in Amazon’s AWS, as well as creating the corresponding security groups and keypair. The tools add the groups and keypair to the AppScalefile, so resources can be easily checked. Upon the execution of

appscale down

the tools terminate AppScale and the instances. If no volumes were associated with the instances and used for data storage by AppScale, then all data is deleted including that in the Datastore.

The new tools

With AppScale 3.2 we added the ability to stop an AppScale deployment and to leave the underlying cloud resources running. This allows for greater flexibility in managing the cloud resources, possibility to inspect or copy data before terminating the resources, as well as tuning the cloud resources before restarting AppScale. To control this behavior, we added the --terminate option to the appscale down command, so the new options are summerized in the following.

appscale down

Stop AppScale but leave all the resources running.

An administrator can login into the deployment using appscale ssh

appscale down --terminate

Stop an AppScale deployment and terminate (free) all of the associated cloud resources.

appscale down --clean

Stop an AppScale deployment and remove all persistent data

(Warning: this deletes all data in the datastore).

Because the first option (appscale down) keeps the instances running, an administrator can execute appscale up to restart AppScale, reusing all of the data and resources from the previous deployment. Doing so significantly speeds up starting an AppScale system.