CardClash_CloudPractitioner_第11關_使用 CI/CD 的 AWS Device Farm的架構

目標

  • 類別: Game-Based Learning
  • 課名: AWS Card Clash – an Architecture Design Game
  • 關卡名稱(遊玩主題): CardClash_CloudPractitioner_第11關_使用 CI/CD 的 AWS Device Farm的架構

在這一關中,玩家將設計並實作一條高效的 CI/CD 管道,運用 AWS 雲服務自動建置、測試與部署 Web 應用程式。

核心任務是整合 AWS CodeStarAWS Device Farm,強化持續整合與交付流程,縮短開發週期並提升應用程式品質。

完成本關卡後,玩家將深入理解各種 DevOps 相關卡牌服務的功能與實作流程,並掌握如何以自動化方式進行測試與部署,打造敏捷且穩定的交付環境。

第11關的架構圖雛形

架構應用場景

使用 AWS CodeStar 和 AWS Device Farm 桌面瀏覽器測試服務,為 Web 應用程式建立持續整合和持續交付 (CI/CD) 管道。

相關卡牌的功能說明

Service Cards:

Amazon CloudWatch

  • 外觀: 
  • 簡介:
    • Amazon CloudWatch 在自動化儀表板中收集並視覺化即時日誌、指標和事件資料,以簡化基礎架構和應用程式維護。視覺化效能資料、建立警報,並關聯資料以了解和解決 AWS 資源中效能問題的根本原因。
  • 功能:
    • 在自動化儀表板中收集並視覺化即時日誌、指標和事件資料,以簡化基礎架構和應用程式維護。
  • 更多資訊: APM Tool – Amazon CloudWatch – AWS

AWS CodeBuild

  • 外觀:
  • 簡介:
    • AWS CodeBuild 是一種完全受管的持續整合服務,可編譯原始程式碼、執行測試並產生可供部署的軟體套件。當接到任務後就會立刻開始建置程式碼、執行測試並打包部署所需的檔案。無需額外維護伺服器,開發者可專注於寫程式,其餘交給 CodeBuild 自動處理。
  • 功能:
    • 全託管的建置服務,負責編譯程式碼、執行測試並生成可部署套件。
  • 更多資訊: Continuous Integration Service – AWS CodeBuild – AWS

AWS CodeDeploy

  • 外觀:  
  • 簡介:
    • AWS CodeDeploy 是一個完全受管的部署服務,可自動將軟體部署到各種運算服務,例如 Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Elastic Container Service (Amazon ECS)、AWS Lambda 和內部部署伺服器。你可以使用 CodeDeploy 自動化應用程式部署,無需進行容易出錯的手動操作。
  • 功能:
    • 一個完全託管的部署服務,可自動將軟體部署到各種運算服務。
  • 更多資訊: Automated Code Deployment – AWS CodeDeploy – AWS

AWS CodePipeline

  • 外觀:  
  • 簡介:
    • AWS CodePipeline 是一種完全受管的持續交付服務,可協助自動化發佈管道,以實現快速且可靠的應用程式和基礎架構更新。為軟體發佈流程建模,並減少設定或配置伺服器的需求。
  • 功能:
    • 一個完全受管的持續交付服務,可協助自動化發佈管道,以實現快速且可靠的應用程式和基礎架構更新。
    • 自動串接整合測試與部署流程的 CI/CD 發佈管道。
  • 更多資訊: CI/CD Pipeline – AWS CodePipeline – AWS 

AWS Device Farm

  • 外觀: 
  • 簡介:
    • 無需自行架設測試環境,即可在真實裝置與桌面瀏覽器上快速執行測試,以加快測試套件的執行速度。Device Farm 會產生影片和日誌,協助快速識別應用程式的問題。
  • 功能:
    • 一項應用程式測試服務,協助你在各種桌面瀏覽器和真實行動裝置上測試,來提升 Web 和行動應用程式的品質。
  • 更多資訊: Automated Testing Tools – AWS Device Farm – AWS

Amazon S3

  • 外觀: 
  • 簡介:
    • 全名為 Amazon Simple Storage Service。
    • Amazon S3 就像是檔案的數位倉庫,想像一個巨大的儲存設施,你可以根據需求儲存或取回物件。AWS S3 用途廣泛,所以你可以託管靜態網站、儲存備份、為大型資料集建立儲存庫。它就像擁有一個持續擴展的儲存空間,可以從任何地方存取,使其成為無數應用程式和服務的基礎建構區塊。
  • 功能:
    • 透過 API 存取有效、可擴充且安全的物件儲存。
    • 以高耐久與高擴充性著稱的物件儲存服務,是備份長期保存或版本控管的理想選擇。
  • 更多資訊: 雲端物件儲存– Amazon S3

Amazon SNS

  • 外觀: 
  • 簡介:
    • 全名為 Amazon Simple Notification Service。以 A2A 及 A2P 種方式傳送通知,A2A 在分散式系統、微服務和事件驅動的無伺服器應用程式之間提供高吞吐量、基於推送以及多對多的訊息傳遞。這些應用程式包括 Amazon Simple Queue Service (Amazon SQS)、Amazon Kinesis、Data Firehose、AWS Lambda 和其他 HTTPS 端點。A2P 功能可協助透過簡訊、推播通知和電子郵件向客戶傳送訊息。
  • 功能:
    • 以 A2A 及 A2P 種方式傳送通知。
    • 讓多個系統即時收到通知訊息,確保工作流程順利串接。
  • 更多資訊: 推送通知服務- Amazon Simple Notification Service (SNS) – AWS

Security Cards:

IAM

  • 外觀:
  • 簡介:
    • 全名為 AWS identity and Access Management ,在雲端中擔任安全守衛,它像是一個警覺的門衛,在俱樂部門口只允許授權的訪客進入。
  • 功能:
    • 控制對 AWS 資源的存取,定義誰能執行特定操作以及他們可以與那些資源互動。擁有一個可自訂的安全策略,可強制執行規則、防止未經授權的存取。
  • 更多資訊: 存取管理– AWS Identity and Access Management (IAM)

Others:

AWS CLI

  • 外觀:
  • 簡介:
    • 像是使用者的雲端運算中央控制中心,提供一個可視化所有使用者雲端資源及工具的控制面板。
  • 功能:
    • 使用者友善的網頁介面整合了管理、監控雲端環境以及跟雲端環境互動的流程,能瀏覽、調整設定以及觀察和維護使用者雲端資源的健康度及效能。
  • 更多資訊: AWS CLI

AWS Management Console

  • 外觀: 
  • 簡介:
    • 像是使用者的雲端運算中央控制中心,提供一個可視化所有使用者雲端資源及工具的控制面板。
  • 功能:
    • 使用者友善的網頁介面整合了管理、監控雲端環境以及跟雲端環境互動的流程,能瀏覽、調整設定以及觀察和維護使用者雲端資源的健康度及效能。
  • 更多資訊: AWS 管理主控台

AWS Cloud Formation

  • 外觀:  
  • 簡介:
    • 使用者的虛擬架構師,使用者定義所需資源及其關係, Cloud Formation 會根據這些定義建立模板,並處理繁重的部署工作。
  • 功能:
    • 以結構化的方式引導雲端環境的創建與管理,用於規劃雲端基礎設施的布局。協調雲端資源的佈建及配置,確保一致性並減少手動工作。
  • 更多資訊:  佈建基礎設施即程式碼– AWS CloudFormation 

最終架構圖樣貌

結論

在本關卡中,玩家深入學習了 AWS 提供的 DevOps 工具組,並實作一條自動化的 CI/CD 管道。透過整合 AWS CodeStarCodePipelineCodeBuildCodeDeployAWS Device Farm,玩家掌握了從開發、測試到部署的完整流程。

同時也學會使用 CloudWatch 進行監控、SNS 傳遞通知、S3 儲存測試結果。這些服務相互整合,不僅減少手動操作錯誤,也大幅提升部署效率與程式碼品質。

這一關的挑戰讓玩家熟悉持續整合與交付的實務技巧,為未來進一步打造具備可擴展性、穩定性與敏捷開發能力的雲端應用架構,奠定了堅實的基礎。

相關參考資料

如果想知道更多雲端新知,加入我們LINE@官方號

感謝您的填寫,將有專人與您聯繫