靖本

分享與交流知識和資訊是追求進步的第一步

我可能不會需要微服務?!

我可能不會需要微服務?!

微服務所帶來的彈性,以及它與CI/CD,與敏捷等所帶來的效率,讓你心動不已嗎? 微服務和容器、CI/CD、Kubernetes、敏捷等概念有著互相增強彼此所帶來效益的能力。這幾年伴隨著各類技術的發展,台灣自然也沒少了這股熱潮,而這樣的趨勢仍然還在沸騰中。身為一個技術工作者,或許早已看不慣公司裡陳年的大系統,正想一展長才,響應潮流,而管理者或許因為數位轉型與創新的壓力,開始希望從這熱潮中,找尋成功的方程式。 微服務並不是去年才出來的概念,而自家的系統也不是今天才開始運行。先想想「值得嗎?」 微服務是首要之務嗎? 重構系統將其微服務化是一件極大的工程。相信大家對於微服務所帶來的好處朗朗上口,然而分散式系統的管理複雜度和資源的額外開支,在朗朗上口之餘,也必須認真對待。另外,在過程中可能帶來的業務穩定性衝擊與業務發展資源不足的問題。更重要的是,它所帶來的效益不見得如你所想像的!這幾年穿梭在各類系統架構中,常常必須苦惱不已地進行抉擇,分享幾個思考點,或許能夠在大家踏上旅程前,先想想是否已經可以無悔走上重構: 原先系統的狀態 向原先系統磨刀霍霍之前,先想想「目前原先系統修改的需求高,修改頻繁的發生嗎?」、「大多數新的實作是否仍然增加在原先系統,還是其他服務裡?」如果,原先系統已經處在維護狀態,或者是新的實作大都與原先系統無關,那麼或許更重要的是在流程或其他面向上的優化。 系統已經可預期或已出現容量瓶頸 原先的設計已經限制住系統本身處理當前或者是未來的使用量。如果時常進行尖峰調度,而且調度應變困難,抑或者調度也很難再處理使用量的增長。那麼首要之務,找出瓶頸的服務接口與對應功能類別。作為之後,首要改善之所。 工程資源 任何的改善變更都需要人。如果工程人員已經吃緊,而又另外增加重構改善等任務,那麼下場很可能是不減反增的技術債、業務進展發生開發瓶頸、與惡化的勞動條件。人永遠不是資源,而是企業成長的夥伴!持續性地超支所衍生的代價,恐怕會降低重構的成功機率,以及削減重構所帶來的效益。 原始設計是否良善 單體式(Monolith)架構其實也沒什麼罪惡。如果原始設計已經維持著良好結構,也能正確體現低耦合與高凝聚等特性。那麼它的後續維護其實不見得比較難。難以維護往往是因為求快的實作,導致軟體內部設計耦合度過高,牽一髮動全身,發生問題還無處找之類的狀況。因此,不管在任何時候都好好設計軟體,會讓自己後顧之憂少許多。一個隨便實作的微服務,其實也沒比良善實作單體服務高明到哪?更甚而是不僅要面對可怕的設計外,還要負擔分散式管理的複雜,恐怕問題只是雪上加霜。 如果面對一個既有系統時,已經發生容量問題,設計又差,時常又要新增功能,往往耗損在應對,而非新發展,那麼或許重構是幾乎是你首選了,盤點一下人力狀況和工作配比,為自己重構之路爭取一些支援,反而是你現在該煩惱的,而非是要重構或不重構了。 然而,世事總是讓人陷入兩難,大多數情況都是有點糟,但不是太糟,那麼?

繼續閱讀
數位轉型對於企業價值的改變與衝擊

數位轉型對於企業價值的改變與衝擊

追求獲利與永續是企業的基本訴求,而數位轉型則是企業希望能夠達成訴求的手段。如果將數位轉型比喻成一支箭,那麼箭頭代表著解決客戶需求的產品、服務、與解決方案,而企業的技術、工具、與能力則代表著箭桿,至於箭羽則是價值、信念、與原則! 箭桿是箭的主要組成,它的各種特質(撓度、長度等)影響著與弓的適配和行徑,左右了搭弓和飛行,然而缺乏對於目標的理解,搭配錯誤的箭頭,則會降低箭的破壞力。正如數位轉型,目標的確立是一切的開始,這樣才能使用正確的箭頭,正中客戶的口味,實現客戶價值。技術、工具、以及組織各項能力,相對於客戶來說,則如同箭桿一樣,具有各種特質,卻是單一而統整的存在。它構成箭的基礎,需要的是各項特質恰到好處的配合。 不要在鋪陳了!到底什麼時候要講箭羽? 還有轉型最愛提的組織文化呢? 箭羽的最主要功能是 — 為飛行的箭提供穩定度。風為箭的飛行增加了不確定性,影響箭是否能夠準確地射中目標,而箭羽能夠透過重量與羽毛(或類似羽毛的構造),在多變的風中,穩定箭的飛行,而對比到企業,則與企業的核心價值、信念、與原則所帶來的功能一致。 轉型 vs. 組織文化 討論數位轉型時,不免會提到「端到端的價值」。這邊的價值更準確地說是客戶價值,然而能夠 正確且有效地 傳遞客戶價值,靠的則是企業的核心價值。核心價值說來抽象,讓我們換個角度,試著用問句來思考一下! "這個產品的主要解決了什麼問題?" "這個產品與其他產品的差異是什麼?重點是什麼?" 我想上面的問題應該一點也不陌生,它的核心議題是目標、願景、解決的問題等。讓我們再想想其他的問句… "哪些要素持續激勵著目標的達成?" "哪些事情讓我們更容易成功?" "有哪些考量,是交付時不能夠妥協的?" 這些問題所勾勒的價值,便是企業的核心價值。因此,除了「客戶價值」之外,核心價值則扮演著穩定的要素。說到這邊,不免惹人疑問的是,核心價值高高掛,但可能說比做更好聽… 「信念」根據維基百科的解釋2 — 信念是反應個人見識正確與否的思想意識。相比於核心價值,信念是關於人根據過往經驗對於現況環境的假設,它更多是反應感性方面與經驗的累積。 抽象而顯性的價值與具體卻難以清楚解釋的信念,構成企業內做事的原則,而原則左右著做事的方式。 文化是透過組織成員基於組織內成文與不成文原則下,通過行為而具體可見(註3)。 文化很抽象,但透過拆解,可以由核心價值、信念、與原則來更進一步地了解它。回到轉型議題上,當討論轉型,不免立馬想到一些最佳實踐,比方說 SCRUM、SAFe 等。這些實踐都很好,不過更多時候應該作為發想的起點與參考,而不是單純的照單全收。因為實踐最直接的對應是「做事的方式」,具體的作法或許能夠帶來顯著的變化,然而卻會讓「實踐者」忽略了這些實踐背後所體現的價值與信念。當改變後「做事的方式」與原來的「價值和信念」發生不一致時,轉型成果則更傾向曇花一現,甚至是失敗作收。

繼續閱讀
數位轉型的四個軸向

數位轉型的四個軸向

轉型就是一種營運模式的變動,單以組織內的任一職能單位來推動與進行轉變,其結果往往不如預期。 Agile 與 DevOps 這兩個在轉型鎂光燈下的寵兒,仍繼續在世界舞台上發光發熱,看著大型科技服務公司們的成功與新興的服務公司竄起,這些都成了追逐改變的主要驅力,大家都希望能夠在下個十年仍然持續茁壯。但當大家提及 Agile 與 DevOps 時,第一印象常是技術單位(比方說 IT),貌似只要這些單位有了這些能力就會飛翔,或者是只有這些單位有能力推動相對應的改變。這些改變都是以技術單位為中心然後展開。但最終其結果呢?或許有了些新的工具、或許有了些新的名詞,但所謂的振翅高飛卻還需要些時日,大家都苦於找尋那轉型的聖杯。以我個人來看,聖杯是迷幻的,然而轉型的確有較好的方式與工具來協助提高成功的機會。 以價值驅動的服務 這幾年由於各種技術的躍進,服務越來越能以貼近每位使用者的方式來提供,然而這樣的交互模式,進一步的提高使用者對於服務取得的期待。除了服務本身,企業內的各個單位(比方說銷售、客服等)也必須能夠有相匹配的反應速度,讓使用者被提供的服務環繞著,並且取得確切的成果。上述所提及的就是最耳熟能詳的 端到端 的價值,而剛好 Agile 與 DevOps 的核心都在確保價值的產出。 那這些為什麼就獨厚了技術部門呢? 其實也不盡然獨厚了技術部門!反倒是說,錯誤地獨厚了技術部門,才是讓所有轉型展開發生困頓的主因。 技術部門坐落於生產和後續服務維護的位置,也就說它們的產出與使用者的需求直接掛鉤,由於這幾年響應速度變快的原因,使得原本透過銷售與客服的隔熱服務,穩定產出服務的技術部門,反而必須更勇敢地向前一步與使用者互動。在此,必須意識到的是,由於數位思維的發展,公司內的營運與技術之間的融合,顯然技術部門很難自身於外,因此不管是做事的心態也好、或擔負的責任也好,都將技術部門推向 轉型漩渦的中心 。處於中心只不過是個客觀的事實(或許),而漩渦所覆蓋的範圍才是轉型的全部!

繼續閱讀
擁抱人工智慧!But how?

擁抱人工智慧!But how?

人工智慧對數位轉型產生莫大衝擊以及推力。我想很少人會對這句話產生質疑… 人工智慧在圍棋上打敗人類後,想像空間與可能性便在不同領域持續發酵,彷彿電影內的情節就要活脫脫地呈現在日常生活中。根據市場的調查與推估,以亞太區為範圍的市場規模1 (含括硬體、軟體與服務) 就高達 624 億美元!這樣的趨勢仍以類似指數的曲線往上增長,預期 2027 年的亞太區規模將來到 7337 億美元。不管從個人發展或者從企業發展來看,這是多麼夢幻的成長空間呀!但不管多麼的夢幻,以實際的角度來看,更重要的是 — 你是否在這夢幻樂園內,並且實際從中獲得好處了嗎? 預測與落地 按 Gartner2 所做出的預測,到 2022 年,只有 20% 左右的資料專案產生實際商業價值,而八成失敗的人工智慧專案有 96%3 的原因來自於資料品質、標記、模型建置。另外,再從 VentureBeat AI4 進一步可以發現 87% 所謂資料科學專案並未走進最後的正式環境,投入使用。

繼續閱讀