先看看盆盆之前做的一个演示视频吧!这可是第一次在微信里公开哈!视频里加注了盆盆所做的注释,没有声音,可以在任意地方放心观看哈!
视频内容
详细介绍了如何使用SCVMM来创建服务模板,里面涉及到Web应用、数据库应用和普通服务端应用的分发。
还有很好玩的案例,例如一旦检测到前端Web服务压力超载,立马发微信报警,领导收到后,微信回复同意扩展,即可扩展!
服务模板
SCVMM的服务模板,到底派什么用场?
其实是为了把OS和应用(当然还有数据)都变成文档化,这样才可以在设备上任意交付嘛!
这是一个.NET三层架构应用的例子,红色框里的部分都是通过服务模板部署的应用,分别是SQL数据库应用(后端)、传统应用虚拟化(中间层),Web应用(前端)。
这是服务模板的映像设计结构,任意打开其中每一个部分的属性对话框,可以发现无论是Web、数据库还是传统应用,都是以文档的形式存在,当然包含相应的配置脚本(脚本自己也是一种文档)。
这里以Web应用作为例子,可以看到其本身是文档(st5-tradeweb.zip),还有一系列的脚本和变量,这些都是文档,存放在库共享里。
做成文档有什么好处呢?
只有文档才可以实现和设备的中立性(或者叫做松耦合),可以把多层应用的设计、部署和运行都分离开。
最后,连服务模板本身的配置和定义也是一个文档,本身也保存在库共享里。
这样的好处是可以实现一种比较重的PaaS!
啥意思?其实就是对于Web层来说,租户虽然会看到其完整的虚拟机,但是理论上租户可以不用管虚拟机的补丁更新,完全可以让云服务商批量替换虚拟机映像,反正OS、代码和数据都是分离的!
整套方案的缺点在哪里?
很显然,基于虚拟机的方案,确实比较沉重,在纯SSD条件下,部署这套三层架构的服务模板,需要1个小时!
如果把其中的应用这一层改用docker来发布,则简直太棒了!无论是Web、数据库应用,都可以用docker来部署。
目前微软合作伙伴Citrix的XenCenter已经发布了对Docker的早期支持包,现在已经能识别虚拟机里的Docker应用,可以对其进行操作。
参考资料
http://xenserver.org/blog.html?view=entry&id=85
期待SCVMM也能很快发布相应的功能插件,并且能和服务模板整合起来,这样我们不但能对.NET应用提供支持,更有利于Linux应用的部署和管理。
回过头来再看看视频里已经实现的案例:一旦发现前端Web不堪重负,领导会收到微信的性能报警消息。
领导微信回复同意扩展,即可对前端Web层进行扩展。
不过呢,这还有很长一段路要走,毕竟Docker容器不像虚拟机,没有办法对CPU和内存的粒度做很细致的管理,也较难对Docker容器进行性能监控,这给我们提出了新的话题,微软到底该如何解决?留待我们后续再进一步讨论。
套用三体的话 服务模板这个智子,可以在操作系统、应用、容器和数据这个四个维度上轻柔地展开。
华来四是由彭爱华、黄爱华、程尊华和祁清华等几位名字中都有华的Microsoft MVP创建的微信号,分享最新的微软客户端、数据中心和云技术。欢迎扫描以下二维码关注,也可以直接在微信里关注:sysinternal