按標籤瀏覽
我們已經將詞彙分類。使用篩選器按標籤瀏覽詞彙。
DevOps
是什麼 DevOps 代表著由團隊擁有應用程式開發(Dev)到正式維運(Ops)完整過程的一種方法論,所以它才被稱作 DevOps。 DevOps 不只是一套技術的運用,更是文化與流程的全面轉變。 DevOps 要求工程團隊專注在更小的元件,而非一次處理整個功能,並且減少交接的次數,因為頻繁的交接正是導致錯誤的常見原因。 解決的問題 傳統上,在具有緊耦合單體式應用程式的複雜組織裡,工作通常分散在不同的團隊之間。 這導致工作需要多次的交接與漫長的前置時間(lead time)。 每當一個元件或更新準備就緒時,它就會被放到下一個團隊的工作佇列中。 由於每個人都只處理專案的一小部分,而這種方法導致缺乏所有權(ownership)。 他們的目標將會是把工作交給下一個團隊,而不是向客戶提供正確的功能,這顯然是本末倒置。 當程式碼終於部署到正式環境,早已經歷了許多的開發人員、在眾多佇列中等待。 假設此時程式碼無法運行,追查問題根因就會是一件非常困難的事情。 而 DevOps 顛覆了上述這種開發方式。 如何幫助我們 讓一個團隊可以擁有應用程式完整的生命週期,可帶來交接次數最小化、降低部署到正式環境的風險、擁有更好的程式碼品質(如果團隊也負起程式碼在正式環境運行的責任), 並且因為團隊擁有更多的自主權與所有權而提高了員工滿意度。..
DevSecOps
是什麼 DevSecOps 一詞指的是開發、維運與安全責任的文化融合。 它擴展了 DevOps 方法,將安全優先事項納入其中,並且對開發人員和維運人員的工作流程帶來最少的干擾,甚至不造成擾亂。 如同 DevOps,DevSecOps 是一種文化的轉變,由採用的技術推動,並有著獨特的採用方法。 解決的問題 DevOps 的實踐包含持續整合、持續交付和持續部署,並加速應用程式的開發和發佈週期。 可惜的是,無法充分體現所有組織利害關係人的自動化發佈流程可能會惡化現存的問題。 一個快速發佈卻沒有考量安全需求的流程可能會降低組織的安全態勢。 如何幫助我們 DevSecOps 關注於破除團隊間的隔閡,以及促進安全與自動化工作流程的建立。 在選擇安全應用程式(工具、解決方案)時,組織必須善用自動化 CI/CD 工作流程和政策的落實,並且為開發者提供支持。 該目標並非成為阻礙者,而是安全政策的落實,同時給予使用者如何使他們的專案向前推展的正確資訊。 當 DevSecOps 被適當地實施,組織將會獲得更好的團隊溝通,並且減少安全事故和附帶成本。..
eBPF
是什麼 eBPF(延伸柏克萊封包篩選器)是一種允許小型沙盒程式或腳本在 Linux 系統核心空間執行的技術,不需要修改核心原始碼載入 Linux 核心模組。 Linux 系統有兩個空間:核心空間和使用者空間。 核心空間是作業系統的核心,也是唯一可以無限制存取硬體的部分。 應用程式會停留在使用者空間,當它們需要更高權限時,就會向核心發送要求。 對於需要更彈性的應用程式,像是直接存取硬體,核心可以透過所謂的「Linux 核心模組」進行擴充。 這種方式擴充了核心的預設功能,允許應用程式更深度地存取底層元件。 不過,這種方法也會帶來安全風險,因此 eBPF 成為更有吸引力的替代方案。 解決的問題 通常狀況下,應用程式在使用者空間執行,如果應用程式需要核心的某些權限(E.g. 存取某些硬體), 會透過「系統呼叫」向核心提出請求。 在大多數情況下,這種方法都能正常執行。不過,在某些情況下,開發人員需要更靈活的低階系統存取方式。 可觀察性、安全性和網路功能就是很好的範例。 為此,我們可以使用 Linux 核心模組,在不修改核心原始碼的情況下延伸核心基礎。 雖然使用 Linux 核心模組有很多好處,但也會帶來安全風險。 由於 Linux 核心模組在核心空間內執行,它們可能會導致核心崩潰,而核心一旦崩潰,整個機器也會當機。 此外,核心模組擁有更高的權限,可以直接存取系統資源。如果沒有適當的安全保護,攻擊者就會利用這些漏洞。 如何幫助我們 eBPF 提供比 Linux 核心模組更可控的環境,以執行使用者自訂的程式。 它在核心的沙盒環境中執行,提供隔離並降低風險。 如果漏洞或缺失在 eBPF 程式中被利用,其影響通常僅限於沙盒環境。 此外,在 eBPF 程式開始在核心中執行之前,它必須通過一些驗證。 驗證器元件會檢查 eBPF 程式是否存在潛藏的安全違規行為, 像是違規存取記憶體、無窮迴圈和未經授權的核心函式。 這樣它就能確保程式不會進入無窮迴圈並導致核心崩潰。 與 Linux 核心模組相比,這些安全控制措施使 eBPF 成為在 Linux 核心中執行應用程式更安全的選擇。..
向左移
是什麼 如果我們將將軟體開發週期想像成一條從左到右依序執行的線, 「向左移」中的「左」指的便是週期中較早的階段。 向左移是在軟體開發生命週期中的早期階段就進行測試、安全性或開發實踐等, 而避免等到週期的末期才進行的一種實踐。 儘管最初是用來指稱早期測試的過程, 但現在向左移也可以應用於軟體開發和 DevOps 的其他方面,如安全性和部署。 解決的問題 如果在開發週期後期或部署後才發現安全問題、錯誤和軟體缺陷, 修復它們可能會變得更加困難且昂貴, 尤其是如果該軟體已經部署到正式環境中。 如何幫助我們 透過在軟體開發中採用向左移的思維, 團隊可以在整個開發生命週期中進行測試和加強安全性。 由於測試和安全性的責任由開發團隊共同承擔, 從軟體工程師到品質保證再到維運, 每個人都在確保應用程式的穩定性和安全性。 此外,向左移開啟了持續改進的可能性,並且採用了敏捷式而不是瀑布式的開發方法。 團隊可以進行小規模的迭代改進,並儘早識別問題。 這種方法讓工程師可以提早在設計和架構階段, 就採用安全可靠的開發實踐。 在整個開發週期中進行測試可以減少軟體發布前所需的測試時間。 許多軟體工具和 SaaS 解決方案都有助於團隊朝著向左移前進。 但向左移也可以透過改進團隊內部的流程和文化變革來實施。..
如何參與貢獻
歡迎 歡迎使用雲端原生 Glossary 的貢獻指南,感謝您的關注。 您可以透過以下方式參與貢獻,我們將在此進行詳細說明: 在現有議題上進行工作 提出新術語 更新現有術語 幫助本地化 Glossary CNCF Glossary 概述 該 Glossary 的目標是簡化複雜的雲端原生領域,使其更容易被人們理解和使用。 雲端原生 Glossary 的內容存儲在此 GitHub 存儲庫中, 您可以在那裡找到有關 Glossary 的議題、拉取請求(PRs)和 討論。 誰可以貢獻? 您如何參與此專案取決於您的雲端原生專業知識水準。 簡化複雜的概念需要對該主題有深入的了解。 因此,要貢獻新術語,您必須精通該主題。 貢獻者通常是在這些技術上工作了一段時間的工程師或專注於雲端原生的學者。 專業知識是必需的,因為用簡單的話語解釋複雜的概念 真的 很難。而且,儘管易於理解的結果可能看起來很簡單,但達到所需的簡單性需要雲端原生專家之間的努力和協作。 如果您尚未成為雲端原生專家但仍想貢獻,我們建議與專家合作。 一旦專家確信術語準確描述概念,您就可以做出第一個 Glossary 貢獻。 本地化工作是精通另一種語言的初學者可以為 Glossary 做出寶貴貢獻的地方。 借助現有的可靠英語定義,經驗不足的貢獻者可以將術語本地化為目標語言。您可以加入現有的本地化團隊或創建新的本地化團隊。 請閱讀本指南中幫助本地化 Glossary 章節,了解如何開始。 開始之前 在開始您的 Glossary 貢獻之前,請確認完成以下步驟: 建立 GitHub 帳號,如果您還沒有的話。 簽署貢獻者授權協議(Contributor License Agreement) (CLA)。 驗證您的提交簽名。 啟用 vigilant mode 在您的 GitHub 帳戶上,以顯示 “Verified” 狀態在您的提交上。 最佳實踐 為了方便審核過程,請使用 semantic line breaks(例如,每句話一行)。 我們建議查看這份 markdown cheat sheet 以正確地在 GitHub 中格式化 Markdown 文本(例如,超連結、粗體、斜體)。 並且在命名 ...
金絲雀部署
是什麼 金絲雀部署是一種部署策略,一開始有兩個環境:一個目前有即時流量的環境和一個目前無即時流量且已更新程式碼的環境。 流量會逐漸從應用程式的原始版本轉移到更新後的版本。 它可以從 1% 的流量開始,然後是 10%、25% 等等,以此類推,直到所有流量都轉移到已更新的版本。 企業可以在正式環境中測試新版本的軟體,獲得回饋、錯誤診斷,並在必要的時候可以快速退回到穩定版本。 「金絲雀」這詞是指「礦坑中的金絲雀」的做法,把金絲雀帶入礦坑中確保礦工們的安全。 如果出現無味的有害氣體,這隻鳥就會死亡,礦工們知道他們必須儘速離開。 同樣地,如果更新後的程式碼出現問題,即時流量就會被"撤離"回原始版本中。 解決的問題 無論測試策略有多嚴謹,總是會在正式環境中會發現一些錯誤。 將 100% 流量從應用程式的一個版本完全切換到另一個版本,可能會導致更嚴重的失敗。 如何幫助我們 金絲雀部署讓企業在大量流量轉移到新版本以前,可以查看新版本軟體在實際場景中使用的情形。 這種策略讓企業能夠最大限度地減少停機時間,並在新部署出現問題時快速退回上個版本。 它允許更深度的正式應用程式測試,而不會對整體使用者體驗產生重大影響。..
持續交付 (CD)
是什麼 持續交付,通常縮寫為 CD,是一套將原始碼變更自動部署到驗收環境中的實踐, (或者,在持續部署的情況下,部署到正式環境中)。 CD 關鍵是包括確定軟體在部署前 得到充分測試的程式,並提供一種在必要時退回修改的方法。 持續整合(CI)是實現持續交付的第一步 (也就是說,在測試和部署之前,變更必須乾淨地合併)。 解決的問題 大規模部署具有 可靠性 的更新會成為一個問題。 理想情況下,我們會更頻繁地部署,為終端使用者提供更好的價值。 然而,手動操作會使每一個變化都轉變為高額的交易成本。 過去,為了避免上述成本,企業發布的頻率較低, 在一次的部署中包含更多的變更,同時也會增加出錯的風險。 如何幫助我們 CD 策略建立了一個完全自動化的生產路徑, 使用各種部署策略測試和部署軟體, 如 金絲雀部署 或 藍綠部署 來進行發布。 這使得開發人員可以頻繁地部署程式碼,讓他們放心地確保新的修訂版已經過測試。 通常情況下,CD 策略中使用基於主幹的開發方式,而不是功能分支或拉取要求。 相關術語 持續整合 持續部署..
持續部署 (CD)
是什麼 持續部署,通常縮寫為 CD,它直接將完成的軟體部署到正式環境,比持續交付更進一步。 持續部署(CD)與持續整合(CI)緊密相關,通常被稱為 CI/CD。 CI 流程用於測試對特定應用程式的變更是否正確,而 CD 流程則自動部署組織測試環境的程式碼變更到正式環境。 解決的問題 發布新軟體版本是一個勞動密集且容易出錯的過程。 通常這也使組織希望盡量減少發布新版本的頻率,以避免正式環境發生事故並減少工程師需要在正常工作時間之外提供支援的次數。 傳統的軟體部署模型讓組織陷入一個惡性循環,其中軟體發布的過程無法滿足組織在穩定性和功能迭代速度方面的需求。 如何幫助我們 透過自動化發布週期並強制組織更頻繁地將產品部署到正式環境中,CD 之於維運團隊就像 CI 之於開發團隊一樣。 具體來說,它強制維運團隊自動化正式部署中痛苦且容易出錯的部分,從而降低整體風險。 它還使組織更善於接受和適應正式環境的變化,進而提高穩定性。 相關術語 持續整合 持續交付..
持續整合 (CI)
是什麼 持續整合,通常縮寫為 CI,是盡可能定期整合程式碼更改的實踐方法。 CI 是 持續交付(CD)的前置工作。 傳統上,CI 的流程從程式碼更動提交到版本控管(Git、Mercurial 或 Subversion)時開始, 以準備被 CD 系統使用的測試產出物(tested artifact)直到結束。 解決的問題 軟體系統通常是龐大且複雜的,有許多開發人員在維護和更新它們。 在系統的不同部分同時工作, 這些開發人員可能會做出互相衝突的修改,並在無意間破壞對方的工作。 此外,由於多位開發人員在同一個專案上工作, 任何日常任務,如測試和計算程式碼品質,都需要每位開發人員重複執行,浪費了時間。 如何幫助我們 每當開發人員提交修改時,CI 軟體會自動檢查程式碼更動是否合併得很乾淨。 使用 CI 伺服器來執行程式碼品質檢查、測試甚至部署,這幾乎是一種普遍存在的做法。 因此,它成為團隊內部品質控管的具體實現方式。 CI 讓軟體團隊能將每次的程式碼提交轉變為具體的失敗或可用的發布候選版本。 相關術語 持續交付 持續部署..
風格指南
以下的風格指南旨在幫助你了解雲端原生 Glossary 的定義結構,並在整個過程中保持一致的風格。 雲端原生詞彙遵循位於 CNCF 資源庫中的預設風格指南。 此外,它還遵循以下規則: 使用簡單、易懂的語言,避免技術術語和流行語 避免使用俚語 使用字面和具體的語言 省略縮略語 少用被動語態 力求以積極的形式表述 引號外不加感歎號 不要誇大其詞 避免重複 要簡明扼要 受眾 本 Glossary 是針對技術和非技術人員編寫的。 請使用簡單的術語來解釋定義並不要假定技術知識。有關定義的更多細節請參閱下面的定義部分。 最小可行定義 我們的目標是讓任何人都能夠輕鬆理解雲端原生術語。 因此,我們專注於簡潔明瞭。 請使用清晰簡單的語言,並提供任何使用技術的人都可以理解的示例,同時提供一個最小可行定義,至少從技術角度上來說。 我們不希望省略上下文和示例 — 畢竟,這些東西可以幫助讀者理解概念 — 但如果技術細節不需要理解它,我們就會跳過它。 目標不是讓事情變得過於複雜。一旦讀者了解了基本概念,其他資源將有助於他們進一步深入挖掘。 這部分超出了本 Glossary 的範圍。 定義樣板 每個 Glossary 術語都存儲在一個 markdown 文件中,並遵循這個樣板: — title: status: category: — ## 是什麼 對該技術或概念的快速總結。 ## 解決的問題 關於它所解決的問題的幾句話。 ## 如何幫助我們 用幾句話說明這個東西是如何解決問題的。 標題 title label 將始終位於定義布局的頂部,其值應使用標題大小寫。 — title: 定義樣板 狀態 status label 將出現在 title label 之後。這個 label 代表著這個定義距離完成還有多遠。..
容器協調
是什麼 容器協調指的是在動態的環境中自動管理容器化應用程式的生命週期。 這通過一個容器協調器 (大多是 Kubernetes) 來執行如部署、(自動)擴展、自我修復和監控。 協調是一個隱喻用詞: 協調工具就如同樂隊指揮一樣指揮管理眾多容器,確保每個容器(或樂手)各執其職。 解決的問題 手動管理大規模的微服務、安全性和網路通訊以及常見的分散式系統 雖然困難但並非不可能。 而容器協調能讓用戶自動化所有這些管理任務。 如何幫助我們 容器協調工作允許使用決定系統的狀態。 首先,這些工具會宣告系統應具備的狀態 (例如 x 個容器、 y 個 Pod 等等)。 接著容器協調工具將會自動監控基礎建設並且在其狀態與宣告狀態不一致時自動修正 (例如當一個容器壞掉不能運行時,則啟動一個全新的容器)。 這種自動化的操作簡化了許多工程團隊手動與複雜的維運工作,例如 服務開通、部署、自動擴展、網路、負載平衡和其他活動。..
貢獻者階梯
<p>嗨!👋 感謝您對貢獻 CNCF 雲端原生 Glossary 專案感到興趣。 無論您貢獻新術語、協助本地化 Glossary 成為您的母語, 或者想要幫助他人入門,都有很多方式成為此社群的活躍成員。 本文檔概述了專案中的不同貢獻者角色以及隨之而來的職責和權限。</p> <ol> <li>貢獻者 Glossary 歡迎所有人參與。任何人只要有貢獻都可以成為 Glossary 的貢獻者。所有貢獻者都應遵守 CNCF 行為準則。 有多種方式可以貢獻此專案,包括: 內容貢獻者:改進現有術語或新增術語的所有人, 本地化貢獻者:協助將 Glossary 翻譯成另一種語言的人, 幫助者:在 GitHub、Slack 或其他社群成員需要支援時協助他人的人, 大使:幫忙傳達訊息、教育社群如何貢獻,以及為什麼他們應該這麼做的任何人。 貢獻者可以擔任多個角色或僅專注於一個領域。 所有這些貢獻同等重要和有助於促進繁榮的社群。 有關內容和本地化貢獻,請參閱如何貢獻和風格指南。</li> <li>審核者 審核者提供 PR 的回饋並核准他們。任何活躍的貢獻者都可以成為審核者(參見成為審核者)。 Glossary 區分兩種審核者:(1)英文 Glossary 的審核者和(2)本地化團隊的審核者。 Glossary 審核者應該: 審核 PR 的技術準確性, 分配貢獻者議題並適當地標記他們, 為貢獻者提供反饋並在需要時指導他們, 校對和編輯提交。 如果審核者不再感興趣或無法執行上述職責,他們應讓維護人員知道並下台。 英文 Glossary 審核者 有三種類型的審核者: 1)擁有強大技術背景的審核者, 2)具有扎實的寫作能力的審核者, 3)精通兩者的審核者。 技術審核者:具有強大技術背景的人可以成為審核者,而不必具備扎實的英文寫作能力。但是,如果他們基於技術的優點核准了 PR,則必須確保經由一位(編輯)審核者進行了審核。 編輯者:編輯人員校對術語並確保其根據樣式指南用簡單的語言解釋。如果術語被大量編輯,編輯人員必須要求技術審核者再次審核,以確保含義未被更改。 本地化審核者 Glossary 還有本地化審核者。這些是本地化團隊(翻譯 Glossary 的團隊)之一的審核者。 本地化審核者僅允許為其自己的團隊執行核准任務,並有能力將 PR 合併到其專屬的開發分支。 任何本地化審核者都可以成為英文 Glossary 的審核者,如果符合要求的話。</li> </ol>..
敏捷軟體開發
是什麼 敏捷軟體開發是一系列強調迭代開發週期和自我組織團隊的實踐方法。 與僅在專案結束時才生成價值的瀑布式專案相比, 敏捷軟體開發著重於價值的持續、增量式的交付,並對過程本身進行漸進式的改善。 解決的問題 在軟體專案中,定義、傳達和理解所有利害關係人的需求非常困難,甚至是不可能的。 然而,客戶希望他們的軟體專案能有高品質,在預算、時程及專案範圍內交付。 相較於於瀑布式策略,敏捷軟體開發的週期特性使其能持續適應需求,並且能更快地適應其他所有情況。 如何幫助我們 敏捷軟體開發包含了傳統(瀑布式)策略的所有階段, 如需求工程、規劃、開發、審核、測試和交付。 最大的不同在於,整個軟體專案的時間跨度被切分為多個迭代, 每個迭代都包含所有這些階段。 在每個迭代結束後,開發團隊可以與客戶一起審查創造的價值,並對需求進行調整以達到最終目標。 此外,開發團隊還會反思需要採取哪些行動來改進過程本身。..
混沌工程
是什麼 混沌工程或 CE,是在正式環境中對分散式系統進行實驗的專業,以建立對系統在承受混亂和意外情況下時能力的信心。 解決的問題 SRE 和 DevOps 實踐注重提高產品的彈性和可靠性技術。 系統在故障容錯時確保有足夠服務品質的能力通常是軟體開發的要求。有幾個方面可能導致應用程式發生故障,例如基礎設施、平台或(基於微服務的)應用程式的其他部分。 在正式環境中高頻率部署新功能會增加導致停機和嚴重事件發生的可能性,這對業務會產生重大影響。 如何幫助我們 混沌工程是一種滿足彈性需求的技術。它用於達成對基礎設施、平台和應用程序故障容錯。 混沌工程師使用混沌實驗來主動注入隨機故障,以驗證應用程序、基礎設施或平台是否能夠自我修復,並且故障不會明顯影響客戶。 混沌實驗旨在發現盲點(例如監控或自動擴展技術),並在嚴重事件期間提升團隊之間的溝通。 這種方法有助於提高系統的彈性和團隊對複雜系統的信心,尤其是正式環境。..
虛擬化
是什麼 在雲端原生運算中, 虛擬化指的是將一台實體計算機(有時稱為伺服器), 使其能夠運行多個獨立作業系統的方法。 這些獨立的作業系統以及它們專屬的運算資源(CPU、記憶體和網路)被稱為虛擬機器或 VM。 當我們提到虛擬機器時,在講的其實是由軟體定義的計算機。 這種計算機在外觀上和與行為上都像是真實的計算機,但實際上它會與其他虛擬機器共用硬體資源。 雲端運算 主要是由虛擬化技術所驅動。 舉例來說, 你可以從 AWS 租用一台「計算機」, 但實際上它是一台虛擬機器。 解決的問題 虛擬化解決了多個問題, 比方說它允許更多應用程式在同一台實體機器上運行, 而且還能將它們相互隔離以確保安全性。 如何幫助我們 在虛擬機器上運行的應用程式並不知道它們正在共用一台實體計算機。 虛擬化還能讓資料中心的使用者在數分鐘內啟動一台新的「計算機」(其實是虛擬機器), 而無需擔心增加新的計算機到資料中心所帶來的實體限制。..
雲端原生 Glossary
雲端原生 Glossary 雲端原生 Glossary 主要目標在使人們更容易理解,將以複雜而聞名雲端原生領域變得更簡單好懂,不僅限於技術人士,也同樣適用於商業人士。 為了實現這一目標,我們注重簡潔(例如:使用簡單用語描述且不包含流行用語、使用任何技術的人都可以通用的範例、省略不必要的細節)。 Glossary 是由 CNCF 商業價值小組(Business Value Subcommittee; BVS)領導的專案。 貢獻 歡迎所有人對雲端原生 Glossary 提出更改、補充和改進。 我們採用由 CNCF 管理的社群驅動的流程來開發和改進這個共享 Glossary 。 Glossary 提供了一個所有參與者使用且供應商保持中立的平台,以組織雲端原生技術的共享詞彙。 歡迎所有遵守本專案宗旨和章程的參與者做出貢獻。 任何希望貢獻的人都可以提交 GitHub 議題或創建拉取請求。 請確保您遵循風格指南,閱讀如何參與貢獻文件,加入 CNCF Slack工作區,並加入 #glossary頻道。 也有一個 #glossary-localizations頻道,提供想將 Glossary 翻譯為其本地化語言的人們使用。 致謝 雲端原生 Glossary 由 CNCF 行銷委員會 (CNCF Marketing Committee)(商業價值小組委員會)發起,包括來自 Catherine Paganini、 Chris Aniszczyk、 Daniel Jones、 Jason Morgan、 Katelin Ramer、 Mike Foster和許多的貢獻者。 如果想獲得完整的貢獻者名單,請參考此 GitHub page。 Glossary 主要維護由 Seokho Son、 Noah Ispas、 Jihoon Seo、 Nate W. 和 Jorge Castro。..
雲端運算
什麼是雲端運算 雲端運算是一種通過網際網路提供計算資源(如CPU、網路和磁碟功能)的服務,使用戶可以遠端存取位於實體位置的運算資源。一般會根據雲端基礎設施是用於專門為組織而設或是共享用於開放式服務,將其區分為私有雲和公有雲。 解決的問題 普遍來說,當組織需要擴展其運算資源時,會面臨兩個主要挑戰:一方面是購買、支援和設計新的設施來托管物理伺服器和網路,另一方面則是擴充和維護現有設施。透過雲端運算,組織能夠透過外包部分的運算需求以解決這些考驗。 如何幫助我們 雲端供應商讓組織可以按需租用計算資源並根據使用情況付費,從而帶來兩大優勢。第一是組織可以專注於產品或服務,無需等待、計劃和投入資源於新的物理基礎設施。其次,組織可以根據實際需求隨時擴充其運算資源。透過雲端運算,組織可以彈性選擇所需的基礎設施,以適應不斷變化的需求。..
網站可靠性工程
是什麼 網站可靠性工程(SRE)是一門結合了維運和軟體工程的專業。 它主要應用於基礎設施和維運問題。 這意味著,網站可靠性工程師不是建構產品功能,而是建構系統來運行應用程式。 雖然 SRE 和 DevOps 有相似之處,但是 DevOps 主要關注將程式碼部署到正式環境, 而 SRE 則確保正式環境中運行的程式碼正確運作。 解決的問題 確保應用程式運行具備可靠性,需要具備多項能力, 從效能監控、警報、除錯到故障排除都是必要的。 如果缺少這些能力,系統操作員只能對問題做出反應,卻無法主動努力避免它們, 而造成停機僅是時間問題。 如何幫助我們 網站可靠性工程透過持續改進底層系統, 以最大限度地降低軟體開發過程的成本、時間和工作量。 該系統持續測量和監控基礎設施和應用程式的元件。 當出現問題時,系統會向網站可靠性工程師指示何時、何處以及如何修復它。 這種方法通過自動化操作的任務,有助於創建高度的擴展性和可靠性的軟體系統。..
藍綠部署
是什麼 藍綠部署是一種以最小的停機時間更新執行中的電腦系統的方法。 維運者維護兩個環境,被稱為 “藍” 和 “綠”。 一個提供正式服務的流量(所有使用者目前正在使用的版本),另一個則是需要升級的服務。 一旦非活躍(綠色)環境中的測試結束, 正式服務流量會被切換過來(通常會使用負載平衡器)。 注意,藍綠部署通常意思是要切換整個環境,包括許多服務。 令人困惑的是,有時這個術語被用於一個系統內的單個服務。 為了避免這個歧異,提到單個元件時,最好使用 “零停機部署” 一詞。 解決的問題 在更新那些缺乏向後相容性而必須"同步"改變的軟體時,藍綠部署允許最短的停機時間。 例如,藍綠部署適用於一個由網站和資料庫組成的線上商店, 該商店需要更新,但新版本的資料庫不能與舊版本的網站一起使用,反之亦然。 在這樣的情況下,兩者需要同時改變。 如果在正式環境這樣做,客戶會注意到停機時間。 如何幫助 對於需要以最小的停機時間進行更新的非雲端原生軟體來說,藍綠部署是一種適合的方法。 然而,它的使用通常是一種 “警訊”,老舊系統需要重新設計,以便可以單獨更新元件。..
邊緣運算
是什麼 邊緣運算是個分散式系統,它將一些儲存和運算資源從主要資料中心轉移到資料來源。 收集到的資料在本地端(例如:工廠、商店或整座城市)進行計算,而不是傳送到集中式資料中心進行處理和分析。 這些本地端處理單元或裝置代表系統的邊緣,而資料中心則代表系統的中心。 邊緣計算出的結果會被送回主要資料中心做進一步處理。 邊緣運算的例子包括手腕上的小配件或分析交通流量的電腦。 解決的問題 過去十年中,我們可以看到越來越多的邊緣裝置(例如:手機、智慧型手錶、感測器)。 在某些情況下,即時資料處理不僅是一個不錯的選擇,而且極其重要。 想想自動駕駛的汽車。 現在想像一下,汽車感測器的資料必須先傳送到資料中心進行處理,然後再送回汽車,這樣汽車才能作出適當的反應。 如此產生的網路延遲會是致命的。 雖然這是一個極端的例子,但大多數使用者都不願意使用無法即時反應的智慧設備。 如何幫助我們 如上所述,要使邊緣設備發揮作用,它們必須至少在本地端完成部分處理和分析工作,以便於對使用者提供接近即時的回饋。 要做到這點,就必須將資料中心的部分儲存和處理資源轉移到資料生產地:邊緣設備。 已處理和未處理的資料隨後發送到資料中心做進一步處理和儲存。 簡而言之,效率和速度是邊緣運算的主要驅動力。..