AppScale initially started out to provide full compatibility with Google App Engine and do it for a wide selection of datastores. Since its initial release, it has expanded to provide its own APIs as well. Below are some key features of AppScale.
App Engine Portability
Google App Engine was available for use in 2008. AppScale quickly followed suit and released a compatible platform in 2009. As App Engine has added new APIs, languages, and features, AppScale has provided scalable open source implementations to provide developers more choices and options to avoid code and data lock-in. See here for current App Engine API support.
Run your application on physical hardware, virtualization, or in any cloud that can run a Ubuntu image. Additionally, pick your favorite datastore as your backend for your applications. AppScale lets you compare and contrast different datastores with your application providing the benchmark.
Neptune is a domain specific language (DSL) that automates configuration and deployment of existing HPC software via cloud computing platforms. Neptune is integrated into AppScale and extend the platform with support for user-level and automated placement of cloud services and HPC components. Such platform integration of Neptune facilitates hybrid-cloud application execution as well as portability across different cloud providers.
Hadoop is a software framework that supports data-intensive distributed applications. It enables applications to work with thousands of nodes and petabytes of data. AppScale brings the Hadoop API to your App Engine applications for greater computational flexibility.
AppScale can survive faults within a cluster. It has replication support for applications and their data. Processes are monitored and restored for cases where they have terminated or when they are misusing resources.
AppScale has other features such as the ability to do database-as-a-service; automatically deploying a datastore of your choice at scale and then exposing it with a REST interface. Additionally, AppScale has user management access control allowing the cloud administrator to grant permissions to cloud APIs and other capabilities.