從 Python 開發人員(Pythonist)的角度看 Microsoft Azure

文章更新日期:2015/06/05 Microsoft Azure (以下簡稱 Azure)是微軟的公有雲端平台,這個平台除了有三、四十種不同的雲端服務之外(不只是虛擬機器而已),還支援許多不同的平台與技術。這篇文章主要以 Python 使用者的角度來看可以怎麼使用 Azure。 目錄 網站應用程式 虛擬機器與 Docker 機器學習 Azure SDK for Python 網站應用程式 如果你使用 Python 做為開發網站的主要語言,Microsoft Azure App Service – Web Apps 提供了一個可以迅速部署、高度延展並且能運用於關鍵任務(mission critical)的網站運作平台,您不必架設或管理虛擬機器、作業系統甚至是網站伺服器軟體(而且天生就是 HA – High Availability 的架構,不必煩惱服務中斷的問題),只要將寫好的 Python Web 應用程式(即便是使用 Bottle、Django 或 Flask 等開發框架)透過 FTP、Git 等方式進行部署,很快就能將網站上線,並且可以根據需求彈性調整網站平台的運算資源,以應付更大的流量及用戶。關於 Azure Web Apps 的詳細介紹可以參考這篇文章。 目前 Azure Web Apps 上是以 WSGI (PEP 3333)的方式來執行 Python…

0

在 Microsoft Azure 部署 Python/Django 網站應用程式(二)

話說在前一篇文章中,我的開發環境是在 Mac OSX 10.10 下操作,遇到了一點小亂流,雖然解決了,但也想看看其它工具是不是有不一樣的解法。於是我換回 Windows 的開發環境,然後安裝了 Python 2.7,再安裝 Python Tools for Visual Studio 這個擴充套件,讓 Visual Studio (2012 or 2013) 可以有開發 Python 應用程式的環境。 安裝完成之後,在新增專案時就有了 Python 的範本: 而建立好專案時,可以選擇在專案中建立 virtual environment,讓專案自己包進需要的函式庫,也比較不受全域環境的影響。 也可以做一些設定,包括選擇 Python 版本(如果系統同時有裝 Python 2 及 Python 3 的話可以選擇,Microsoft Azure 都支援) 有了這個 django 專案後,透過 Python Tools 整合的功能,也可以在專案總管中用圖形介面來操作 pip 或 easy_install 或是利用 requirements.txt 來安裝需要的 Python 函式庫: 像如果要使用…

0

在 Microsoft Azure 部署 Python/Django 網站應用程式(一)

Microsoft Azure 的網站服務(可見我之前的文章)支援運作 Python 的應用程式已經有一段時間了,主要的方式是透過 FastCGI 的方式來執行 Azure 上的 Python 直譯器(2.7 or 3.4)來執行 Python-based 的 Web 應用程式(如:Django、Flask 等)。 而過去我一直都是按照官網上的 tutorial 一步一步來部署 Django 應用程式,沒發生過什麼問題,一直到最近想拿 Django 1.7 來弄個小玩具,才發現這份 tutorial 好像會有點問題,簡單地說就是按照這個作法部署上去不太 work,試著自己 trouble shooting 一陣子後不見改善,於是我就利用 Azure 官方網頁中的「Azure Web 應用程式庫」的頁面來直接部署一個 Django 的 Web 應用程式,看看怎樣才會 work,結果讓我發現它部署到 Azure 的網站服務後,目錄結構長得是這個樣子的 (透過 FTP 的方式連上去看的): wwwroot/ django/ mysite/ handler.fcgi manage.py web.config 看到這裡我突然覺得很怪,怎麼會多了 handler.fcgi 以及…

0

以 Office 365 為開發平台開發加值應用

今天開始的 TechEd Europe 2014 宣佈了一些關於 Office 365 的新聞,包含了幾個重點: 運用 Office 365 API 開發應用 從今天起 Office 365 API 正式營運服務,目前提供了關於郵件、檔案(商務用 OneDrive)、行事曆以及聯絡人的資料操作,透過這些 API 您便能夠直接開發出加值在 Office 365 上的應用,相要瞭解如何運用這些 API 作開發,可以參考官方的 Office 開發中心。 提供 Windows, iOS, Android 等 SDK 而除了提供 Visual Studio 的 SDK (for Windows)之外,MS Open Tech 也開發了 iOS 及 Android 的 SDK,方便開發人員可以輕鬆在 iOS、Android 平台上開發 Office 365 的延伸應用。 新的…

0

使用 Microsoft Azure 網站服務架設網站服務或網站應用程式(適用 ASP.NET, PHP, Python, Node.js, Java)

文章更新: 2014/10/13 Microsoft Azure 是微軟推出的雲端平台,它並不是單一功能的產品或平台,而是數十種用來建置雲端服務平台產品的集合。而 Microsoft Azure 網站服務是一個可以快速建置網站(靜態網站或網站應用程式)的平台服務(PaaS, Platform-as-a-Service),而且具有雲端平台的特性——用多少付多少,所以您不必事先估算需要的機器資源而進行採購,在網站運行的任何時間都可以動態調整資源,有需要時調高、沒需要時調低,更有效地花費服務的預算。此外,這個平台服務有著開放、跨平台的使命,不論原本是使用 ASP.NET、PHP、Python、Node.js 還是 Java 撰寫的網站都可以直接放在這個平台上運行,而且支援多種部署網站的方式,所以也不限制開發人員要用什麼平台(PC、Unix-like、Mac 等皆可)、開發工具來開發網站。以下是我在 Channel 9 上錄製的影片,用來簡介 Microsoft Azure 網站服務是什麼樣的平台: 這裡我將影片提到的部份分為幾個重點來逐一介紹: 做為網站的虛擬主機 部署網站 延展網站所需的資源 Staging/Production 的部署環境分離 背景程式的運作 網站的備份及還原 跨資料中心的流量管理 為網站提供 CDN 與企業網路混合連接 使用其它服務強化網站應用程式 開始瞭解 Microsoft Azure 帳號之前,可以先註冊一個免費試用的 Microsoft Azure 訂閱帳號,並且試試看網站服務來運作您的網站。 做為網站的虛擬主機 使用 Microsoft Azure 來架網站最大的好處就是不必自己管理伺服器,當然也不用安裝維護作業系統或是伺服器軟體,只要把網站程式寫好了部署上去立刻就開始服務了,對於網站開發人員來說相當方便快速。 當有了 Microsoft Azure 訂閱帳戶後,便可以直接在管理後台中建立多個網站服務,一個網站就建立一個 此外,也可以安裝 Azure 跨平台命令列工具,在 console mode 下面用…

0

Visual Studio "14" CTP3 釋出

之前介紹過 Visual Studio “14″ CTP 1 釋出的消息,轉眼間就釋出了 CTP 3 的版本,簡單地說,VS14 是下一版的 Visual Studio,目前僅供測試及評估使用,可以免費下載(MSDN 訂閱亦可),或是擁有 MSDN 訂閱的用戶可以在 Azure 上建立一個 Visual Studio “14″ CTP3 的虛擬機器來測試。 而在 CTP3 的更新有: ASP.NET vNext 及 Web 開發更新 在 VS14 CTP3 中的 ASP.NET vNext 來到了 alpha 3 的版本,而在工具面則是加入在 Visual Studio 2013 Update 3 中關於 Web 開發工具的增強(詳情見此),這樣一來,ASP.NET vNext 的檔案不必在 .kproj 檔案裡設定建置及編譯的選項,就可以完成專案建置,並且在這一個版本中加入了 .NET RyuJIT…

0

在 Microsoft Azure 上架設 PHP 網站課程 (上)

Microsoft Azure 提供的網站服務,讓網站開發人員可以將自己用 ASP.NET、PHP、Node.js、Python 以及  Java 所開發的網站應用程式,部署到雲端平台來提供服務,享受雲端平台的彈性擴充、隨用隨付的概念及便利性,而且更重要的是,除了支援多種程式語言之外,也支援多種部署方式,所以並不限制要使用哪一種作業系統來做為開發環境。 這堂線上課程主要是介紹如何把 PHP 網站部署到 Microsoft Azure 的網站服務中,瞭解運作的環境以及部署方式,另外也會提到在 PHP 程式中如何使用 Microsoft Azure 上的 MySQL 服務(由 ClearDb 提供)以及 Microsoft Azure 本身提供的 SQL 資料庫服務。PHP 網站開發人員,可以透過 https://aka.ms/mva-azure-php 來觀看這堂課程。這是由我親自錄製,所以是中文的影片、字幕以及投影片,有任何問題也請與我聯絡,謝謝。

0

//Build/ 2014 第二天 Keynote 重點整理 (下)

這篇文章是接續上集的內容。 Microsoft Azure SQL Database Azure 儲存體中的 SQL Database 現在提供 500GB 的方案(Premium 等級),而且也有 99.95 的 SLA(結束 preview)。 另外,Azure 現在也提供可以回溯到任何時間點的 Database! 當你不小心弄壞了 SQL Database,隨時可以回溯之前的版本 也支援了地理複本的備援機制,當你設定了這樣的地理備援機制後,如果主要的資料中心發生異常,就會主動切換到備援的資料中心繼續提供服務。 Azure SQL Database 可以設定使用地理複本備援 主要的資料中心發生問題時,可以切換至備援的資料中心 關於 Azure Data 的部份在 //Build/ 2014 公佈的更新總結,其中也包括了像 HDInsights 新的支援。 Azure Data 的更新總結 Core .NET 接下來是由 Anders Hejlsberg 來介紹 .NET 平台的一些發展,首先是 .NET Compiler Platform “Roslyn" project,它提供了針對 C#…

0

//Build/ 2014 第二天 Keynote 重點整理 (上)

//Build/ 2014 的第二天 Keynote 演講主要包含兩個部份:Microsoft Azure 的發展狀況,以及 .NET 及生態系的發展介紹。第二天的重點整理也就按照這兩大方向分為上下部份。完整的影片一樣可以在 Channel 9 上觀看。 Microsoft Azure 近況 這一天的 Keynote 演講是由目前微軟 Cloud and Enterprise Group 的老闆 — Scott Guthrie 開場主講,首先介紹了目前 Microsoft Azure 在全球到 2014 年底會有 16 座資料中心(持續擴建中): Microsoft Azure 的資料中心遍及全球各地 接著當然是來一下目前 Microsoft Azure 這個雲端平台的現況: Microsoft Azure 目前 (2014年04月) 的發展狀況 再來就是請到 TITANFALL 的遊戲製作團隊來做 showcase,這款遊戲的遊戲階段(session)都是透過 Azure 來處理的,而且使用了超過 10 萬台 Azure…

0

Windows Azure 即將更名為 Microsoft Azure

今天 Windows Azure 團隊公佈了一個消息,原本微軟的公有雲平台服務,將在 2014 年 4 月 3 日起全面更名為「Microsoft Azure」。 如同其它微軟的雲端產品 Office 365、Dynamics CRM、Bing、OneDrive 、Skype 及 Xbox Live,Microsoft Azure 在微軟雲端平台策略上扮演者為開發人員或 IT 專家提供程式開發、作業系統、特定應用等平台服務的角色。同時,現在 Microsoft Azure 這個平台已經支援了許多微軟及非微軟的技術,如:Windows、Linux、SQL Server、Oracle、Hadoop、.NET、Java、PHP、Python、Ruby、Node.js 等。 這項改名也呼應了微軟目前 Cloud first; Mobile first 的策略,Microsoft Azure 作為微軟的公有雲平台,將會更擁抱各種開發程式語言及系統平台。

0