ForgeVision Engineer Blog

フォージビジョン エンジニア ブログ

AWS Summit Tokyo 2019 G2-05 「KDDIのチャット・メッセージングサービスを支える技術」レポート

こんにちは、クラウドインテグレーション事業部の 山口と尾谷 です。

先日(6/14)、AWS Summit Tokyo 2019 が大盛況のなか閉幕しました。

吸収すべきことが山盛りで、若干消化不良だったので2人でセッション内容を振り返りながらセルフ re:Cap した内容を皆さんに共有していこうと思います!

ユーザ事例を見聞きする機会は限られていますので、どうせなら多くの方に感想を共有できればということからこの記事を書いています。

f:id:otanikohei:20190615163216p:plain

[G2-05] KDDIのチャット・メッセージングサービスを支える技術

セッション詳細

  • セッション番号:[G2-05]
    開催日時:2019/06/13 14:00-14:40
    タイトル:KDDIのチャット・メッセージングサービスを支える技術
    会場:G
    カテゴリー:スポンサーセッション
    スピーカー:KDDI株式会社 プラットフォーム開発本部様

KDDI のソフトウェア開発に関する取り組み

KDDI様というと auケータイのイメージが強く、ソフトウェア開発とは縁遠いイメージがありますが、アジャイル開発を取り入れないといけない部分については積極的に内製化に取り組んでいるとのことでした。

また、企画部門、開発部門、運用部門 が一体となってサービス開発と運営に取り組んでいるとのことで、連携力の強さも感じました。

また通信サービスだけでなく、オンラインショッピングや金融というサービスでもお客様との接点を増やしていっているとのことでした。

KDDI とお客様とのタッチポイント(接点)の移り変わり

f:id:otanikohei:20190615170649p:plain

Netscape

一昔前は、お客様との接点が電話やインターネットブラウザ中心でしたが、現在では、スマホにインストールしたアプリや iPhone の iMessage からカスタマーサポートやエネルギー関連、ショッピングに繋がる仕組みを利用したやり取りに変わってきているとのことでした。以下サービスを紹介されていました。

  • Wowma!
  • au WALLET
  • auでんき
  • auスマートパス

Apple Business Chat を活用

私も iPhone ユーザで、iMessage はもっぱら知り合いや個人間でメッセージや写真をやり取りするコミュニケーションツールのイメージが強いのですが、お客様サポートと連携できるようになっているとのことです。更に、Apple Business Chat は電話番号を利用したサービスのため、本人認証が必要な場合でもスムーズな対応を可能にしているとのこと。

そして、この技術は日本企業で初の実装ということで最先端を感じることができました。

news.kddi.com

ログイン画面では bot が大活躍

ログイン画面でアカウント情報が分からなくて迷うユーザを支援するために、サーバーレスアーキテクチャで構築されたチャットが活躍している事例を紹介されていました。印象に残った AWSサービスは以下です。

  • AWS WAF
  • Lambda
  • DynamoDB
  • Step Functions
  • CloudFront

認証bot が iOS のバージョンによって対応できない場合があるが、Lambda で分岐をさせているという工夫も解説されていました。

サービスイン直後にトラブル発生

2017年にサービスインした際に、ログイン画面で滞留するユーザが想定以上に多くbotリソースへの悪影響が発生。また、bot から人(アドバイザー)へ引き継ぎに手間がかかり対応遅延が発生したそうです。

具体的には、アドバイザーがログインで困っているお客様の対応をするために、まず誰がログインで困っているのか探さないといけない状態が発生していたとのこと。

この状況を解決するために、Lambda を定期的に周回させて滞留する会話を発見するロジックを開発。その結果、アドバイザーは本来の業務であるお客様の案内に専念できる状態にできたそうです。

上記ロジックは新人が2週間で開発したとのことで、サーバレスアーキテクチャ開発のフットワークの軽さを感じました。解決策のみに集中できるのがマネージドサービスの強みですね。

Lambda の起動方法を変更して遅延を解消

ユーザの質問を捌くシステムを構築した当初は、DynamoDB のトリガーで Lambda を起動するシステムを構築していたが、DynamoDB のシャード数(同時実行数)の制限にひっかかり、大量のトラフィックを捌けない状態が発生。

そこで、Application Load Balancer のトリガーで Lambda を起動するシステムに改修して同時起動数を無限に増やせる状態にしたそうです。

Application Load Balancer のトリガーに Lambda が使えるようになったのはついこの前のことですので、最新の技術を積極的に取り入れていらっしゃるところに攻めの姿勢を感じました。

aws.amazon.com

AWS正式採用への道のり

後半は、オンプレミスが中心だった KDDI 社内に、どのようにしてAWS クラウドをデファクトスタンダードにしていったか?苦労話も含めて紹介されていました。

  • 勝手にAWSを使う "シャドーIT" 社員が増え始めた
  • 社内のシャドーITを抑制し、AWSを安全に利用させるにはどうすればよいか?悩んだ
  • 社内で正式に採用する。キチンとガバナンスを通す活動を続けた
  • 社内の基準改定 → 新しい規定の新設 → 統制機能を一新 → AWS社内正式採用

セキュリティ規定がオンプレミスベースだったので「ラックに鍵をかける」などクラウドでは不要な規定を AWS の基準に合うように一つずつ改定していったそうです。

地道な積み重ねがあって、実現したのですね。

なお、KDDI 社内で公的に使える AWSクラウド のこと(規定に沿ったもの)を「認定AWS」と呼ばれているそうです。

 

セッションとは直接関係無いかも知れませんが、KDDIさん有志のTech-onというコミュニティイベントも定期的に開催されているようです。


Tech-onは、「自分が学ぼうとしていることを最前線の現場で使い、幾多の失敗を重ね、解決の困難な課題で悩んでいる「同じ技術者達」といかに知り合い、交流を深め、その知見を共有していくこと」を目的に立ち上げられたコミュニティとのこと。

 

次回は、7月8日に開催されるのでそちらも参加してみたいと思います。

 

【増枠】Tech-on MeetUp#07「OpsとDevの蜜月な関係」|IT勉強会・イベントならTECH PLAY[テックプレイ]

 

以上、AWS Summit Tokyo 2019 re:Cap KDDIのチャット・メッセージングサービスを支える技術 でした。

最後までお読み下さり、ありがとうございました。