本指南可協助遊戲開發人員實作一個編碼化、模組化且無伺服器的分析管道,從遊戲用戶端和後端服務擷取遙測事件。指引涵蓋近乎即時分析和批次分析使用案例。使用 AWS Cloud Development Kit (AWS CDK),您可以在多個 AWS 帳戶和區域中持續整合和部署管道。此外,本指南中的無伺服器服務提供了具成本效益的遊戲開發方法。部署此指引範本後,您就可以準備好收集和查詢玩家資料、收集洞察以及改進遊戲。
請注意:[免責聲明]
架構圖
-
架構
-
DataOps CI/CD
-
架構
-
此架構圖概述了現代化的 DataOps 管道。對於 DataOps 持續整合和持續部署 (CI/CD) 管道,請開啟其他標籤。
步驟 1
從資料生產者將遊戲遙測事件傳送到 AWS 雲端。步驟 2
使用 Amazon Kinesis Data Streams 擷取遊戲中的串流資料,並使用 Amazon Kinesis Data Firehose 和 Amazon Managed Service for Apache Flink 幾乎即時處理資料。步驟 3
提供具有 Amazon API Gateway 的 REST API 端點,以註冊資料生產程式。將遊戲組態和 API 存取金鑰儲存在 Amazon DynamoDB 中。步驟 4
在 Amazon Managed Service for Apache Flink 中擷取串流事件資料。在 Amazon CloudWatch 中發布自訂指標。步驟 5
從 CloudWatch 中的自訂指標建立操作儀表板和警報。步驟 6
使用 Amazon Simple Notification Service (Amazon SNS) 向資料取用程式傳送重要警報通知。步驟 7
使用 Kinesis Data Firehose 處理批量遙測資料。步驟 8
將原始和處理的遙測資料儲存在 Amazon Simple Storage Service (Amazon S3)。步驟 9
擷取、轉換和載入 (ETL) 儲存的遙測資料,以便利用 AWS Glue 進行分析。步驟 10
使用 Amazon Athena 互動式查詢和分析準備好的資料。步驟 11
使用 Amazon QuickSight 視覺化商業智慧 (BI) 資料。步驟 12
使用持續整合和持續部署 (CI/CD) 管道,部署並操作編碼化應用程式。步驟 13
從遊戲遙測資料提供 LiveOps BI、資料視覺化和機器學習 (ML) 功能,以產生關鍵業務洞察。 -
DataOps CI/CD
-
此架構圖顯示了 DataOps CI/CD 管道。如需現代化的 DataOps 管道概述,請開啟其他標籤。
步驟 1
使用 AWS Cloud Development Kit (AWS CDK) 來建置並測試編碼化基礎架構,以合成 AWS CloudFormation 範本。步驟 2
當基礎架構程式碼變更提交至 AWS CodeCommit 儲存庫時,啟動 CI/CD 管道。步驟 3
將已編譯的基礎架構資產,例如 Docker 容器和 CloudFormation 範本,存儲在 Amazon Elastic Container Registry (Amazon ECR) 和 Amazon S3 中。步驟 4
使用 CloudFormation 堆疊將整合和系統測試的基礎架構部署到品質保證 (QA) AWS 帳戶中。步驟 5
執行自動化測試指令碼,以驗證已部署的基礎架構在 AWS CodeBuild 專案中是否正常運作。步驟 6
使用 CloudFormation 堆疊將測試的基礎架構部署到生產 (PROD) AWS 帳戶中。
開始使用
Well-Architected 支柱
AWS Well-Architected Framework 可協助您了解在雲端建立系統時所做決策的利弊。該架構的六根支柱讓您能夠學習設計和操作可靠、安全、高效、經濟高效且永續的系統的架構最佳實務。使用 AWS Well-Architected Tool (在 AWS 管理主控台中免費提供),您可以透過回答每根支柱的一組問題來針對這些最佳實務審查您的工作負載。
上方的架構圖是一個考量到 Well-Architected 最佳實務而建立的的解決方案的範例。若要完全實現 Well-Architected,您應該盡可能地多遵循 Well-Architected 的最佳實務。
-
卓越營運
AWS 開發人員工具,特別是 CodeBuild、CodeCommit 和 AWS CodePipeline,可以將整個架構的 CI/CD 作為編碼應用程式啟用。這意味著所有操作都可以透過程式碼變更執行。此外,CI/CD 管道會在 QA 階段對這些變更執行自動化系統測試,以協助確保可在部署到生產前預先檢查任何潛在的故障。每個架構元件的作業記錄將與 SNS 通知一起傳遞到 CloudWatch,以提醒管理員有關任何部署和操作問題。
選擇這些工具不僅是為了讓操作員深入了解架構,還可以在後續變更之外,對指引的初始部署提供細微控制。這意味著操作員可以監控變更、確認它們已準備好生產,並撤回任何影響生產的變更,而不會影響其使用者。
-
安全性
每個遙測提供者 (資料生產程式) 都會收到一個驗證金鑰 (儲存在 DynamoDB 中),以存取遙測資料並將其傳送到 API 閘道,這意味著只有授權的資料出產程式才會獲得存取金鑰。提供用來儲存驗證金鑰的單一來源,讓您可以依賴相同的驗證程序來管理指引部署的 API 和 AWS 資源。後端應用程式可以使用臨時 AWS 憑證,安全地與指引 API 互動。
此外,透過 API 閘道傳送的任何遙測事件都會在傳輸過程中加密,而且最終儲存在 Amazon S3 中的任何遙測事件資料都會在靜態時加密。
-
可靠性
本指引提供了兩個級別的恢復能力:區域層面和全球層面。架構的所有區域元件都使用 AWS 無伺服器功能。無伺服器功能有助於確保每個服務繼續跨多個可用區域 (AZ) 提供所需的功能,前提是沒有區域故障。如果發生區域故障,您可以將指引重新部署到另一個 AWS 區域,甚至另一個 AWS 帳戶。
-
效能達成效率
無伺服器元件 (例如 API 閘道) 有助於讓本指引具有足夠的彈性和可擴充能力,以滿足遙測提供者的效能需求。此外,Amazon Kinesis 為串流分析提供近乎即時的效能。此外,將指引作為編碼應用程式實作,允許使用者透過自動添加 DEV、TEST 和 QA 階段的功能來進行使用者實驗。
-
成本最佳化
AWS Glue 允許自動網路爬取資料結構描述,從而抵消建構正確的結構描述進行分析的耗時做法。此外,將指引結構化為編碼應用程式可讓您將正確的模組與各種使用案例匹配,從而有助於簡化成本。
-
永續發展
Amazon S3 和 AWS Glue 都支援無伺服器、事件驅動的資料擷取模式。AWS Glue Jobs 將基礎架構管理和最佳化責任轉移至 AWS。Amazon S3 實作資料生命週期原則和高效的檔案格式化與壓縮,因為所有擷取的資料都以 Parquet 格式儲存。由於資料以壓縮的 Parquet 格式進行轉換並儲存,因此每個查詢的資料掃描都會減少,這意味著 Guidance 工作負載將需要更少的運算資源。
相關內容
Notorious Studios 在 AWS 上建置了一個可擴展的遊戲分析管道來進行玩家研究
免責聲明
範例程式碼、軟體庫、命令列工具、概念驗證、範本或其他相關技術 (包括我們的人員提供的任何上述技術) 依據 AWS 客戶協議或您與 AWS 之間的相關書面協議 (以適用者為準) 作為 AWS 內容提供給您。您不得在您的生產帳戶、生產或其他關鍵資料中使用此 AWS 內容。您有責任根據您的特定品質控制實務和標準,依生產級用途來測試、保護和最佳化 AWS 內容 (如範例程式碼)。部署 AWS 內容可能會因建立或使用 AWS 收費資源 (如執行 Amazon EC2 執行個體或使用 Amazon S3 儲存) 而產生 AWS 費用。
本指引中對第三方服務或組織的參考並不意味著 Amazon 或 AWS 與第三方之間的認可、贊助或聯繫。AWS 的指引是技術起點,您可以在部署架構時自訂與第三方服務的整合。