关于Web-Scale IT的一些观点

社区广播:运维派(Yunweipai.com)是国内最早成立的IT运维社区,欢迎大家投稿,让运维人不再孤寂的成长!

Gartner近日发布了2015年十大IT趋势预测, 其中包括Web-Scale IT。Gartner指出:未来将有更多的企业以亚马逊、谷歌、Facebook等互联网科技巨头的方式去思考、行动和打造应用程序和基础设施。传统企业 渴望拥有和互联网公司一样的IT能力去进行业务创新,同时提高IT运营效率、降低费用。Web-Scale IT和国内的”去IOE”运动有着相同的逻辑,都是互联网企业影响、颠覆传统IT解决方案的一种趋势。

Web-Scale IT和传统IT不仅在技术上有差异,而且在文化上也有差异,所以企业也并不是要完全从传统IT转向Web-Scale IT。比如,一些交易型应用/System of Record应用仍然离不开传统IT,传统IT有其存在的价值和理由。但是,企业应该开始用Web-Scale IT的方式去构建一些新型的社交化、移动化、面向外部用户的应用。企业应该怎么做才能实现Web-Scale IT呢?

我认为Web-Scale IT有5个典型特征:

  1. 拥有成千上万台机器的计算能力
  2. 只需少数工程师就可以运维大量机器
  3. 应用可以承载非常高的用户访问量
  4. 即使有些机器出现故障,应用仍然工作正常
  5. 应用每天可以升级部署应用好几次

webscale

1、拥有成千上万台机器的计算能力

这里的机器是指商品化服务器(Commodity)。企业可以通过两种路径实现这个目标,一是采用公有云,二是自建方式/私有云。目前我们观察到的 情况是,国内对IT需求稍大一些的企业,都倾向于通过采用自建方式。而在国外,采用公有云的比例会高一些,比如像Netflix等,在AWS上面的虚机数 量超出1万台,仍不自建数据中心/私有云。随着国内公有云服务的完善、API的开放、费用的进一步下调,更多的企业应该会优先考虑采用公有云。

很多企业实施”Go to Cloud”战略的第一步就是构建自己的私有云服务,而不是采用公有云,这种策略值得商榷:对企业而言,基于云的可编程特性,学习在云中开发、部署和运营 大规模、分布式的云应用是更重要的,而不是将全部精力放在构建私有云基础设施上。一种更好的做法是,比如,企业可以先使用青云公有云,如果业务取得成功、 使用的规模越来越大,可以考虑基于青云构建自己的私有云并托管给青云来运维。

2、只需少数工程师就可以运维大量机器

如果用户采用公有云,那么这个问题就转变成:如何高效管理成千上万台虚机?这包括:

  1. 如何快速启动部署一个应用所需要的一序列资源
  2. 如何给这些虚机做配置
  3. 如何一键给这些虚机打patch
  4. 如何对这些虚机进行统一监控和告警
  5. 如何进行安全和费用统一管理

实现这些的核心是要充分利用云的API来实现自动化管理,用户可以采用云服务商提供的工具(比如Cloudformation、 OpsWorks),也可以采用第三方管理工具(比如Rightscale), 也可以自己基于云服务API构建自己的管理部署工具(比如Netflix)。

若用户采用私有云,用户可以自己运维也可以采用托管方式。如果是自己运维,则不仅需要对整个私有云解决方案非常熟悉,而且需要投入相当的开发和运维人力,同时伴随着很大的风险。而想减少运维人员,托管、外包方式应该是更好的选择。

3、应用可以承载非常高的用户访问量

Web-Scale IT通过以下两个方面来实现这个特点:

  1. Web architecture/SOA服务架构, 把整个系统分为松耦合的组件,尽量实现无状态,使得组件可以水平扩展。
  2. 充分利用云来动态、快速地创建资源(scale-out),根据各层次的监控数据来实现自动伸缩。

传统IT则是更多地通过Scale-up方式来进行扩容,和Web-Scale IT相比在架构方面也有些差异,比如,采用session复制方式也多于基于Redis/Memcached的集中式session方案。

在云环境下,云服务商除了提供计算、网络和存储资源外,还提供负载均衡服务、缓存服务、RDS服务等很多上层服务。云服务商负责这些服务的创建并提 供自动化运维方案以实现确保安全性、可用性和扩展性。企业也可以通过API动态管理这些服务。从这个角度看,在云中开发、运维应用和传统方式有很多不同, 企业需要进行相应的转变。

4、即使有些机器出现故障,应用仍然工作正常

传统IT可以通过Infra层面的冗余来保证系统的高可用性,而Web-Scale IT是构建在商品化硬件上,其冗余度比较低。Web-Scale IT在Infra层次的SLA是无法保证的,这就需要用户Design for Failure。这不仅仅需要在Infra层次部署架构方面做相应的设计,如把应用部署在两个可用区、使用负载均衡服务等,在应用本身的逻辑架构、中间 件、数据库存储层等方面做针对性的设计,同时在应用本身的管理上也需要有相应的设计,如数据的备份、恢复、动态地更改DNS、更改负载均衡的后端配置等。

5、应用每天可以升级部署应用好几次

传统IT对变更有着严格的控制和要求,开发和运维团队有着明确的分工和责任,应用要实现每天十几次的变更是不太可能的。

Web-Scale IT能够实现持续部署和交付,不单是靠自动化工具,更重要的是依靠流程、组织、文化上面的变革。很多时候,思维方式、文化方面的改变比技术上更重要。因此 Gartner说,开发与运营之间的高效协作配合(DevOps)是实现Web-Scale IT的第一步。

小结

从上述分析可以看出,要向Web-Scale IT转变,企业需要实现在Infra、平台和管理部署工具、应用架构,流程、组织和文化等各个层面的改变。云计算的进一步普及会加速企业在Infra层面 的转变,而另一方面,随着各个行业云标杆用户的出现,会示范和引导更多企业去实现其他层面转变。

作者 阮志敏

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2012-2017 YUNWEIPAI.COM - 运维派 - 粤ICP备14090526号-3
扫二维码
扫二维码
返回顶部