谷歌云服务:从搜索巨头到企业云供应商的转型
在当今数字化时代,云计算已经成为企业和开发者的重要工具。谷歌作为科技领域的巨头,在云计算领域也有着重要的布局。本文将深入探讨谷歌的云服务,包括其免费服务、开发工具、应用引擎以及与其他公司的合作等方面。
1. 谷歌云服务概述
谷歌是一家大型的云服务供应商,管理着世界上最大的服务器农场之一。长期以来,谷歌的内容都是免费提供的,主要依靠广告支持。近年来,谷歌开始向其他用户收费提供其基础设施服务。其首个广泛推广的产品是谷歌企业应用套件(Google Apps for Business),每人每年收费 50 美元,包含电子邮件、云存储等一系列服务。此外,谷歌还运营着众多受欢迎的服务,如谷歌地图、谷歌财经和谷歌语音等。
2. 免费服务的魅力
谷歌搜索一直是免费的,为了处理大量的搜索请求,谷歌创建了世界上最大的基于云的基础设施。随后,谷歌还提供了免费的公共电子邮件服务,每个账户提供 1GB 的免费存储空间,这在当时是前所未有的。随着时间的推移,谷歌不断提升免费服务的水平。
目前,谷歌应用的免费版本允许用户免费托管自己的电子邮件服务器(使用自己的域名),每个免费用户账户最多可获得 7.3GB 的存储空间,还提供免费的谷歌聊天、谷歌日历、谷歌文档(用于创建和共享文档、电子表格和演示文稿,可在网页浏览器窗口内实时协作)、谷歌网站(用于轻松创建和共享群组网站)和起始页等服务。最近,电子邮件托管增加了 IMAP 支持,谷歌文档也增加了离线支持。如果用户每年支付 50 美元,每个用户的存储空间将提升至 25GB,并增加许多其他功能。
此外,谷歌还推出了应用市场(Apps Marketplace),允许应用用户从 SocialWok 和 Zoho 等公司为其环境添加其他功能层。
3. 面向开发者社区的拓展
谷歌看到了云计算作为一项业务的潜力,因此大力向开发者社区提供支持,就像微软在 20 世纪 90 年代试图吸引企业开发者使用其平台,使其远离当时占据企业市场主导地位的 UNIX 一样。
现在,开发者可以免费使用“云计算”和一个免费且强大的应用部署工具包。谷歌应用引擎(Google App Engine)的免费版本使开发者能够在与谷歌自身应用相同的基础设施上构建 Web 应用。更多关于谷歌应用引擎的信息可在 http://code.google.com/appengine 上获取。
4. 应用引擎的成本结构
对于新的收费版本,每个应用每月每位用户收费 8 美元,最高每月 1000 美元。为了吸引企业开发者,谷歌承诺未来将增加更多企业级功能,包括托管 SQL 数据库、公司域名的 SSL 安全通信以及访问高级谷歌服务。
创建一个应用引擎应用很容易且无需成本。正如谷歌所说:“你可以创建一个账户并立即发布一个人们可以使用的应用,无需付费,也没有任何义务。免费账户的应用最多可使用 500MB 的存储空间,每月最多可支持 500 万次页面浏览。”超过这个限制则需要付费。截至 2010 年 6 月,租用谷歌计算资源的成本如下表所示:
| 资源 | 单位 | 单位成本 |
| — | — | — |
| 出站带宽 | 千兆字节 | $0.12 |
| 入站带宽 | 千兆字节 | $0.10 |
| CPU 时间 | CPU 小时 | $0.10 |
| 存储数据 | 每月千兆字节 | $0.15 |
| 电子邮件收件人 | 收件人 | $.0001 |
5. 谷歌 Web 工具包(Google Web Toolkit™)
谷歌 Web 工具包(目前版本为 2.0)现在支持 Java 5 语言,使开发者能够充分利用 Java 5 语法的全部功能。使用谷歌 Web 工具包(GWT),开发者可以使用熟悉的 Java 编程语言开发和调试 Web 应用,然后将其部署为高度优化的 JavaScript。
这种方法使开发者能够避开常见的 AJAX 问题,如浏览器兼容性问题,并显著提高性能和生产力。GWT 是一个用于构建和优化复杂基于浏览器的应用程序的开发工具包,其目标是使开发者无需成为浏览器特性、XMLHttpRequest 和 JavaScript 方面的专家,就能高效开发高性能的 Web 应用。GWT 在谷歌内部的许多产品以及新版 AdWords 中都有使用,它是开源的,完全免费,被全球数千名开发者使用。
6. 基于 GWT 构建的谷歌云应用
谷歌还使用 GWT 构建了许多应用。例如,谷歌健康(Google Health)是一个最近推出的基于云的应用,它是在 GWT 上开发的。
此外,谷歌宣布免费提供谷歌地球 API 和浏览器插件,这使得 Web 开发者能够快速轻松地将他们的网页转换为 3D 地图应用。其主要功能包括:
- 只需几行代码即可将谷歌地球嵌入任何网页。
- 使用 JavaScript API 启用丰富的基于地球的 Web 应用。
- 操作 KML 和 3D 环境:创建多边形、线条、地标等。
- 只需一行代码即可将现有的谷歌地图 API 网站转换为 3D。
7. Google Gears 的落幕
Google Gears 是一个开源项目,通过提供本地数据库为谷歌阅读器和谷歌文档的离线功能提供支持。它已更名为 Gears,为其他浏览器提供了额外支持,谷歌也将其提供给所有开发者使用。其主要功能包括:
- 让 Web 应用与桌面自然交互。
- 在本地可完全搜索的数据库中存储数据。
- 在后台运行 JavaScript 以提高性能。
然而,Google Gears 似乎即将退出历史舞台。谷歌决定转而支持 HTML5,因为 HTML5 涵盖了 Gears 原本要提供的功能。HTML5 的规范仍在最终确定中。正如一位谷歌代表所说:“我们很高兴 Gears 中的许多技术,包括离线支持和地理位置 API,正在被纳入 HTML5 规范,成为跨浏览器支持的开放标准,我们认为这是开发者将这些功能纳入其网站的合理下一步。”开发者可以在 W3.org 上了解标准化进程的进展。
8. 谷歌应用脚本(Google Apps Script)
并非所有人都是程序员,谷歌应用脚本(Google Apps Script)是一种强大的方式,可以自动化从费用审批到时间表跟踪、票务管理和订单履行等各种业务流程。脚本是客户为谷歌不断扩展的基于 Web 的应用套件添加自定义功能的有效方式。
目前,谷歌应用脚本提供以下功能:
- 通过 JDBC(Java 数据库连接)实现数据互操作性:现在,谷歌应用脚本可以连接到任何 MySQL 数据库,包括运行在防火墙后面服务器上的企业数据库。
- 脚本的自定义用户界面:谷歌应用高级版用户现在可以编写图形界面元素和菜单脚本。例如,公司可以为采购办公用品的内部应用提供支持。用户可以通过自定义菜单界面进行购物,脚本可以将员工的选择通过电子邮件发送给他们的经理进行采购审批,然后将订单路由到履行团队。
- 脚本的独立调用:现在可以从任何网站调用脚本,因此你可以构建网页,让用户提交的条目将被收集到谷歌电子表格中。
- 与其他谷歌服务的更多集成:与谷歌文档和谷歌地图的新集成增加了在谷歌文档列表中创建和修改文件以及从谷歌地图获取路线的功能。
9. 什么是谷歌应用引擎(Google App Engine)
谷歌应用引擎允许用户在谷歌的基础设施上运行(托管)自己的 Web 应用。但这绝不是一种“租用服务器一部分”的托管服务。使用应用引擎,应用不是托管在单个服务器上,用户无需维护服务器,只需上传应用,即可为用户提供服务。就像处理谷歌搜索请求可能涉及数十甚至数百台谷歌服务器一样,所有这些服务器都是完全隐藏的,并且能在瞬间完成处理,谷歌应用引擎应用也以同样的方式在相同的基础设施上运行。
用户可以使用谷歌应用通过自己的域名(如 http://www.example.com/)提供应用服务,也可以使用 appspot.com 域名下的免费名称提供应用服务。用户可以选择将应用分享给全世界,也可以限制组织成员访问。
谷歌应用引擎支持多种编程语言编写的应用:
- 通过应用引擎的 Java 运行时环境,开发者可以使用标准 Java 技术(包括 JVM、Java servlet 和 Java 编程语言)构建应用,也可以使用基于 JVM 的解释器或编译器的任何其他语言,如 JavaScript 或 Ruby。
- 应用引擎还具有专门的 Python 运行时环境,包括快速的 Python 解释器和 Python 标准库。Java 和 Python 运行时环境的设计确保应用能够快速、安全地运行,并且不受系统中其他应用的干扰。
与大多数云托管服务一样,使用应用引擎只需为使用的资源付费,谷歌不收取设置费用和定期费用。与亚马逊的 AWS 类似,存储和带宽等资源按千兆字节计量。
创建应用引擎应用无需成本,所有应用最多可使用 500MB 的存储空间,以及足够的 CPU 和带宽来支持一个每月约 500 万次页面浏览的高效应用,完全免费。当用户为应用启用计费时,免费限制将提高,用户只需为超出免费水平的资源付费。
应用开发者可以访问持久存储技术,如谷歌文件系统(GFS)和 Bigtable(一种用于非结构化数据的分布式存储系统)。Java版本支持使用 Twig 对象数据存储接口进行异步非阻塞查询,这为并行数据处理提供了一种替代线程的方法。
谷歌应用引擎在越来越多的科技公司将业务迁移到云端的时代出现,使谷歌与亚马逊的弹性云计算(EC2)和简单存储服务(S3)展开了直接竞争。谷歌表示,其谷歌应用引擎的愿景是为开发者提供一个更全面、端到端的解决方案,用于在线构建和扩展应用。其服务器配置为平衡开发者应用的流量负载,能够根据流量涌入的需求进行扩展。应用引擎还包括用户认证 API,允许开发者注册服务,以及电子邮件 API,用于管理通信。
在初始预览阶段,谷歌应用引擎将免费提供给前 10,000 名注册的开发者,并计划在未来扩大这一数量。在此期间,用户将受到 500MB 存储空间、10GB 每日带宽和 500 万次每日页面浏览的限制,开发者最多可以注册三个应用。
10. 谷歌应用引擎企业版
2010 年 5 月,谷歌宣布对谷歌企业应用套件和谷歌应用引擎进行增强,使其成为更主流的云服务提供商。谷歌应用引擎企业版引入了新的企业级功能,包括集中管理、高级开发者支持和正常运行时间服务级别协议(SLA)、固定月定价,不久后还将提供基于云的 SQL 和 SSL 等高级功能。
新版本包括集中管理功能,这是一个管理控制台,允许用户管理其域名下的所有应用。谷歌承诺提供可靠性,拥有 99.9% 的正常运行时间服务级别协议,并提供高级开发者支持。此外,谷歌通过仅允许谷歌应用域名的用户访问应用,并在每个单独的应用上实施管理员的安全偏好设置,解决了安全问题。
11. 与 VMware 的合作
2010 年 5 月,谷歌宣布与 VMware 合作,在新的云基础设施上进行应用的部署和开发。
VMware 和谷歌有着共同的愿景,即让构建、运行和管理云应用变得容易,并使应用能够在不同云之间移植。通过这一合作,Spring 成为谷歌应用引擎首选的 Java 编程模型。此外,两家公司一直在努力将谷歌的 GWT 技术与 Spring 框架和开发工具集成,使 Spring 开发者能够轻松快速地构建丰富的互联网应用。
此外,VMware 和 Salesforce 合作推出了 VMforce,这使得开发者能够轻松快速地构建应用,然后将其部署到谷歌应用引擎企业版、VMware 环境(在 vSphere 基础设施、vCloud 合作伙伴或 Salesforce 的 VMforce 上)或其他支持的基础设施(如亚马逊 EC2)。其目标是使开发者能够轻松创建托管在 Java 兼容托管环境中的丰富多设备 Web 应用。
谷歌应用引擎企业版的用户现在可以使用 VMware 的 SpringSource 工具套件和 Spring Roo,它们与谷歌 Web 工具包和 Speed Tracer 集成。谷歌在其谷歌 Web 工具包中添加了新的数据展示小部件,以加速传统企业应用的开发,提高企业用户的性能和交互性,并使创建移动应用变得更容易。由于与 VMware 的 SpringSource 工具套件集成,Speed Tracer 现在不仅可以帮助开发者识别和修复应用客户端和网络部分的性能问题,还可以帮助解决服务器端的问题。
12. 总结
除了在搜索和公共电子邮件方面的传统优势外,谷歌旨在成为企业云服务供应商。其在云端开发的方法可以总结为:
- 借助谷歌的广泛代码基础。
- 使用 Java、PHP 或 Python 开发应用。
- 使用 GQL 数据存储作为 SQL 的替代方案。
- 让谷歌处理资源分配、负载平衡和可扩展性问题。
谷歌 Web 工具包、谷歌应用引擎和谷歌应用脚本清楚地表明了谷歌将企业开发引入云端的巨大努力。通过为开发者提供一个强大且可互操作的环境和工具集,谷歌应用引擎应该能够成为亚马逊网络服务(AWS)的有力竞争对手,AWS 是应用引擎在托管环境方面的主要竞争对手之一。
综上所述,谷歌在云计算领域的布局全面且具有竞争力,为企业和开发者提供了丰富的选择和强大的工具。随着云计算技术的不断发展,谷歌有望在这一领域继续发挥重要作用。
谷歌云服务:从搜索巨头到企业云供应商的转型
13. 谷歌云服务的优势分析
谷歌云服务在市场中具有多方面的显著优势,这也是其能够吸引众多企业和开发者的关键因素。
首先,免费服务策略是谷歌的一大杀手锏。谷歌搜索长期免费,后续推出的一系列云服务如免费公共电子邮件、谷歌应用的免费版本等,为用户提供了丰富的功能和一定的存储空间。这使得个人用户和小型企业能够以零成本体验和使用谷歌的云服务,降低了使用门槛。例如,免费的谷歌应用版本允许用户免费托管电子邮件服务器、使用谷歌文档进行实时协作等,对于预算有限的用户极具吸引力。而且,随着时间推移,免费服务的功能不断增强,如增加 IMAP 支持和离线支持等,进一步提升了用户体验。
其次,强大的技术基础设施是谷歌云服务的坚实后盾。谷歌管理着世界上最大的服务器农场之一,拥有庞大的计算资源和存储能力。这使得谷歌能够处理海量的搜索请求和数据存储需求,为用户提供稳定、高效的服务。例如,谷歌应用引擎利用这一基础设施,让应用能够快速、安全地运行,并且可以根据流量需求自动扩展,无需用户担心服务器维护和资源分配问题。
再者,丰富的开发工具和支持体系为开发者提供了便利。谷歌 Web 工具包(GWT)支持 Java 5 语言,让开发者可以使用熟悉的 Java 语言开发 Web 应用,然后部署为优化的 JavaScript,避免了 AJAX 常见问题,提高了开发效率。谷歌应用引擎支持多种编程语言,包括 Java 和 Python,为不同技术背景的开发者提供了选择。同时,谷歌还提供免费的“云计算”和应用部署工具包,降低了开发成本。
另外,谷歌在数据存储和处理方面具有先进的技术。如谷歌文件系统(GFS)和 Bigtable 等持久存储技术,为应用开发者提供了可靠的数据存储解决方案。Java 版本的应用引擎还支持异步非阻塞查询,提高了数据处理效率。
最后,谷歌注重与其他企业的合作,不断拓展其云服务的生态系统。与 VMware 的合作使得 Spring 成为谷歌应用引擎首选的 Java 编程模型,并且集成了 GWT 技术与 Spring 框架,方便开发者构建丰富的互联网应用。与 Salesforce 合作推出的 VMforce 也为应用的部署提供了更多选择,增强了应用的可移植性。
14. 谷歌云服务面临的挑战
尽管谷歌云服务具有诸多优势,但在市场竞争中也面临着一些挑战。
一方面,来自竞争对手的压力不容小觑。亚马逊的 AWS 是谷歌应用引擎的主要竞争对手之一,AWS 在云计算市场已经占据了一定的份额,拥有成熟的服务体系和广泛的用户基础。例如,亚马逊的弹性云计算(EC2)和简单存储服务(S3)在市场上具有较高的知名度和认可度,谷歌需要不断提升自身的竞争力,才能在市场中分得一杯羹。
另一方面,安全和隐私问题是云计算领域普遍关注的焦点,谷歌也不例外。虽然谷歌采取了一系列措施来保障用户数据的安全,如在谷歌应用引擎企业版中仅允许谷歌应用域名的用户访问应用,并实施管理员的安全偏好设置,但随着数据泄露事件的不断发生,用户对云服务的安全和隐私问题越来越敏感。谷歌需要进一步加强安全技术研发,提高数据保护能力,以消除用户的顾虑。
此外,HTML5 规范的最终确定和普及也给谷歌带来了一定的不确定性。虽然谷歌决定支持 HTML5 并放弃 Google Gears,但 HTML5 的发展还存在一些变数,其性能和兼容性等方面可能还需要时间来完善。如果 HTML5 不能很好地满足用户需求,谷歌可能需要重新考虑其技术策略。
15. 未来发展趋势与展望
展望未来,谷歌云服务有望在以下几个方面取得进一步发展。
在技术创新方面,谷歌可能会继续加大研发投入,不断提升其云服务的性能和功能。例如,进一步优化谷歌应用引擎的资源分配和负载平衡机制,提高应用的响应速度和处理能力。同时,随着人工智能和机器学习技术的发展,谷歌可能会将这些技术融入到云服务中,为用户提供更智能、个性化的服务。
在市场拓展方面,谷歌可能会加强对企业市场的渗透。通过不断完善谷歌应用引擎企业版的功能,提供更多的企业级服务和支持,吸引更多的大型企业选择谷歌的云服务。此外,谷歌还可能会拓展国际市场,特别是在新兴经济体中寻找更多的发展机会。
在生态系统建设方面,谷歌可能会继续加强与其他企业的合作,丰富其云服务的生态系统。与更多的软件开发商、硬件制造商等合作,为用户提供更多的应用和解决方案。例如,与更多的云服务提供商合作,实现不同云之间的互联互通,提高应用的可移植性和兼容性。
在安全和隐私保护方面,谷歌将面临更大的挑战和责任。随着用户对数据安全和隐私的关注度不断提高,谷歌需要不断加强安全技术研发,完善安全管理体系,确保用户数据的安全和隐私。
16. 对开发者和企业的建议
对于开发者来说,谷歌云服务提供了丰富的开发工具和平台,是一个值得尝试的选择。以下是一些建议:
- 充分利用免费资源:谷歌提供了免费的“云计算”和应用部署工具包,开发者可以先从免费版本的谷歌应用引擎开始,进行应用的开发和测试,降低开发成本。
- 学习和掌握相关技术:谷歌 Web 工具包(GWT)和谷歌应用引擎支持多种编程语言,开发者可以根据自己的技术背景选择合适的语言进行开发。同时,要不断学习和掌握新的技术,如 Java 5 语法、Python 编程等,以提高开发效率和应用性能。
- 关注技术发展趋势:随着云计算、HTML5 等技术的不断发展,开发者要关注这些技术的发展趋势,及时调整自己的开发策略。例如,关注 HTML5 规范的最终确定和普及,以便在应用中更好地应用相关技术。
- 参与社区和合作:谷歌拥有庞大的开发者社区,开发者可以参与社区讨论,分享经验和技术,获取更多的支持和帮助。同时,也可以关注谷歌与其他企业的合作项目,如与 VMware 的合作,利用合作带来的技术优势进行开发。
对于企业来说,选择谷歌云服务可以带来诸多好处,但也需要谨慎考虑。以下是一些建议:
- 评估企业需求:在选择谷歌云服务之前,企业需要评估自身的需求,包括数据存储、应用开发、安全要求等方面。根据企业的实际需求选择合适的云服务套餐和功能。
- 考虑成本效益:虽然谷歌云服务提供了免费版本和灵活的计费方式,但企业在使用过程中仍需要考虑成本效益。要根据企业的业务规模和使用情况,合理规划资源使用,避免不必要的费用支出。
- 关注安全和隐私:企业在使用云服务时,要特别关注数据的安全和隐私问题。要了解谷歌的安全措施和隐私政策,确保企业数据得到妥善保护。同时,也可以要求谷歌提供更多的安全保障措施,如数据加密、访问控制等。
- 与现有系统集成:如果企业已经拥有一些现有的 IT 系统,在选择谷歌云服务时,要考虑云服务与现有系统的集成问题。确保云服务能够与现有系统无缝对接,提高企业的运营效率。
17. 结论
谷歌云服务在云计算领域具有重要的地位和影响力。通过提供丰富的免费服务、强大的技术基础设施、多样化的开发工具和广泛的合作生态系统,谷歌吸引了众多用户和开发者。然而,谷歌也面临着来自竞争对手的压力、安全和隐私问题以及技术变革带来的挑战。
未来,谷歌云服务有望在技术创新、市场拓展、生态系统建设和安全保护等方面取得进一步发展。对于开发者和企业来说,谷歌云服务提供了丰富的机会和选择,但也需要根据自身需求和实际情况进行合理的选择和应用。
总体而言,谷歌云服务在推动云计算技术的发展和应用方面发挥了重要作用,随着云计算市场的不断发展,谷歌有望继续在云服务领域展现其强大的竞争力。
以下是谷歌云服务的主要产品和功能的流程图:
graph LR classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px A(谷歌云服务):::process --> B(谷歌应用):::process A --> C(谷歌应用引擎):::process A --> D(谷歌Web工具包):::process A --> E(谷歌地球API):::process A --> F(谷歌应用脚本):::process B --> B1(电子邮件):::process B --> B2(云存储):::process B --> B3(谷歌文档):::process B --> B4(谷歌日历):::process C --> C1(支持多种编程语言):::process C --> C2(免费使用部分资源):::process C --> C3(企业版功能增强):::process D --> D1(支持Java 5语言):::process D --> D2(避免AJAX问题):::process E --> E1(免费提供):::process E --> E2(创建3D地图应用):::process F --> F1(自动化业务流程):::process F --> F2(数据互操作性):::process通过这个流程图,可以更直观地了解谷歌云服务的主要产品和功能之间的关系。开发者和企业可以根据自己的需求,选择合适的产品和功能来实现自己的业务目标。