多通路行銷應用程式開發架構指南

Microsoft Azure 上有相當多服務可以協助你開發堅固的網站,而針對面向一般消費者的行銷網站(其實適用於許多網站應用情境),Azure 團隊有一個建議的架構圖。 這篇文章就針對這份架構的建議來提供說明。 您也可以參考影片的說明: 流量管理與網站建置 你的客戶可能來自世界各地,或是你希望在多個資料中心做備援,為了要讓用戶的連線可以自動導向鄰近或是還可以正常存取的資料中心,這時你可以使用流量管理員(traffic manager)的服務,讓它設定指向不同資料中心的網站服務,然後將你的網域名稱設定在流量管理員上,接下來要到哪個資料中心就是流量管理員來負責處理,除了可以避免資料放在單一機房上會有服務中斷的疑慮之外,也有負載平衡的效果。 另一方面,Azure 網站服務除了可以自己使用 .NET、PHP、Python、Node.js、Java 來撰寫網站應用程式之外,也可以使用現成的架站工具(如:WordPress, Umbraco 等等)來快速建立網站,若網站需要串接身份驗證的功能,可以直接使用 Azure Active Directory 的服務,直接可以完成 AD、Microsoft、Facebook、Twitter、Google 的帳號身份驗證,不必自己撰寫這部份的程式。 由於是面對消費者的網站,有時候辦一些活動時可能需要臨時增加運算資源來應付暴增的流量,Azure 網站服務可以設定自動延展(Auto scale)的機制,視需要動態增減需要使用的運算資源數量;而若是要處理一些非同步的工作,則可以將這些非同步的工作放在 WebJobs 裡背景執行,方便處理一些非由使用者驅動的工作(如:處理客戶資料、寄送 Email 等)。 根據不同用途處理資料 如果要把使用者在網站上的行為記錄下來,做為日後分析的數據,那肯定是一種大數據(big data)的使用情境,這些資料可以使用 Azure HDInsight 來儲存,這個服務完全基於 Apache Hadoop 的技術架構,而運用 Azure 的雲端技術來提供服務,由於完全是採用 Hadoop 的技術架構,所有基於 Hadoop 架構做的資料處理、分析工具都可以直接使用。 而網站上的靜態檔案部份,不論是網站原本的靜態檔案(CSS、JavaScript、圖片)還是由使用者上傳到網站上的靜態檔案(個人圖片等),都可以運用 Azure 儲存體中的 Blob 儲存體服務來儲存,這些檔案都可以直接透過專屬的 URL 來存取,除了可以分散網站的流量之外,也可以降低網站對本機檔案系統的依賴,有效減輕延展網站的難度;同時,也可以運用 Azure 儲存體對於資料的可得性、易用性來保存檔案。 關聯式資料的部份,當然就可以直接選擇使用 Azure 上的…

1