簡單認識「微服務 Microservice」概念

簡單認識「微服務 Microservice」概念

筆者很榮幸地在近期參加了許多雲端技術講座,並向資訊界的同仁們面對面分享我對「微服務Microservice」概念的解讀。令人欣喜的是,許多學、業界前輩對於我用「類比」的方式講解微服務表示讚許,因此我決定將它寫成簡單的文字,分享給大家!

微服務Microservice 是什麼?

首先想像我們經營著一間餐廳,而餐廳內僅有一名超級員工。這名員工十項全能,無論是接待服務、廚藝、清潔以及行政管理,任何工作她都能一手包辦。雖然遇到人潮尖峰時段時,客人們可能會需要多一些等待時間,但基本上這家餐廳還算營運地有聲有色。

然而,某天這名員工病倒,餐廳不得不關門休店;這就是「單體結構」必然會遇到的問題。所以一般來說,一間餐廳會招募多個職缺,由服務生專注於外場接待,廚師負責內場工作,店長或經理負責行政管理等。如此一來,有多個人手提供服務,客人在尖峰時段的等待時間才得以減少。而當有一位服務生因病請假,還有其他同事們可以支援他的職務,餐廳便無需為一個人休店,客人們也終於能夠隨時吃到他們所點的料理。

從餐廳的類比我們觀察到,將工作分配給各別個單位,不僅能防範單一節點中斷造成總體服務崩潰,也能有效地分配資源,讓服務流暢順利。VM就像這些餐廳員工,給它們相應的資源(薪水),去執行它們各自專注的工作範圍。這就是「微服務」的核心概念。

隨著科技的演進,我們可以想像利用機器人取代這些餐廳員工。這或許能夠減少管理成本並加快服務速度,提升餐廳整體服務品質。例如:人類員工上下班需要通勤時間,偶爾還會遇到塞車等緣由而遲到,但機器人只要一個啟動鈕便能立即提供服務。這樣的高科技未來聽起來很有效率,但人類員工也有作為人類的優勢。一位餐廳老闆可以教育員工,但他不一定懂得改寫機器人運作程序。如何選擇人類員工與機器人,及如何有效地分配工作給兩者,是一家餐廳必須思考的問題。

人類之於機器人,就好比VM之於容器。經常有人認為「微服務」必須是由容器所架構之服務,而這是不正確的,只是容器讓人聯想到「微型」、「輕量」等特性,所以才會有所迷思。VM與容器兩者之間的比較,可以參閱我上一篇文章粗淺的探討。對一服務提供方來說,最重要的第一步便是判斷VM及容器是否適合欲提供的應用。若能正確地部署應用服務,無論是您或您的服務對象,皆能享受「微服務」所帶來的各種利益。

撰文:陳逸凡 (Alfie Chen) 迎棧科技解決方案架構師

訂閱電子報

Select list(s)*

 

Loading