现实中的开放源码云计算,第3部分:管理云
在 “现实中的开放源码云计算” 系列的最后部分,我们将介绍几个开放源码工具和技术,帮助您在云中管理应用程序。
您已经根据自己的需求选择了最佳的云计算平台,并且拥有一个能够在该平台上运行的、设计良好的应用程序。最艰难的部分已经完成了,是吗?还没有这么快!当应用程序适合在您的服务器上运行之后,您还需要考虑平时比较担心的所有问题:部署、测试和监控。这可能是一个严峻的挑战,因为您的应用程序还将在其他机器上运行,您可能没有访问或仔细了解过这些机器。
关于本系列
在这个分为三部分的 “现实中的开放源码云计算” 系列,学习如何确定云计算是否对您有帮助,以及如何计划云计算策略。第 1 部分 概述了云计算的优势、类型以及云计算平台中的高级选项。第 2 部分 探索了云应用程序和传统的 N 层应用程序之间的一些关键设计区别。在本文中,了解部署到云中的应用程序的生命周期的其他部分。本文讨论几个开放源码工具和技术,帮助您管理应用程序。
Aptana Cloud
在第 2 部分中,您将示例应用程序部署到 Aptana Cloud 平台。它允许使用 PHP 作为开发语言。Aptana Cloud 还支持 Ruby on Rails and Jaxer,这是 JavaScript 的开放源码服务器端实现。所有这些流行的开源语言和相关的框架都可以在 Aptana Cloud 上和开源技术结合,比如 Apache 和 MySQL。
Aptana 的 IDE 是 Aptana Studio,它使得开发代码并将其部署到 Aptana Cloud 非常容易。Aptana 还有很多其他功能。它为管理基于云的应用程序提供更多的工具 —— 在这里,开源技术仍然是主角。下一小节探索如何使用 Aptana 提供的工具管理基于云的应用程序。
管理云应用程序
在应用程序的生命周期中,很容易低估运营的复杂性。我们花大量时间和精力设计应用程序,为开发代码忙到深夜。我们通常认为应用程序编写完成并可以运行就算大功告成,但这是一个常见的误区。如果应用程序最终崩溃或不响应,那么它就没有价值了。管理可能非常困难。与运行在自己的服务器上的应用程序相比,管理运行在云平台上的应用程序更加具有挑战性。在很多情况下,平台提供商(比如 Aptana Cloud)都能够预料到所出现的问题,并使用开源工具和技术帮助您管理基于云的应用程序。
让我们从控制基础设施开始。 Aptana Cloud 是专门为 Web 应用程序设计的,并使用非常普遍的 Apache Web 服务器。Aptana 为访问 Apache 提供便捷的方式。您可以在 Aptana Studio 中查看 Apache 的状态、重启它、配置它的文档根,以及检测来自 Apache 的更新。
图 1. 在 Aptana Studio 中管理 Apache
在 Aptana Cloud 上的应用程序利用了最流行的开源数据库引擎(MySQL)和开源电子邮件服务器软件(Postfix)的优势。Aptana 还为这些服务提供类似的图形工具,如下所示。
图 2. 在 Aptana Studio 中管理 MySQL 和 Postifx
数据库管理是管理数据驱动的 Web 应用程序的主要工作。Aptana 为管理在其上运行的应用程序的数据库提供几种方式。对于任何部署到 Aptana Cloud 上的应用程序,都会自动地为其安装流行的开源 Web 应用程序 phpMyAdmin。通过 phpMyAdmin,您可以完成很多常见的任务,比如查询数据、管理用户及其特权、创建表或视图、将数据导出到 CSV 或 Microsoft® Excel® 电子表格,以及备份数据。您还可以通过查询和更新的数量、变慢的查询和回滚等确定数据库服务器的健康状况。图 3 显示了一些可以通过 phpMyAdmin 获得的数据。
图 3. 使用 phpMyAdmin
当然,phpMyAdmin 不是管理 MySQL 的惟一工具。Aptana 还提供了 SQL Buddy,这是另一个基于 Web 的开源工具。您可以从 Aptana Studio 直接启动它。它非常有用,可以直接从 Aptana Studio 访问您的数据。幸运的是,Aptana Studio 构建在 Eclipse 平台之上,因此它能够利用许多基于 Eclipse 的开源工具,包括用于访问数据库的工具。例如,您可以从 Aptana Studio 直接浏览您的数据库和模式。
图 4. Aptana Database Explorer
您可以通过 Aptana Studio 的 Database Explorer 直接输入 SQL 查询并查看结果。
图 5. 从 Aptana Studio 查询数据
管理物理硬件是管理的另一部分内容。这与管理在云平台上运行的应用程序不同。不过,Aptana 仍然让硬件的管理非常便捷。您可以根据需求变更内存和磁盘分配(从而改变使用云所需的成本)。
图 6. 管理云资源分配
备份站点是管理员的重要任务之一。对于 Aptana Cloud 应用程序,这个任务非常简单。仅需使用开源技术提供的备份工具(OpenSolaris 和 MySQL),就可以备份任何基于这些技术的内容。仅需点击鼠标,Aptana Studio 就能帮助您完成备份。
图 7. 使用 Aptana 创建备份
您可以从 Aptana Studio 直接访问备份,事实上您可以从 Aptana Studio 访问您的云的整个文件系统。
图 8. 查看备份
这个示例仅是 Eclipse 上的一个(远程)文件系统,因此您可以拖放和删除文件等等。如果您确实需要一个命令行界面,Aptana 也能够轻松为您实现。您可以从 Aptana 直接启动一个 SSH 会话。
图 9. 从 Aptana 启动 SSH
当您连接到 SSH 会话之后,您就可以完全通过命令行访问 Aptana Cloud 实例。您可以使用所有自己喜欢的 UNIX® 工具。SSH 仅是 Aptana 提供的最基础的访问方法。下面总结了所有访问方法。
图 10. 访问方法
图 10 显示了 SSH 和 Secure FTP 访问。这里提供数据库连接信息,不过您也可以使用自己喜欢的工具。还为源代码控制提供 Subversion 和 Git。在 SSH 部分,您甚至还可以启用根访问。
下一小节讲述应用程序管理的另一部分重要内容:监控。
监控云
在产品的生命周期中,监控应用程序是很关键的部分。这并不像 “我的应用程序是否运行?” 那么简单。监控还包括在问题发生之前预测它们,并在问题损害业务之前将其解决。监控的内容就是了解用户如何与您的应用程序进行交互,以及应用程序如何响应用户。毫无疑问,开源软件在这里仍然大显身手 —— 尤其是 Aptana Cloud。 当您加载 Aptana Studio 时,它将立即提供一个指示板,您可以从中查看应用程序的健康状态。图 11 显示了一个示例。
图 11. Aptana 服务器指示板
这个指示板显示当前的 CUP、RAM、交换和磁盘使用信息,以及您为应用程序配置的资源分配(见图 6)。您可以立即看到是否需要增加或减少资源的分配。当然,它仅显示当前的使用;您可能需要长期观察数据的变化。在上面的例子中,指示板显示最近 1 个小时的 CPU 使用。
如图 10 所示,您可以获得不同时间段内关于内存、交换、磁盘使用和度量的类似信息。此外,您还可以从这些图表中获取更详细的信息。
图 12. 详细的站点统计数据
这些详细的统计数据与您在指示板上看到的相似。您还可以查看其他统计数据,比如应用程序的点击数和所使用的带宽等。图 13 给出了一个示例。
图 13. Web 统计数据
这里显示了最近一个星期访问站点的用户总数(重复访问仍算作一位用户)。这些统计数据对系统管理员的作用不是很大,但它们能够为业务分析员带来巨大的价值。可能最近举行了一个新的市场促销,因此您想计算一下站点的用户增加了多少。这仅是 Aptana Cloud 平台提供的一个开箱即用的常见用例而已。
您可能想知道 Aptana 是如何生成这些精致的图表的。Aptana 将所有这些统计数据存储在 MySQL 中。在 UNIX 式的系统中,使用简单的命令行工具(比如 top)就能够轻松获取资源。通过检查 Apache 日志可以轻松收集到 Web 统计数据。Aptana 利用了这些开源的工具。还有其他流行的开源工具,它们甚至提供更高级的数据统计。例如,在图 14 中单击 Advanced Web Stats 查看高级的统计数据。
图 14. 高级 Web 统计数据
上面的界面是一个 Web 应用程序,它自动包含在任意 Aptana Cloud 应用程序中。它使用开源的 JAWStats 应用程序,后者是一个构建在开源 AWStats 日志文件分析器之上的高级用户界面。它提供许多有趣的图表,如下所示。
图 15. 顶部页面视图
图 15 对站点上经常访问的页面进行分类。您还可以进一步查看用户在站点上执行什么操作。
图 16. 浏览器统计数据
图 16 显示了站点的浏览器统计数据。任何 Web 应用程序常常都需要了解这些数据。用户使用什么浏览器?这对大量使用 JavaScript 和 CSS 的高级应用程序尤为重要。您想知道根据哪些浏览器测试应用程序,以为用户提供更优秀的应用程序。下面显示了关于 Web spider 提供的流量的有趣图表。
图 17. Web spider
Web spider 通常是来自搜索引擎(比如 Google 和 Yahoo!)的小程序。任何 Web 应用程序都必须进行搜索引擎优化,而 Aptana Cloud 通过包含出色的开源软件(比如 JAWStats)自动帮助您进行搜索引擎优化。
以上的所有工具通过日志文件变得更加强大。如果您有一个需要访问的工具,或需要查看日志(例如,调试一个问题),那么 Aptana 同样为您提供解决办法。Aptana Studio 为查看完整日志或查看日志轨迹提供快捷方式。
图 18. 日志访问
您可以针对以下站点快速访问 Apache 的访问日志和错误日志:产品(公开)站点、私有站点(驻留所有工具,比如 phpMyAdmin 和 JAWStats)和测试站点。您还可以在 Aptana Studio 中直接跟踪日志。
图 19. 跟踪日志
企业的业务分析员比较喜欢 JAWStats 创建的美观图表。但是,拥有一个集成的跟踪特性对开发人员决定先解决哪个产品 bug 非常有价值。不管界面如何美观,都没有人愿意成天盯着日志文件和图表。那么,出现问题应该怎么办呢?可能一个长期运行的查询正在影响数据库,或站点的流量突然增加。这些都是需要处理的常见问题,但必须及时处理它们。
例如,如果您遇到流量突然大增,避免流量高峰的最可靠办法是关闭站点。如果能够提前收到警告的话,您就可以增加处理流量的资源,从而轻松解决问题,为所有新用户提供良好的体验。Aptana Cloud 平台包含可高度定制的警告。
图 20. Aptana 警告
这个界面总结了在 Aptana Cloud 中运行的站点可以收到的警告类型。它们被分为几类:
Membership — 能够进入站点并管理的人员
Site — 站点的生命周期
Services — Apache、MySQL 和 Postfix
Usage — RAM 和 CPU 等资源
Backups
您可以下钻到每个类别中,以配置各个警告。
图 21. 站点警告
图 21 显示了可用的站点警告类型。在列表的底部给出了两个非常重要的警告:
Site Unresponsive — 当站点不响应用户的请求时将触发该警告。
Site Responsive — 当站点返回到正常的响应状态时将触发该警告。
图 21 仅显示发送到电子邮件的警告。还可以将它们发送到站点的定制 RSS 提要。连接到站点是个很好的办法,因为现在的智能手机都能够读取电子邮件和 RSS 提要,帮助您即时获得通知。图 22 显示了关于资源使用的警告。
图 22. 资源警告
当以下基础资源水平较低时将触发资源警告:CPU 周期、内存、交互和磁盘空间。当您收到这些资源紧缺的警告时,您可以轻松调整它们的分配额度(见图 6)。利用云提供的强大功能保持站点在任何条件下都能正常运行。
结束语
管理和操作 Web 应用程序是一项艰难的任务。如果将应用程序部署到云计算平台上,您肯定认为要管理它们将难上加难。不过,开源工具和技术大大降低了管理云应用程序的复杂性。在本文中,您探索了许多由 Aptana Cloud 平台提供的开源技术,从而使得云应用程序的管理更加轻松。Aptana 是一个充满诱惑的选择。
如果您选择不同的平台,仍然可以利用这里提供的大部分技术管理云应用程序。正确的选择能够为企业员工提供巨大的优势,包括系统管理员、开发人员、业务分析员和产品经理等。您已经了解很多 Aptana 使用的最优秀的开源技术。
- 云计算(135401)
- 管理云(5470)
评论
查看更多