中国互联网信息中心(CNNIC)在2010年7月份的《第26次中国互联网络发展状况统计报告》宣布,截止到2010年6月份中国网民达到4.2亿。而云计算作为一种通过网络提供的服务,正好契合了互联网公司业务的特点,因此云计算不仅成了互联网公司争相开展的新型业务,而且也对传统业务的进一步发展具有重要的战略意义。如今,互联网产业的巨头们都对云计算倾注了极大的热情。互联网公司不仅仅通过业务创新提供形式多样的云计算服务,其本身也在使用云计算的平台和管理形式来运行其原有或者新型的服务。在众多的互联网公司里面,我们筛选出几个有代表性的来分析云计算给它们带来的机遇和价值。
首先,我们来分析一下Amazon。该公司是将基础设施资源作为公共服务的开创者之一,IaaS公有云服务能够被业界所认知,很大程度归功于Amazon公司推出的AWS公有云服务。从如图2.7所示的AWS产品目录,我们可以看到AWS将复杂的应用解耦成各自独立且又互相利用的服务模块。这种解耦合的价值在于使得用户在各个服务模块上的调用和应用逻辑的编排变得简单,用户获得了较好的应用运行性能却无需了解系统实现的技术细节。
AWS的EC2负责提供应用所需的CPU和内存资源,S3负责应用所需的存储,SQS负责应用模块之间的通信。有了这三者,应用开发就再也无须考虑应用所依赖的底层基础架构的技术特点。同时,该服务中的Elastic MapReduce和Auto Scaling技术能够帮助应用的开发者解决大规模并行处理应用与CPU相关的性能问题;EBS和Import/Export迸一步解决存储时非关系型数据处理问题;而SimpleDB和RDS进一步解决存储时关系型数据处理问题。SNS增强应用模块之间通信的处理能力。在解耦应用后,AWS还提供应用公共服务模块,包括CloudWatch的应用监控、FPS的记账。按照这种思路,如果AWS下一步提供应用的安全模块、身份认证模块等,也将是水到渠成的结果。
如果综合使用AWS的整套服务,我们可以发现应用程序开发者只需要做两件事,一是业务逻辑的实现,二是业务逻辑的展现。应用开发将变得极其简单且只需专注于业务本身。我们通过一个实际的例子说明AWS云计算解决方案的具体应用和巨大优势。
作为互联网创业公司的代表,Snappy Fingers.com的产品Snappy Finger定位为一个能够对互联网上的问答内容进行搜索的智能引擎,基本结构分为与用户进行交互的Web前端和支持用户查询的IRS(Information Retrieval System)后端两部分。Web前端由数个运行的EC2实例支持,与Cloud Front一起提供Web服务器、数据库以及页面缓存等一系列功能。网站后端的IRS则比较复杂,包含了用来获取Internet上问答数据的网络爬虫、相关的解析器以及索引创建器等。为了满足大容量数据的存储和分析需要,IRS采用了Amazon的简单存储服务S3和简单数据库服务SimpleDB。Snappy Finger被设计成模块化系统,并采用了Amazon的简单队列服务SQS,用于在不同功能部件之间进行通信。
通过使用Aws,网站开发人员能够将主要精力集中在搜索算法上,无须去考虑诸如服务器部署、数据存储或消息可靠传递等一系列底层问题。传统的重最级互联网应用在Aws的支持下,变成了小团队就能够开发和运营的业务。
Snappy Finger作为一个新创公司使用云计算提供的资源可以快速构建其自身的IT系统并且推出自己的业务。而大型的互联网公司,也需要通过云计算系统来实现资源共享,提高效率并降低成本。
Google公司是互联网公司中提供Web应用及其应用平台的代表。Google提供了大虽的Web应用,其业务范围涵盖了传统的搜索业务、在线电子邮件业务、在线文档、在线地图等等,不仅如此,Google还开放了应用平台Coogle App Engine,该平台能够提高Web应用的可扩展性和可用性,大大方便了普通的Web应用开发人员。而这些云计算服务都依赖于Google自身基础设施架构和应用服务的设计对可伸缩性和高可用性的充分考虑,从而达到了效率与成本的平衡与优化。例如,海量的数据存储在数量众多的节点上且通过这些节点的合作来完成搜索任务。这些节点运行在Google特别设计的硬件服务器上,这些服务器的成本比普通服务器低很多(约为普通服务器的1/5到1/20)。而整个系统可以容纳任意节点的故障,一台服务器坏掉了直接拨出来更换掉即可。Coogle的基础云架构实现了业务集成和资源共享,在支撑超大规模应用的同时减少了运行管理成本。