Welcome to AppScale 2.0!
We are happy to announce the release of AppScale 2.0! The theme for this release is better, stronger, faster, and the bump in the major number reflects the depth of the changes. Like all major releases, a reload of the application and the data will need to occur, so please take a backup before upgrading to 2.0.Get Started with 2.0!
AppScale 2.0 has dramatically improved the DataStore implementation, adding coverage for distinct queries, list properties for composite index and ZigZag merge join optimization. The optimized memory use of this work, gives a lot more RAM to your application to work with, or allows you to reduce the footprint into a smaller instance. The Java layout work and the TaskQueue statistics are also of note. The former allows for more Java applications to seamlessly run in AppScale, while the latter improved our API fidelity. Last but not least, thanks to a community contribution, we now have OpenStack support as one of our supported Infrastructures. OpenStack support is in 2.0, and is available as a tech-preview.
We did a lot of work to simplify the build. We removed quite a few custom dependencies to rely more on packaged versions, upgraded dependencies to the latest stable versions, and added a lot mode more comprehensive testing. We call our testing framework OCD, and during this past 3 months, we boosted it to automatically test across 8 different configuration (single-node, multi-node, and custom multi-node), and across the infrastructures we support (AWS, VirtualBox, GCE, Euca, KVM). Although some of the regression tests are still to be run manually, the bulk of the API testing is fully automated. As a result, AppScale is stronger, and more resilient.
We obsessively worked in making AppScale faster, starting from the build system, to the speed of deployment, and at runtime. With the changes in the build system, AppScale now is about 35% faster in build time (as clocked on our OCD). We chased down several choke points during deployment time, and now you should see a quicker response to your appscale up command. Finally, the DataStore optimizations allows for a much improved response time: although the improvement depends on the specific queries, you can already see the improvement even while navigating your application's log.
Highlights of 2.0 Features/Bug Fixes:
- Better error messages for AppScale tools
- Moved to package installation of most installed software (faster build)
- Cleanup of instances on "appscale down"
- Ability to support more dynamic code layout of Java applications
- Upgraded Cassandra to 2.0.7
- Use ntp service for clock sync
- Have AppScale catch when there are not enough resources on start
- Using openjdk instead of Oracle's JVM
- Fixed issue where monit thought ZooKeeper was not running
- Made build process more resilient
- Dead code elimination
- Wheezy support
- Updated bootstrap script
- Batching for datastore queries (better memory management and stability)
- Support for list composite indexes
- Support for distinct queries
- Projection queries no longer fetch from the entity table (faster queries)
- ZigZag Merge Join optimization
- Taskqueue statistics now reports number of tasks pending in a queue
- Fixed critical bug where a failed slave node would come up as master
- Fixed critical bug with nginx failing to be reloaded
- Experimental OpenStack agent (auto scaling)
AppScale 2.0 marks a major milestone in our continued efforts to build the best open-source application platform on the market today.Woody Rollins, CEO
We're extremely excited about the release of AppScale 2.0! The new features will make running your application on AppScale easier and faster than ever before.Graziano Obertelli, VP of Engineering