After some discussions about global architecture, we made choices, and we are testing them right now. And we have screenshots to share :)
Our goal is to avoid useless traffic between clients and XCP servers, for multiple reasons:
- XAPI talks a lot
- multiply each client connection by each server, and you have a LOT of traffic everywhere
- can be slow Our solution is to provide a daemon between clients and XCP servers. This daemon provides:
- connection persistence (which improve speed)
- event handling (listening without interruption, unlike a simple web script)
- users management
- cache system (combined to events, it allows nice bandwidth reduction and extra speed)
It can be summarized like that:
Overview of XO architecture
First, we get all data on our XCP server
Then, we listen their event to update our cache
When you request an information not present in the cache
When you get the information in the cache, you don't need to connect to your XCP server !
We choose to use intensively Twitter Bootstrap and FontAwesome to bring a clear and ready to use interface. It allows us to make quickly a nice UI, which is not definitive but a good start.
Prototype of welcome page, with opened login menu on the right[
Prototype of server overview, only here to display what it is possible to display.
We continue to think about innovative way to display an overview of pools/servers/VM with our ergonomist. But it's to early for having any implementation so far. Stay tuned for new visual ASAP.
Now we have a first prototype and our global design, we can, in parallel:
- test XO-server extensively to detect problems and doing optimizations
- implement basic features in the UI
- implement and test innovative design for great overview
All the team wish you happy new year! 2013 will be a great year for XO :)