[DG: Open Forum] Sakai OAE Update

Nicolaas Matthijs nicolaas.matthijs at caret.cam.ac.uk
Fri Oct 19 02:41:53 PDT 2012


Hi Matthew,

Thanks for your suggestions. We are already using Express quite heavily in the application. There is one Express instance for each tenant that deals with the incoming requests and all of the REST endpoints. For authentication purposes, we use a module called Passport which is built on top of Express as well.

We have a REST module that provides a wrapper around all of our REST Endpoints, which we use for our unit tests. We are currently looking at ways in which this code can be shared with the client-side API, and nowjs seems like a good candidate for that.

Thanks,
Nicolaas


On 19 Oct 2012, at 02:41, Matthew Jones wrote:

> This sounds like good news, thanks for the update Nicolaas. Node.js seemed like a great fit for this application, too bad it didn't exist back at the beginning of the project. It could especially be good long term if you can eventually run something like "http://nowjs.com/" to run some of the client code back on the server again. This was a problem I remember seeing with previous versions of OAE on certain machines.
> 
> Also, have you seem the Express JS framework? (http://expressjs.com/) Etherpad Lite recently switched to it, and it's inspired by Sinatra, which ended up resulted in Padrino, a framework that made me love Ruby after years of hating it because of Rails! :) I was skeptical of the Etherpad rewrite too but it's finally starting to look pretty good after a year in development.
> 
> Looking forward to the next update!
> 
> On Thu, Oct 18, 2012 at 7:25 PM, Nicolaas Matthijs <nicolaas.matthijs at caret.cam.ac.uk> wrote:
> Hi everyone,
> 
> As most of you know, a number of Sakai OAE stakeholder organizations have withdrawn from the managed project over the last 6 months.  Key reasons cited for these departures include:
> 
> - Concerns about the scalability and viability of the Nakamura architecture
> - Slower than desired progress on feature development
> - Misalignments between stakeholders
> 
> These withdrawals have had a significant negative impact on the level of financial and in-kind contributions underwriting the development team.  In addition, reports from piloting institutions together with performance test data produced by the team have made it clear that OAE’s performance and scalability characteristics leave much to be desired.  While sufficient for small-scale pilots involving a few thousand users, OAE’s performance under load is wholly insufficient for adopters considering an enterprise production deployment supporting tens of thousands of users and above, including the web-scale deployments we are likely to see in the future.  Upgrading between versions also remains a challenging exercise for operations teams.  While the remaining stakeholders believe that the concepts embodied in OAE’s design work remain relevant and valuable, current circumstances dictate that we adopt a new technical approach.
> 
> In late August we recommended to the project stakeholders that the managed project cease development on OAE Nakamura, setting aside its technical debt in favor of a re-engineered back-end that re-positions the project as a multi-tenant, highly scalable, cloud-ready application.  The strategy that we set out involves an initial and temporary reduction in application scope; existing features will be disabled until their corresponding back-end services have been recreated.  Our proposal was accepted, and in early September a reconstructed and considerably leaner project team commenced work on providing a new back-end architecture written in node.js and using Apache Cassandra for persistence.[1]  The code is licensed ECL 2.0 and is publicly available in a Github repo named “Hilary”.[2]  Additional repos have been created for the test data model loader, Tsung performance tests, nightly performance test scripts and puppet deployment scripts.[3]
> 
> We have retained OmniTI, a web performance and scalability consultancy, to help guide our work.  A series of one-week sprints have been organized in order to keep the pace of development high as well as allowing for quick resets under the “fail fast” rule.  We start from a set of purposefully designed and documented REST APIs (see attachment).  Each REST API and its accompanying internal service will include unit and integration tests. The team will set up and maintain a reference deployment in the cloud, on which extensive nightly performance tests will be run. The existing UI, benefiting from a number of client-side performance improvements included in the OAE 1.4.0 release, will be retained along with the Widget Library and SDK.  Administrative UIs will be added and there's also a desire to start introducing some of the new unimplemented UI designs along the way, as these have been through several rounds of usability testing and were presented to the community at the summer Sakai/Jasig conference.
> 
> The team has set itself a mid-December deadline--with intermediate deadlines and sanity checks along the way--to produce working code that demonstrates that the chosen path is viable.  Attached is the September progress report outlining the first 30 days of work along with our API doc and “alternative scenarios” proposal.  While the proposed architecture remains under evaluation and could change, we believe that our recommendation to retire OAE Nakamura in favor of a re-architected multi-tenant, cloud-ready platform featuring  purposefully designed REST APIs and services that are properly instrumented and continually measured is the right approach to take.
> 
> Kind regards,
> Nicolaas and Anthony
> 
> [1] http://nodejs.org/, http://cassandra.apache.org/
> [2] https://github.com/sakaiproject/Hilary
> [3] https://github.com/sakaiproject/OAE-model-loader, https://github.com/sakaiproject/node-oae-tsung, https://github.com/sakaiproject/oae-nightly-stats, https://github.com/sakaiproject/puppet-hilary
> 
> 
>  
> _______________________________________________
> openforum mailing list
> openforum at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/openforum
> 
> TO UNSUBSCRIBE: send email to openforum-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/openforum/attachments/20121019/dc14c9cf/attachment-0001.html 


More information about the openforum mailing list