AWS re:Invent 2019 Final News
終於來到了 AWS re:Invent 的尾聲,這周陸續推出了超過 30 項不同領域的新服務,除了現正熱門的 AI 及 Machine Learning 外,也有許多 Container 和 Database 的服務更新,並在最後幾天針對 Media 及 Mobile 宣布了方便大家使用的新服務。另外,為了讓大家可以更快速了解 AWS 的許多基礎概念,AWS 推出了 Amazon Builders’ Library,以類似部落格的方式呈現,由資深工程師及技術領導者和大家分享架構、軟體及操作等主題。現在就讓我們一起看看在活動的最後還推出了哪些新服務吧!
Media
Amazon Kinesis Video Streams with WebRTC 支援雙向即時媒體串流
以往,Amazon Kinesis Video Streams with WebRTC 只支援由裝置(devices)到 AWS 端,單向的即時媒體串流。現在,多個裝置可同時連接到同一個 Signaling channel,接收或傳輸媒體訊息到此頻道裡,以增加推播者與觀看者之間的互動。
參考來源至:Amazon Kinesis Video Streams adds support for real-time two-way media streaming with WebRTC
Mobile
Amplify 支援開發 iOS 與 Android 應用程式
以往使用 Amplify 開發 iOS 與 Android 手機應用程式都需要仰賴 Mobile SDK 來讓應用程式後端能和 AWS 服務整合,開發者通常需要花很多時間去研究相對應的 SDK 該如何使用並且常常會遇到很多困難。
經過此次更新後,開發者可以使用 Amplify Framework 來快速新增套件,讓開發者只需要一行指令便可以新增許多與 AWS 服物並與應用程式整合。
我們可以透過以下指令來安裝 Amplify。
$ npm install -g @aws-amplify/cli
$ amplify configure
開發者可以使用 AWSMobileClient.default.showSignIn()
來調用註冊流程,我們可以修改 AmplifyStorageSampleApp / Tabs / ProfileViewController.swift
此路徑下的 handleShowLoginOrSignUpButton()
檔案,便可以直接套用 Amplify 所提供的 UI 介面。
AWSMobileClient.default().showSignIn(navigationController: navigationController!, { (signInState, error) in
if let signInState = signInState {
print("Sign in flow completed: \(signInState)")
DispatchQueue.main.async {
self.setupViewController()
}
}
if let error = error as? AWSMobileClientError {
print("error logging in: \(error.message)")
}
})
參考來源至:Introducing Amplify for iOS and Android
Database
Amazon Neptune Workbench
使用者現在可以使用 Amazon Neptune Workbench,透過 Jupyter notebook 來查詢圖形。
在開始使用之前,使用者要先為現有或新的 Neptune clusters 創建 notebook instance,之後便可使用 Gremlin 或 SPARQL 的方式來查詢圖形,以快速獲得所需要的資料。此外,使用者也可以呼叫 bulk loader、執行 query plans 和 query profile 來查詢。
Jupyter notebook 是一個完全託管的互動式開發環境,具有即時程式碼和敘述性文字,與 SageMaker notebook instance 一樣的託管及計費方式。
參考來源至:Amazon Neptune Workbench provides in-console experience to query your graph
Container
Amazon EC2 A1 執行個體已支援 Kubernetes 使用 (Preview)
目前 Kubernetes 最新版本已經可以開始使用 A1 執行個體作為 cluster 了,但目前仍然不推薦直接改為 A1 作為 production 環境中的 cluster。
在開始使用 A1 執行個體時需注意幾點事項: 1. Worker node 皆需為任一種類的 A1 執行個體。 2. 僅支援 Kubernetes 1.13 與 1.14 版本使用。 3. 不支援從現有的 cluster 轉換成 A1(必須另外創建的 cluster)。
Amazon ECS 現在支援 Windows AD
ECS 新增支援 Windows gMSA,如此一來使用者便可以使用 Windows AD 對 Windows 容器進行身份驗證與授權。
使用者可以在 Task Definition 修改 dockerSecurityOptions
,可以參照此 Github 中的範例 Task Definition。
以下為範例:
"containerDefinitions": [
{
"name": "containermvc-app",
"image": "containermvc-web:latest",
"cpu": 512,
"entryPoint":["powershell"],
"dockerSecurityOptions": [
"credentialspec:file://gmsa_foouser1.json"
]
}
]
參考來源至:Amazon ECS now supports Active Directory Authentication using Windows Accounts gMSA
Networking & Content Delivery
Amazon API Gateway HTTP APIs(預覽版)
Amazon API Gateway HTTP APIs 提供更快、更便宜、更簡單的方式來建置 RESTful APIs!
在價格上,相較於原先的 RESTful APIs,HTTP APIs 降價了 70% 的價格(每 1 百萬個請求,只收費 1 美元);在建置的過程中,便可一併完成設定不同 Resources 和 Methods,並且支援 HTTP 及 AWS Lambda,使流程更加簡單。
也帶來全新 JWT Authorizers 原生支援 ODIC 驗證授權方式、透過 Console 做 CORS 客製化配置,以上新功能已經整合進 ApiGatewayV2 的 API 當中,且 SAM 和 CloudFormation 也原生支援!
參考來源至:Announcing HTTP APIs for Amazon API Gateway
Amazon Builders’ Library
Amazon Builders’ Library 是一個文章的集合,能夠讓使用者了解 Amazon 架構師在建構和操作 Amazon 網站和 AWS 軟體時所使用的基礎概念。內容由 Amazon 的資深技術領導者和工程師撰寫,涵蓋架構、軟體交付和操作的主題。
隨著 Amazon Builders’ Library 的推出,使用者可以直接訪問數據庫並了解 AWS 工作基礎的理論和應用,幫助使用者設計、構建、測量、運行和擴展組織內的系統。以下為已經發佈的文章案例:
- Avoiding insurmountable queue backlogs:由總工程師 David Yanacek 撰寫,文內探討 message queues 的好處及風險,並指出有可能發生的問題。最後提及如何使用 Queues 作為觸發 AWS Lambda 和 AWS IoT Core,以完成應用程式。David Yanacek 還共享了多種用於創建具有彈性、異步多租戶系統的模式,包括使用多個 Queues、Shuffle Sharding、Delay Queues、Back-pressure 等。
參考來源至:Check out The Amazon Builders’ Library – This is How We Do It!
AWS re:Invent 系列文章在這邊告一個段落,想回顧前幾天的服務的朋友們,可以參考 AWS re:Invent 2019 Midnight Madness, AWS re:Invent 2019 Andy Jassy KeyNote 以及 AWS re:Invent 2019 Day 2,也歡迎關注 eCloudture 粉絲團,隨時跟上最新消息唷!