Your Ad Here

Posts Tagged ‘news’

Google AppEngine Now Runs Java in Addition to Python

Tuesday, April 7th, 2009

Google AppEngine now runs Python AND Java

It is still in beta but select developers are being added and developers allowed in will be expanded, I got in as I made the request so it looks like it is still filling up.

Both Java and C# were top requests on AppEngine desired languages/platforms.  They have low level support for specific Google features and infrastructure and wrappers around these features to mimic common java libraries like JPA, JCache and java.net around google urlfetch.  So it is still a bit locked to the platform or changes will need to be made to run on Google AppEngine and other environments.  

Many of the changes made to apps really are due to the scalable nature of the cloud architecture without such things as joins and limits on bulk processing, but in the end these points are really better for scalability from the start.  As for being locked to a platform we are already seeing copies such as AppScale that is an open source implementation of Google AppEngine.  So software architecture, data architecture and how we prepare for the terabytes upon terabytes of shared data in the future might be changing. 

Some unsupported features of major Java libraries…

java.net Features Not Supported

  • The URL Fetch service does not support persistent HTTP connections. When the app accesses response data using the URLConnection object, App Engine calls the URL Fetch service to complete the request. After the response data has been accessed, the request data cannot be modified.
  • The app cannot set explicit connection timeouts for the request.

Unsupported Features of JPA

The following features of the JPA interface are not supported by the App Engine implementation:

  • Owned many-to-many relationships, and unowned relationships. You can implement unowned relationships using explicit Key values, though type checking is not enforced in the API.
  • “Join” queries. You cannot use a field of a child entity in a filter when performing a query on the parent kind. Note that you can test the parent’s relationship field directly in query using a key.
  • Aggregation queries (group by, having, sum, avg, max, min)
  • Polymorphic queries. You cannot perform a query of a class to get instances of a subclass. Each class is represented by a separate entity kind in the datastore.

JCache Features Not Supported

  • The JCache listener API is partially supported for listeners that can execute during the processing of a app’s API call, such as for onPut and onRemove listeners. Listeners that require background processing, like onEvict, are not supported.
  • An app can test whether the cache contains a given key, but it cannot test whether the cache contains a given value (containsValue() is not supported).
  • An app cannot dump the contents of the cache’s keys or values.
  • An app cannot manually reset cache statistics.
  • Asynchronous cache loading is not supported.
  • The put() method does not return the previous known value for a key. It always returns null.

High Level Cloud Provider or Low Level Cloud Provider?

With other cloud providers like Amazon EC2, Mosso, SliceHost and others you can choose your platform.  But Google has an amaxing infrasturcture and taking advantage of BigTable and automatic scaling is nice expecially with a 300MB transfer free quota per app.  There are probably times when each type of provider might be beneficial, lower level like Amazon or higher level like Google AppEngine.

View the announcement here at Google AppEngine Blog which has other great news with the launch:

  • Access to firewalled data: grant policy-controlled access to your data behind the firewall.
  • Cron support: schedule tasks like report generation or DB clean-up at an interval of your choosing.
  • Database import: move GBs of data easily into your App Engine app. Matching export capabilities are coming soon, hopefully within a month.

Amazon EC2 Officially Live

Thursday, October 23rd, 2008

Amazon EC2 is officially out of beta, it is about time some of these services actually launched.  It is hard to convince people to use the cloud layer without being out of beta (AppEngine when’s it gonna happen huh?).

Amazon also launches with windows support, SQL Server support and much more.  This is great news in times where budgets are tight and people want to start scalable businesses but want to only pay for what is used.  The cloud layer will be a very attractive option to many.

Learn more about the Elastic Computing Cloud (EC2) at Amazon. There are already lots of great simple toos like ElasticFox (Firefox EC2 Extension) to help manage your AMIs from a browser.  You can start and stop armies of configured servers from a little extension in your browser.

Developers are getting many tools to build great things.  We hope more products are out of beta soon like AppEngine.


drawcloud – cloud tracking, service and product development is proudly powered by WordPress
Entries (RSS) and Comments (RSS).
Your Ad Here Your Ad Here