Course Code: microaws
Duration: 21 hours

Prerequisites:

學員應具備以下條件:

  • 具備Python基礎至中等程度的經驗。
  • REST API、HTTP和Web應用程式概念有基本理解。
  • 熟悉Linux命令列工具及Git的基本操作。
  • 建議具備Docker及容器化概念的基本理解,但非強制要求。
  • 熟悉雲端運算概念及AWS服務將有助於學習。

Overview:

此課程提供一項實務導向的介紹,讓學員學習在Amazon Web Services (AWS)上設計、建置、部署與管理雲端原生微服務。學員將探索微服務架構的原則、基於Docker的開發、事件驅動的溝通,以及使用Amazon SQS、SNS和EventBridge等服務實現的異步訊息傳遞。

課程涵蓋微服務生命週期的各個階段,包括使用Amazon ECS和AWS Lambda進行部署、透過Amazon API Gateway管理API、利用CloudWatch、AWS X-Ray和OpenTelemetry實現可觀察性,以及安全、CI/CD和基礎設施即代碼(Infrastructure as Code)的基本概念。透過實務演練,學員將建立並串連分散式服務,並獲得在現代微服務架構中使用核心AWS技術的實務經驗。

Course Outline:

微服務架構簡介 

  • 什麼是微服務?
  • 微服務的好處與挑戰
  • 與單體架構的比較

設定AWS Cloud9以進行微服務開發 — 快速設定

  • 建立AWS Cloud9環境
  • 配置開發環境
  • 將AWS服務串連至Cloud9

使用Docker建立微服務

  • Docker及容器化簡介
  • 建置與測試Docker容器
  • 使用Docker Compose進行多容器應用程式開發
  • 實務演練:在本地端建置多容器應用程式

事件驅動架構與異步訊息傳遞

  • 事件驅動架構原則及同步與異步通訊
  • 使用Amazon SQS進行佇列式訊息傳遞
  • 使用Amazon SNS進行發布/訂閱訊息傳遞
  • 使用Amazon EventBridge進行事件路由與分發
  • Kafka及Amazon MSK作為高吞吐量串流傳輸的替代方案—僅供概覽,選修
  • 實務演練:使用SQS和SNS在兩個服務間實現異步通訊,並透過EventBridge路由進行擴展

在AWS上部署微服務(ECS、Lambda及EKS)

  • 設定Amazon ECS以進行容器編排
  • 使用AWS Lambda部署微服務
  • Kubernetes及Amazon EKS作為替代編排選項的簡介—僅供概覽,與ECS進行比較
  • 微服務架構中的服務發現
  • 在AWS上擴展微服務
  • 實務演練:在ECS上部署並與EKS設定進行比較

使用AWS API Gateway管理API

  • 建立及管理RESTful API
  • 將API串連至微服務
  • API版本控制與節流
  • 實務演練:透過帶有版本控制的API Gateway公開微服務

可觀察性、監控、日誌記錄與分散式追蹤

  • 使用AWS CloudWatch進行監控
  • 設定Amazon CloudWatch Logs進行日誌記錄
  • 實現警報與通知
  • 分散式追蹤概念
  • 使用AWS X-Ray進行請求追蹤
  • 使用OpenTelemetry進行供應商無關的測量
  • 實務演練:使用X-Ray和OpenTelemetry對微服務進行測量,並追蹤跨服務的請求

CI/CD及基礎設施即代碼 

  • 微服務的CI/CD流水線概念
  • Terraform基礎設施置備概覽

微服務安全最佳實務

  • 實現IAM角色與策略
  • 使用API Gateway保護微服務
  • 加密傳輸中和靜止狀態下的數據

Sites Published:

United Arab Emirates - Microservices on AWS (with Python)

Qatar - Microservices on AWS (with Python)

Egypt - Microservices on AWS (with Python)

Saudi Arabia - Microservices on AWS (with Python)

South Africa - Microservices on AWS (with Python)

Brasil - Microserviços no AWS (com Python)

Canada - Microservices on AWS (with Python)

中国 - AWS上的微服务(结合Python)

香港 - Microservices on AWS (with Python)

澳門 - Microservices on AWS (with Python)

台灣 - AWS上的微服務(搭配Python)

USA - Microservices on AWS (with Python)

Österreich - Microservices auf AWS (mit Python)

Schweiz - Microservices auf AWS (mit Python)

Deutschland - Microservices auf AWS (mit Python)

Czech Republic - Mikroslužby na AWS (s Pythonem)

Denmark - Microservices on AWS (with Python)

Estonia - Microservices on AWS (with Python)

Finland - Microservices on AWS (with Python)

Greece - Microservices σε AWS (με Python)

Magyarország - Microservice-ek az AWS-en (Python használatával)

Ireland - Microservices on AWS (with Python)

Luxembourg - Microservices on AWS (with Python)

Latvia - Microservices on AWS (with Python)

España - Microservicios en AWS (con Python)

Italia - Microservizi su AWS (con Python)

Lithuania - Microservices on AWS (with Python)

Nederland - Microservices op AWS (met Python)

Norway - Mikrotjenester på AWS (med Python)

Portugal - Microserviços no AWS (com Python)

România - Microservices pe AWS (cu Python)

Sverige - Mikrotjänster på AWS (med Python)

Türkiye - AWS Üzerinde Mikro Hizmetler (Python ile)

Malta - Microservices on AWS (with Python)

Belgique - Microservices sur AWS (avec Python)

France - Microservices sur AWS (avec Python)

日本 - AWSでのマイクロサービス(Python使用)

Australia - Microservices on AWS (with Python)

Malaysia - Microservices on AWS (with Python)

New Zealand - Microservices on AWS (with Python)

Philippines - Microservices on AWS (with Python)

Singapore - Microservices on AWS (with Python)

Thailand - Microservices on AWS (with Python)

Vietnam - Microservices trên AWS (với Python)

India - Microservices on AWS (with Python)

Argentina - Microservicios en AWS (con Python)

Chile - Microservicios en AWS (con Python)

Costa Rica - Microservicios en AWS (con Python)

Ecuador - Microservicios en AWS (con Python)

Guatemala - Microservicios en AWS (con Python)

Colombia - Microservicios en AWS (con Python)

México - Microservicios en AWS (con Python)

Panama - Microservicios en AWS (con Python)

Peru - Microservicios en AWS (con Python)

Uruguay - Microservicios en AWS (con Python)

Venezuela - Microservicios en AWS (con Python)

Polska - Microserwisy na AWS (z wykorzystaniem Pythona)

United Kingdom - Microservices on AWS (with Python)

South Korea - AWS에서 마이크로서비스 구현 (Python 활용)

Pakistan - Microservices on AWS (with Python)

Sri Lanka - Microservices on AWS (with Python)

Bulgaria - Microservices на AWS (с Python)

Bolivia - Microservicios en AWS (con Python)

Indonesia - Microservices on AWS (with Python)

Kazakhstan - Microservices on AWS (with Python)

Moldova - Microservices pe AWS (cu Python)

Morocco - Microservices on AWS (with Python)

Tunisia - Microservices on AWS (with Python)

Kuwait - Microservices on AWS (with Python)

Oman - Microservices on AWS (with Python)

Slovakia - Microservices on AWS (with Python)

Kenya - Microservices on AWS (with Python)

Nigeria - Microservices on AWS (with Python)

Botswana - Microservices on AWS (with Python)

Slovenia - Microservices on AWS (with Python)

Croatia - Microservices on AWS (with Python)

Serbia - Microservices on AWS (with Python)

Bhutan - Microservices on AWS (with Python)

Nepal - Microservices on AWS (with Python)

Uzbekistan - Microservices on AWS (with Python)

US Government - Microservices on AWS (with Python)