1. 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 作業系統 技術隨筆

  2. 專為 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 作業系統 專欄 技術隨筆

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

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

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

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

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

  4. 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 專欄 技術隨筆

  5. //build/2016 - The Future of C#

        在寫這篇文章之前,一定要先秀一下我用了好幾年的桌布... :D 從開始學寫 code 的第一天起 (正規開始學 coding 是大一計概,學寫 Fortran & C),我就很講究 code 到底寫的漂不漂亮? 好不好懂? 好不好維護? 寫到後來,連 code 寫的夠不夠優雅都開始計較起來... 學了 OOP / Design Patterns 之後,就開始計較起 code 的結構到底正不正確? 是否跟真實要描述的事物有沒有正確的對應? 沒有的話就要改到滿意為止才罷休... 所以,當年在 MSDN 逛到這張桌布的時候 (現在找不到原始連結了) 就立刻拿來用了。我平常是不用桌布的,一裝好 windows 就把它改成黑色來用... 直到看到這張桌布為止...

    2016/04/09 .NET C# MSDN 專欄 技術隨筆