写点什么

关于 Web-Scale IT 的一些观点

2014 年 10 月 12 日

FIT2CLOUD 联合创始人阮志敏近日通过邮件向 InfoQ 中文站分享了他对 Web-Scale IT 的一些观点,当中列举了 Web-Scale IT 的典型特征,并对企业实现 Web-Scale 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. 应用每天可以升级部署应用好几次

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 层面的转变,而另一方面,随着各个行业云标杆用户的出现,会示范和引导更多企业去实现其他层面转变。

作者简介

阮志敏是 AWS 认证解决方案架构师 (专业级别), FIT2CLOUD 联合创始人,长期关注于如何使用云服务进行业务创新。 FIT2CLOUD 是一个云管理及 DevOps 协作平台,旨在帮助开发人员、运维人员实现应用全生命周期的自动化管理,提升云使用成熟度。


你对于 Web-Scale IT 有什么观点?欢迎分享!InfoQ 中文站投稿信箱:editors@cn.infoq.com

2014 年 10 月 12 日 21:553304

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布
暂无评论
发现更多内容

架构师训练营Week4

Frank Zeng

猿灯塔:Java程序员月薪三万,需要技术达到什么水平?

猿灯塔

Java

week4作业一

任鑫

架构

未来已至,唯有拥抱变化才能生存

七镜花园-董一凡

生活,随想

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?

任小龙

第四周作业

大雄

大型互联网应用系统使用了哪些技术方案和手段

刘志刚

第四周学习总结

架构师 极客大学架构师训练营

聊聊架构演化

Jerry Tse

架构 极客大学架构师训练营 作业

架构师训练营第四周总结

王鑫龙

极客大学架构师训练营

典型的大型互联网应用系统使用了哪些技术方案和手段之个人见解和总结

潜默闻雨

redis设计与实现(1)redis数据结构

程序员老王

redis

游戏夜读 | 在游戏中打败人类

game1night

浅谈大型网站技术应用及适用场景

Jerry Tse

架构 网站架构 极客大学架构师训练营 作业

第四周作业

陈迪豪:推荐系统大规模特征工程与Spark基于LLVM优化

天枢数智运营

人工智能 第四范式 天枢

架构师训练营第四周命题作业

whiter

极客大学架构师训练营

架构师训练营第四周命题作业

hifly

分层架构 极客大学架构师训练营 技术方案

发力数字化“新基建”,株洲市商务和粮食局携手慧策举办企业专场培训会

InfoQ_21c8aba5317f

架构师训练营第四周总结

架构师 极客大学架构师训练营

架构师训练营第四周总结

王铭铭

架构师训练营第四周作业

王铭铭

架构师训练营 第四周 系统架构作业

且听且吟

极客大学架构师训练营

说说JS中的new操作到底做了些什么?

小岛工程师

Java 前端

互联网运用那些技术手段解决什么问题?

师哥

架构师训练营第四周学习总结

whiter

极客大学架构师训练营

第四周总结

大雄

架构师训练营Week4学习总结

Frank Zeng

第四周作业

Geek_a327d3

第四周总结

Geek_a327d3

作业

不会用这个远控工具 怎么好意思说你会远程运维?

InfoQ_21c8aba5317f

远控工具

微服务架构下如何保证事务的一致性

微服务架构下如何保证事务的一致性

关于Web-Scale IT的一些观点-InfoQ