GWAB 2014 Taipei: 由本地移轉至雲端 - 構思與實踐

Preview:

DESCRIPTION

 

Citation preview

由本地到雲端應用:構思與實踐

小朱MVP / MCSDstudyazure.com

Welcome to GWAB, join our party

2

If you need to scale to 139 locations, when no one else can, and if you can find them, maybe you can hire

BUT WE THANK YOU!!!

Agenda

概念規劃移轉維運

概念

請先有一個清楚明白的認知:雲端環境和本地環境本質上是不同的。

Local vs. Cloud本地• 享有完整的控制權。• 愛怎麼做就怎麼做。• 資料全存在本地。• 成本相對較高。• 需要額外人力。

雲端• 有限的控制權。• 依照標準操作。• 資料放在人家那裡 ( 有安全認

證 ) 。• 成本相對低廉。• 不需額外人力。• Dev/Ops 技能需要。

你的應用程式的特性 ?

• 純 Web 應用 ?• 使用了外部資源 (ex: OAuth, ADFS, 網路服務 ,

…)• 使用特殊的平台 (ex: Matlab)• 只要分散流量 ?• 資源太過集中 ?

你的資料儲存的特性 ?

• 集中式 ( 單一資料庫 )?• 分散式 ( 多資料庫或檔案系統 )?• Big Data 原始資料 ?• Big Data 結果集 ?• 暫存資料 ?

不同的應用,會有不同的移轉方式。

但從現在開始:以雲端環境為基礎,思考應用程式的設計。

本地的環境:集中式架構 (Centralized) 。

雲端的環境:分散式架構 (Distributed) 。

雲端的架構,迫使開發人員必須思考以分散式運算的基礎設計應用程式的架構。

規劃

如何規劃應用程式的移轉 ?

• 需要多少資源 ?• 需要多重視服務的可用性 ?• 需要多少控制權 ?• 需要多少儲存量 ?• 使用的使用者的地理範圍 ?

移轉的可用資源• 單一或小規模網站: Azure Website• 中規模以上的網站: Azure Cloud Service• 多層次 Web 應用: Azure Cloud Service• 科學或特殊平台需求: Azure Cloud Service

or VM• 需要多一點控制權: Azure Cloud Service or

VM• 搭建混合雲: Azure VM with Azure Network

手動 Scale vs. 自動 Scale (Auto-scale)

儲存的移轉• RDBMS: SQL Database or SQL Server on

VM• 檔案系統 : Azure Storage (Blob)• 結構化資料 : Azure Table (NoSQL resources)• 大型資源散佈 : Azure Storage (Blob) + CDN• Big Data 原始資料環境 : Azure Storage• Big Data 目標資料環境 : RDBMS or Azure

Storage

控制權的迷思:大多數的情況下,不需要自己花時間管理機器,但要花更多時間讓應用程式能適應這樣的環境。

那麼應用程式要適應的是什麼環境 ?

就是…當你不知道機器何時當機時,應用程式還能活著提供服務的能力。

失效域 (Fault Domain)更新域 (Update Domain)

移轉

應用程式的移轉Azure Website: Visual Studio 部署, FTP , GIT 等。Azure Cloud Service: Visual Studio 部署, GIT 部署或手動上傳封裝等。Azure VM: 使用遠端桌面安裝與部署軟體。

資料的移轉SQL Database:SSIS, DACPAC, 指令碼移轉 , Migration Wizard 等。SQL Server on VM:資料庫備份與還原Storage:使用工具 (ex: Azure Storage Explorer or CloudBerry) 或是透過 Storage APIs

朝向分散式架構前進…

基本架構組合式應用程式(Composite Application)鬆散耦合(Loosely-Coupled)

無狀態元件(State-less Component)

鑒一性元件(Idempotent Component)

多租戶架構單一執行個體元件(Single Instance Component)單一可組態執行個體元件(Single Configurable Instance Component)多執行個體元件(Multiple Instances Component)

可用性架構

看門狗(Watchdog)

更新遞移(Updating Transition)

維運

Dev/Ops Process Model

REQUIREMENTS

PRODUCTBACKLOG

OPSBACKLOG

MonitorSprint

WORKING SOFTWARE

DefineIdeation

DevelopIdea to working software

OperateDeployment to feedback

Continuous Value DeliveryREQUIREMENTS

PRODUCTBACKLOG

OPSBACKLOG

MonitorSprint

WORKING SOFTWARE

DefineIdeation

DevelopIdea to working software

OperateDeployment to feedback

• PowerPoint Storyboarding• Agile Planning

• Suspend & Resume• Code Reviews• Feedback Collection• Unit Testing• Exploratory Testing• Continuous Integrations• Continuous Deployments

• SCOM Integration• IntelliTrace in Production• PreEmptive Analytics

Recap

概念規劃移轉維運

Questions?

The Sponsors: These guys are doing it globally

 

 

 

 

 

 

 

A BIG THANK YOU

The Sponsors: These guys are doing it locally

A BIG THANK YOU

The Social FunPlease share our “little” event on the WWW by any

means

Use the HASHTAG

#GWAB extensively

The Social FunFind all the online locations here

http://bit.ly/gwabflickrhttp://bit.ly/gwabTwitter (capital

‘T’)http://bit.ly/gwabfacebook

• Windows Azure : http://www.windowsazure.com• Study4.TW : http://study4.tw• Windows Azure 雲端平台開發夥伴社群

https://www.facebook.com/cloudexpert• Azure Taiwan User Group : 

https://www.facebook.com/groups/AzureTWUG/• 雲端學堂 : https://www.facebook.com/studyazure• MSDN : http://

social.msdn.microsoft.com/Forums/zh-tw/home• Channel 9 :http://channel9.msdn.com/• MVA : http://www.microsoftvirtualacademy.com/

studyazure.com雲端學習棧

Thank You!