Applying microservice architecture to the presentation layer.
After building Fayde presentation engine, we reached a threshold of optimization. Due to the structure, we could not unit test or performance test pieces of the engine. Since the engine consisted of monolithic items, any browser profiling resulted in nothing insightful. A sizeable chunk consisted of long functions causing browsers to bail when trying to compile interpreted code to native.
We expect a 10x (worst case) to 100x (best case) performance improvement. We also expect a stable and configurable presentation layer due to the philosophy of unit testing.
A great side effect of a microservices pipeline architecture is the highly configurable nature. Currently, presentation code is coupled to controls. Instead, these pieces of functionality are injected by the defining entities.
- See pipeline notes for information on how pipelines work.
- See engine notes for information on how the presentation engine works.
$ npm install -g gulp
$ npm install -g bower
$ npm install -g fayde-unify
$ git clone [email protected]:wsick/nullstone.git
$ cd nullstone
$ npm install
$ gulp reset # cleans bower libs, bower installs, then symlinks to test and stress bootstrappers
$ gulp test
Launches default browser with runnable stress tests.
$ gulp stress