为什么是 Cloud Service?
怀旧一把,还记得这个界面吗?

没错,这是第一版Windows Azure Management Portal,用Silverlight开发的,很炫!
奇怪,为什么没有Virtual Machine?
是的,最初的Windows Azure中是没有虚拟机的!
看到Hosted Service了吧?这就是Cloud Service的前身。Windows Azure原本是从PaaS开始起步的,这不难理解——微软的操作系统、开发工具是业界领先的,将传统的操作系统和开发工具“云化”,借力原有的客户群和市场影响力,无疑将成为Windows Azure的一大先天优势。
Hosted Service包括两种角色:
- Web Role:Web Application (ASP.NET,PHP,Java...)
- Worker Role:WCF Service (Web Service,RESTful Service)
无论是Web Role还是Worker Role,都是host在虚拟机上,而且是运行Windows Server的虚拟机。只是这些虚拟机由Windows Azure统一管理,用户并不需要去关注它们,或者说虚拟机被Windows Azure给包装起来了。用户通过Visual Studio创建和发布Hosted Service。一个Hosted Service可以有多个instance,每个instance对应一个虚拟机。总之,对用户而言,完全感觉不到虚拟机的存在。非常完整、优雅的PaaS体验!
后来,Hosted Service中出现了一个新的Role:VM Role——这个可以算是Virtual Machine的前身了。用户通过VM Role,可以在虚拟机上自由的部署应用或者对Web Role和Worker Role进行更加灵活的定制和调整。
据说,Windows Azure在Hosted Service中增加VM Role,是因为跟风AWS EC2。显然后退四五年,大多数用户对虚拟机(IaaS)的理解和接受程度远远高于托管服务(PaaS)。理念太超前了,难免高处不胜寒。
再后来,VM Role变成了独立的Virtual Machine,并且加入了对Linux操作系统的支持,用户终于可以在Windows Azure上部署并使用Linux操作系统啦。其实Hyper-v本来就支持Linux操作系统作为Guest OS,只不过在当时,Linux还被微软视为“癌症”。
虽然VM Role最终修成正果——成为独立的Virtual Machine,但其依然无法摆脱Hosted Service。毕竟这是一个关键而且核心的底层的架构设计,没那么容易轻易的被改变或者淘汰。Hosted Service也随之演变成现在的Cloud Service。虽然Cloud Service变得越来越强大,但其毕竟是源于Hosted Service的。而Web Role,Worker Role的概念也在逐渐的被淡化。
既然已经知道了“前因后果”,那么我们来总结一下对Cloud Service的认知吧:
- Cloud Service是一个容器,它可以包括托管服务或者虚拟机。
- 部署在Cloud Service中的托管服务虽然支持Java,PHP,Python、Ruby、Node.js等开源技术,但用来host托管服务的虚拟机运行的是Windows Server操作系统,一个托管服务的instance就是一个运行Windows Server操作系统的虚拟机,一个托管服务可以包含多个instance。
- 一个虚拟机必须放置在一个Cloud Service中。一个Cloud Service可以包含多个虚拟机,但一个虚拟机只能隶属于一个Cloud Service。
- 一个Cloud Service默认分配一个VIP,即:动态分配的公网IP地址。
- 一个Cloud Service默认分配一个唯一的二级域名。中国版是:xxx.chinacloudapp.cn;国际版是:xxx.cloudapp.net。
- 同一个Cloud Service中的虚拟机通过NAT连接到公网,即:在默认配置中,多个虚拟机共享同一个VIP。
- 虚拟机通过终结点(endpoint)实现端口映射,例如:将内网的22端口映射至公网的2222。
- 同一个Cloud Service中的多个虚拟机不能向公网开放相同的端口(终结点/endpoint),例如:Server A向公网开放了80端口,那么与Server A在同一个Cloud Service中的虚拟机就不能再向公网开放80端口。
- 每个Cloud Service可以配置一个或者多个负载均衡终结点(endpoint),Cloud Service中的虚拟机可以通过负载均衡终结点对外(对公网)提供服务。
为什么是 Cloud Service?的更多相关文章
- Azure PowerShell (10) 使用PowerShell导出订阅下所有的Azure VM和Cloud Service的高可用情况
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China服务. 该脚本下载地址在http://files.cnblogs.co ...
- 跟我学Windows Azure 四 Cloud Service中的WebRole与WorkRole,及他们之间的通信
Cloud Service 中WebRole就相当与我们的WebSite,而WorkRole相当与我们在服务器上写了个Windows Service,站在高可用的角度上来讲,Cloud Service ...
- Azure China (3) 使用Visual Studio 2013证书发布Cloud Service至Azure China
<Windows Azure Platform 系列文章目录> 之前有很多网友询问我如何通过VS发布Cloud Service至Azure China,这里我专门写篇文章,给大家详细介绍下 ...
- Windows Azure Cloud Service (1) 用户手册
<Windows Azure Platform 系列文章目录> 下载地址 Cloud Service用户手册
- Windows Azure Cloud Service (11) PaaS之Web Role, Worker Role(上)
<Windows Azure Platform 系列文章目录> 本文是对Windows Azure Platform (六) Windows Azure应用程序运行环境内容的补充. 我们知 ...
- [SDK2.2]Windows Azure Cloud Service (35) 使用VS2013发布Azure Cloud Service
<Windows Azure Platform 系列文章目录> 好久没有更新BLOG了,今天我们继续Windows Azure相关的内容. 笔者最近把Visual Studio升级到了20 ...
- Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书
<Windows Azure Platform 系列文章目录> 在某些时候,我们需要在Azure PaaS Cloud Service配置HTTPS连接.本章将介绍如何在本地创建证书,然后 ...
- Windows Azure Cloud Service (37) 浅谈Cloud Service
<Windows Azure Platform 系列文章目录> 最近在和一些客户聊天,常常被遇到这样的问题: 1.问题一:我在创建一个新的Windows Azure Virtual Mac ...
- Windows Azure Cloud Service (38) 微软IaaS与PaaS比较
<Windows Azure Platform 系列文章目录> 最近一直想总结Azure IaaS和PaaS的区别与比较,写个博文详细说明一下.建议读者在阅读之前,先熟悉微软PaaS和Ia ...
- Windows Azure Cloud Service (39) 如何将现有Web应用迁移到Azure PaaS平台
<Windows Azure Platform 系列文章目录> 本文将简单介绍,如何将企业内现有的ASP.NET应用程序迁移到Azure PaaS平台. 因为在迁移过程中,可能需要对现有的 ...
随机推荐
- IO流(一)__File对象和字符流FileWriter FileReader
IO流:IO流用来处理设备之间的数据传输,Java对于流的操作对象都在IO包中将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出 流分为字节流和字符流字符流的由来:其实就是字节流读取文字字节 ...
- telnetlib/SNMP
telnetlib telnetlib 总体来讲还是很好理解的,因为已经耍过paramiko 关于 .read_very_eager(), 简单理解就是就是读尽量多,读到没有反馈了为止 关键功能 1) ...
- Web Uploader - 功能齐全,完美兼容 IE 的上传组件
文件上传是网站和 Web 应用程序的常用功能,一直没有一款完美的文件上传组件,因此让很多开发人员碰到头疼的浏览器兼容问题. WebUploader 是由 Baidu FEX 团队开发的一款以 HTML ...
- 杭电acm2029-Palindromes _easy version
Problem Description “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串.请写一个程序判断读入的字符串是否是“回文”. Input 输入包 ...
- H5移动端页面设计心得分享
去年JDC出了不少优秀的武媚娘…不,H5呢,大家都很拼,同时当然也积累了一些经验和教训,今天结合咱们的实战案例,从字体,排版,动效,音效,适配性,想法这几个方面好好聊一聊关于H5的设计,希望对同学们有 ...
- Atitit.url 汉字中文路径 404 resin4 resin 解决 v2 q329
Atitit.url 汉字中文路径 404 resin4 resin 解决 v2 q329 1. Pluginx机制1 2. Code1 3. 参考4 1. 原理 过滤器 ,,拦截jpg w ...
- Sharepoint学习笔记—习题系列--70-576习题解析 -(Q69-Q71)
Question 69 You are designing an extranet site using SharePoint 2010. This site must allow employees ...
- Android pull解析xml文件
本文介绍android中使用pull来解析xml文件 先自己写一个xml文件,存一些天气信息 <?xml version="1.0" encoding="UTF-8 ...
- 你真的了解UIViewController跳转吗?
一:UIViewController模态跳转 //展示模态视图 - (void)presentViewController:(UIViewController *)viewControllerToPr ...
- MVVM 模式下iOS项目目录结构详细说明
➠更多技术干货请戳:听云博客 我们在做项目的时候,会经常用到各种设计模式,最常见的要数 MVC (模型,视图,控制器)了.但是,今天我们要说的是另一种设计模式——MVVM. 所以 MVVM 到底是什么 ...