re:Invent 2017 サーバーレス関連エントリーまとめ #reinvent
2018年1月4日更新
本記事では re:Invent 2017 のサーバーレスに関するセッションをまとめています。今年もサーバーレス熱いです。すごく細かいところをチューニングできるようになったかと思えば、 Aurora Serverless や Amazon Neptune といったサービス単位での発表もあったり、目が離せません。
新サービス: Amazon Aurora Serverless
インスタンスのプロビジョニングが不要なタイプの Aurora が発表されました。 このサービスをすぐにサーバーレスアプリケーションに組み込めるか?については、検証が必要だと考えています。
新サービス: Amazon Neptune
フルマネージドのグラフデータベースサービス、 Amazon Neptune が発表されました。DynamoDB ではどうしても実現できなかった(または、どうしても大変になる)複雑な検索やリレーションシップの探索などを行えるため、サーバーレスに関する検索のソリューションが一気に進むかもしれないと思っています。
- 【速報】AWSのフルマネージドグラフデータベースサービス、Amazon Neptune が発表されました!
- 【レポート】NEW LAUNCH! Amazon Neptune Workshop : SPARQL と Gremlin を使って Amazon Neptune からデータを取得してみよう #reinvent #DAT342
- 【レポート】Deep Dive:Amazon Neptune #reinvent #DAT318
新サービス: AWS AppSync
クロスプラットフォームでデータのリアルタイム同期を行うために、GraphQL をベースとしたアプリケーションのバックエンドを提供してくれる新サービスが発表されました。 AppSync は、クライアントアプリケーションでリアルタイム処理やオフライン処理などの要件をシンプルに満たせるようになるため、モバイル界隈での盛り上がっていますが、GraphQL のバックエンドがマネージドサービスとして提供されたことを考えると、サーバーサイドにとっても大きな発表です。APIはサーバーレスなフルマネージドサービスとして提供されるため、運用面でのコスト削減を期待できます。GraphQL APIを提供するWebサービスはいくつかありますが、それを自分のサービスに組み込み提供することが簡単になったと思うと、興奮を抑えられません。
セッションの中には、早速コードを交えながら AppSync の動きを一緒に見るセッションもありました。
- 【速報】クロスプラットフォーム開発のための GraphQL バックエンド AWS AppSync が発表されました! #reinvent
- 【レポート】NEW LAUNCH! AWS AppSyncとGraphQLによるリアルタイム&オフラインアプリケーションの開発 #reinvent #MBL404
- 【レポート】AWS AppSync と GraphQL によるデータドリブンなアプリケーション #reinvent #MBL402
- 【新サービス】マネージドGraphQLサービス「AWS AppSync」のプレビュー版を使ってみた #reinvent
新サービス: AWS Cloud9
以前買収していたCloud9が、AWS公式サービスとなり新登場しました。ブラウザベースのIDEで開発したあと、AWSクラウドへデプロイできます。サーバーレスの要であるLambdaへの対応が嬉しいです。ブラウザベースを活かした。複数のユーザーで同時に編集する機能もあるようなので、サーバーレスアプリケーションのデファクトスタンダートとなることを期待しています。
- 【速報】AWS Cloud9がリリースされました! #reinvent
- 【速報】Lambdaファンクションを共同編集!AWS Cloud9を使ってコラボレーション開発をしてみた #reinvent
- 【速報】AWS Cloud9を使ってLambdaのテストをしてみた #reinvent
- 【レポート】AWS Cloud9 の紹介 #reinvent #DEV320
- 【小ネタ】AWS Lambdaの管理コンソールがCloud9 Editor対応したようです #reinvent
- Sapporo.aws 第1回:「AWS Cloud9でLambda関数を書こう!」で発表しました #reinvent
- AWS Cloud9 で Lambda 関数の作成・実行・デバッグ・デプロイをやってみる #reinvent
- AWS Cloud9 で API Gateway がらみのテストをする #reinvent
- AWS Cloud9からSAM Localをためしてみる #serverless #adventcalendar #reinvent
新サービス: AWS Serverless Application Repository
ソースコードは GitHub、 Dockerイメージは DockerHub と同様、サーバーレスアプリケーションは Serverless Application Repository という時代が来るかもしれません。イメージとしては、Serverless Application Model (SAM) で作成したアプリケーションを登録しておけば、Lambda Function 作成時に Serverless Application Repository から選べるようになる、というもののようです。公開プレビューが待たれます。
- 【速報】サーバーレスアーキテクチャを丸ごと提供!AWS Serverless Application Repositoryが発表されました! #reinvent
- 【レポート】NEW LAUNCH! AWS Serverless Application Repository #reinvent #SRV215
新サービス: AWS Fargate
コンテナの管理に、EC2インスタンス管理が不要になりました。ECSから一歩進みました。Lambdaの使い勝手とECSの柔軟性を兼ね備えた、素晴らしいサービスだと思います。一回あたりの処理時間が長いバッチ処理などは、Lambda の設定を工夫して使うよりもシンプルになるかもしれません。Lambdaとの使い分けについては、実際に試してみてまた議論したいと思います。
- 【レポート】NEW LAUNCH! AWS Fargateの紹介 #reinvent #CON214
- 【新サービス】AWS Fargate のネットワークについて考察してみた #reinvent
- 【新サービス】AWS FargateのコンテナをECS CLIからデプロイしてみた #reinvent
- 【新サービス】AWS FargateのコンテナをECS CLIからデプロイしてみた #reinvent
- 【レポート】Deep Dive into AWS Fargate #reinvent #CON333
- AWS FargateをAWS CLIで扱いつつ、従来のAPIとの差分を調べた #reinvent
新サービス: AWS Media Services
動画配信に必要な機能を提供するサービス群です。重いワークロードの代表格である動画配信も、このサービスを使えば多くの部分をサーバーレスにできそうです。
- 【レポート】NEW LAUNCH! AWS Elemental MediaTailorを使ったFuboのサーバサイド広告挿入によるコンテンツ収益化方法を学ぶ #reinvent #CTD206
- 【レポート】 AWSが世界で最も高度なメディアワークフローをどのように可能にしたかを学ぶ #reinvent # CTD202
- 【レポート】NEW LAUNCH! OwnZonesがAWS Elemental MediaConvertを使用してメディアカスタマがワールドクラスのVOD体験を提供できるようにした方法 #reinvent #CTD203
- 【レポート】NEW LAUNCH! Pac-12がAWS Elemental MediaStoreをどのように使っているか、またAWS Elemental MediaLive/MediaPackageで動画ワークフローをどのように探索するのかを聞く #reinvent #ctd204 | Developers.IO
- 【やってみた】AKIBA.aws 第3回 特別編をAWS Media Servicesを使ってこっそりライブ配信してみた #reinvent #akibaaws
- 【やってみた】AWS Media Servicesを使ったHLSライブストリーミングの配信部分にAmazon CloudFrontを使ってみた #reinvent
- 【やってみた】AWS Media ServicesでMPEG-DASHのライブ配信をしてみた #reinvent
- 【やってみた】AWS Elemental MediaLiveとAWS Elemental MediaStoreでライブ配信してみた #reinvent
- 【やってみた】AWS Elemental MediaLiveの情報をAWS CLIで取得してみた #reinvent
新サービス: Amazon Transcribe
音声データから文字起こしを行う、機械学習を応用したフルマネージドサービスです。プレビュー期間中は英語とスペイン語に対応しています。このような高度なサービスは、運用はもちろん、開発や構築も大変です。それを全てフルマネージドサービスとして提供されるので、開発者はより簡単に高度な音声関連機能を組み込めます。
新サービス: Amazon Comprehend – Continuously Trained Natural Language Processing
テキストデータを解析してくれる、機械学習を応用したフルマネージドサービスです。分析した結果は、感情抽出やポジティブ/ネガティブなど様々な側面から、APIとして取り出すことができます。Amazon Transcribe 同様、英語とスペイン語に対応しているとのことです。
- Amazon Comprehend を調べてみた #reinvent
- Amazon Comprehendでサクッと自然言語処理をやってみる #Comprehend #reInvent
- Amazon ComprehendのTopic modelingを使ってみる #reinvent
- Amazon ComprehendのAPI explorerを使ってみる #reinvent
新サービス: Amazon MQ
ActiveMQ 互換のメッセージブローカーサービスです。SQSとの使い分けが気になっていたのですが、弊社横田の記事でマイグレーションについての言及を読み、納得しました。
- Amazon MQによるエンタープライズシステムのクラウドマイグレーション #reinvent
- ActiveMQからAmazon MQへの移行はどれほど簡単なのか #reinvent
- 【レポート】Amazon MQの紹介:ActiveMQのマネージドメッセージブローカサービス #reinvent #ent228
新サービス: Amazon Kinesis Video Streams
動画の分析や機械学習などを目的としてAWS上で簡単かつ安全にストリーミングできるようになるサービスです。他のサービスやアプリケーションと連携できます。例えば、Amazon Rekognition Video との統合、 Apache MxNet、TensorFlow、OpenCV といった ML フレームワーク向けライブラリとの統合などです。
- 【速報】ストリーム映像の取り込みサービス Kinesis Video Streams が発表されました! #reinvent
- Amazon Kinesis Video Streamsを使ってストリーム映像をAWS上に流してみる【Raspberry Pi】– ClassmethodサーバーレスAdvent Calendar 2017 #serverless #adventcalendar #reinvent
- Amazon Kinesis Video Streamsの映像をAmazon Rekognition Videoで解析する #reinvent
- Amazon Kinesis Video Streamsを使ってストリーム映像をAWS上に流してみる【MacBook Pro】– ClassmethodサーバーレスAdvent Calendar 2017 #serverless #adventcalendar #reinvent
AWS Lambda に関するエントリー
.NET core 2.0とGolang対応
ついに来ましたね。特に Golang は心待ちにしていた人も多いのではないでしょうか。
最大メモリサイズが 3GB に
もともと1.5GBが上限だったものが、3GBまで利用可能になりました。
ClodTrail での実行ログサポート
CloudTrailも収集できるログがどんどん増えています。セッションの中には、CloudTrail のログを ElasticSearch Service に流して Kibana でよく使われるAPIを分析する、をやっているものもありました。
CloudWatch Logs への導線が改善
たしか前はロググループへのジャンプだったと記憶しています。ログが出力されているストリームへ直接ジャンプできるようになったので、実行ログの確認作業が捗るようになりました。
Amazon API Gateway に関するエントリー
Canary Release Deployment をサポート
API Gateway に新しく追加された Canary Release Deployments を試しました。これまでは、本番ステージへ適用する前にテストステージなどで十分に確認したあと、100%置き換えることしかできませんでした。 Canary がサポートされたことによって一部のリクエストのみ振り分けられるようになった上、その結果を CloudWatch で確認することが可能になりました。A/B テストができるようになりましたので、素早いデプロイと効果測定が必要になるモバイル領域で活躍してくれそうですね。
API Gateway VPC Integration
PC内のリソースをバックエンドに指定することができるようになりました。ネットワークに関して、リージョン間ピアリングや PrivateLink エンドポイントなど、今回の re:Invent でさらに進化していますね。
サーバーレスアーキテクチャ に関するエントリー
【レポート】マイクロサービスをサーバーレスでデザインしよう #reinvent #SRV310
マイクロサービスアーキテクチャを構築する上で必要となる要件を整理しつつ、それに対してサーバーレスがどのように応えるのかを、AWSのサービス群を実装例として示していました。 Lambda Function のウォームスタートとコールドスタートそれぞれに対する性能向上の対策が面白かったです。
【レポート】RET304: Amazon Freshを強化するサーバーレスアーキテクチャを採用してリテール顧客へ迅速に対応 #reinvent #RET304
Amazon Fresh が採用しているサーバーレスアーキテクチャを紹介するセッションです。こうしてみると、AWSの各サービスの役割や得意なことを理解して適切に配置すれば、期待通りののパフォーマンスを発揮してくれるという、良い例ですね。
【レポート】Amazon CloudFrontとAWS Lambda@Edgeの紹介 #reinvent #CTD201
CloudFront は、ユーザーリクエストの窓口として、様々な体験を提供する窓口になります。このセッションでは Lambda@Edge を利用して、ユーザー体験をカスタマイズする例を紹介しています。また、コンテンツの配信および高速化のためのキャッシングについても解説があります。サーバーレスアプリケーションでは前面に CloudFront を置くことも多いため、どのようなことができるのか知っておくのは良いことです。
【レポート】サーバーレスアーキテクチャ:30分で30連発 #reinvent #SRV213
Lambda をベースとした、サーバーレスアーキテクチャの構成例が基本から30個紹介されました。知っているものもありましたが、私はストアドプロシージャから Lambda Function をコールできることは知りませんでした。「Lambda ってどういうふうに呼べたっけ?」という疑問が湧いたときに、思い出すきっかけとして本セッションの内容はうってつけだと思います。
【レポート】サーバーレスでの画像処理プラットフォーム構築ワークショップ #reinvent #ARC326
Rekognition + ElasticSearch Service + Kiabbana な画像検索処理を実装しました。楽しかったです。と同時に、ここまでのことがサーバーレスでできるのだな、とわかって驚きました。
まとめ
これだけのことが新しくサーバーレスアプリケーションでできるようになると思うと、とてもワクワクしますね。Developers.IO の記事は常に追加・更新されます。これからは、 re:Invent で発表された内容を試してみた、新サービスを使って作ってみた、といった記事が多数上がると思いますので、ぜひウォッチしてください。re:Invent2017については、以下ポータルに整理されています。こちらもご参照ください。