簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率Shengyou Fan
Spring Boot 一直是 Java 開發生態系裡市佔率最高的框架,許多企業都採用其開發自身服務。隨著開發典範的轉移,即便 Spring 提供完整方案,開發者往往對架構修改及服務管理的工作怯步,是否移轉上雲也有所疑慮。在這場分享裡,將會介紹由 Azure 提供的 Spring Cloud 解決方案,並從最簡單的一個 Spring Boot 應用開始,逐步導入微服務架構、連接 Azure DB、藍綠部署到服務監控,讓開發者了解使用 Azure 運行 Spring 是一個簡單又有效率的體驗,加速將 JVM 應用上雲。
簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率Shengyou Fan
Spring Boot 一直是 Java 開發生態系裡市佔率最高的框架,許多企業都採用其開發自身服務。隨著開發典範的轉移,即便 Spring 提供完整方案,開發者往往對架構修改及服務管理的工作怯步,是否移轉上雲也有所疑慮。在這場分享裡,將會介紹由 Azure 提供的 Spring Cloud 解決方案,並從最簡單的一個 Spring Boot 應用開始,逐步導入微服務架構、連接 Azure DB、藍綠部署到服務監控,讓開發者了解使用 Azure 運行 Spring 是一個簡單又有效率的體驗,加速將 JVM 應用上雲。
這是 Will 保哥在【微軟技術關卡破解日】的演講簡報,探索 ASP.NET MVC 5.0 與 ASP.NET MVC 5.1 的各種新功能增強,包括如何從 ASP.NET MVC 4 升級至 ASP.NET MVC 5 等實戰主題。
Will 保哥的技術交流中心
https://www.facebook.com/will.fans
從 Web Site 到 Web Application,從 Web Services 到 Mobile ServicesKuo-Chun Su
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services - 談談使用與管理上的一些有趣小問題,包括前端如何使用 JavaScript 呼叫 Web Services,JSON 格式的小秘密,以及整合 OpenID/OAuth 等內容。
這是 Will 保哥在【微軟技術關卡破解日】的演講簡報,探索 ASP.NET MVC 5.0 與 ASP.NET MVC 5.1 的各種新功能增強,包括如何從 ASP.NET MVC 4 升級至 ASP.NET MVC 5 等實戰主題。
Will 保哥的技術交流中心
https://www.facebook.com/will.fans
從 Web Site 到 Web Application,從 Web Services 到 Mobile ServicesKuo-Chun Su
從 Web Site 到 Web Application,從 Web Services 到 Mobile Services - 談談使用與管理上的一些有趣小問題,包括前端如何使用 JavaScript 呼叫 Web Services,JSON 格式的小秘密,以及整合 OpenID/OAuth 等內容。
ASP.NET MVC 就快進入4了,您跟上了嗎? 如何將現有的 MVC3 如何升級到MVC4呢?無痛升級系列。以及ASP.NET MVC4 新增功能介紹。
課程內容:
ASP.NET MVC 3 升級到 ASP.NET MVC4 的示範與常見問題說明
Basic Project & Empty Project Template
從無到有,建置ASP.NET MVC4 Web API應用程式、How to self-host a web API
Display Modes
View Switcher
Bundling and Minification
Task Support for Asynchronous Controllers
Mobile Project Template
Developing Serverless application with Microsoft Azure and Cognitive ServicesJeff Chu
Introduction to Serverless computing, how to develop application with Microsoft Azure Functions and Logic Apps, plus Cognitive Service Text Semantic analysis.
Microsoft Azure IoT 手把手實作 @ K.NET by Maduka (2017-8-12)Jeff Chu
A hands-on lab exercise for Microsoft Azure IoT, help students to learn how to use IoT hub, SQL Database, Stream Analytics services to build their IoT solution.
1. GWAB Lab-雲端專案
本手作實驗 (Hands-on Lab) 為 GWAB 2013 Taiwan 的手作實驗之一, 本手作實驗將會建
立兩個雲端專案,一個是 Web Role,用於展示將 Web 應用程式掛上 Windows Azure 的
流程;另一個是 Worker Role,用以展示將 ASP.NET Web API Self-hosting 服務掛載到
Windows Azure 以供應雲端上的服務,最後會使用 SQL Database 在兩個不同的執行個體
之間維護 Session 工作狀態。
本實作的學習目標
當實作完成時,學員應該會:
使用 Visual Studio 2012 建立雲端專案。
部署 ASP.NET MVC 4.0 Web 應用程式到雲端。
部署 ASP.NET Web API 服務到雲端。
在不同執行個體之間共享 Session 工作階段資料。
本實作的前置需求
1. Visual Studio 2012 或是 Visual Studio 2012 Express for Web。
2. Windows Azure SDK for .NET 與 Visual Studio Tools for Windows Azure v1.8
3. SQL Server 2012 或 SQL Server Express 2012 或 SQL Server Express 2012 LocalDB
4. 有效的 Windows Azure 訂閱或申請 90 天試用訂閱。
本實作的估計時間
2. 大約 45-60 分鐘
實作的步驟
練習 1:建立與部署雲端專案
練習 2:建立與部署雲端上的 Web API 服務
練習 3:在執行個體之間共用 Session 工作狀態資料
練習 1. 建立與部署雲端專案
1. 請開啟 Visual Studio 2012,並選擇【檔案 -> 新增 -> 專案】,這時應會看到新增專
案的對話盒,請選擇 Visual C# -> Cloud -> Windows Azure 雲端服務。
2. 將專案名稱命名為 FirstCloudService,並按確定,此時會出現新增 Windows Azure 雲
端服務的對話盒,請選擇 ASP.NET MVC 4 Web 角色,並按中間的 “>” 將專案加到方
案內,然後按確定。
3. 3. 在 MVC 專案類型對話盒出現時,請選擇網際網路應用程式專案,然後按確定。Visual
Studio 會將雲端專案與 MVC 應用程式專案產生出來。
4. 在 Visual Studio 完成專案建置後,請按 F5 來執行專案,當應用程式啟動完成時,您
會看到下列畫面。
4. 5. 請將除錯器停止後,在 Visual Studio 2012 的雲端專案上按下右鍵,並選擇發行。
6. 此時發行 Windows Azure 應用程式精靈會出現,請選擇『登入以下載憑證』,進入
Windows Azure 管理介面1
,這時會自動下載一份發行設定檔。
1
會需要登入。
5.
6. 7. 請回到 Windows Azure 發行精靈,按下匯入按鈕,並選擇前一步下載的發行檔案,並
按開啟,即可在訂用帳戶中看到自己的訂閱。
8. 確認要使用的訂閱後,按下一步,然後在雲端服務的下拉選單中選擇建立新項目。
7. 9. 在建立 Windows Azure 服務對話盒出現時,於名稱給定一個獨一無二的名稱,位置請
選擇 East Asia (東亞),然後按確定。
若名稱重覆時會出現錯誤訊息:
NOTE:
您也可以先在 Windows Azure 管理介面中建立新的雲端服務後,再開啟 Windows Azure
發行精靈,選擇已建立的雲端服務。
10. 請選擇進階設定頁籤,並在儲存體帳戶的下拉選單中選擇建立新項目,並給予一個獨
一無二的名稱,位置一樣選擇 East Asia,然後按確定。完成這個步驟之後,按下一
步。
9. 12. Visual Studio 會開始發行雲端服務專案,並且開啟 Windows Azure 活動記錄檔視窗,
您可以在這裡看到部署的進度。
13. 當 Visual Studio 發行完成後,網站 URL 即可使用,請直接按下該連結,會自動開啟
瀏覽器,您應該會看到網站已正常的執行在 Windows Azure 環境。
11. 練習 2. 建立與部署雲端上的 Web API 服務
1. 在前一個練習中所建立的雲端專案上的角色資料夾按右鍵,選擇加入 > 新增背景工作
角色專案,然後在加入新的.NET Framework 4.5 角色專案中,選擇背景工作角色,將
專案命名為 WebApiService,然後按確定。
2. 在 Visual Studio 完成加入 Worker Role 到專案的工作後,請到 WebApiService 專案
上,於參考資料夾上按右鍵,選擇管理 NuGet 套件:
12. 3. 當管理 NuGet 套件對話盒出現時,請確認左側是選擇線上,然後在搜尋的對話中輸入
Web API Self Host,NuGet 會搜尋目前可用的套件,請確認有找到 Microsoft
ASP.NET Web API Self Host,然後按安裝。當授權合約出現時,請選擇我接受,即可
繼續進行安裝。當完成安裝後,請關閉此對話盒。
13. 4. 請於參考資料夾上按右鍵,選擇加入參考,並在參考管理員中,於組件>架構選擇
System.Net.Http 組件後,按確定。
5. 請在 WebApiService 內加入一個新的類別,名稱為 ValuesController,然後在
ValuesController.cs 中加入下列程式碼,完成後將它儲存:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.Http.Controllers;
namespace WebApiService
14. {
public class ValuesController : ApiController
{
public IEnumerable<string> Get()
{
return new string[] { "Value1", "Value2" };
}
}
}
6. 打開 WorkerRole.cs 檔案,在命名空間宣告中加入下列宣告:
using System.Web.Http;
using System.Web.Http.SelfHost;
7. 於 WorkerRole.cs 檔案中,宣告下列類別層次的變數:
public class WorkerRole : RoleEntryPoint
{
private HttpSelfHostServer _httpServer = null;
private HttpSelfHostConfiguration _httpConfiguration = null;
...
}
8. 請於 WorkerRole.cs 檔案中的 OnStart 方法中,加入下列紅字部份的程式碼:
public override bool OnStart()
{
ServicePointManager.DefaultConnectionLimit = 12;
this._httpConfiguration = new
HttpSelfHostConfiguration("http://[cloudservicename].cloudapp.ne
t:8080");
this._httpConfiguration.Routes.MapHttpRoute(
name: "ValueApi",
routeTemplate: "api/{controller}",
defaults: new { controller = new ValuesController() });
this._httpServer = new
HttpSelfHostServer(this._httpConfiguration);
return base.OnStart();
}
18. 1. 請進入練習一所建立的 MVC Web 應用程式,在參考資料夾上按右鍵,選擇管理
NuGet 套件,並在管理 NuGet 套件對話盒中,於搜尋文字方塊中輸入 ASP.NET
Universal Provider,NuGet 會列出符合條件的套件,請安裝 Microsoft ASP.NET
Universal Providers Core。