軟體架構・絮語

Automate everything, make life easier!

《鳳凰項目》私房標題

The Phoenix Project 作者如是說: Dr. Eliyahu Goldratt wrote his seminal book, The Goal: A Process of Ongoing Improvement, in 1984. [...] My coauthors and I studied this book for nearly a decade, getting ready to write The Phoenix Project. In many ways, I view our book as an homage to The...

READ MORE

從「改變」角度看《魔戒》

今年一月,參加 David Ko 舉辦的一場「敏捷轉型」活動,從中學到了一個有趣的分析工具:Lean Change Canvas。 知道了一個好東西,自然要追本溯源,加深加廣。於是,研讀了相關資料: 精實改變畫布 推廣敏捷的第一要務是什麼 Lean Change Method: Enabling Lean and Agile Transformations at Scale Lean Change LiveLessons (Video Training): Achieving Agile Transformation with Kanban, Kotter, and...

READ MORE

有了 Agile,為什麼還要有 DevOps?

今晚,受 Agile Community Taiwan 之邀,在 Agile Meetup Taipei 給了一場演講:【有了 Agile,為什麼還要有 DevOps?】 之所以會給這場演講,是因為之前在討論區、在演講、在講課時,總是會收到這類的 Q&A: DevOps 是不是在花大錢搞新技術?商業噱頭? DevOps 只是大雜燴? DevOps 只與 Agile 有關? DevOps 就是 Dev 把魔爪伸到 Ops 嗎? DevOps...

READ MORE

向遊戲學習

前一篇文章〈向工廠管理致敬〉提到,最近為了準備一場 Agile/DevOps 演講,我特地研讀了數本原典,希望能對某些核心的思考元素來一場溯源之旅。 啃原典,其實還有另一個原因:為了好好替今天要去大玩特玩的小火車遊戲⋯⋯喔,不,是為了替今天要專程去上的一門【102...

READ MORE

向工廠管理致敬

身為徹頭徹尾的軟體人,在軟體產業待久了,總會對「硬」一點的產業,尤其是製造業,有莫名的成見,以為他們是僵固的、反人性的。從 1972 年「軟體危機」引發的論述當中,更加深軟體人的印象:製造業的經驗,是無法直接套用到軟體界的;我們是截然不同的國度。 不過,近十年來許多軟體界的流程改革,尤其是同屬 Agile 陣營的 Scrum 及 Kanban,居然有許多元素是從製造業偷竊學習而來:由 Toyota 引領風潮的 Lean Production 及 JIT,是相關文獻最常引述的;但其實還有從 TOC 學來的流程分析及改善手法。 因此,最近為了準備一場 Agile/DevOps...

READ MORE

Docker 端出 Unikernel 路線的第一道菜

Docker 在三歲生日派對時,宣佈要提供「不須透過 VirtualBox」的 Docker engine for Mac/Windows,許多人方才驚覺:今年一月併購 Unikernel Systems 公司,原來早就隱含著這麼一層用意。 [1] Unikernel Systems 這家公司,代表作是 Xen 陣營的 MirageOS;因此,併購之後,Docker Inc 已充分掌握古代的 hypervisor 及現代的 unikernel 技術,更朝向技術自主的獨立路線邁進。 我一直認為,Docker 這家公司,對技術路線有非常獨到的眼光。 就像當年 Docker 先以 LXC...

READ MORE

多工切換:有趣的 Lean 觀點

AlphaGo 四勝一負,贏了李世乭九段。 論人工智慧,我只學到樸素的類神經網路而已;論圍棋,我連初段都沒達到。但畢竟是兩方面都沾上一點點看熱鬧的資格,所以,我也樂得看了五場賭上人類尊嚴的科技盛事。 看熱鬧的網路鄉民,對這五場比賽,自是大發議論品頭論足。 我畢竟身在電腦圈,對於電腦本位的觀點,自認略有能力判斷嘴炮與否;但對於圍棋本位的觀點,就沒辦法分辨了。找職業棋士的發言,比較保險。 首先是 AlphaGo...

READ MORE

POLP:最小權限原則

在我開的 Ansible Workshop 中,不管是課前的【許願池】,還是課程現場的 Q&A,總有一個熱門議題:「如何確保系統是安全的?」 說實在的,這是大哉問,不是單獨一門組態管理課就能探討到令人滿意的地步(資安也不是我所擅長的,汗⋯⋯)。不過,被問到的次數太多了,我還是給個簡單的導引吧。 系統安全有許多層次。以 Learning Linux Security 教學課程的大綱來看,至少涵蓋幾個層次: Booting:作業系統開機環節 Kernel:作業系統核心 Services:典型系統服務 Users and...

READ MORE

DevOps 核心元素的考古溯源

我在〈一句話囊括 DevOps 的目標〉文中曾經簡略提過: DevOps 雖然和 agile 運動有歷史上的臍帶關係,但嚴格來說,沒有遵循《敏捷宣言》四大原則,也是能做 DevOps 的;硬是把兩個議題綁在一起,會限縮 DevOps 論述空間⋯⋯ 這種分離主義論點並不是我首創的。iThome 的〈為什麼會出現 DevOps?〉一開頭也提到,DevOps 的源頭不只有 agile 一系: DevOps 運動承襲自敏捷系統管理 (Agile System Administration) 運動以及企業系統管理 (Enterprise System Management,ESM)...

READ MORE

電腦界的隱喻:組態管理

人類是很喜愛比喻/譬喻的。戰國時代的莊子愛用譬喻,常和莊子抬槓的惠施也愛譬喻,《說苑‧善說》甚至記載著這麼一段故事: 客謂梁王曰:「惠子之言事也,善譬。王使無譬則不能言矣。」王曰:「諾。」明日見, 謂惠子曰:「願先生言事則直言耳,無譬也。」惠子曰:「今有人於此而不知彈者,曰:『彈之狀何若?』應曰:『彈之狀如彈。』則諭乎?」王曰:「未諭也。」 「於是更應曰:『彈之狀如弓,而竹為弦』,則知乎?」王曰:「可知矣。」 惠子曰:「夫說者固以其所知,喻其所不知,而使人知之。今王曰無譬,則不可矣。」 王曰:「善。」 用譬喻反擊「無譬也」的要求,真是高招! 比喻/譬喻不只是修辭法,甚至是人類根深...

READ MORE