1. 微服務架構 #1, WHY Microservices?

    八月底,接受了 Microsoft 的邀請,參加了 Community Open Camp 研討會,講了這場 “微服務架構 導入經驗分享 - .NET + Windows Container”。 其實這個主題涵蓋範圍還蠻大的,不過我一直認為,container 技術單獨介紹的話,那他就是個技術而已,若從他存在的目的來介紹,那他就是能解決 問題的好東西。因此我特地訂了這個主題: container + microservices.

    2016/09/15 系列文章: .NET + Windows Container, 微服務架構設計 系列文章: 架構師觀點 Microservices Monolithic Windows Container Container

  2. Windows Container FAQ - 官網沒有說的事

    原本,Windows Container 單純就我自己研究而已,因為工作上用到的都是 ASP.NET Web Form 居多 (有部分早已轉移 到 MVC,但是主要還是 WebForm),加上商用軟體,用到一堆外面的第三方套件,想要藉由升級到 .NET Core, 然後直接 享用 Docker 帶來的一堆好處,那真的是想都不用想了… 所以前陣子研究完 .NET Core, 把我想搞懂的 都弄清楚後,就把重心移到 Windows Container, 這個實際一點,目前的 Legacy Windows Application 都可以在上面用,只要 耐心等 Windows Server 2016 上市就可以了..

    不過,有幸參加了 8/27 Community Open Camp 活動,擔任 一場 session speaker 後發現, 其實還不少人對 Windows Container 有興趣的,不論是學員還是講師… 但是因為用的人還不多,而且到現在也還只有 Tech Preview 5 .. 使用起來還不少問題,現在切入是得花點時間克服障礙的。

    既然我都花時間搞懂了,我就把官方 FAQ 沒告訴你的部分紀錄一下吧~ 如果有你想知道的,官網跟我這篇都沒講,歡迎底下留言,我再補上來~

    2016/09/05 Docker Windows Container 作業系統 技術隨筆

  3. 專為 Windows 量身訂做的 Docker for Windows (Beta) !

    總算輪到我了!! 排隊等 Docker Beta Program Token 等好久了~  4 月初登記,5 月中才排到名額... 前陣子忙,一直到現在才有空研究 @@。這版是 Docker 在三歲生日時一起公布的 beta test program, 為 Windows / Mac 開發的新板 Docker, 企圖改善在非 Linux 平台上的 Docker 使用體驗。既然到手了,當然要體驗看看 :D  

    2016/06/11 Docker MSDN 作業系統 專欄 技術隨筆

  4. [架構師觀點] .NET 開發人員該如何看待 Open Source Solutions?

    開始之前,先來看一個實際的案例… StackOverflow,開發人員很愛用的網站,每隔幾年都會在官方的部落格上面公布他的系統架構。來看看 2016 版的架構演進成什麼樣子 (原文: Stack Overflow: The Architecture - 2016 Edition)

    為何我特地拿 stackoverflow 網站的架構當作例子? 其實這個例子蠻特別的,導致我幾年前第一次看到就留下深刻的印象。這網站核心的部分,其實都是用 .NET 開發的,包含 Web Tier 跟 Service Tier 都是。理所當然的,資料庫也用 Microsoft SQL Server。但是這麼大規模的網站,也混搭了不少的 Linux Server, 負責 Search (Elastic) 跟 Cache (Redis), 前端的 Load Balancers 也沒有用 Microsoft ARR, 而是採用了 Linux + HAProxy..

    令我好奇的是,這種混搭的架構,一定會讓它的複雜度提高。我相信他考量的絕對不是 Windows Server 比較貴這種層次的理由 (畢竟他為了這架構,連管理用的 AD 都包進去了,還會搭配 Linux 一起使用一定有更強烈的動機)。複雜度的問題,包含系統架構層面,開發人員的能力經驗層面,網站維運層面都是如此。那麼,這樣真的是個好的設計嗎? 什麼情況下我們需要這樣的設計? 這樣的設計會有甚麼困難跟挑戰?

    2016/05/05 系列文章: 架構師觀點 .Net Core Docker 專欄 技術隨筆

  5. Rancher - 管理內部及外部 (Azure) Docker Cluster 的好工具

      過去快20年的經驗裡,很少看到有哪個技術在短短的三年就可以發展成這個樣子的... 半年前剛開始研究 Docker 時,就想找個好用的 WEB / GUI 管理工具,結果都沒滿意的,沒想到現在就一堆選擇了... 這次要介紹的 Rancher, 除了是套完整的 Docker Engine 管理工具之外,也是個 Docker Cluster 管理工具及平台,讓你在佈署 Containers 的時候,不用去傷腦筋你要怎麼分配資源等等瑣碎的事情,你只管把你的 Container 組態設定好,丟上去就行了。這感覺跟當年 (2009) 初次接觸到 Winows Azure 的 Cloud Service 一樣令人感動。當年只要把你的 Application 打包成 Cloud Service Package,開發階段設定好組態,佈署階段可直接手動或自動的設定 Scale,具備 Production / Staging Environment 切換上線,可以不中斷服務的升級系統...,整個就是靠 Visual Studio Deploy 就足以取代過去要 OP team 搞半天的升級程序。 只可惜 Azure Cloud Service 的種種優異的管理及佈署能力,至今都還只限於 Azure Only,沒有下放到地面版本的 Platform ... 真的是 "此物只應天上有" 啊... 但是站在地上的凡人沒機會用啊...  現在看到 Docker Cluster + Management Tools 的發展,這種威力已經變成隨手可得了... 為了紀念一下當年 Microsoft 早在 Azure 就達成的成就 (而且早已商業化),這次的實作案例就拿 Azure 示範位於公有雲的 Production Environment,如何做到服務的管理及升級程序吧!

    2016/04/29 AZURE Docker 專欄 技術隨筆