方格精選

關於自動規模化的迷思

更新於 發佈於 閱讀時間約 2 分鐘
雲端的時代中,我們可以利用 Auto Scaling(自動規模化)的方式來自動的增加或者減少伺服器的數量。也因此很多人會認為這是一個針對「大流量」的機制,也會把它當作一個解決「突發狀況」的解決方案,然而實際上真的是這樣嗎?

預算管理

實際上 Auto Scaling 是一種「預算管理」的工具,我們並不能用來解決突然暴增的大流量狀況。
如果有看過設定的面板,會發現大多會採取「臨界值」的方式來處理,像是 CPU(中央處理器)的使用率達到 60% 的時候,在五分鐘內沒有恢復,那麼就增加一台伺服器並且在 30 分鐘後再次檢查。
像這樣的設定,我們透過自動增加一台伺服器去分攤掉運算來緩解「增加的使用量」的情況,利用這樣的特性我們就可以在「尖峰時段」自動的增加機器一兩個小時,等到使用者減少了再減少到維持網站運作的最低數量。
然而,像這樣的運作模式看似可以解決「突發大流量」的狀況,現實層面上更多的是「來不及反應」更多。

瞬間流量問題

Auto Scaling 之所以能做到預算管理,是因為可以根據最近一段時間的「用量」去反映出適合的伺服器數量,然而在「瞬間暴增」的狀況下,只會看到異常的數字,是無法正確反映出瞬間流量的狀況。
這也是為什麼各大企業依然會有 SRE(Site Reliability Engineering,網站穩定性工程)這樣的職位存在,遇到這樣的狀況是要依靠適當的監控機制,由人工的方式來「判斷」調整。
這是因為 Auto Scaling 依然會有「最大值」的限制存在,這也反映著預算的範圍,同時在對應瞬間流量的問題時,我們還需要區分「可預期」和「不可預期」的情況,如果是前者那們勢必會先做好準備,讓使用者完全感受不到卡頓。如果是後者,那麼就是一間公司平常在危機處理、系統架構設計是否完善的考驗,如果都能夠對應,那麼即使是非預期的瞬間流量也不會有太大的問題。

沒有萬能的工具

程式本身還是自動化的手段之一,並不存在一種萬用的做法。即使我們的預算無上限可以無限的 Auto Scaling 好了,也還是會遇到「瓶頸」的問題。
舉例來說,資料庫通常是很難擴充的,一但要可以擴充必定會放棄某些優點(例如,區塊鏈儲存是很慢的)在這種狀況下,即使我們可以無限的擴充網站的節點,最後也會讓資料庫無法支撐而停止運作。
也因此,必須要做出取捨。是要放棄資料的「正確性」來強化資料庫的能力,還是進行限流讓使用者無法對系統造成這麼大的壓力。如果有體驗過演唱會搶票或者購物節,常常會突然多出名額或者必須等待,都是前述的手段之一。
至於該如何取捨,就要看業務性質跟是否有更好的系統架構設計可以來改善。

封面圖片使用 UnsplashMarkus Spiske 的作品,有想聽的主題可以透過匿名問卷告訴我,想了解專業的技術主題可以到弦而時習之找找靈感。
為什麼會看到廣告
avatar-img
55會員
40內容數
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
蒼時弦也的沙龍 的其他內容
有時候我們在執行專案的時候會遇到一個狀況,工程師實作的東西跟預期的不一致,因此能夠正確傳達需求是一個重要的技巧。原本我認為應該就是規格說明清楚就沒問題了,實際上事情卻沒有這麼單純。
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
既然是例外,就表示出現了我們預期以外的事情,就這點而言這個用詞跟翻譯都非常的精確。假設我們認為這段程式執行的時後不應該出現這個情況,那麼它就必須是一個例外。
簡單來說,寫程式最困難的地方往往不是技術上的問題,而是如何對當下的狀況正確判斷並且建立良好協作的狀態,才會是最為困難的地方。
有時候我們在執行專案的時候會遇到一個狀況,工程師實作的東西跟預期的不一致,因此能夠正確傳達需求是一個重要的技巧。原本我認為應該就是規格說明清楚就沒問題了,實際上事情卻沒有這麼單純。
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
既然是例外,就表示出現了我們預期以外的事情,就這點而言這個用詞跟翻譯都非常的精確。假設我們認為這段程式執行的時後不應該出現這個情況,那麼它就必須是一個例外。
簡單來說,寫程式最困難的地方往往不是技術上的問題,而是如何對當下的狀況正確判斷並且建立良好協作的狀態,才會是最為困難的地方。
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
在數位轉型的浪潮中,流程自動化已成為各大企業提升效率和競爭力的重要手段。本篇文章深入探討如何使用 Power Automate 呼叫 Power Automate Desktop,並一步步介紹相關設定過程,助您輕鬆實現流程自動化。
隨著全球數位化浪潮的推進,企業正面臨著前所未有的挑戰和機遇。數位轉型已成為企業保持競爭力的關鍵策略。在這個過程中,平台即服務(PaaS)作為一種強大的雲端解決方案,正在扮演著不可或缺的角色。本文將探討PaaS在數位轉型中的重要作用,並說明其如何幫助企業實現數位化目標。 簡化開發與部署 Paa
Thumbnail
在人工智慧 (AI) 迅速發展的時代,為了維持龐大運算能力,所消耗能源也越來越多。因此對於環境生態的影響,也必須要更多關注並採取行動。值得注意的是,維持 AI 發展所需的計算能力,大約每 100 天就會翻倍。為達到 AI 模型效率提升十倍的提目標,運算能力需求可能會激增高達原來的 10,000 倍。
Thumbnail
NVDIA黃仁勳演講有提到分散式運算,我還真的做了分散式運算的研究拿了個碩士,那分散式運算是做什麼的呢?用現在的時代用語”算力”來解釋的話,就是要處理的資料非常大量,但是單一伺服器的算力不足,所以必須聯合好幾台伺服器的算力來一起處理, 而要能夠做分散式運算的前提就是你要有一套可以操作分散式運算
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
討論系統架構時,我們常忽略低流量時期的準備,但真正的挑戰在於怎樣在突發高流量時保持穩定。我們深入探討了如何透過水平擴展、負載均衡、快取策略等多維度規劃,來強化系統對高流量的承受力,確保系統的靈活擴展與高可用性。
如果是從零起建的機房,惟一的問題會是在於有沒有事先規劃好系統架構,以及建置的過程中,有沒有注意相關系統參數的調整。 這時,也只有上線時間要考慮而己。 如果是系統更新呢?那麻煩就多了,要顧慮使用者操作系統的時間,怎麼說呢?如果是月初財務室要進行財務報表製作,資訊室說要更新網路設備,然後所有作業停頓,
Thumbnail
引言 在當今的技術世界中,Kubernetes 已成為容器化應用的領導平台。作為一個高效的容器編排系統,它不僅管理著容器的部署和擴展,還提供了必要的自動化支持,以保證應用的高可用性和性能。在這個框架中,自動擴展功能起著至關重要的作用,特別是在面對不斷變化的負載和需求時。
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
在數位轉型的浪潮中,流程自動化已成為各大企業提升效率和競爭力的重要手段。本篇文章深入探討如何使用 Power Automate 呼叫 Power Automate Desktop,並一步步介紹相關設定過程,助您輕鬆實現流程自動化。
隨著全球數位化浪潮的推進,企業正面臨著前所未有的挑戰和機遇。數位轉型已成為企業保持競爭力的關鍵策略。在這個過程中,平台即服務(PaaS)作為一種強大的雲端解決方案,正在扮演著不可或缺的角色。本文將探討PaaS在數位轉型中的重要作用,並說明其如何幫助企業實現數位化目標。 簡化開發與部署 Paa
Thumbnail
在人工智慧 (AI) 迅速發展的時代,為了維持龐大運算能力,所消耗能源也越來越多。因此對於環境生態的影響,也必須要更多關注並採取行動。值得注意的是,維持 AI 發展所需的計算能力,大約每 100 天就會翻倍。為達到 AI 模型效率提升十倍的提目標,運算能力需求可能會激增高達原來的 10,000 倍。
Thumbnail
NVDIA黃仁勳演講有提到分散式運算,我還真的做了分散式運算的研究拿了個碩士,那分散式運算是做什麼的呢?用現在的時代用語”算力”來解釋的話,就是要處理的資料非常大量,但是單一伺服器的算力不足,所以必須聯合好幾台伺服器的算力來一起處理, 而要能夠做分散式運算的前提就是你要有一套可以操作分散式運算
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
討論系統架構時,我們常忽略低流量時期的準備,但真正的挑戰在於怎樣在突發高流量時保持穩定。我們深入探討了如何透過水平擴展、負載均衡、快取策略等多維度規劃,來強化系統對高流量的承受力,確保系統的靈活擴展與高可用性。
如果是從零起建的機房,惟一的問題會是在於有沒有事先規劃好系統架構,以及建置的過程中,有沒有注意相關系統參數的調整。 這時,也只有上線時間要考慮而己。 如果是系統更新呢?那麻煩就多了,要顧慮使用者操作系統的時間,怎麼說呢?如果是月初財務室要進行財務報表製作,資訊室說要更新網路設備,然後所有作業停頓,
Thumbnail
引言 在當今的技術世界中,Kubernetes 已成為容器化應用的領導平台。作為一個高效的容器編排系統,它不僅管理著容器的部署和擴展,還提供了必要的自動化支持,以保證應用的高可用性和性能。在這個框架中,自動擴展功能起著至關重要的作用,特別是在面對不斷變化的負載和需求時。