現實中的開放源碼云計算,第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)
評論
查看更多