今天,我们来看看 Azure Cloud Application和传统的local applicaiton,在运行方式上的不同.
这里,我们特指 使用 .NET 实现的 applicaiton.
1). 传统 .NET application
学过操作系统 ,我们知道,进程是程序在 操作系统中的动态执行形式, 是操作系统执行静态程序 时可分配的最小单元.
而线程则是进程的一次执行过程。
.NET 出现之前, 程序的生命周期因进程的创建而开始,以进程的结束而消亡.
随着.NET 的出现,App Domain开始被广大技术人员所熟知.(我们大学的教程有相应更新吗????)
大多数情况下,开发人员不用再直接也进程打交道; 取而代之,我们可以操作这个相对轻量级的容器。
这其中的妙处很多,重要一点是,避免了可能的 “连坐”现象.这个词,估计老外是理解不了的了. :)
2).Azure clound application
在 Windows Azure中,App domain 的概念被Vitual Machine (虚拟机)的概念所代替.
一个应用程序被分散在一个或多个VM 上执行。MS 使用一种称之为Hypervisor 的技术来协调VMs之间的工作了。
当前,CTP版本提供两种类型的 VM : Web 前节点(Web Role Instance)跟 Worker后节点(Worker Role Instance).
IDE目前也只提供创建者两种节点的模板。
Web 前节点,是用来直接响应来自外界的 HTTP/s请求,工作在 IIS 7.0之上。
如果说,Web前节点主要从事外交工作,那么,Worker后节点则开展内政。
通常,它的执行者是来自同一应用程序的Web前节点,以Queue的形式。
就实现方式而言,前者可以使用ASP.NET, WCF/WEB SERVICE; 后者则可以是任意可执行程序集.
最后有一点需要稍加注意的是,VMs 可以使用 Windows Azure 提供的 系统级 API .
下次,我们看看Cloud application , 在数据操作上和传统的application 有哪些不同。
通过学习这些基本的概念之后,对我们以后系列中的一些实际例子会有些帮助.