Cloud World

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 20 June 2013

Enabling Google App Engine to run in the Private Cloud with CapeDwarf

Posted on 06:00 by Unknown
We hear consistently from developers that they want to see more portability of their apps when working in the cloud.  The Google Cloud Platform team has been collaborating with the Redhat/JBoss Application Server team to help them provide an alternate implementation of Google App Engine running on top of JBoss to facilitate portability and openness.



The bulk of the collaborative work between Google and Redhat is really around the open source Test Compatibility Kit (TCK) project:

Google engineers provided many of the tests of the internal App Engine product, and RedHat engineers added many tests to verify that their implementation of App Engine is correct. These collections of tests have been tested against a local App Engine SDK, a CapeDwarf implementation, and the real Google App Engine running in the Google cloud.



In my previous life in the Java Enterprise, portability across different application servers was a very important feature. But it was never 100% achievable due to lack of some specifications (how do you specify load balancing, auto-scalability, NOSQL access or even simple APIs like caching). Compliance certification was done via a reference implementation (RI) and a Test Compatibility Kit.



Why is providing an App Engine TCK in the open source so important? A few reasons:



First reason: JBoss is one of the key leaders in the Java EE API specification and implementation: JPA, CDI, Beans validation, JAX-RS. JBoss working on implementing Google App Engine on top of their existing APIs helps customers address portability and testing concerns and helps validate our approach.



Second reason: If you are considering using App Engine but have had technical or business constraints for making the move to Google Cloud Platform, you now can when using CapeDwarf on your private cloud (or even private machine), on OpenShift or Google Compute Engine.



Third reason: If you are an existing Java EE JBoss customer, but are looking for easier and more “cloud ready” APIs than Java EE, you can start discovering the simplicity of App Engine APIs. The DNA for these APIs is not from Java EE, it is from the cloud.



Accessing the Datastore is as simple as writing:



DatastoreService ds = DatastoreServiceFactory.getDatastoreService();



No more non portable resource definition, funky XML files or command line tools, JNDI configuration and injection. An App Engine application comes with a complete runtime environment: a datastore, a user service, a mail service, a task queue system, a blob service, a chat service, and more.

An App Engine application does not need to specify load balancing parameters, autoscaling rules, failover across data center settings, replication configuration. It just works and scales automatically.



Fourth reason: If you are an App Engine customer and you love the App Engine APIs, but would like to deploy a new App Engine application on your private farm of servers, you now can with CapeDwarf.



Google has always been committed to the open web.  We are looking forward to moving these tests to open source.  But, of course, we know this is a two way street - we would love for you to provide new tests to us and the community so we can all grow together and improve our applications.  Adding such customer centric tests in the open source TCK would help provide a quick turn around (nobody wants to see a failing TCK build), and also help prevent future App Engine versions (we release the product once a month) from breaking customer tests.



Check it out for yourself: get the TCK code, run the tests and contribute new tests that match your App Engine Application, we are open!





-Posted by Ludovic Champenois, Software Engineer
Email ThisBlogThis!Share to XShare to Facebook
Posted in appengine | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • SaltStack for Google Compute Engine
    SaltStack was built for the performance, reliability, security and scale delivered by Google Compute Engine . Needless to say we are very e...
  • 2013 Year in review: making Google Compute Engine Generally Available
    2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing ...
  • Google Compute Engine and App Engine give Evite freedom to expand services anytime
    Today’s guest blog comes from Dan Mesh, Vice President of Technology at Evite, the pioneer in online invitations and social planning. Evite ...
  • Why We Deployed Zencoder on Google Cloud Platform
    Today's guest post comes from Jon Dahl, VP of Encoding Services at Brightcove. Brightcove’s Zencoder transcodes millions of video and au...
  • International Offline Disk Import now available with new disk-upload centers in Japan, India and Switzerland
    Google Cloud Platform customers have told us that transferring large data sets (in the hundreds of terabytes and beyond) can be expensive a...
  • Google Compute Engine is now Generally Available with expanded OS support, transparent maintenance, and lower prices
    Google Cloud Platform gives developers the flexibility to architect applications with both managed and unmanaged services that run on Googl...
  • 2013 Year in review: bringing App Engine to the PHP community
    2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing ...
  • 2013 Year in review: giving time back to developers
    2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing ...
  • Update on Datastore Auto IDs
    In the upcoming Google App Engine 1.8.1 release, the  Datastore default auto ID policy in production will switch to scattered IDs to impro...
  • DataStax Enterprise feels right at home in Google Compute Engine
    Today’s guest post comes from Martin Van Ryswyk, Vice President of Engineering at DataStax. The cloud promises many things for database user...

Categories

  • 1.1.2
  • agile
  • android
  • Announcements
  • api
  • app engine
  • appengine
  • batch
  • bicycle
  • bigquery
  • canoe
  • casestudy
  • cloud
  • Cloud Datastore
  • cloud endpoints
  • cloud sql
  • cloud storage
  • cloud-storage
  • community
  • Compute Engine
  • conferences
  • customer
  • datastore
  • delete
  • developer days
  • developer-insights
  • devfests
  • django
  • email
  • entity group
  • events
  • getting started
  • google
  • googlenew
  • gps
  • green
  • Guest Blog
  • hadoop
  • html5
  • index
  • io2010
  • IO2013
  • java
  • kaazing
  • location
  • mapreduce
  • norex
  • open source
  • partner
  • payment
  • paypal
  • pipeline
  • put
  • python
  • rental
  • research project
  • solutions
  • support
  • sustainability
  • taskqueue
  • technical
  • toolkit
  • twilio
  • video
  • websockets
  • workflows

Blog Archive

  • ▼  2013 (143)
    • ►  December (33)
    • ►  November (15)
    • ►  October (17)
    • ►  September (13)
    • ►  August (4)
    • ►  July (15)
    • ▼  June (12)
      • Google Cloud Platform Powers Minyanville’s Buzz an...
      • Tutorial: Adding a cloud backend to your applicati...
      • Get Coding Faster Thanks to Little Green Buttons
      • Enabling Google App Engine to run in the Private C...
      • Enabling offline disk import for Google Cloud Storage
      • Google App Engine 1.8.1 Released
      • Cube Slam meets Google Cloud Platform
      • Google BigQuery gets bigger, faster, and smarter w...
      • Building Google Apps Extensions running on Google ...
      • Bridging Mobile Backend as a Service to Enterprise...
      • Cloud SQL API: YOU get a database! And YOU get a d...
      • Get your mobile application backed by the cloud wi...
    • ►  May (15)
    • ►  April (4)
    • ►  March (4)
    • ►  February (9)
    • ►  January (2)
  • ►  2012 (43)
    • ►  December (2)
    • ►  November (2)
    • ►  October (8)
    • ►  September (2)
    • ►  August (3)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  April (4)
    • ►  March (5)
    • ►  February (3)
    • ►  January (5)
  • ►  2011 (46)
    • ►  December (3)
    • ►  November (4)
    • ►  October (4)
    • ►  September (5)
    • ►  August (3)
    • ►  July (4)
    • ►  June (3)
    • ►  May (8)
    • ►  April (2)
    • ►  March (5)
    • ►  February (3)
    • ►  January (2)
  • ►  2010 (38)
    • ►  December (2)
    • ►  October (2)
    • ►  September (1)
    • ►  August (5)
    • ►  July (5)
    • ►  June (6)
    • ►  May (3)
    • ►  April (5)
    • ►  March (5)
    • ►  February (2)
    • ►  January (2)
  • ►  2009 (47)
    • ►  December (4)
    • ►  November (3)
    • ►  October (6)
    • ►  September (5)
    • ►  August (3)
    • ►  July (3)
    • ►  June (4)
    • ►  May (3)
    • ►  April (5)
    • ►  March (3)
    • ►  February (7)
    • ►  January (1)
  • ►  2008 (46)
    • ►  December (4)
    • ►  November (3)
    • ►  October (10)
    • ►  September (5)
    • ►  August (6)
    • ►  July (4)
    • ►  June (2)
    • ►  May (5)
    • ►  April (7)
Powered by Blogger.

About Me

Unknown
View my complete profile