Openstack的web管理端相关
openstack的web管理端技术方面要关注的问题。
同步?异步
先说浏览器的同步和异步,我们知道的浏览器可以使用ajax实现异步请求,就是浏览器在请求数据的时候,我们管理员还能对浏览器就行其他操作。 而不是一直等待浏览器相应回传数据。
对于openstack的管理端来说,实际上涉及了3方面的"端"。
浏览器
浏览器是直接呈现给用户的,所以主要关注方向应该是用户体验,流程清晰度。
dashboard界面
这里的dashboard界面对于浏览器来说是服务器端,对于openstack给我们暴露的API接口来说是客户端。既然浏览器有异步的请求方式,那么我们这里 的dashboard之于openstack的API来说也应该有异步的请求方式,否则,如果采用同步请求API方式,将在页面会有的效果是:一个请求没有完成,dashboard 的程序不响应其他请求!
openstackAPI
openstack的API是遵循RESTFUL方式,包括nova-client,keystone-client,glance-client等等组件,他们共同为dashboard的组件提供了管理云的接口。
框架
我们采用python的tornado框架实现,因为他的高并发,支持异步,简单精简的源代码,一个python程序员只需要大致1个星期就能使用tornado来进行开发web应用。 对比django需要在django中有比较长时间的开发经验,程序员陷入框架内部错误,内部代码时间太多。