业余网络写手阿D正在办公室上班,突然间灵感迸发,手边一时间找不到纸笔的他,眼光移回电脑显示器,迅速地打开Evernote,奋笔疾书把这些随机的字句全部记录下来,随即抛诸脑后。而在一天工作结束,晚上下班回到家中,他想起白天时那些模糊的碎片,便把Evernote打开,这些片段很快就串起了一个新的篇章。
如果你还不是很明白云计算,就是一个贴近生活的例子。当然,云计算肯定不仅限于此,而且它所能完成的工作,很多时候普通人根本想不到。就像你知道什么是Windows,而在它变成Windows Azure之后,就突然觉得自己原来所知道的一切,全部都腾云驾雾不知所向了。不着急,我们一点点把它们找回来。
云计算101 解析Windows Azure的角色属性
首先为云计算这个概念一下,云计算虽然字面上借用了云,但和气象学中的云是没有任何关系的,这只是一种形象说法。云计算里的“云”形容的是随时随地,通过网络随手可及的计算服务,就好像天上的云,不管在哪都能看到。
而云计算这一术语中的“计算”不是单纯的拿来算1+1=2,而是你能在家里PC上做的事情,云计算都能做。简而言之,云计算就是由很多很多服务器组成,可以随意分身合体,强大到无以复加的电脑。这些不尽相同的服务器将它们的运算能力,通过虚拟化抽象后再分配,成了一个个用来执行具体任务的虚拟机。
从左往右就是传统架构、IaaS、PaaS、SaaS的结构分层,蓝色为用户自管,灰色托管
云计算基本不需要使用者自行,完全由服务商托管,这是SaaS,服务商提供成型的软件供普通用户使用;但如果有需要,可以让服务商一部分内部机制让使用者利用进行深层次的按需定制,根据定制的程度,又能分为IaaS和PaaS两类,IaaS相比PaaS能接触到底层的虚拟机,存储和网络资源,是最底层的形态。
对于那些已经组建好自有网络的单位来说,实际上也是能在自己的网络里实现云结构的,不过这片云只属于自己,所以叫私有云。相对的,在外面由其他服务商提供的云计算服务,就叫公有云。不过在满足条件的情况下,这两种云计算可以像和面团一样,把公有云里的计算实例掐出来,和现有的私有云糅合在一起,就成了混合云。
到这里,你应该大概能对接下来要登场的Windows Azure是一件什么样的事物,有所心理准备了。
建站虚机驾轻就熟 Windows Azure威力初显
Windows Azure自发布以来经过3年多的发展,现在已是一个SaaS/PaaS/IaaS兼备的三明治型云服务,当然,像Office 365这样的SaaS部分本文就不多费口舌介绍了,以前爱活有过体验,相信现在大家也一点都不陌生,这里我们着重介绍,如何发挥PaaS/IaaS模式下Windows Azure的威力当然,这只会是冰山一角。
a、快速建站
于一般人而言,在互联网上拥有一个服务器,你最先能想到的用途是什么?当然是建立自己的网站。经验丰富的你很可能会心想,不就是vps吗,设置完全是雕虫小技,对我来说早就轻车熟,不过小编还是要很遗憾地告诉你,对付Windows Azure连这点雕虫小技都不用使。
我们先创建网站实例。从底栏的统一入口“新建”开始,选择“计算”“网站”“快速创建”,然后填入一个未被占用的二级域名,选好网站的数据中心,再确定,片刻过后网站实例就建立完成了。当然,相对于许多VPS来说,这一步是多出来的步骤。
建立好的网站只是一个没有任何内容的空壳,你需要使用开发软件或是部署工具往其中填充内容。通常对于专业的开发人员来说,Visual Studio搭配Windows Azure SDK是理想选择;如果没有VS这样高大上的开发套件,微软也有轻量级的WebMatrix提供给普通人。我们这里就用Windows Azure SDK网络安装包,配合WebMatrix来一个搭建Wordpress博客站点。
预置的各种网络应用
网络安装包将可用的资源分为两类,“产品”一类是微软自己的系统性功能,例如SQL Server和IIS,还有Windows Azure SDK;“应用程序”就是各种常见的web应用了:WordPress、phpBB、discuz!、Drupal、Joomla以及不少商用CMS系统。将WordPress添加至安装列表,其依赖项也会一同添加,不用自己摸索,它们将全部下载至本地。
下载配置完成后,WebMatrix会立即启动并打开刚下载的WordPress,此时你可以在本地运行网站,进行测试安装工作Wordpress应用程序本身的安装自然都是大同小异了,此处不多作赘述。确认安装正确无误之后,就可以准备把整个网站都发布到Windows Azure上了。
在发布前,你需要Windows Azure的管理门户里进入对应网站的开始页,获取它的发布配置文件。随后便能点击“运行”旁边的“发布”,然后定位发布配置文件,点击几次下一步,网站就发布到Windows Azure上,可以使用二级域名进行访问了。
b、安装虚拟机实例
当然,光凭微软提供的Web应用程序,是不可能满足得了广大用户的需求的。不过说到这里,想从平台搭建开始,全程掌控网站建立和过程的你,肯定也不再需要长篇大论炒一遍如何手动建站的冷饭,我们还不小小地测试一下,Windows Azure的虚拟机究竟有何种程度的性能。
选择好虚拟机实例的规格和OS之后,然后选择好要将其放入哪个数据中心,并设置是否要为其创建可用性集群,再确认创建,Windows Azure就会开始初始化虚拟机实例,这个过程大概在1分钟左右,一旦它告诉你虚拟机已经就绪,你就可以在仪表板页面的底栏里找到“连接”,下载远程桌面连接,并用创建时预设的密码进行远程桌面管理了。
Windows Azure虚拟机当然推荐使用微软自己的Windows Server 2012 OS了,由于内核的共通性,管理和访问的简单程度绝对拔群。举个最浅显的例子,要往虚拟机里上传东西,一个有经验的管理员会马上想到去IIS控制面板里配置ftp服务,这当然是一种方式,但是你肯定也会想不到,在本地和远程桌面之间使用Ctrl+C和Ctrl+V也能完成类似的任务,不过不拿来复制大文件或目录。
那一个标准的Windows Server 2012虚拟机实例能有怎样的数据吞吐能力呢?我们创建了一个中型虚拟机实例(双核/3.75GB RAM/250GB存储),使用Windows Server 2012 R2系统初始化,随后用HDTune简单测试了一下,得到了平均28MB/s的读取传输速率,和150IOPS的随机存取每秒操作数的结果。
HDTune的基准读取测试,传输速率平均为28MB/s,4KB随机读取IOPS为120左右
字面上来看这是一个普通的HDD存储的成绩,由于Windows Azure的资源调配是根据订阅和计算需求优先级自动调整的,目前公测阶段还无法接触到更加优质的计算资源,我们也只能推测在规模扩增之后性能会得到明显的改善。
中小企业新 Windows Azure利剑所指
云计算这一术语一听觉得高端大气,按照惯性思维来想,肯定又是为那些大企业服务的,我们这些普通小公司都无福消受的吧?答案并非你所想的那样。而且恰恰相反,像Windows Azure这样的云计算服务,实际上是更适合中小企业的。你肯定要问为什么了,且看下文三大理由:
1、节省持有成本
如果采用Windows Azure作为自己IT架构的基础,和传统方式相比,要获得等量的计算资源,所花费的资金明显更少。假定我们新增一组服务器,按照原有思,需要购置一个24U的机柜,使用参考价格12000元的1U服务器(1.8GHz Xeon-E5/4GB RAM/300GB硬盘),光是购置这些硬件设备就已经需要一次性投入50多万元,购置完毕后,保养和运行的成本也不会低,而且还需要有具备相关专业知识的IT人员来进行管理。
类似的,如果使用Windows Azure来打造与之接近的计算力,我们可以订阅24个大型虚拟机实例(4Core CPU/7GB RAM/500GB存储),每个实例月价约为1650元(汇率换算价,国内正式定价目前未定),一个月的开销大概在40000元,一年下来也是50万元不到,但完全节省掉了保养成本,还不用自己交电费,更不用雇佣专人来看着这一堆服务器,而这些开支很可能和40000元的订阅费用相当了。
2、无需专人管理
如果你身处一个拥有自己IT基础设施架构的公司,你肯定会知道你们公司里有这么一群技术,他们负责管理和公司的服务器,工作站,还有网络等各类IT设备的安全和稳定运转;而除了具备打造和公司IT架构的技术之外,同时他们还必须是这方面硬件的专家,为公司在设备投资上的决策提供专业的参考;而在现有的条件下,他们还要根据的现状,思考如何改进升级架构才能提升工作效率这样一群人才不光难找,找到估计也是重金聘请。
然而对Windows Azure来说,因为消除掉了硬件的根本需求硬件全部都在微软的数据中心里,工作自然都是由微软和它的合作运营商负责的,对于把IT架构寄于Windows Azure中的组织而言,自然就没有必要腾出专门的人手来打理硬件,系统管理员的工作负担也大大减轻。
3、改善容灾能力
一个规模不大的组织,IT架构的容灾能力总是有限的,也许一个集群里面坏掉一两个服务器还好说,同时故障的数量如果再多几个,搞不好连服务正常运行都无法了。而面对,再为的防火墙也是形同虚设,公司辛苦经营的单个机房被自然灾害或是人为毁损直击的结果无一例外都是服务中断。不少企业都想做异地备份来容灾,然而建设一个新机房的成本又总是让没有财力的SMB感到无望。
如果转移到云上,支持异地存储复制的Windows Azure则能给他们吃一颗容灾定心丸。庞大的数据中心里的分散存储自不用提,如果一个实例故障,很快就会有新的虚拟机实例顶替它;微软会把每一份数据写进另外两个在不同地理的数据中心里,实现异地灾备,业务稳定。世界上能作出99.95% SLA承诺的云服务不多,Windows Azure是其中之一。
Azure可以自己调整VM的计算量大小,也能安排一组VM建立可用性群集
而弹性的计算资源应对访问量高峰,计算规模扩增轻松等云计算的共有特性,也是中小企业青睐它的原因,Windows Azure当然具备这些能力。
角力同行各有所长 Windows Azure的主要对手
在国外,Windows Azure的竞争对象是亚马逊的一整套AWS(Amazon Web Service)云服务。和作为后来者的Windows Azure比起来,AWS的优势在于齐全的虚拟机规格和OS种类,Windows Azure目前只能提供5种虚拟机实例(若算入3种内存实例则为8种),对开源OS的支持也不如AWS全面。但它凭着微软一家亲的关系,能靠提供最新的Windows Server 2012版本追回一点劣势。
在软件和服务方面,Windows Azure和AWS可以说是不分伯仲,不过对于已经拥有Windows Server基础架构的组织来说,集成了Active Directory的Windows Azure,在现有架构整合上存在不可比拟的优势,建立混合云会更加便利。而前面提及的支持存储异地复制,也是Windows Azure的加分点。把眼光放到国内比的话,它具备的最大优势,还是在中国本土有数据中心,AWS最近也只能到东京。
在国内,Windows Azure其实也面临着本土云的竞争,冲在最前面的就是阿里云。阿里云作为在中国境内发展得最好的云服务,它的IaaS服务基本代表了国内该项目的最高水平,虽然和Windows Azure相比是小巫见大巫,但是阿里云对数据存储十分重视,这正是云计算的核心所在,所以它还是具备和Windows Azure正面对话的能力。
不过在配套的服务方面,阿里云就差Windows Azure不少了。现在阿里云缺乏网络服务和VPN,虽然对新建立的SMB来说影响甚微,但不适用于已有自主架构的企业套入,估计很难拉拢大企业。就连在接入质量上,Windows Azure借助世纪互联的上海网络互通,都可能会比阿里云的青岛杭州双节点要乐观一些。但阿里云毕竟是土生土长的国内云,不存在接地气一说,Windows Azure所苦恼的域名备案问题它已经无碍解决。
碧海何时渡 只待平步登青云
除阿里云之外,国内也有像SAE,BAE还有腾讯云这样的云服务在努力发展,他们各有所长,总体上仍然是阿里云做得最完备,大有打造中国的AWS之势,但Windows Azure的加入,让这一切都充满了变数。
Azure进入国内,把国际标准的IaaS/PaaS/SaaS全套服务一起带进市场,手攥贴心的企业应用,还有完整的.NET开发平台,面对着中国诸侯几乎都能轻松,基本上要所有国内云集各自优势联合起来才能与之抗衡。Windows Azure现在只需要解决两个问题,一个是想办法把域名绑定的问题解决,另一个是确定一个合理的国内定价,一旦移走这两块绊脚石,那它毫无疑问是近几年里国内能用的最靠谱云计算方案。