Fielding系統為大大小小的中上游石油和天然氣公司提供兩種強大的基於web的服務,説明運營商精簡生產活動和增加外勤業務管理、遠端監控和生產分析。 每個應用程式都包括一個全功能的移動版本,允許所有客戶訪問他們的資料並從任何現代智慧手機上進行操作,包括iPhone、Android 和 Windows Phone。
FieldVisor 是一個領域自動化和資料獲取應用程式,可以用於跟蹤在石油和天然氣生產操作中的任何動向。 使用者可以跟蹤生產、裝備、服務、處理歷史、任務和許多其他方面的生產操作。 FieldVisor更加側重于以手動方式輸入資料取代紙和筆等外業操作並提供穩健的分析併發出報告。 ScadaVisor 監視遠端設備如流量計、pump-off控制器、tanks、壓縮機、PLC's、人工升降機和其他各種即時監控設備。 同類之中它是唯一真正基於雲計算的服務,因為它由我們自己的叫做VisorBridge的基於雲計算的通信和輪詢引擎所支援。
本來所有的Fielding系統應用程式都被託管在我們自己的資料中心中。 這些應用程式都被升級以充分利用Windows Azure所帶來的優勢,並在2011年7月份完全被遷移到Windows Azure上。 做遷移到雲的決定是因為我們想集中精力和資源研究前沿技術而不是花大量的精力在每個應用程式的伺服器、備份和網路的管理上。 我們認識到通常情況下公司花費了大量的時間和資源來支援他們的業務而不是集中精神研究技術,而雲計算就允許我們這樣做。 遷移到雲還有利於通過減少過剩的伺服器資源和包含在維護資料中心和主機代管的軟體許可上花費的昂貴費用來大大節約成本。 通過衡量雲的各種選擇,我們選擇了Windows Azure,因為它提供給我們一個更強大的開發平臺。 Windows Azure比其他服務提供了更快的投入市場的速度和更好的可伸縮性,利用這一優勢的同時實際上只託管了虛擬機器。
遷移到Windows Azure起初隻是節省了現有資料中心的機架空間、電源、備份和輔助熱戰主機代管的費用。 然而,遷移後,隨著我們擴展服務和客戶群,成本一直在下降。
體系結構
FieldVisor、 FieldVisor Mobile、ScadaVisor和 ScadaVisor Mobile在Windows Azure裡都以獨立的帶有每個客戶的單租戶SQL Azure 資料庫的多租戶web應用程式的形式存在。 這些應用程式由中央的SSO管理應用程式所支援,管理所有的使用者、角色、安全和一些其他應用程式佈建,連同為處理警報和通知、維護客戶資料庫並從field設備上執行遠端資料收集的多執行緒worker角色。
目前,我們利用了Windows Azure的幾乎所有方面,包括:
計算實例:多個web和worker角色 Blob 存儲: Blob 存儲用於網站增量升級以及使用BacPac進行SQL Azure資料庫的自動備份。 Table存儲: Table用來處理集中的資料以及為計算系統記錄提供性能計算資料。 Queue存儲: Queue用於事件調度、即時設備資料請求、自動通知和worker角色管理。 SQL Azure: 所有客戶應用資料都與多租戶的幾個核心管理資料庫一起保存在單租戶資料庫中。 SQL Azure報告: FieldVisor 和 ScadaVisor的報告由SQL Azure 報告所支援。 客戶使用Report View ASP.NET 控制項選擇運行報告並且有一個worker角色控制的使用者定義的時程表管理著所有預定的報告。 Caching: Caching在每個應用程式中與每個web應用程式支援的cache一起被當作session供應者。 Caching也用來限制每個SQL Azure資料庫的負載。
我們考慮了升級每個應用程式時使用Table Storage的多項工序。 由於資料的複雜性並且需要已經存在的SQL資料庫,我們決定為所有主要進程利用資料庫,但為後臺進程、資料插入、自動導入/匯出和遠端設備輪詢選擇依附到一個pub/sub模型上。
單點登錄(SSO)/中央多執行緒Worker 角色
我們自訂的單點登錄(SSO)服務與所有worker角色一起處理定時任務、通知、自動導入/匯出和其他需要駐留在幾個小實例中的進程。 大多數實際工作和進程在SQL Azure中是被分成較小單元來執行的,所以這些計算實例所需要的費用比較低。
應用程式
FieldVisor 和 ScadaVisor以及它們的移動版本支援web和Odata服務,都被託管在兩個中等計算實例裡。 我們的多租戶部署過程處理rollouts和管理IIS來啟動新的網站和服務。 圖表描述了每個應用程式的單租戶資料庫。
SQL Azure報告
初次將應用部署到Windows Azure上,我們必須確保SQL Server 2008 R2 Reporting Services的實例處於運行狀態,處理FieldVisor 和 ScadaVisor的所有報告。 從那時起,我們將所有報告遷移到SQL Azure 報告中,也是使用SQL Azure報告進行生產的第一家公司之一。