AWS 雲端基礎知識
入門指南
簡介
開始在雲端建置時,邁出第一步可能令人難以置信。調整雲端原生方法可能需要時間,如果您已經採用習慣傳統的內部部署方式來佈建硬體和建置應用程式更是如此。熟悉雲端運算和 AWS 雲端的核心概念,有助於在您開始雲端之旅時讓您樹立信心。在下列各節中,我們將回答有關雲端運算常見問題,並探索在 AWS 上建置的最佳實務。
-
什麼是雲端運算?
雲端運算利用網際網路搭配依用量計費定價,透過雲端服務平台隨需交付運算能力、資料庫儲存、應用程式及其他 IT 資源。傳統上,希望建置應用程式的開發人員必須採購、設定和維護實體基礎設施和應用程式。這就是雲端運算派上用場之處。
雲端服務平台可快速存取靈活且低成本的 IT 資源,您可以使用這些資源來建置和維護軟體和資料庫,以及建立應用程式來滿足客戶需求。您無需預先在硬體投資巨額資金,然後花大量時間和精力來維護和管理這些硬體。您可以藉助雲端運算來近乎即時存取所需的無限資源,且只需要為使用量付費。隨需存取服務且按使用量付費是雲端運算模式的基本要素。
雲端運算的優勢
雲端為開發人員提供更大的靈活性、可擴展性,以及更快的創新時間。憑藉雲端運算,您可以
- 按使用量付費 – 僅在您使用運算資源時計費,並且僅按您的使用量付費。
- 受益於龐大的規模經濟 – AWS 將數十萬雲端客戶的用量彙總,從而實現更大的規模經濟。這意味著更低的按使用量付費價格。
- 停止猜測容量 – 如果您在部署應用程式前猜測容量的大小,通常不是出現昂貴的閒置資源,就是容量不夠。有了雲端運算,您可以存取任意規模的容量,可多可少,並根據需要縱向擴展和縮減,一切只要幾分鐘就能完成。
- 提高速度和靈活性 – 只需點按一下即可存取 IT 資源,這意味著您將資源提供給開發人員使用的時間從數週縮短至幾分鐘。這讓組織的敏捷性顯著增加,因為用於試驗和開發的成本和時間明顯降低。
- 實現成本節省 – 公司可專注於使區分其業務的專案,而不是維護資料中心。憑藉雲端運算,您可以專注於客戶,而不是處理貨架、堆疊和實體基礎設施供電的繁重工作。
- 幾分鐘內即可全球化 – 只需點按幾下,即可在全球多個區域部署應用程式。這意味著您可以用最少的成本為客戶提供較低的延遲和更好的體驗。
-
什麼是 AWS 雲端?
AWS 依用量計費定價,透過網際網路提供技術服務的隨需交付。這被稱為雲端運算。
AWS 雲端包含各式各樣的全球雲端產品,包括運算、儲存、資料庫、分析、聯網、行動、開發人員工具、管理工具、IoT、安全和企業應用程式:隨需交付,只需幾秒即可使用,以及依用量計費定價。AWS 雲端擁有全球資料中心提供的超過 200 項功能齊全的服務,為您提供開發、部署和操作應用程式所需的一切,同時降低成本、變得更敏捷、加速創新。
例如,使用 AWS 雲端,您可以啟動虛擬機器,以秒為單位指定 vCPU 核心數目、記憶體、儲存和其他特徵,並且僅在執行時以每秒的增量支付基礎設施費用。AWS 全球基礎設施網路其中一個優勢是,您可以在最適合您特定使用案例的一個或多個區域佈建資源。您使用完資源後,只需將其刪除即可。憑藉此內置的靈活性和可擴展性,您可以建置一個應用程式來服務您的第一位客戶,然後擴展至服務您的後續上億客戶。
本影片將探討數百萬客戶如何使用 AWS 來充分利用雲端運算的效率。
利用這些額外資源深入探究
使用 AWS 的雲端運算
依類別的完整 AWS 服務清單 -
內部部署與雲端運算
在雲端之前,公司和組織在自己的資料中心託管和維護硬體,通常會分配整個基礎設施部門來負責其資料中心。這會導致昂貴的操作,無法處理某些工作負載和進行實驗。隨著網際網路的使用越來越廣泛,對運算、儲存和聯網設備的需求增加。對於某些公司和組織來說,維持大量實體資產的成本是無法永續的。雲端運算隨之出現來解決這個問題。
為了協助區分在內部部署與雲端執行工作負載,假設一個開發人員團隊希望在其應用程式中部署一些新功能的情境。部署之前,團隊希望在與生產環境組態相同的獨立品質保證 (QA) 環境中測試功能。在內部部署解決方案中,額外的環境需要您購買和安裝硬體、連接必要的佈線、佈建電源、安裝作業系統等。這些任務可能不但耗時,又很昂貴。同時,團隊需要在等待 QA 環境的同時延遲發布新功能。相較之下,如果您在雲端執行應用程式,可以在幾分鐘甚至幾秒鐘內,視所需頻率來複寫整個生產環境。該解決方案不是實體安裝硬體和連接佈線,而是透過網際網路來管理。使用雲端運算可節省設定期間花費的時間,並消除無差別的繁重工作。如果您查看任何應用程式,您會發現其某些方面對您的業務非常重要,例如程式碼。但是,其他方面與您可能建置的任何其他應用程式都不同,例如,程式碼執行所在的電腦。身為開發人員,您可能希望專注於應用程式的獨特內容,而不是無法區分應用程式的常見任務 (例如佈建伺服器)。舉例來說,克萊姆森大學的一群研究人員在研究主題建模時,實現了一個舉世矚目的里程碑,這是與自然語言處理 (NLP) 關聯的機器學習的重要組成部分。在不到 24 小時內,他們在單一 AWS 區域執行的 Amazon EC2 Spot 執行個體上,使用超過 1,100,000 個 vCPU 在雲端建立高效能叢集。這僅僅是 AWS 如何協助您加速創新的其中一個範例。 -
IaaS、PaaS 和 SaaS
雲端運算讓開發人員能夠專注於最重要的事情,並且避免基礎設施採購、維護和容量規劃,或是無差別的繁重工作。
隨著雲端運算的日益普及,出現了各種不同的服務模式,以協助滿足不同使用者的特定需求。每種雲端服務類型都可提供不同層級的抽象、控制、彈性和管理。了解基礎架構即服務 (IaaS)、平台即服務 (PaaS) 和軟體即服務 (SaaS) 的差異,將有助於您判斷哪種服務類型最符合您身為開發人員的需要。
基礎架構即服務 (IaaS)
基礎架構即服務 (IaaS) 包含基本的雲端 IT 建構區塊,且通常能提供聯網功能、電腦 (可以是虛擬或專屬硬體) 及資料儲存空間的存取。IaaS 可為您提供 IT 資源的最大彈性和最高層級管理控制,且與目前許多開發人員熟悉的現有 IT 資源極其類似。平台即服務 (PaaS)
平台即服務 (PaaS) 可讓您無須管理基礎設施 (通常是硬體和作業系統),並讓您能專注於應用程式的部署和管理。由於不需擔心執行應用程式時的資源採購、容量規劃、軟體維護、修補,或任何其他無差別的繁重工作,因此有助於提升工作效率。
軟體即服務 (SaaS)
軟體即服務 (SaaS) 可提供由服務供應商執行及管理的完整產品。大部分情況下,一般所說的 SaaS 是指最終使用者應用程式。有了 SaaS 產品,您將不需煩惱如何維護服務或管理基礎設施,只需思考如何運用該軟體即可。最常見的 SaaS 應用程式範例就是網路電子郵件,您可以用於收發電子郵件,不需管理電子郵件產品中額外的功能,也不必維護執行電子郵件程式的伺服器和作業系統。
深入探究:AWS 上的軟體即服務 (SaaS)
利用這些額外資源深入探究
雲端運算的類型
AWS 上的軟體即服務 (SaaS) -
全球基礎設施
利用雲端,您可以在幾分鐘內擴展到新的地理區域並進行全球部署。例如,AWS 的基礎設施遍及全球,因此開發人員只要按幾下滑鼠,就能在多個實體位置部署應用程式。透過將應用程式放置在更靠近終端使用者的位置,您可以減少延遲並改善使用者體驗。AWS 正穩定擴充全球基礎設施,協助客戶減少延遲,提高輸送量,確保資料只放在指定 AWS 區域。隨著客戶企業成長,AWS 會持續提供符合其全球需求的基礎設施。AWS 雲端基礎設施是以 AWS 區域與可用區域為中心來建置的。「區域」是世界上有多個「可用區域」的實體位置。可用區域由一或多個分散的資料中心所組成,每個都有備援電源、網路和連線能力,且置放在不同的機構。這些可用區域讓您能夠運作生產應用程式和資料庫,它們比單一資料中心具有更高的可用性、容錯能力和可擴展性。
AWS 雲端基礎設施廣泛,提供來自全球資料中心 200 項功能齊全的服務。相較於任何雲端供應商,AWS 擁有最大的全球基礎設施佔地面積,隨時隨地根據您的需求提供雲端基礎設施。
AWS 全球基礎設施地圖
利用這些額外資源深入探究
全球基礎設施:概觀
區域與可用區域
AWS 區域服務清單 -
開發人員工具
如何與 AWS 互動
當基礎設施虛擬化時,就像雲端運算一樣,開發人員處理基礎設施的方式會略有變化。您可以透過 AWS 應用程式介面 (AWS API),以邏輯方式而不是實體方式來管理基礎設施。當您建立、刪除或變更任何 AWS 資源時,您將使用 API 呼叫讓 AWS 來執行此操作。
您可以透過多種方式進行這些 API 呼叫,但我們將重點探討以下主題:
- AWS 管理主控台
- AWS Command Line Interface (AWS CLI)
- IDE 和 IDE 工具組
- AWS 軟體開發套件 (SDK)
AWS 管理主控台
首次開始使用 AWS 時,人們通常會從 AWS 管理主控台開始,這是您可以透過瀏覽器登入的 Web 式主控台。主控台包含用於管理 AWS 資源的廣泛服務主控台集合。在主控台中工作,您不必為指令碼或語法而擔憂。您還可以選取您希望使用 AWS 服務的特定區域。
在主控台工作之後,您可能希望無需手動部署 AWS 服務,也許是因為您已經更熟悉 AWS,或者正在需要一定程度風險管理的生產環境中工作。這就是 AWS Command Line Interface (CLI) 派上用場之處。
AWS CLI
AWS CLI 是一種開放原始碼工具,可讓您使用命令列 shell 中的命令來建立和設定 AWS 服務。您可以在 Linux 或 macOS 中使用常見的 shell 程式 (例如 bash、zsh 和 tcsh),或在 Windows 上使用 Windows 命令提示,或在 PowerShell 中執行命令。其中一個可快速啟動並執行 AWS CLI 的選項是 AWS CloudShell,這是一個以瀏覽器為基礎、可提供命令列來存取 AWS 資源的 shell。CloudShell 已使用您的主控台憑證預先驗證。通用的開發和操作工具均已預先安裝,因此無需本機安裝或設定。
移至 AWS CLI,您可以對 API 呼叫編寫指令碼或進行程式設計。您可以使用定義的 AWS 語法來建立命令,而不是使用 GUI。CLI 的一個優勢是,您可以建立單一命令來建立多個 AWS 資源,在選擇和設定資源時,這有助於降低出現人為錯誤的機率。使用 CLI,您需要學習形成命令的正確語法,但是在您編寫這些命令時,您能夠讓其可重複使用。長遠來看,這應該能節省您的時間。
IDE 和 IDE 工具組
AWS 可為熱門的整合式開發環境 (IDE) 和 IDE 工具組提供支援,因此您可以在您喜好的環境中,在 AWS 上編寫、偵錯和部署程式碼。支援的 IDE 和工具組包括 AWS Cloud9、IntelliJ、PyCharm、Visual Studio、Visual Studio Code、Azure DevOps、Rider 和 WebStorm。
軟體開發套件
軟體開發套件 (SDK) 是可讓您以程式設計方式與 AWS API 互動的工具。AWS 針對大多數常用的程式設計語言來建立和維護 SDK,包括下圖所示的程式設計語言。
當您想要將應用程式原始程式碼與 AWS 服務整合時,SDK 非常方便。例如,您可以使用 Python SDK 來編寫程式碼,將檔案存放在 Amazon Simple Storage Service (Amazon S3) 中,而不是本機硬碟上。您可以在透過條件、循環、陣列、清單和其他程式設計元素執行原始程式碼的位置,來管理 AWS 服務,這提供了強大的功能和創造力。
這些只是 AWS 上開發人員可以使用的部分工具。如需更快捷、更輕鬆地開發應用程式的 AWS 工具完整清單,請參閱 在 AWS 上進行建置的工具。
-
基礎設施即程式碼 (IaC)
與軟體開發人員編寫應用程式的程式碼的方式類似,AWS 提供能夠以程式設計、描述性和聲明方式來建立、部署和維護基礎設施的各種服務。
AWS CDK
AWS Cloud Development Kit (AWS CDK) 是一個軟體開發架構,用於在程式碼中定義雲端基礎設施,並透過 AWS CloudFormation 進行佈建。AWS CDK 支援熟悉的程式設計語言,例如 TypeScript、JavaScript、Python、Java、C#/.Net 和 Go (開發人員預覽版)。佈建雲端應用程式可能極具挑戰性,需要您編寫自訂指令碼、維護範本或學習特定領域的語言。AWS CDK 使用程式設計語言的熟悉性和表達能力,為您的應用程式進行模型分析。它提供的高階元件 (稱為建構) 可利用經過驗證的預設值預先設定雲端資源,因此,您可以輕鬆建置雲端應用程式。AWS CDK 透過 AWS CloudFormation,以安全、可重複的方式佈建您的資源。它也讓您能夠編寫和分享自己的自訂建構模組,以整合組織的需求,協助您加快新專案。
運作方式︰
AWS 還提供 AWS Cloud Development Kit for Kubernetes (cdk8s),這是一個開放原始碼軟體開發架構,用於使用一般用途程式設計語言來定義 Kubernetes 應用程式。
立即試用:開始使用 AWS CDK
AWS CloudFormation
對 AWS 資源進行建模和設定可能很耗時。這就是 AWS CloudFormation 派上用場的之處。CloudFormation 可協助您對 AWS 資源進行建模和設定,以減少管理資源花費的時間,騰出更多時間專注於應用程式。使用 CloudFormation,您可以建立描述所需的所有 AWS 資源的範本 (例如 Amazon EC2 執行個體或 Amazon RDS 資料庫執行個體)。建立範本後,CloudFormation 就會負責為您佈建和設定這些資源。您無需個別建立和設定 AWS 資源,也不需要找出其相依關係;CloudFormation 會代勞。CloudFormation 可協助您簡化基礎設施管理、快速複寫基礎設施,以及輕鬆控制和追蹤基礎設施的變更。
運作方式︰
利用這些額外資源深入探究
AWS CDK v2
什麼是 AWS CloudFormation? -
Well-Architected 基礎設施
架構概觀
設計堅實的雲端架構涉及整個技術團隊的基礎工作。了解 AWS Well-Architected Framework 的六個支柱,可協助您在使用 AWS 服務時,將思維引導至最佳實務方向。
AWS Well-Architected 協助雲端架構師和開發人員建置安全、高效能、有彈性又有效率的各種應用程式和工作負載基礎設施。以六大架構支柱為基礎,即卓越營運、安全性、可靠性、效能達成效率、成本優化和永續發展,AWS Well-Architected 為您提供一致的方法來評估架構,以及實作可擴展的設計。
AWS Well-Architected Framework 包括特定領域的焦點、實作實驗室和 AWS Well-Architected Tool。AWS 管理主控台可免費使用 AWS Well-Architected Tool,該工具提供了一種機制,用於定期評估您的工作負載,識別高風險問題,並記錄改進。
將滑鼠懸停在下面的每個區段上以進一步了解:
-
安全
當您在 AWS 上建置應用程式時,AWS 與您共同負責管理安全性與合規性。為了說明這項共同的責任,AWS 建立了共同的責任模型 (請參閱下圖)。這種責任的區分通常稱為雲端「本身」的安全與雲端「內部」的安全。
AWS 責任
負責雲端的安全,意味著 AWS 可以保護和保障在 AWS 雲端執行所提供服務的基礎設施。AWS 負責:
- 保護和保障 AWS 區域、可用區域和資料中心,以至建築物的實體安全
- 管理執行 AWS 服務的硬體、軟體和網路元件,例如實體伺服器、主機作業系統、虛擬化層和 AWS 網路元件。
客戶責任
客戶或在雲端進行建置的任何人都對雲端安全負有責任。使用任何 AWS 服務時,除了確保資料安全之外,您還負責正確設定服務和應用程式。
您的責任程度取決於 AWS 服務。某些服務要求您執行所有必要的安全設定和管理任務,而其他較抽象的服務則需要您只管理資料,以及控制對資源的存取權。
由於工作程度不同,客戶必須考量其使用哪些 AWS 服務,並檢閱保障每項服務所需的責任等級。除了適用的法律和法規之外,他們還必須檢閱共同的安全模型如何與其 IT 環境中的安全標準保持一致。
關鍵概念是客戶對其資料保持完全控制,並負責管理與其內容相關的安全保障。
這個簡短的雲端安全摘要僅介紹了核心概念。請瀏覽安全學習頁面,進一步了解有關 AWS 雲端安全的關鍵主題、研究領域和培訓機會。
安全
AWS 共同責任模式
安全學習
後續步驟
-
啟動您的第一個應用程式
-
AWS 免費方案
-
AWS Educate – 免費課程
-
啟動您的第一個應用程式
-
AWS 提供您可以快速組裝的建構區塊,以支援幾乎任何工作負載。透過 AWS,您可以找到完整的高可用性服務集,這些服務旨在協作建置複雜的可擴展應用程式。若要開始使用,請選擇下列其中一個主題,完成逐步教學課程,讓您不到 30 分鐘即可開始運作,或造訪 AWS Developer Center 探索其他教學課程。
-
AWS 免費方案
-
AWS 免費方案為您提供實作經驗,並且涵蓋各種 AWS 產品和服務。您可以借助 AWS 免費方案來測試工作負載和執行應用程式,進一步了解更多資訊,以及為組織建構合適的解決方案。
探索免費方案
探索超過 100 種產品,並開始使用免費方案在 AWS 上進行建置。根據使用的產品提供三種不同類型的免費優惠。按一下以下圖示以探索我們的優惠。附註:註冊程序需要用到信用卡,開始使用服務時才會收費。無須訂長約,隨時都能停止使用 AWS。
-
AWS Educate – 免費課程
-
AWS Educate 提供數百小時的免費、自主進度線上培訓資源,並提供在 AWS 管理主控台進行實作練習的機會。AWS Educate 專為充滿好奇心、雲端新手學習者而設計,提供簡單、無障礙的途經來學習、練習和評估您的雲端技能。無需信用卡或者 Amazon.com 或 AWS 帳戶。
簡單、無障礙存取
年僅 13 歲的學習者只需一個電子郵件地址,即可註冊 AWS Educate,可存取 AWS 主控台中的免費實作實驗室,即時學習、練習和評估雲端技能。無需信用卡。
專為初學者設計的內容
AWS Educate 提供數百小時的學習資源,專注於雲端學習新手。更喜歡透過影片學習還是在 AWS 雲端精進? 我們滿足每個人的需求。
就業聯繫
學習者可存取 AWS Educate 招聘欄來探索、搜尋和申請成千上萬與世界各地各種類型的組織合作的緊缺職位和實習機會。
建置您的網路
完成具有實作實驗室的課程,以獲得數位徽章並獲得加入 AWS 新興人才社群的邀請,這是您與其他職涯早期人才交流的地方。