Let’s run the whole Web on Apache Sling and Oak!

"Could we run the whole Web on this thing?" is a good question to ask when designing scalable systems.

So, could we run the whole Web on Apache Sling and Oak? The best way to find out is to try it! Unfortunately we couldn’t convince the whole Web to participate in our experiment, so our “let’s aim high” prototype needs to simulate a number of things.

Using these simulations to break our initial prototypes by overloading them has helped us discover potential bottlenecks and how to avoid them. We’ve also reported and fixed a few issues in these projects, also to help improve their monitoring capabilities.

Besides having fun breaking prototypes, one of our goals is to create guidelines for scalable Sling/Oak apps, which we’ll describe in this talk. Some parts of the JCR spec and some existing Sling services will prevent scaling if used without care, and as such might need to be avoided depending on the level of scaling that’s actually needed for a given application.

Our prototype code will be available for you to play with it and test your own variants.

This talk will help you better understand the issues related to massive scaling, and how to avoid creating bottlenecks in your own code.