2012-01-10 28 views
10

我正在構建一個系統,我打算在Google App Engine上部署該系統。目前的價格在這裏描述:如何估算GAE上的託管服務成本?

Google App Engine - Pricing and Features

我需要每個客戶端的web應用程序管理成本的估計。在我完成開發之前,成本將不會很準確。 GAE使用如READs和WRITE這樣的細粒度價格計算,估算每個用戶的運營成本是一項非常艱鉅的任務。

我有一個敏捷開發。這個過程讓我更難以確定我的成本。我一直在利用我的用戶故事創建每個用戶故事的成本基準。然後,我粗略地估計用戶將如何執行每個故事工作流以最終計算簡單估計。

正如我所看到的,對於啓動項目,計算Datastore API的估算過於複雜。其他成本更易於掌握。不幸的是,我需要給我的經理一個近似的成本!

有沒有人接受過這樣的任務?任何指針都會很棒,包括工具,示例或任何其他相關信息。

謝謝。

+1

我通常會做你喜歡解釋的事情。我計算出我最大的成本驅動因素可能是什麼(不要忘記您可能擁有的後端處理!),然後計算操作/操作的估計值並使用電子表格進行估計。這不是確切的,但可能足以猜測出球場。 – 2012-01-11 05:44:18

回答

9

是的,可以對應用程序引擎應用程序進行成本估算分析。根據我的經驗,我在分析過程中遇到的三個主要成本領域是實例小時成本,數據存儲讀取/寫入成本以及數據存儲存儲的數據成本。

YMMV當然是基於您正在開發的應用程序的類型。如果它是一個強大的OLTP應用程序,它可以處理簡單但頻繁的CRUD到您的數據記錄,則大部分成本將用於數據存儲讀/寫操作,因此我建議您開始對此資源進行估算。

對於數據存儲讀/寫,寫入的成本通常比讀取數據的成本要貴得多。這是因爲寫入成本不僅考慮編寫實體的成本,還要編寫與實體相關的所有索引。我建議您閱讀Google關於life of a datastore write的文章,尤其是關於Apply階段的部分,以瞭解如何根據您的數據模型計算每個實體的寫入次數。

爲了估算您需要的實例小時數,最簡單的方法(但並非總是可行)將部署一個簡單的應用程序來測試特定請求需要多長時間。如果這種方法是不可取的,那麼您也可以將您的估計數據基於Google App Engine System Status頁面(例如,針對特定大小的實體的數據存儲寫入的延遲)以獲得關於處理您的需要多長時間的(非常)粗略圖片請求。

在我看來,成本的第三大領域是數據存儲的數據成本。當然,這會根據您的數據模型而有所不同,但是您所做的任何估計也需要考慮實體索引將採用的存儲空間。快速瀏覽數據存儲統計頁面,我認爲索引可以將存儲大小增加40%到400%,具體取決於您對特定實體有多少索引。

+1

很好的答案。謝謝 – 2012-06-23 14:11:51

+1

如果您想測量應用程序代表性運行的*實際成本,您可以使用[Potamus](http://github.com/Cloudlock/potamus)實時捕獲和檢查這些數據。 – technomage 2013-06-30 13:18:23