最新テクノロジーに圧倒された一日! – AWS Summit Tokyo 2019 参加レポート

2019年6月12日/13日/14日の3日間、幕張メッセにてAWS Summit Tokyo 2019が開催されました!tyottoからは私・伊藤と山本が3日目だけ参加してAWSの最新情報を手に入れてきました。

今回はその内容や感想をまとめていきたいと思います!

基調講演

セッション内容

  • Marco Argentiさん
  • AWSの特徴の紹介
  • 新しいリージョンの紹介
  • AWSの強み
    • 多様なデータベース・ストレージ
  • クラウドへの移行のポイントはデータの転送
    • 11の異なる方法で移行を支援
    • AWS Snowballを使った物理的なデータの転送
    • AWS DataSyncを使ったネットワーク越しのデータの転送
    • 14万件のデータベース移行実績がある
    • AWS Database Migration Service
  • Windows on クラウドの事例
    • マイクロソフトの2倍以上のインスタンスをホスティングしている
  • ハイブリッドインフラ
    • インフラの一部にクラウドを取り入れた構成
  • AWS Direct Connect
    • オンプレの環境とAWSの閉域網を接続
  • AWS Outposts
    • AWSのサービスをオンプレの環境で実行
  • AWS Snowball Edge Compute Optimized
    • AWS Snowballにコンピューティングリソースがついたもの
    • ネットワークに接続されていない環境でも処理が行える
  • VMWare on Cloud
    • AWS上でVMWareを使うこともできる
  • マイクロサービスの思想
    • 個々が一つのことをそれぞれ担う
  • 200以上のEC2インスタンスタイプが存在する
    • ほぼ全てのワークロードとビジネスニーズに対応できる
    • 60TBのメモリを持つインスタンスもある
  • コンテナ
    • ECS
      • Fargateを使えば開発に集中できる
    • EKS
      • Kubernetesを動かせる
      • Kubernetesの進化にキャッチアップするので、安心して使うことができる
      • マクドナルドはEKSを使って一日あたり6,400万人のユーザー、1秒あたり2万以上のリクエストをさばいている
  • ゲストスピーカー:メルカリ
    • メルカリは他のECサービス等と比べて滞在時間が長い
    • AIで違反検知を行なっている
    • 今後はメルペイを行なっていく
    • Image Searchという画像で商品を検索できる機能の開発にAWSの機械学習リソースを活用している
    • 学習にEKSクラスタを利用している
    • 画像は全てS3に格納している
    • フルコンテナのワークロードを実現している
    • そのほかにもAIが出品情報を人間に代わって入力してくれる機能も開発中
    • AWSを使う理由
      • 信頼が日々積み重ねられ続けている
      • 無数の新機能がリリースされ続ける
      • Customer Obsessionが徹底されている
      • まるで自社社員のようにソリューションを考えてくれる
  • サーバーレス
    • インフラに注意を払わなくてよくなる
    • AWS Lambdaを活用している企業は非常に多い
  • AWS AppMesh
    • マイクロサービス間のコミュニケーションのルールづくり
  • Database Freedom
  • Amazon Aurora
    • MySQL/PostgreSQLに対応
    • 商用グレードデータベースの10分の1のコスト
    • AWS史上もっとも成長の速いサービス
  • その他のデータベースサービス群
    • KVSならDynamoDB
      • グローバルテーブルを使えば複数リージョン間でレプリケーションできる
      • ポイントインタイムリカバリを使ってバックアップを作成できる
      • フォートナイトで発生する1分あたり1億2千万件以上のイベントをDynamoDBで処理している
    • インメモリキャッシュならElastiCache
    • DocumentDB
    • グラフデータベースならAmazon Neptune
    • IoTのためのストリームデータ用ストアならAmazon TimeStream
    • ブロックチェーン元帳ならAmazon Quantum Ledger Database
  • ブロックチェーン技術
    • 分散型と集約型がある
    • 透過的でイミュータブル
    • ログの中でアペンドのみできる
    • 暗号的に検証可能
    • それぞれのトランザクションを検証できる
  • データレイク
    • S3を使うのが一般的
    • エクサバイトのデータを好みのサービスで分析
    • Athena/Redshift
  • IoT
    • AWSではエッジからクラウドまで提供
  • 機械学習
    • Amazon Comprehend
    • P3インスタンス
    • Amazon Elastic Inference
      • Amazon SageMakerインスタンスにGPUをアタッチして高速計算・コスト削減
    • AWS Inferentia
      • 低コストで高パフォーマンスを実現するよう設計された機械学習推論チップ
    • Inferentiaが載ったG4インスタンスが提供開始予定
    • SageMaker
      • Amazon SageMaker Ground Truthを使ってラベルづけ
      • ハイパーパラメーター最適化も行える
      • Amazon Forecastで時系列予測
      • Amazon Personalizeでパーソナライズを実現

感想

AWSはどんなサービスかの簡単な説明とリージョンの拡大状況から始まり、今熱いトピックが重点的に紹介された基調講演でした。

  • 大量のデータを入れられるデータレイク
  • スケーリングの課題を排除したサーバーレス/マネージドサービス
  • データレイクのデータを分析する機械学習基盤
  • 多様なアプリケーションをシンプルに構築できるコンテナとマイクロサービスアーキテクチャ

どれも不可能を可能にしてきたサービスで、聞いているだけでワクワクが止まりません…!

参加セッション1:Amazon Pinpoint でユーザーを掴んで離すな

セッション内容

  • 登壇者
    • アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテクト 塚田 朗弘さん
    • Amazon Web Services Principal Solutions Architect John Burryさん
  • 84%のユーザーは人として扱われたいと考えている
  • 51%のアプリケーションは期待に応えられていない
  • 通知の方法はユーザーに合わせてメール・プッシュ通知・ラインなど使い分けたい
  • サイロ(孤立)化した体験から連続性のある繋がった体験へ
  • Amazon Pinpointを使えば、ユーザーの行動イベントは1分でダッシュボードに反映される
  • ファネル分析を行うことができる
    • 分析を行うためには、アプリケーション側でイベントをPinpointに送信するように実装する必要がある
  • 改善効果が大きい場所を特定する
  • イベントベースの通知機能もある
    • イベントトリガーキャンペーン
    • 「商品を購入した人に通知」を実現することができる
  • Voiceチャンネル
    • Amazon Pollyを利用して合成音声で電話をかけられる
    • 新しい通知の形
  • メールを使った通知だと、意外と大変なことが多い
    • メールが届いているか?
    • スパムボックスに入っていないか?
  • 配信性能ダッシュボードで配信状況を確認することができる
  • 秒間最大送信数を制御することができる
    • プッシュ通知を一斉に送信しても、ユーザーが一斉にアプリを起動したときのトラフィックにバックエンドが耐えられないと厳しい
  • 一人のユーザーが一日に受け取るメッセージ数も制御できる
    • うざがられないように調整できる
  • プッシュ通知を配信しない時間帯を現地時間で設定することができる
  • インポート機能もある
    • 通知対象と通知内容のリストをPinpointに与えればシンプルな配信基盤としても利用できる
  • イベントストリームをエクスポートすることができる
    • Kinesisなり好きなサービスで利用することができる
  • Amazon QuickSightを使えばデータを可視化することができる

感想

プッシュ通知やメール配信は正直全然重要視できていなくて、単にユーザーに連絡を入れるための手段としか認識できていなかったと反省しました。

確かに通知がうっとおしいサービスは使わなくなるし、逆に通知がうまいサービスは使いたくなります。

「送る処理だけ叩いてあとは放置」にせず、そもそも通知は届いているのか、ユーザーのニーズに合った通知を送れているのかを見直したいと思います。

まずは、そこだけFirebaseを使ってしまっている通知機能をAmazon Pinpointに置き換えるところから着手します!

参加セッション2:Amazon DynamoDB Deep Dive

セッション内容

  • 登壇者
    • アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテクト 成田 俊さん
  • バーストキャパシティ
    • プロビジョニングされたキャパシティを超えるリクエストが来たときにキャパシティを自動的に増やして対応する機能
    • 過去300秒の間で未使用なキャパシティを使ってバーストすることができる
    • この機能の発動に以前は5分ほど要していたが、アップデートで機敏に反応するようになった
  • オンデマンドモードを使えば、完全なリクエスト課金で利用できる
  • データモデリングが非常に重要
  • GSI Overloadingという縦持ちの設計が効率的になることがある
  • まずはアプリケーションの要件を整理してクエリコンディションを表にしよう!

感想

最近DynamoDBをかなり触っているので、基本的な特性や使い方の説明は聞き流しました。DynamoDBが今の形になるまでのアップデートはどれも魅力的で、RDBと比較したときの弱点をどんどんカバーできるようになっていると感じました。

複数レコードの更新を同時に行い、一件でも失敗したら全体をロールバックするトランザクションや、強い整合性のある読み込みはすぐにでも利用していこうと思います。

DynamoDBを使ったアプリケーション開発を始めた頃にオンデマンドモードが発表されたので、苦手だったキャパシティユニットも考慮しなくてよくなったのでさらに開発スピードが上がりそうです。(もちろん、特性に応じて使い分けられるよう勉強は欠かせないですが!)

NoSQLを効果的に使うためのデータモデリングには日々苦戦してしまっています。RDBでは特に深く考えず正規化していけばよかったのですが、NoSQLはそうは行きません。アプリケーションの要件を整理して、どんなアクセスパターンがあるかを明確にした上でそれを満たす必要十分なスキーマを設計する必要があります。

頭を使ってクエリコストを下げる工夫をするのはとても楽しいので、効果的に使えるよう日々試行錯誤を繰り返そうと思います。

参加セッション3:【初級】クラウド環境におけるモニタリングの重要性について

セッション内容

  • 登壇者
    • アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテクト 大場 崇令さん
  • モニタリングとは?
    • 外形監視(シンセティック監視)
    • パフォーマンスモニタリング
      • 過負荷で応答できないなどの障害に気づく
    • リソースの監視
      • ディスクがいっぱいになっていないかなど
    • アプリケーションのパフォーマンスの監視
      • APM
      • 迅速な改善を行うため
      • モニタリングをしないとワークロードの課題が特定できない
    • セキュリティモニタリング
      • 不正操作がないか
      • 機密情報が流出していないか
  • 測定すべき項目
    • クラウド上でのアクティビティ
    • リソースの構成変更
    • サービスへの脅威
    • コスト
  • リソースの監視:CloudWatch Alarms
  • ログ監視:CloudWatch Logs
  • CloudWatch Logs Insight
    • 高速でインタラクティブなログ分析ツール
    • サンプルのクエリが用意されているのでそれを使うと効率的に習得できる
    • CloudWatch Dashboardに表示することもできる
  • APM
    • アプリケーションの性能管理
    • リクエストの実行状況/アプリケーションの問題/処理ごとのレスポンス
  • AWS X-Ray
    • リクエスト実行状況の確認
    • アプリケーションの問題の検出
    • アプリケーションからX-Rayのエンドポイントへデータを送る
    • X-Rayのデーモンをインストールしたり、SDKを使って自分で情報を送ったりする必要がある
    • サービスマップ
      • サービスのコールグラフを可視化
      • 各ノードの呼び出し結果を色で分類し、割合を円グラフにする

感想

監視を行うにしても、クラウドを使うからこそ発生するメトリクスがあるということは明確に認識できていませんでした。

確かに、検証用のインスタンスの停止し忘れで課金が発生したり、予想外にコストが高い操作等を実行し続けていて課金が発生したりすることは少なくないです。

それに対して適切な監視体制を整えて安心・安全に運用できたらとても開発しやすくなりそうです。

これからサーバーレスのバックエンドを中心に開発していくことになるので、マネージドサービス群のモニタリング方法についても重点的に調べていこうと思います。

登壇セッション:俺たちのAWS Loft Tokyo。実際に作ってみたらこうなった。

こちらは私・伊藤も登壇したセッションです。目黒のAWSオフィスがあるビルの17階にあるスタートアップとデベロッパー向けのコワーキングスペース「AWS Loft Tokyo」の紹介セッションです。

私はLoft利用者の中のスタートアップの枠として呼ばれました。

展示ブースめぐり

会場にはスポンサー企業のブースやAWS公式のブースが多数設置されており、講演を入れていない時間はそれらを見て回りました。

サイレントセッション

メイン会場での講演は「サイレントセッション」という初めて参加する形式で行われました。

サイレントセッションの案内スライド
(セッション内容は全て撮影・録音・録画禁止となっていました)

一つの大きな会場で同時に4つの講演を行い、参加者は手元の端末にイヤホンを接続して登壇者の声を聞きます。大きな会場で相当の人数が聞いているはずなのに、静まり返っているという状況はシュールな感じでした。

防音の壁を設置して会場を分けるのではなく、声を個別に届けるというアイデアは、(ここで生まれたものかはわかりませんが)非常に驚かされました。

ランチセッション

基調講演のあとのセッションは12:00〜12:40の時間帯でした。

お昼は!?と思いましたがびっくり、お弁当が配られ始めました!

ランチセッションという形式らしく、お弁当を食べながら聞いてOKということでした。

お堅いセミナー等ではとても考えられないですね。昼食を取りながら開発を続けるような人が少なくないようなITエンジニア業界にはこの形式は非常に受け入れやすいのかもしれません。

正直「ゆったりランチする暇があったら色々見て勉強したい!」と思っていたので、このスタイルは非常にありがたかったです。

感想

3日目だけ参加しましたが、非常に多くの学びがありました。

改めてITの可能性を感じて、より日々の作業のモチベーションが高まりました。

巨人の肩に乗らせていただいて、自分たちが作りたいサービスの実現に向かって一直線で進んでいけたらと思います!

AWS Startup SAsと記念撮影
来年は横浜だそうです