zoukankan      html  css  js  c++  java
  • 为什么是 Cloud Service?

    怀旧一把,还记得这个界面吗?

    Azure Portal Silverlight

    没错,这是第一版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中的虚拟机可以通过负载均衡终结点对外(对公网)提供服务。
  • 相关阅读:
    python模块—socket
    mac os系统的快捷键
    教你如何将UIImageView视图中的图片变成圆角
    关于ASP.NET MVC
    iOS 日期格式的转换
    将App通过XCode上传到AppStore 出现这个错误“An error occurred uploading to the iTunes Store”的解决方法
    关于MAC OS下面两个软件的功能改进——Dictionary和Fit 输入法
    分享一下上个星期的香港行程
    【博客园IT新闻】博客园IT新闻 iPhone 客户端发布
    解决Entity Framework Code First 的问题——Model compatibility cannot be checked because the database does not contain model metadata
  • 原文地址:https://www.cnblogs.com/hunterxue/p/4855060.html
Copyright © 2011-2022 走看看