从总拥有成本TCO看云应用平台粒度——2009-1-15 CTO俱乐部第一次聚会“云计算”后记

从总拥有成本TCO看云应用平台粒度——2009-1-15 CTO俱乐部第一次聚会“云计算”后记

  CTO俱乐部第一次聚会的主题是“云计算”,有幸认识了北京美地森科技创始人游峰先生,聆听游峰先生关于云存储方面进展的介绍。关于聚会的概述发表在:
  2009-1-15 CTO俱乐部第一次聚会,http://blog.csdn.net/hu_zhenghui/archive/2009/01/16/3793180.aspx
  其中关于云存储的讨论,有幸受到游峰先生的关注,因此我就该话题展开讨论,发表在:
  云存储“有效”应用和云存储“无效”应用——2009-1-15 CTO俱乐部第一次聚会“云计算”后记,http://blog.csdn.net/hu_zhenghui/archive/2009/01/17/3808511.aspx
  游峰先生又进一步指导我参考Google相关资料,就此问题,我继续展开说明我的观点,发表在:
  云存储“有效”应用实例和云存储“有效”应用平台, http://blog.csdn.net/hu_zhenghui/archive/2009/01/18/3832075.aspx
  游峰先生介绍我参考关于虚拟操作系统的相关资料,就此问题,我继续展开说明我的观点,请各位前辈和专家斧正。
   对于特定用户的特定应用来说,这个应用的需求规格是确定的。因此,如果将这个应用从传统的部署方式移植到云应用平台的话,用户不仅期待享受云计算带来的 种种好处,更重要的是用户首先会关心云应用平台是否符合该应用对于运行时环境的规格要求。如果云应用平台不能符合该应用对于运行时环境的规格要求的话,那 么对于用户来说,就不仅需要计算享受云计算带来的收益,同时也需要计算迁移到云应用平台中所必要的开发成本,并对两者进行衡量。如果仅从这个角度来看,较 粗颗粒度的云应用平台,对于应用的云行时环境的规格限制将更少,用户将应用迁移到云应用平台所必要的开发成本也将更少。当颗粒度逐渐粗化到虚拟操作系统 时,就可以认为云应用平台提供与传统的部署方式相同的运行时环境,除了极少数的情况外,用户在将应用迁移到虚拟操作系统时不需要进行额外的开发,也就不需 要支付额外的成本。
  接下来从我在工作遇到的实际场景分析一下较粗颗粒度的应用平台和较细颗粒度的应用平台之间的成本差异。我目前的工作包括 IDC业务,我选择IDC中的主机托管业务作为较粗颗粒度的代表,以IDC中的虚拟主机(网页空间+数据库)业务作为较细颗粒度的代表。分析处于生产状态 下的成本支出。无论是主机托管,还是虚拟主机,开发的成本都是不变的。区别在于主机托管需要考虑额外的部署配置成本,而虚拟主机通常由管理平台自动化完 成,少量额外的工作通常由IDC的系统管理员以增值服务的方式提供(免费的或收费的)。下面详细讲解部署配置方面的成本差异,先从网络接入开始。
  1. 安装操作系统。虚拟主机不需要安装操作系统,而主机托管需要安装操作系统。目前在实际工作中,对于常见操作系统,安装操作系统通常由IDC以免费增值服务的方式提供。
  2. 运送到机房,安装到机架。虚拟主机不需要这项活动,而主机托管需要运送到机房,安装到机架上。目前在实际工作中,运送到机房、安装到机架上通常由IDC以免费增值服务的方式提供。
  3. 配置网络环境。虚拟主机不需要配置网络环境,而主机托管需要配置网络环境。目前在实际工作中,常见操作系统中配置网络环境通常由IDC以免费增值服务的方式提供。
   4. 配置远程访问。虚拟主机的远程访问通常是依据不同的应用提供不同的远程方问方式,而主机托管将直接提供操作系统的远程访问方式,例如*nix使用SSH访 问,Windows系列使用终端服务访问。目前在实际工作中,常见操作系统中配置远程访问通常由IDC以免费增值服务的方式提供。
  综上所述,借助于IDC以免费增值服务的方式提供的接入技术支持,用户不需要有专门的部署配置人员,只需要在网络接入后,通过远程控制服务器即可。在这部分工作中,不影响成本。然后看部署应用阶段。
   1. 安装服务器软件。虚拟主机不需要用户自行安装服务器软件,只需要按需选购应用实例即可。而主机托管则需要安装服务器软件。从开发者的角度来看,程序能在开 发环境中运行,也必然能在服务器上运行,既然能配置好开发环境,也能配置好生产环境,但是如果不了解开发环境和生产环境的差别的话,虽然也能上线运行,但 是将为后续的维护阶段带来隐患。
  2. 部署应用。对于虚拟主机和主机托管用户来说。部署应用的工作是相同的。而主机托管用户由于对主机拥有完整的控制权,可以更加便捷的部署应用。例如,文件可 以压缩上传后解压缩。而虚拟主机用户通常只能逐个文件通过FTP上传,等等。但是对于不熟悉生产环境的开发者来说,常常会为后续的维护阶段带来隐患。
  从这两点来看,在部署应用阶段,开发者可以自行完成部署应用工作,也不影响成本,但是会带来隐患,下面看看在运营维护阶段有哪些潜在的隐患:
  1. 防火墙。不正确的配置防火墙将导致服务器对外暴露较多的服务端口,任何一个服务端口都可以成为网络侵入的入口。
   2. 操作系统补丁。虽然Windows和相当多的*nux都提供了网络自动补丁服务。但是很多补丁的安装过程都需要人工参与,例如重起服务器或者关闭并启动特 定的服务。对于虚拟主机来说,由于有专门的运营维护工程师,可以及时处理,但是对于主机托管来说,处理不及时将大大增加系统被入侵的机会。
   3. 服务器软件运行权限。虚拟主机将不同服务器软件运行在不同的权限中,通过最小化服务器软件的运行权限来提高系统安全性。而对于主机托管来说,如果开发者按 照部署开发环境的方式部署服务器软件的话,由于开发环境(特别是图形安装界面的集成开发环境)常常以管理员帐户(Windows下的 administrator或*nix下的root)运行或者以系统帐户(Windows下的SYSTEM)运行,但是一旦服务器软件被入侵,就有可能借 助运行帐户的权限被当成跳板继续入侵操作系统。虽然有些开发环境会提示用户修改运行帐户,但对于限制服务器软件的运行权限来说是远远不够的。
   4. 应用实例运行权限。虚拟主机将不同应用实例运行在不同的权限中。通过最小化应用实例的运行权限来隔离同一台虚拟主机上不同用户之间的使用。而对于主机托管 来说,由于不存在同一台主机上限制多个应用实例之间互相访问的要求,所以通过都使用默认的服务器软件的运行权限。但是一旦一个应用实例被入侵,就有可能借 助运行帐户的权限当成跳板入侵其他的应用实例,而被入侵的应用实例有可能成为进一步入侵操作系统的跳板。
  从上面可以看出,在缺少专门的部署配置人员的情况下,仅依赖于开发人员配置开发环境的经验配置主机可能导致较多的潜在隐患,而且这些隐患随时可能带来灾难。灾难发生之后,就需要迅速的进行灾难恢复,下面看看在灾难恢复阶段会有哪些差异。
   1. 灾难恢复的范围。由于虚拟主机有专门的运营维护工程师管理,所以操作系统和服务器软件几乎不会出现问题,所以灾难恢复仅需要恢复每个应用实例中的信息即 可,恢复时间较短。而主机托管的灾难恢复时,可能不只是恢复应用实例的工作,依据严重程度可以需要重新安装服务器软件,甚至于重新安装操作系统,甚至于恢 复硬件中的固件(例如主板BIOS被入侵)、更换硬盘(由于频繁读写造成机械损坏)等情况,恢复时间较长,而且不能保证恢复。
  2. 备份。在遇到灾难恢复时,主要依赖于备份进行恢复,虚拟主机通常有能力按照客户的需求提供不同层面的备份服务(免费的或收费的)。而对于主机托管来说,需 要自行制订备份策略并配置备份工具,虽然通过完整的硬盘镜像可以起到保存数据的作用,但由于硬盘镜像并没有按应用区分,所以恢复硬盘镜像时,不仅恢复了数 据,同时也恢复了系统中的各种安全隐患。
  3. 日志。虽然在服务器正常运行的时候,日志仅用于统计使用,而且还需要常常清理日志以节约硬盘空间。但是在灾难恢复之后,通过复审日志是找出并弥补安全漏洞 的重要手段——亡羊补牢,犹未晚矣。对于虚拟主机来说,通常有全面的日志提供随时下载,甚至于异地备份日志。而对于主机托管来说,需要自行制订日志策略并 配置日志,如果需要异地备份日志的话,还需要托管额外的服务器。
  从这几天也可以看出,在缺少专门的部署配置人员的情况下,仅依赖于开发人员难以制订妥善的容灾计划,而在灾难发生后也难以进行有效的灾难恢复工作。
  如果从交付内容来看,在借助于IDC提供商提供免费的增值服务的基础上,主机托管和虚拟操作系统对于用户而言是等价的。当用户在购买了虚拟操作系统之后,如果希望获得和虚拟主机相匹配的部署配置质量,则需要雇佣全职或兼职的部署配置工程师,一般有三种工作范围:
  1. 全职的部署配置工程师,工资约为8K~12K人民币/月。维护服务器硬件,安装服务器软件,开发服务器部署配置工具,大约管理5~10台服务器。
  2. 全职的部署配置工程师,工资约为8K~12K人民币/月。维护服务器硬件,安装服务器软件,使用第三方服务器部署配置工具,大约管理20~50台服务器。
  3. 每周20小时兼职的部署配置工程师,工资约为4K~6K人民币/月,大约管理1~3台服务器。
   而按照常见的百兆共享带宽机架式1U服务器来计算,服务器的硬件价格约为10K人民币,托管费用每年6K人民币,平均使用寿命约为4年(绝大多数服务器 的使用寿命在3~5年之间)。可以计算出月平均费用约为0.7K人民币。低于为每台服务器向部署配置工程师支付的薪酬(使用第三方服务器部署配置工具管理 大量服务器时需要核算使用第三方服务器部署配置工具的成本),因此在保证质量的前提下,从总拥有成本TCO的角度来看,使用虚拟操作系统并不一定就降低总 拥有成本,而且相对于主机托管来说,部分主机托管用户没有采用虚拟主机的原因是敏感数据保存在第三方存储区域的担忧。在这一点上,虚拟操作系统和虚拟主机 的情况相同。同样的分析和结论可以类比于粗颗粒度的云应用平台和细颗粒度的云应用平台,粗颗粒度云应用平台在提供便捷的同时,不一定就降低总拥有成本 TCO,在明确具体应用范围的情况下,与应用相匹配的细颗粒度云应用平台在降低总拥有成本TCO上拥有明显的优势。
  最后关于本文的讨论,需要特别说明的是:
  1. 具体的虚拟主机业务和主机托管业务并不是本文讨论的重点,因此所列举事项并不全面。
  2. 本文并非特意强调虚拟主机的优势,基于共性的虚拟主机难以满足主机托管中灵活的个性配置。
  3. 本文所给出的参考价格是典型价格或公开报价,不代表实际价格,不建议作为实际雇佣、采购的参考。

[2009-1-15 CTO俱乐部第一次聚会 - 云计算]

2009-1-15 CTO俱乐部第一次聚会, http://blog.csdn.net/hu_zhenghui/archive/2009/01/16/3793180.aspx

云存储“有效”应用和云存储“无效”应用, http://blog.csdn.net/hu_zhenghui/archive/2009/01/17/3808511.aspx

云存储“有效”应用实例和云存储“有效”应用平台——2009-1-15 CTO俱乐部第一次聚会“云计算”后记, http://blog.csdn.net/hu_zhenghui/archive/2009/01/18/3832075.aspx

从总拥有成本TCO看云应用平台粒度, http://blog.csdn.net/hu_zhenghui/archive/2009/01/24/3852636.aspx

你可能感兴趣的:(CTO俱乐部)