[TOC]
先看看 AWS 官方怎麼說
首先到 AWS 的官網 查看認證內容,跟開發直接相關的有以下三種:
- Developer Associate
- Solutions Architect Associate
- Solutions Architect Professional
這邊不特別挑 DevOps Engineer Professional 是因為這個比較偏 CI/CD,每間公司的部屬方式跟工具也都不太一樣。
不過這 30 天我也會帶到 AWS Cloudformation 的內容,會有一些簡單的 CI/CD 展示。
關於 CI/CD 更進一步的認識,我會在之後的鐵人賽或是文章做分享
接著我透過 AWS 的培訓與認證官網 的考前準備,還有 說明各個認證要檢驗你那些能力跟考試內容。
Developer Associate
驗證內容: 是否能在 AWS 雲端上開發和維護應用程式。
對象: 具備開發和維護 AWS 應用程式一年以上實作經驗的個人
考試內容:
- 至少對一種高階程式設計語言具備深入的了解
- 了解核心 AWS 服務,使用服務,以及基本 AWS 架構最佳實務,包括 AWS 共同的責任模型、應用程式生命週期管理和開發處理中容器的使用
- 使用 AWS 開發、部署和對以雲端為基礎的應用程式偵錯,以及為無伺服器應用程式編寫程式碼的能力。
- 能夠識別 AWS 服務的關鍵功能,使用 AWS 服務 API、AWS CLI 和開發套件撰寫應用程式
- 能夠將對雲端原生應用程式的基本理解應用在撰寫程式碼
- 能夠對 AWS 上的程式碼模組進行編寫、維護以及偵錯
Solutions Architect Associate
驗證內容: 是否能在 AWS 設計和部署可擴展、高度可用和具容錯能力之系統。
對象: 具備一年以上實際使用 AWS 設計高可用性、符合成本效益、容錯和可擴展分散式系統的人員
考試內容:
- 使用 AWS 一年的實作經驗,包括使用運算、聯網、儲存和資料庫 AWS 服務,以及 AWS 部署和管理服務
- 在 AWS 上部署、管理和操作工作負載,以及實作安全控制和合規要求的經驗
- 熟悉使用 AWS 管理主控台與 AWS 命令列界面 (CLI)
- 了解 AWS Well-Architected Framework、AWS 聯網、安全服務以及 AWS 全球基礎設施
識別哪些 AWS 服務滿足指定技術要求和定義 AWS 型應用程式之技術要求的能力
Solutions Architect – Professional
驗證內容: 是否能在 AWS 上設計分散式應用程式和系統的進階技術能力和經驗。
對象: 具備兩年以上在 AWS 設計和部署雲端架構實作經驗的個人。
考試內容:
- 熟悉 AWS CLI、AWS API、AWS CloudFormation 範本、AWS 帳單主控台和 AWS 管理主控台、指令碼語言,以及 Windows 和 Linux 環境
- 能夠提供跨企業多個應用程式和專案的架構設計最佳實務指引,以及將商業目標對應至應用程式/架構要求
- 具備評估雲端應用程式需求的能力,以及針對在 AWS 上實作、部署和佈建應用程式,提供架構建議
- 能夠使用關鍵 AWS 技術 (例如 VPN、AWS Direct Connect) 以及持續整合和部署程序來設計混合架構
學習 Roadmap 總結
目前先以 Developer Associate 跟 Solutions Architect Associate 作為考試的準備目標
基本上要有幾個基本的 IT 能力:
- 至少會一種高階語言 ( JAVA, C#, Python, Javascript ....)
- 了解應用程式的生命週期及管理
- 有能力撰寫 Serverless 應用程式
- 了解開發過程中,容器上的使用
我們依不同實際使用情境的不同,在 AWS 也可能會有以下幾種架構的設計產生:
- 經典應用架構
- 容器化架構
- 高併發架構
- 大數據架構
- Serverless 架構
- 混合雲架構
- Devops 架構
我會以使用到的架構,來說明會用到的 AWS 服務
其他沒有用到的 AWS 雖然可能不在以上架構裡面
但是我還是一樣會拉出來說明例如: Cognito
鐵人賽完賽後我希望能擁有跟證照希望我們擁有的 AWS 的能力,如下:
- 了解 AWS Service API, CLI 來管理 AWS 服務,使用 SDK 來撰寫應用程式
- 識別 AWS 各個服務的關鍵特徵
-
AWS 責任共擔模式
- 使用 CI/CD Pipeline 去佈署應用程式
- 使用 AWS security best practices (例如使用 IAM Role 取代 secret 和 access key)
- 能編寫、維護、偵錯程式碼模組
了解其他雲的狀況
各個雲的服務取代
這部分我在 Azure 發現它很貼心地告訴你如果要從 AWS 移轉到 Azure 有哪些服務可以使用 (甚至從 GCP 移轉到 Azure 也有)
而且我覺得也寫得不錯,各位可以到參考資料尋找一下,另外我也有找到另外一張圖,方便你在有其他雲的基礎下去查有哪些對應服務
優缺點
優缺點可參考 sereno 的分析
就我認為 Azure 對於台灣很多公司使用 Windows Server 等相關 Solution 來說是有優勢的。畢竟是自家產品,上雲都有一些 Migration 工具。
AWS 則是因為最早推出市場,所以技術跟教學培訓資源相對較多以及完整。
GCP 在 AI 、 數據分析的能力無庸置疑,在大數據分析、機器學習的技術力相對較強。
架構參考
如果以架構中心來說,AWS 跟 Azure 都有提供,Google 的我找不到
我個人覺得 Azure 的架構中心寫的比較簡單易懂,比較適合我閱讀 (也有可能是我曾經看微軟的文件看習慣了?)
AWS 跟 Azure 的架構中心我就放在參考資料了
參考資料