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

  • A Day in the Cloud, new articles on scaling, and fresh open source projects for App Engine
    The latest release of Python SDK 1.2.3, which introduced the Task Queue API and integrated support for Django 1.0, may have received a lot ...
  • Tutorial: Adding a cloud backend to your application with Android Studio
    Android Studio lets you easily add a cloud backend to your application, right from your IDE. A backend allows you to implement functionality...
  • Outfit 7’s Talking Friends built on Google App Engine, recently hit one billion downloads
    Today’s guest blogger is Igor Lautar, senior director of technology at Outfit7 (Ekipa2 subsidiary), one of the fastest-growing media enterta...
  • Bridging Mobile Backend as a Service to Enterprise Systems with Google App Engine and Kinvey
    The following post was contributed by Ivan Stoyanov , VP of Engineering for Kinvey, a mobile Backend as a Service provider and Google Cloud ...
  • TweetDeck and Google App Engine: A Match Made in the Cloud
    I'm Reza and work in London, UK for a startup called TweetDeck . Our vision is to develop the best tools to manage and filter real time ...
  • New Admin Console Release
    Posted by Marzia Niccolai, App Engine Team Today we've released some new features in our Admin Console to make it easier for you to mana...
  • Qubole helps you run Hadoop on Google Compute Engine
    This guest post comes form Praveen Seluka, Software Engineer at Qubole, a leading provider of Hadoop-as-a-service.  Qubole is a leading pr...
  • The new Cloud Console: designed for developers
    In June, we unveiled the new Google Cloud Console , bringing together all of Google’s APIs, Services, and Infrastructure in a single interfa...
  • Pushing Updates with the Channel API
    If you've been watching Best Buy closely, you already know that Best Buy is constantly trying to come up with new and creative ways to...
  • Google BigQuery goes real-time with streaming inserts, time-based queries, and more
    Google BigQuery is designed to make it easy to analyze large amounts of data quickly. This year we've seen great updates: big scale JOI...

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