AppScale – serverless platform for building and running scalable web and mobile applications

AppScale is an open source implementation of the scalable, distributed, and fault tolerant Google App Engine cloud computing interface. In other words, AppScale is a platform that allows users to deploy and host their own Google App Engine applications. It executes automatically over Amazon EC2 and Eucalyptus as well as Xen and KVM. It supports the Python, Java, and Go Google App Engine platforms.

Google App Engine lets users deploy Python, Java, and Go applications to resources Google owns and autoscales without requiring a system administrator. AppScale uses open source software to implement these APIs, so you can run with HBase, Hypertable, or Cassandra as the underlying datastore.

The AppScale platform virtualizes, abstracts, and multiplexes cloud and system services across multiple applications, enabling write-one, run-anywhere (WORA) program development for the cloud. In addition to simplifying application development and deployment using cloud systems and modern distributed computing technologies, AppScale brings popular public cloud fabrics to “on-premise”, or private, clusters.

AppScale is free and easy to use and thus brings Google’s “best practices” to developers, giving them the ability to focus on their innovation and MVP without lock-in. The AppScale platform exports services and APIs in addition to those provided by Google App Engine.

Features include:

  • Core components:
    • AppController – configures and deploys services needed to run Google App Engine apps.
    • NeptuneManager – configures and deploys services needed to run Neptune jobs.
    • Infrastructure – starts and terminates virtual machines in supported Infrastructure-as-a-Services.
    • UserAppServer – handles user and application data within AppScale.
    • DatastoreServer – handles Datastore requests from AppServers.
    • AppDB – configures and deploys datastores needed for the Google App Engine datastore API.
  • Run your Python, Java, or Go App Engine applications in AppScale without modifying your code.
  • MapReduce and other scalable data processing tools built in. AppScale brings the Hadoop API to your App Engine applications for greater computational flexibility.
  • Monitors your cluster resources and provides visual feedback on your usage.
  • Neptune is integrated into AppScale – Neptune is a domain specific language (DSL) that automates configuration and deployment of existing HPC software via cloud computing platforms. With Neptune, users can dictate workflows for certain languages, platforms, and scientific applications. These include but are not limited to X10, R, MPI, and Hadoop MapReduce.
  • Fault Tolerance.
  • Ability to do database-as-a-service.
  • Host multiple App Engine applications with the ability to swap out distributed datastores such as HBase, Hypertable, and Apache Cassandra.
  • Automatically deploying a datastore of your choice at scale and then exposing it with a REST interface.
  • User management access control allowing the cloud administrator to grant permissions to cloud APIs and other capabilities.
  • Provides implementations for the Google App Engine APIs. The Google App Engine APIs are Blobstore, Channel, Datastore, Images, Memcache, Namespaces, TaskQueue, Users, URL Fetch, and XMPP.
  • Implements other APIs which are not supported by Google App Engine.
  • Supports both the Amazon Web Services (AWS) Elastic Compute Cloud (EC2) public cloud offering and the open source implementation of AWS, Eucalyptus.

Website: www.appscale.com
Support: Blog, GitHub Code Repository
Developer: Chandra Krintz, Navraj Chohan, Chris Bunch et al
License: BSD License

AppScale is written in Python. Learn Python with our recommended free books and free tutorials.

Return to PaaS Home Page

Read our complete collection of recommended free and open source software. The collection covers all categories of software.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.