Getting Started
Welcome! In order to use AppScale, you will need two components: an AppScale disk image and the AppScale tools. The disk image provides a way to create many nodes with the same base configuration and the tools provide a mechanism for controlling these boxes and deploying your Google App Engine app to it.
The tools can be downloaded from our Downloads page, and we provide two methods for acquiring the disk image. You can either download it via BitTorrent or build the image from scratch. The files necessary to do so can be found on the Downloads page (named AppScale source) or can be found under the Source tab.
If you build the image from scratch, instructions to do so can be found on the Image Creation page. Building the image takes about an hour, so depending on network traffic this is usually faster than downloading it via BitTorrent.
Once you have an image, see the Deployment via Xen page if you wish to use Xen or the Deployment via Eucalyptus page if you are using Eucalyptus. If you do run into problems, please see the Troubleshooting page. Note there are certain versions of Xen and Eucalyptus that are currently supported; see below for the specifics.
Of course, join the AppScale Community group and drop us a line. Tell us how AppScale is working out for you. If there are any problems or quirks, we'd love to hear about it and improve it accordingly.
Current Release Details
The current AppScale version available is 1.5, released July 28, 2011.
Included in this release (over version 1.4) is:
- Support for the bulkloader, enabling persistence for your data
- Upgraded Java and Python AppServers to GAE 1.4.3
- Support for Go App Engine apps (SDK version 1.5.0), including support for apps that use multiple processes
- Fault tolerance for almost all services (processes monitored and revived by god)
- Faster startup and termination of AppScale, especially over larger numbers of nodes
- Tools and image now verify that all instances used have AppScale installed
- EC2 and Eucalyptus credentials are now obscured when they are printed to logs
- Channel API for Python (multiple receivers can also be used) - implemented via Strophe.js
- Blobstore and Files API for Python
- XMPP API for Python - implemented via ejabberd
- Hybrid cloud support - run AppScale over multiple clouds in a single deployment (e.g., Eucalyptus and EC2, EC2 East Coast and EC2 West Coast)
- Neptune language support
- Table caching for MySQL, HBase, Hypertable to improve performance
- Updated interface for Amazon SimpleDB
- Upgraded Cassandra version used to 0.7.6-2
- Upgraded HBase version used to 0.89
- Upgraded Hadoop version used to 0.20.2
- Upgraded Hypertable version used to 0.9.43
- Namespacing support
- Added Loki, a fault tolerance tester along the lines of Netflix's Chaos Monkey
- User authorization system for MapReduce, EC2, and Neptune APIs
- Ability to remove transaction overhead via namespaces
- Various other bug fixes
Prior Releases
Release 1.4, released September 7, 2010.
Included in this release (over version 1.3) is:
- Transaction support for all databases
- Placement support - administrators can now specify which components should go where
- Package installation via apt-get for Ubuntu Jaunty, Karmic, and Lucid
- Addition of support for Scalaris
- Upgrade to Python App Engine 1.3.2 compatibility
- Introduction of Java App Engine 1.3.5 compatibility
- Added support for Images API and Cron API for Python Google App Engine
- Added support for Memcache API, Images API, Task Queue API, and Cron API for Java Google App Engine
- Single node deployments for all databases (previously only Cassandra, Voldemort, MongoDB, and MemcacheDB were supported)
- PBServer is now multi-process and load balanced to improve throughput
- Secure login page for authentication via https
- Amazon AWS EC2 public image available (ami-044fa56d)
Supported Databases:
Restrictions:
- 64 bit systems only (host and virtual machines)
- Specific versions supported (we support only these versions)
- Ubuntu Jaunty, Karmic, and Lucid only
- x86_64 image kernel/modules/ramdisk
- Xen v3.3.3
- Eucalyptus v1.6 (KVM and Xen virtualization supported)
- Python App Engine 1.3.2 and Java App Engine 1.3.5
- HBase, Hypertable, MySQL, Cassandra, Voldemort, MongoDB, MemcacheDB, Scalaris
Release 1.3, released December 13, 2009.
Included in this release (over version 1.3 Beta) is:
- Critical bug fixes for Cassandra, MongoDB, and MySQL
- Amazon AWS EC2 public image available (ami-14799b7d)
Restrictions:
- 64 bit systems only (host and virtual machines)
- Specific versions supported (we support only these versions)
- Ubuntu Jaunty 9.04 distribution supported only
- x86_64 image kernel/modules/ramdisk
- for virtualized instances:
- linux-ubuntu-modules-2.6.24-23-xen
- linux-restricted-modules-2.6.24-23-xen
- linux-image-2.6.24-23-xen
- Xen v3.3.3
- Eucalyptus v1.5.2 (KVM and Xen virtualization supported)
- Python App Engine 1.2.7
- HBase, Hypertable, MySQL, Cassandra, Voldemort, MongoDB, MemcacheDB (versions specified in the scratch install instructions)
Release 1.3, Beta, released December 7, 2009:
- Upgrade to Python App Engine 1.2.7 compatibility
- Introduction of Java App Engine 1.2.5 compatibility
- Addition of support for MongoDB and MemcacheDB
- AppServers are now multi-process and PBServer is now multi-threaded, greatly improving performance
- True memcache(d) support for Python App Engine apps
- MySQL bug fix allowing runs over any number of nodes greater than one
- Amazon AWS EC2 public image available (ami-5e05e737)
- New single node deployments for MongoDB and MemcacheDB
- Ability to delete applications from a running deployment
- Python2.6 for everything except Google App Engine (Python2.5)
- Complete rewrite of AppLoadBalancer
- True support for static files via nginx (Python App Engine apps only)
- Numerous security fixes relating to cookies and administrator status on apps
- Additional robustness and bug fixes
Restrictions:
- 64 bit systems only (host and virtual machines)
- Specific versions supported (we support only these versions)
- Ubuntu Jaunty 9.04 distribution supported only
- x86_64 image kernel/modules/ramdisk
- for virtualized instances:
- linux-ubuntu-modules-2.6.24-23-xen
- linux-restricted-modules-2.6.24-23-xen
- linux-image-2.6.24-23-xen
- Xen v3.3.3
- Eucalyptus v1.5.2 (KVM and Xen virtualization supported)
- Python App Engine 1.2.7
- HBase, Hypertable, MySQL, Cassandra, Voldemort, MongoDB, MemcacheDB (versions specified in the scratch install instructions)
Release 1.2, released September 7, 2009:
- Upgrade to Python App Engine 1.2.3 compatibility
- Addition of support for Voldemort and Cassandra
- MySQL bug fix allowing for parallel API nodes
- Eucalyptus 1.5.2 support (no previous versions of Eucalyptus are supported)
- Amazon AWS EC2 public image available (ami-7136d618)
- Support for running Ubuntu Jaunty systems
- Single node deployments (Cassandra or Voldemort only)
- Ability to delete applications from a running deployment
- Python2.6 for everything except GAE (Python2.5)
- Replication is configurable
- Ubuntu 9.04 support and wiki directions
- Wiki directions of sole-KVM use
- Additional robustness and bug fixes
Release 1.1, released June 17, 2009:
- Upgrade to Python App Engine 1.2.2 compatibility
- Addition of support for MySQL
- Eucalyptus 1.5 support (no previous versions of Eucalyptus are supported)
- Amazon AWS EC2 support and instructions
- Instructions for building an AppScale image from scratch
- Support for running on non-virtualized Ubuntu Hardy (8.04) systems
- iptables-based firewall for improved security
- Additional robustness and bug fixes
Restrictions:
- 64 bit systems only (host and virtual machines)
- 32 bit systems for non-virtualized installation
- Specific versions supported (we support only these versions)
- Ubuntu Hardy Heron 8.04 distribution supported only
- x86_64 image kernel/modules/ramdisk
- for virtualized instances:
- linux-ubuntu-modules-2.6.24-23-xen
- linux-restricted-modules-2.6.24-23-xen
- linux-image-2.6.24-23-xen
- Xen v3.3.1
- Eucalyptus v1.5 (KVM and Xen virtualization supported)
- Python App Engine 1.2.2
- HBase, Hypertable, MySQL (versions specified in the scratch install instructions)
Release 1.0.2:
- Supported Databases: HBase, Hypertable
- Cluster types supported: Xen, Eucalyptus
- Bug fixes (1.0, 1.0.1)
Release 1.0:
- Xen-only, image-based AppScale deployment released
- Supported Database: HBase