thinktt
作者thinktt·2015-11-04 13:41
系统工程师·罗云科技

我的《云计算核心技术剖析》读书笔记之Google的云计算产品

字数 5814阅读 1295评论 0赞 0

从云计算角度而言,几乎Google的所有产品都可以被认为是典型的云计算产品。因为 Google本身就是世界上最大的云,在全球有30多个数据中心,服务器的总数超过100万台, 而且在运营效率和0动化管理程度这两个非常重要的云指标上也是独领风骚的,并且这些产品 大都以Web的形式发布。另外,在最近一段时间,Google在云客户端方面也有发力。下面从 SaaS、PaaS、laaS和云客户端这4个方面介绍Google的云计算产品。

一、SaaS 层

在SaaS层,Google的云服务主要可分为两大部分:其一是主要而向个人用户的苦通SaaS 服务,其二是面对公司和机构的企业级SaaS服务。

1.普通SaaS服务

大多数Google服务(包括最重要的捜索)都可以归为这类。这些服务可总结为下面这6 大类,具体请参考表3-1。

表3-1 普通SaaS服务的列表

类别产品
搜索类网页搜索、图片搜索、视频搜索和学术搜索等
地图产品Google地图、Google Earth和Google Sky等
视频播放
YouTube
照片共享
Picasa
社交站点
Orkut
协作工具
Gmail、Google日历和Google文档等

2. 企业级SaaS服务

Google的企业级SaaS服务统称为GoogleApps,它可以有效降低IT成本,有助于提高现有员工的工作效率,并且有超过200万家企业已经购买了 GoogleApps服务,而且每天新注册的企业达数千个。Google Apps主要包括6大组件,下面将介绍这6大组件所支持的特性和功能。

□企业版Gmail。每位用户都可获得容量达25GB的存储空间,并提供强大的垃圾邮件过滤,与黑莓和Outlook之间的交互,以及99.9%的正常运行时间可靠性保证。

□ Google日历。基于网络的R历应用程序使员工可以有效地协作,并帮助降低成本和IT负担,支持轻松简单的预约,共享项目日历,进行日历的同步,与电子邮件系统集成和通过移动设备进行访问等功能。

□ Google文档。可在线编辑和创建Word文档、电子表格和演示文稿,并且支持多人之间 的协作编輯和强大的安全访问机制。

□ Google网上论坛。用户可创建群组,提供邮件列表,轻松共亨内容和搜索存档。

□  Google协作平台。它是一种快速创建网页的工具,比较适合Intranet (内联网)和小型团队项目,只需单击几下鼠标即可创建网页,无需编写任何代码,而且支持企业级的安全控制。

□ Google视频。可以安全地托管和流化企业的视频,因此员工可随意地分享视频,也无需因复杂的本地视频解决方案而加重企业IT部门的负担。

虽然Google Apps里面有许多服务也存在而向个人用户的普通SaaS版本,但是身为企业级服务的Google Apps,在下面这3方面有一定的增强。其一是在客户支持和可靠性方面。对于重大问题,Google提供全天候电话和电子邮件支持,并保证99.9%正常运行时间的SLA和提供自助式在线支持等。其二是在安全性方面。为确保安全而提供HTTPS访问,N时强制执行SSL 协议,并可定制垃圾邮件过滤机制和密码强度要求等。其三是在迁移和集成工具方面,Google Apps提供用下电子邮箱迁移的工具和API,并可与企业的LDAP (Lightweight Directory Access Protocol,轻景目录访问协议)系统进行目录方面的同步,还支持电子邮件的路由和网关、单点登录API以及用户与群组配置API等。

在 2010 年 3 月,Google 还发布了 Google Apps 专属的应用商店 Google Apps Marketplace, 在这个商店中已经有上百种出色的应用供Google Apps用户选择。比如,用于在客户端的〇ffice和Google文档之间进行同步的OffiSync、出色的在线图片编辑器Aviary和提供在线文件存储的Box.net 等。

二、 PaaS 层

Google App Engine提供一整套开发组件让用户轻松地在本地构建和调试网络应用,之后能 让用户在Google强大的基础设施上部署和运行网络应用程序,并自动根据应用所承受的负载对 应用进行扩展,免去用户对应用和服务器等的维护工作。同时提供大量的免费额度和灵活的资 费标准。在开发语言方面,现支持Java和Python两种语言,并为这两种语言提供基本相同的 功能和API。关于Google App Engine的具体介绍,将在3.4节展开。

三、laaS 层

由于与Google本身的业务相比,普通IaaS层的业务在利润率上相对较低,再加上其他一些原因,到现在为止,Google只推出类似Amazon S3的名为Google Storage的云存储服务。

Google Storage是一次构建在Google基础设施之上的云服务,开发者可以非常容易地使用其基于REST模式的API,将他们的应用程序和Google Storage连接起来。这些数据将保存在若干机房内,所以将非常可靠。Google Storage支持数据的强-致性,同时每个请求都可以调用数百GB的对象。开发者可以通过Web管理界而或者gsulti这个开源的命令行工具来 管理他们的存储内容,比如新建存储库(Bucket)、新建文件夹、批最上传、批量删除和共享 文件等。

Google Storage内置基于Google账户的验证与访问控制机制,但目前它只支持个人的 Google账户,未来会加入对Google Apps账户的支持。Google Storage首先向小批开发者开放, 在此期间每个开发者将有100GB免费的数据#储空间,每月的数据流量限制为300GB。

云客户端

虽然Google现在的利润中•要来源于搜索这样的基于Web的SaaS服务,但是近两年来, Google投入了大量的人力和物力在云客户端方面,并推出了 Android、Chrome和Chrome OS 这3个产品。

1. Android

Android是主要用于智能移动终端(包括手机和车载设备等)的操作系统和软件平台,并 基子Linux内核。这个项M由前苹果工程师、现Google副总裁Andy Rubin创立。2005年7月, Google收购了 Android这个项目,并对其进行重点培育。在2007年11月5日,Google正式对 外发布了 Android,并成立了开放手机联盟(Open Handset Alliance),其中HTC、英特尔、 Sprint-Nextel、T-Mobile、中国移动以及NVIDIA等大企业都是这个联盟的成员。

Android平均每半年发布一个新版本,而且都以甜点命名。到现在为止,Android共发布了 5个比较重要的版本,具体请看表3-2。

表3-2 Android的主要版本

版本代号发布日期内容
1.12009年2月主要特性包栝:闹钟、浏览器.联系人、地图和音乐等基本功能
1.5
Cupcake 
Donut
2009年2月
2009年9月
这是第一个主要版本,新堺特性包括:录像,蓝牙和复制/粘貼等

1.6


新增特性包括:Android应用市场、手势搜索、语音搜索和应用集成等
2.0/2.1
Eclair
2009年10月这个版本的重点在于硬件速度的提升,更多屏幕以及分辨率选 择,大幅度的用户界而改良和支持Exchange等
2.2
Froyo
2010年5月
重要新特性有完整的Flash 10.1支持,最高5倍速度提升,Android 云集成,摄像头/视频改进,大最Exchange相关的支持和能将应用安 装在记忆卡上等

在架构方面,Android总体来说和传统PC架构比较类似,但也有创新的地方,共可分为4 个层次。

□应用程序层。以Java为编程语言,Android从接口到功能都有层出不穷的变化,其中 Activity等同于J2ME的MIDlet,一个Activity类负贵创建Window, —个活动中的 Activity就是在前台(Foreground)模式,后台运行的程序叫作服务(Service)。两者之 间通过ServiceComiection机制进行通信,从而实现多个程序同时运行的效果。如果运行 中的Activity的全部画面都被其他Activity所取代,该Activity便被停止,甚至系统会 清除其所占用的资源。

□中间件。它是操作系统与应用程序之间沟通的桥梁,分为两部分:函数库(Library)和 虚拟机(Virtual Machine)。在函数库方面,有作为改良libc的Bionic,名为OpenCORE 的基础多媒体框架,名为skia的内核图形引擎(它支持OpenGL/ES规范)和SQLite数 据库系统等。在虚拟机方面,采用了定制的Dalvik虚拟机。Dalvik虚拟机是一种“寄存 器型(Register Based)”的Java虚拟机,变量皆存放于寄存器中,这使得虚拟机的指令 得到了一定程度的消减,对手机这种移动设备非常有帮助。Dalvik虚拟机吋以有多个实 例同时运行,每个Android应用程序都用一个艽专属的Dalvik虚拟机来运行,让系统在 运行程序时达到优化。Dalvik虚拟机不是运行hva二进制代码,而是运行一种称为.dex 格式的文件。

□硬件抽象层。Android的硬件抽象层的作用是将Android本身的框架与Linux的内核隔 开,从而降低对Linux内核的依赖,以实现内核独立。Android硬件抽象层目前以存根 (stub)的形式存在,本身是“.so”库,是一种类似代理的槪念。Android的运行时会向 硬件抽象层取得存根的动作,再以回调的方式执行这个动作。

□操作系统。Android是运行于Linux内核之上的,但并小是传统的GNU/Limix。一般在 GNU/Linux 里支持的功能,Android 大都小•支持。比如 Cairo、XII、Alsa、FFmpeg、 

GTK、Pango及Glibc等都被移除掉了,因•为Android为了达到商业应用的目的,必须 移除被严格的GNU GPL所约束的部分。H前,Android的Linux内核中包括了安全、存 储器管理、进程管理、网络栈和驱动程序的模型等模块。

在终端方面,由于其开放性和免费性,所以受到了除RIM、Nokia和苹果之外,其他儿乎 所有手机厂商的认可。已经推出的著名智能手机终端有:G1 (HTC Dream)、HTC Hero、Motorola Droid、HTCEVO、Motorola Droid X、三星的 Galaxy S 系列和 Google 自己的 Nexus One,而 且在市场占有率方面节节攀升,并在2010年8月份超过iPhone。

2. Chrome

Google Chrome是一个由Google公司开发的网页浏览器,Chrome是化学元素“铬”的英 文名称。Google Chmme采用BSD许可证授权并开放源代码,开源计划名为Chromium。截至 2010年6月,Chrome浏览器的市场占有率高达7.24%,排名第三,仅次干微软的IE和Mozilla 的Firefox。其代码基于其他开源软件所撰写,包括WebKit和Mozilla,并开发出代号为“V8” 的高效能的JavaScript处理引擎。GoogleChrome的整体发展H标是在稳定性、速度和安全性3 方面不断提升,并创造出简单且髙效的用户界面。

和其他主流浏览器相比,特别是IE,Chrome在以下4个方面有一定的优势。

□安全性。在这方面主要有两个机制。其一是黑名单(Blacklists): Chrome会定期地更新 用干防止网络钓鱼和恶意软件侵入的黑名单,并在用户试图浏览有潜在危险的网站时予 以警告。其二是沙盒(sandbox): Chrome中的每一个标签页都是一个沙盒,以防止恶 意软件破坏用户系统。由干遵守最小权限原则,所以Chrome中每个动作的权限都会被 限制,一般仅能运算而无法写入文件或者读取存储在敏感区域内的文件。

□稳定性。支持多进程机制,能容许多个程序同时运行而互不影响,每个M页标签独立干 窗口程序存在。当资源过髙或崩溃时,不会因为一个停顿而导致整个程序崩溃。

□速度。利用其内置的JavaScript处理引擎V8来加快运行JavaScript的速度。V8的机制 是把JavaScript代码转换成机器码,利用CPU直接运算,减少了解释JavaScript的时间, 并使用简易小巧、能有效利用内存的WebKit HTML排版引擎。

□对HTML5的支持。虽然HTML5规范还没正式发布,但是Chrome已经对大多数的 HTML5规范有了很好的支持,比如在高淸视颊领域,它不仅支持商业的H.264格式, 而且还支持开源的VP8格式。

3. Chrome OS

Chmme OS是一个开源、轻最级的操作系统,主要面向移动设备,但与Android主打手机 不同的是,Chrome OS主要关注上网本(netbook)和平板(tablet),并且运行Chrome OS系统 的上网本CR-48已经作为样品在2010年年底提供给试用者进行测试。这个项H本身也是 Chrome的一个延伸。

和Android—样,Chrome 0S也是基于Linux内核的,并能够在x86和ARM两个架构下的 芯片上运行。在内核之上就只有一个Chrome浏览器,但通过这个Chrome能I方问所有基于Web 的应用和服务,并支持多种插件。

在设计上,Chrome OS非常关注速度、简便和安全性。首先是速度:Chrome 0S在启动后 能让用户在几秒钟后就能访问互联网。其次是简便:用户界面就是大家常用的Chrome,而且 能直接访问任意基T Web的应用和服务,无需安装任何软件。最后,在安全性方面:和Chrome 一样,Google重新设计了 ChromeOS的底层安仝架构,使用户不必担心病毒和恶意软件,并保 障它一直能正常运行。

总体而言,由于Chrome OS基本上以依赖云服务为主,而不是本地的原生应用,所以 ChromeOS可以被认为是第一个云操作系统。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广