Azure WebSite for Java 的問答

Azure WebSite for Java 的問答

幾個月前和 G 先生討論 Java 程式想要搬到 Azure 的 WebSites (PaaS) 的 Tomcat 上有一些疑問,想說很多非 .NET 的朋友也會有類似的問題。就一併整理如下供參考  微笑 

1. Azure Web啟動後如何觀察tomcat7的log (Log的位置,或有管理介面或工具可供觀察)

Tomcat7 的log 設定預設會存放在

clip_image002

可以使用 https://{site name}.scm.azurewebsites.net 來進到環境管理頁面。

http://azure.microsoft.com/blog/2014/03/04/windows-azure-websites-online-tools-you-should-know-about/

 

2. Azure Web上佈署Java Web Application至tomcat7後,如果想運用log4j產生log儲存在Azure Storage上可以如何做?

(程式可用什麼framework或者有其他建議做法?)

這裡有兩種方式,其中一種是透過 Application Insight 來收集頁面或是系統上的 log ,另外一種則是傳統的方式寫 log 檔儲存。當然也可以混用

一、Application Insight 最大的好處是除了一般的 Event , Exception 外連 Page View 或是指定的 Trae 項目都可以客製化收集進來直接有「報表」的方式呈現

clip_image004

http://azure.microsoft.com/zh-tw/documentation/articles/app-insights-java-trace-logs/

二、傳統的方式有鑑於要將 log 找地方儲存因此需要有 Azure Storage 的空間存放,可以考慮將 log4j 透過 Azure SDK for JAVA 的套件做一些調整即可。這個方式可以確保您的log 檔不會因為service 搬移而消失。

clip_image006

Download the Azure SDK for Java

http://azure.microsoft.com/zh-tw/documentation/articles/java-download-windows/

How to use Blob storage from Java

http://azure.microsoft.com/zh-tw/documentation/articles/storage-java-how-to-use-blob-storage/

3. Azure Web for Java 是否有開發者社群或參考文件可供開發人員參考

http://azure.microsoft.com/zh-tw/get-started/

Java Developer Center

http://azure.microsoft.com/zh-tw/develop/java/

Azure Web Site 的開發者論壇

https://social.msdn.microsoft.com/Forums/zh-tw/home?forum=2199&filter=alltypes&sort=lastpostdesc

4. Azure Web 佈署是否會有記錄的歷程可以查詢

使用 FTP 的方式是沒有辦法知道每一次檔案更新的歷程,建議可以考慮使用 Team Foundation Server Release Management 的自動化部署 或是 Git 的版控派送。

RM 的部署是有做到 自動化建置後再將 WAR 檔指定 copy 到指定位置上

http://www.dotblogs.com.tw/franma/archive/2014/06/16/145581.aspx

而 Git 的部署後就可以看到每一次的部署記錄和人員

clip_image008

http://www.dotblogs.com.tw/franma/archive/2014/12/27/147817.aspx

Continuous deployment using GIT in Azure App Service

http://azure.microsoft.com/zh-tw/documentation/articles/web-sites-publish-source-control/

 

ps.. 雖然 git 部署來解決上版記錄的問題,若是系統上版有需要「簽核」或是更複雜的上版程序的話,那麼就會建議用 Release Management 。