現(xiàn)實(shí)中的開放源碼云計(jì)算,第3部分:管理云
在 “現(xiàn)實(shí)中的開放源碼云計(jì)算” 系列的最后部分,我們將介紹幾個(gè)開放源碼工具和技術(shù),幫助您在云中管理應(yīng)用程序。
您已經(jīng)根據(jù)自己的需求選擇了最佳的云計(jì)算平臺(tái),并且擁有一個(gè)能夠在該平臺(tái)上運(yùn)行的、設(shè)計(jì)良好的應(yīng)用程序。最艱難的部分已經(jīng)完成了,是嗎?還沒(méi)有這么快!當(dāng)應(yīng)用程序適合在您的服務(wù)器上運(yùn)行之后,您還需要考慮平時(shí)比較擔(dān)心的所有問(wèn)題:部署、測(cè)試和監(jiān)控。這可能是一個(gè)嚴(yán)峻的挑戰(zhàn),因?yàn)槟膽?yīng)用程序還將在其他機(jī)器上運(yùn)行,您可能沒(méi)有訪問(wèn)或仔細(xì)了解過(guò)這些機(jī)器。
關(guān)于本系列
在這個(gè)分為三部分的 “現(xiàn)實(shí)中的開放源碼云計(jì)算” 系列,學(xué)習(xí)如何確定云計(jì)算是否對(duì)您有幫助,以及如何計(jì)劃云計(jì)算策略。第 1 部分 概述了云計(jì)算的優(yōu)勢(shì)、類型以及云計(jì)算平臺(tái)中的高級(jí)選項(xiàng)。第 2 部分 探索了云應(yīng)用程序和傳統(tǒng)的 N 層應(yīng)用程序之間的一些關(guān)鍵設(shè)計(jì)區(qū)別。在本文中,了解部署到云中的應(yīng)用程序的生命周期的其他部分。本文討論幾個(gè)開放源碼工具和技術(shù),幫助您管理應(yīng)用程序。
Aptana Cloud
在第 2 部分中,您將示例應(yīng)用程序部署到 Aptana Cloud 平臺(tái)。它允許使用 PHP 作為開發(fā)語(yǔ)言。Aptana Cloud 還支持 Ruby on Rails and Jaxer,這是 JavaScript 的開放源碼服務(wù)器端實(shí)現(xiàn)。所有這些流行的開源語(yǔ)言和相關(guān)的框架都可以在 Aptana Cloud 上和開源技術(shù)結(jié)合,比如 Apache 和 MySQL。
Aptana 的 IDE 是 Aptana Studio,它使得開發(fā)代碼并將其部署到 Aptana Cloud 非常容易。Aptana 還有很多其他功能。它為管理基于云的應(yīng)用程序提供更多的工具 —— 在這里,開源技術(shù)仍然是主角。下一小節(jié)探索如何使用 Aptana 提供的工具管理基于云的應(yīng)用程序。
管理云應(yīng)用程序
在應(yīng)用程序的生命周期中,很容易低估運(yùn)營(yíng)的復(fù)雜性。我們花大量時(shí)間和精力設(shè)計(jì)應(yīng)用程序,為開發(fā)代碼忙到深夜。我們通常認(rèn)為應(yīng)用程序編寫完成并可以運(yùn)行就算大功告成,但這是一個(gè)常見(jiàn)的誤區(qū)。如果應(yīng)用程序最終崩潰或不響應(yīng),那么它就沒(méi)有價(jià)值了。管理可能非常困難。與運(yùn)行在自己的服務(wù)器上的應(yīng)用程序相比,管理運(yùn)行在云平臺(tái)上的應(yīng)用程序更加具有挑戰(zhàn)性。在很多情況下,平臺(tái)提供商(比如 Aptana Cloud)都能夠預(yù)料到所出現(xiàn)的問(wèn)題,并使用開源工具和技術(shù)幫助您管理基于云的應(yīng)用程序。
讓我們從控制基礎(chǔ)設(shè)施開始。 Aptana Cloud 是專門為 Web 應(yīng)用程序設(shè)計(jì)的,并使用非常普遍的 Apache Web 服務(wù)器。Aptana 為訪問(wèn) Apache 提供便捷的方式。您可以在 Aptana Studio 中查看 Apache 的狀態(tài)、重啟它、配置它的文檔根,以及檢測(cè)來(lái)自 Apache 的更新。
圖 1. 在 Aptana Studio 中管理 Apache
在 Aptana Cloud 上的應(yīng)用程序利用了最流行的開源數(shù)據(jù)庫(kù)引擎(MySQL)和開源電子郵件服務(wù)器軟件(Postfix)的優(yōu)勢(shì)。Aptana 還為這些服務(wù)提供類似的圖形工具,如下所示。
圖 2. 在 Aptana Studio 中管理 MySQL 和 Postifx
數(shù)據(jù)庫(kù)管理是管理數(shù)據(jù)驅(qū)動(dòng)的 Web 應(yīng)用程序的主要工作。Aptana 為管理在其上運(yùn)行的應(yīng)用程序的數(shù)據(jù)庫(kù)提供幾種方式。對(duì)于任何部署到 Aptana Cloud 上的應(yīng)用程序,都會(huì)自動(dòng)地為其安裝流行的開源 Web 應(yīng)用程序 phpMyAdmin。通過(guò) phpMyAdmin,您可以完成很多常見(jiàn)的任務(wù),比如查詢數(shù)據(jù)、管理用戶及其特權(quán)、創(chuàng)建表或視圖、將數(shù)據(jù)導(dǎo)出到 CSV 或 Microsoft? Excel? 電子表格,以及備份數(shù)據(jù)。您還可以通過(guò)查詢和更新的數(shù)量、變慢的查詢和回滾等確定數(shù)據(jù)庫(kù)服務(wù)器的健康狀況。圖 3 顯示了一些可以通過(guò) phpMyAdmin 獲得的數(shù)據(jù)。
圖 3. 使用 phpMyAdmin
當(dāng)然,phpMyAdmin 不是管理 MySQL 的惟一工具。Aptana 還提供了 SQL Buddy,這是另一個(gè)基于 Web 的開源工具。您可以從 Aptana Studio 直接啟動(dòng)它。它非常有用,可以直接從 Aptana Studio 訪問(wèn)您的數(shù)據(jù)。幸運(yùn)的是,Aptana Studio 構(gòu)建在 Eclipse 平臺(tái)之上,因此它能夠利用許多基于 Eclipse 的開源工具,包括用于訪問(wèn)數(shù)據(jù)庫(kù)的工具。例如,您可以從 Aptana Studio 直接瀏覽您的數(shù)據(jù)庫(kù)和模式。
圖 4. Aptana Database Explorer
您可以通過(guò) Aptana Studio 的 Database Explorer 直接輸入 SQL 查詢并查看結(jié)果。
圖 5. 從 Aptana Studio 查詢數(shù)據(jù)
管理物理硬件是管理的另一部分內(nèi)容。這與管理在云平臺(tái)上運(yùn)行的應(yīng)用程序不同。不過(guò),Aptana 仍然讓硬件的管理非常便捷。您可以根據(jù)需求變更內(nèi)存和磁盤分配(從而改變使用云所需的成本)。
圖 6. 管理云資源分配
備份站點(diǎn)是管理員的重要任務(wù)之一。對(duì)于 Aptana Cloud 應(yīng)用程序,這個(gè)任務(wù)非常簡(jiǎn)單。僅需使用開源技術(shù)提供的備份工具(OpenSolaris 和 MySQL),就可以備份任何基于這些技術(shù)的內(nèi)容。僅需點(diǎn)擊鼠標(biāo),Aptana Studio 就能幫助您完成備份。
圖 7. 使用 Aptana 創(chuàng)建備份
您可以從 Aptana Studio 直接訪問(wèn)備份,事實(shí)上您可以從 Aptana Studio 訪問(wèn)您的云的整個(gè)文件系統(tǒng)。
圖 8. 查看備份
這個(gè)示例僅是 Eclipse 上的一個(gè)(遠(yuǎn)程)文件系統(tǒng),因此您可以拖放和刪除文件等等。如果您確實(shí)需要一個(gè)命令行界面,Aptana 也能夠輕松為您實(shí)現(xiàn)。您可以從 Aptana 直接啟動(dòng)一個(gè) SSH 會(huì)話。
圖 9. 從 Aptana 啟動(dòng) SSH
當(dāng)您連接到 SSH 會(huì)話之后,您就可以完全通過(guò)命令行訪問(wèn) Aptana Cloud 實(shí)例。您可以使用所有自己喜歡的 UNIX? 工具。SSH 僅是 Aptana 提供的最基礎(chǔ)的訪問(wèn)方法。下面總結(jié)了所有訪問(wèn)方法。
圖 10. 訪問(wèn)方法
圖 10 顯示了 SSH 和 Secure FTP 訪問(wèn)。這里提供數(shù)據(jù)庫(kù)連接信息,不過(guò)您也可以使用自己喜歡的工具。還為源代碼控制提供 Subversion 和 Git。在 SSH 部分,您甚至還可以啟用根訪問(wèn)。
下一小節(jié)講述應(yīng)用程序管理的另一部分重要內(nèi)容:監(jiān)控。
監(jiān)控云
在產(chǎn)品的生命周期中,監(jiān)控應(yīng)用程序是很關(guān)鍵的部分。這并不像 “我的應(yīng)用程序是否運(yùn)行?” 那么簡(jiǎn)單。監(jiān)控還包括在問(wèn)題發(fā)生之前預(yù)測(cè)它們,并在問(wèn)題損害業(yè)務(wù)之前將其解決。監(jiān)控的內(nèi)容就是了解用戶如何與您的應(yīng)用程序進(jìn)行交互,以及應(yīng)用程序如何響應(yīng)用戶。毫無(wú)疑問(wèn),開源軟件在這里仍然大顯身手 —— 尤其是 Aptana Cloud。 當(dāng)您加載 Aptana Studio 時(shí),它將立即提供一個(gè)指示板,您可以從中查看應(yīng)用程序的健康狀態(tài)。圖 11 顯示了一個(gè)示例。
圖 11. Aptana 服務(wù)器指示板
這個(gè)指示板顯示當(dāng)前的 CUP、RAM、交換和磁盤使用信息,以及您為應(yīng)用程序配置的資源分配(見(jiàn)圖 6)。您可以立即看到是否需要增加或減少資源的分配。當(dāng)然,它僅顯示當(dāng)前的使用;您可能需要長(zhǎng)期觀察數(shù)據(jù)的變化。在上面的例子中,指示板顯示最近 1 個(gè)小時(shí)的 CPU 使用。
如圖 10 所示,您可以獲得不同時(shí)間段內(nèi)關(guān)于內(nèi)存、交換、磁盤使用和度量的類似信息。此外,您還可以從這些圖表中獲取更詳細(xì)的信息。
圖 12. 詳細(xì)的站點(diǎn)統(tǒng)計(jì)數(shù)據(jù)
這些詳細(xì)的統(tǒng)計(jì)數(shù)據(jù)與您在指示板上看到的相似。您還可以查看其他統(tǒng)計(jì)數(shù)據(jù),比如應(yīng)用程序的點(diǎn)擊數(shù)和所使用的帶寬等。圖 13 給出了一個(gè)示例。
圖 13. Web 統(tǒng)計(jì)數(shù)據(jù)
這里顯示了最近一個(gè)星期訪問(wèn)站點(diǎn)的用戶總數(shù)(重復(fù)訪問(wèn)仍算作一位用戶)。這些統(tǒng)計(jì)數(shù)據(jù)對(duì)系統(tǒng)管理員的作用不是很大,但它們能夠?yàn)闃I(yè)務(wù)分析員帶來(lái)巨大的價(jià)值。可能最近舉行了一個(gè)新的市場(chǎng)促銷,因此您想計(jì)算一下站點(diǎn)的用戶增加了多少。這僅是 Aptana Cloud 平臺(tái)提供的一個(gè)開箱即用的常見(jiàn)用例而已。
您可能想知道 Aptana 是如何生成這些精致的圖表的。Aptana 將所有這些統(tǒng)計(jì)數(shù)據(jù)存儲(chǔ)在 MySQL 中。在 UNIX 式的系統(tǒng)中,使用簡(jiǎn)單的命令行工具(比如 top)就能夠輕松獲取資源。通過(guò)檢查 Apache 日志可以輕松收集到 Web 統(tǒng)計(jì)數(shù)據(jù)。Aptana 利用了這些開源的工具。還有其他流行的開源工具,它們甚至提供更高級(jí)的數(shù)據(jù)統(tǒng)計(jì)。例如,在圖 14 中單擊 Advanced Web Stats 查看高級(jí)的統(tǒng)計(jì)數(shù)據(jù)。
圖 14. 高級(jí) Web 統(tǒng)計(jì)數(shù)據(jù)
上面的界面是一個(gè) Web 應(yīng)用程序,它自動(dòng)包含在任意 Aptana Cloud 應(yīng)用程序中。它使用開源的 JAWStats 應(yīng)用程序,后者是一個(gè)構(gòu)建在開源 AWStats 日志文件分析器之上的高級(jí)用戶界面。它提供許多有趣的圖表,如下所示。
圖 15. 頂部頁(yè)面視圖
圖 15 對(duì)站點(diǎn)上經(jīng)常訪問(wèn)的頁(yè)面進(jìn)行分類。您還可以進(jìn)一步查看用戶在站點(diǎn)上執(zhí)行什么操作。
圖 16. 瀏覽器統(tǒng)計(jì)數(shù)據(jù)
圖 16 顯示了站點(diǎn)的瀏覽器統(tǒng)計(jì)數(shù)據(jù)。任何 Web 應(yīng)用程序常常都需要了解這些數(shù)據(jù)。用戶使用什么瀏覽器?這對(duì)大量使用 JavaScript 和 CSS 的高級(jí)應(yīng)用程序尤為重要。您想知道根據(jù)哪些瀏覽器測(cè)試應(yīng)用程序,以為用戶提供更優(yōu)秀的應(yīng)用程序。下面顯示了關(guān)于 Web spider 提供的流量的有趣圖表。
圖 17. Web spider
Web spider 通常是來(lái)自搜索引擎(比如 Google 和 Yahoo!)的小程序。任何 Web 應(yīng)用程序都必須進(jìn)行搜索引擎優(yōu)化,而 Aptana Cloud 通過(guò)包含出色的開源軟件(比如 JAWStats)自動(dòng)幫助您進(jìn)行搜索引擎優(yōu)化。
以上的所有工具通過(guò)日志文件變得更加強(qiáng)大。如果您有一個(gè)需要訪問(wèn)的工具,或需要查看日志(例如,調(diào)試一個(gè)問(wèn)題),那么 Aptana 同樣為您提供解決辦法。Aptana Studio 為查看完整日志或查看日志軌跡提供快捷方式。
圖 18. 日志訪問(wèn)
您可以針對(duì)以下站點(diǎn)快速訪問(wèn) Apache 的訪問(wèn)日志和錯(cuò)誤日志:產(chǎn)品(公開)站點(diǎn)、私有站點(diǎn)(駐留所有工具,比如 phpMyAdmin 和 JAWStats)和測(cè)試站點(diǎn)。您還可以在 Aptana Studio 中直接跟蹤日志。
圖 19. 跟蹤日志
企業(yè)的業(yè)務(wù)分析員比較喜歡 JAWStats 創(chuàng)建的美觀圖表。但是,擁有一個(gè)集成的跟蹤特性對(duì)開發(fā)人員決定先解決哪個(gè)產(chǎn)品 bug 非常有價(jià)值。不管界面如何美觀,都沒(méi)有人愿意成天盯著日志文件和圖表。那么,出現(xiàn)問(wèn)題應(yīng)該怎么辦呢?可能一個(gè)長(zhǎng)期運(yùn)行的查詢正在影響數(shù)據(jù)庫(kù),或站點(diǎn)的流量突然增加。這些都是需要處理的常見(jiàn)問(wèn)題,但必須及時(shí)處理它們。
例如,如果您遇到流量突然大增,避免流量高峰的最可靠辦法是關(guān)閉站點(diǎn)。如果能夠提前收到警告的話,您就可以增加處理流量的資源,從而輕松解決問(wèn)題,為所有新用戶提供良好的體驗(yàn)。Aptana Cloud 平臺(tái)包含可高度定制的警告。
圖 20. Aptana 警告
這個(gè)界面總結(jié)了在 Aptana Cloud 中運(yùn)行的站點(diǎn)可以收到的警告類型。它們被分為幾類:
Membership — 能夠進(jìn)入站點(diǎn)并管理的人員
Site — 站點(diǎn)的生命周期
Services — Apache、MySQL 和 Postfix
Usage — RAM 和 CPU 等資源
Backups
您可以下鉆到每個(gè)類別中,以配置各個(gè)警告。
圖 21. 站點(diǎn)警告
圖 21 顯示了可用的站點(diǎn)警告類型。在列表的底部給出了兩個(gè)非常重要的警告:
Site Unresponsive — 當(dāng)站點(diǎn)不響應(yīng)用戶的請(qǐng)求時(shí)將觸發(fā)該警告。
Site Responsive — 當(dāng)站點(diǎn)返回到正常的響應(yīng)狀態(tài)時(shí)將觸發(fā)該警告。
圖 21 僅顯示發(fā)送到電子郵件的警告。還可以將它們發(fā)送到站點(diǎn)的定制 RSS 提要。連接到站點(diǎn)是個(gè)很好的辦法,因?yàn)楝F(xiàn)在的智能手機(jī)都能夠讀取電子郵件和 RSS 提要,幫助您即時(shí)獲得通知。圖 22 顯示了關(guān)于資源使用的警告。
圖 22. 資源警告
當(dāng)以下基礎(chǔ)資源水平較低時(shí)將觸發(fā)資源警告:CPU 周期、內(nèi)存、交互和磁盤空間。當(dāng)您收到這些資源緊缺的警告時(shí),您可以輕松調(diào)整它們的分配額度(見(jiàn)圖 6)。利用云提供的強(qiáng)大功能保持站點(diǎn)在任何條件下都能正常運(yùn)行。
結(jié)束語(yǔ)
管理和操作 Web 應(yīng)用程序是一項(xiàng)艱難的任務(wù)。如果將應(yīng)用程序部署到云計(jì)算平臺(tái)上,您肯定認(rèn)為要管理它們將難上加難。不過(guò),開源工具和技術(shù)大大降低了管理云應(yīng)用程序的復(fù)雜性。在本文中,您探索了許多由 Aptana Cloud 平臺(tái)提供的開源技術(shù),從而使得云應(yīng)用程序的管理更加輕松。Aptana 是一個(gè)充滿誘惑的選擇。
如果您選擇不同的平臺(tái),仍然可以利用這里提供的大部分技術(shù)管理云應(yīng)用程序。正確的選擇能夠?yàn)槠髽I(yè)員工提供巨大的優(yōu)勢(shì),包括系統(tǒng)管理員、開發(fā)人員、業(yè)務(wù)分析員和產(chǎn)品經(jīng)理等。您已經(jīng)了解很多 Aptana 使用的最優(yōu)秀的開源技術(shù)。
- 云計(jì)算(135401)
- 管理云(5470)
評(píng)論
查看更多