NTTコミュニケーションズ株式会社:サーバーレス ソリューションで新サービスを少人数、低コストにアジャイル開発
Google Cloud Japan Team
NTTコミュニケーションズが 2019 年よりサービスを提供しているビジネス コミュニケーション サービス『COTOHA Voice DX Basic』は、長年にわたって音声サービスを提供してきた同社のノウハウと、NTT グループ 40 年にわたる研究成果の 1 つである自然言語処理技術や音声処理技術を活用した『COTOHA API』を融合させる形で生み出した、新たな音声 DX のかたちです。その開発、運用に Google Cloud がどのように活用されているのかを聞いてきました。
利用している Google Cloud ソリューション:
サーバーレス コンピューティング
利用している Google Cloud サービス:
App Engine、Firestore、BigQuery、Cloud Storage、Security Command Center など
App Engine でサービス開発を内製化
NTTコミュニケーションズのビジネス コミュニケーション サービス『COTOHA Voice DX Basic(以下、Voice DX)』は、同社が誇る『COTOHA API』を駆使してテキストと音声を相互変換し、電話を通じて遠隔コミュニケーションを実現するというもの。企業ユーザーが Slack を通じて『Voice DX』にテキストを送ると、『COTOHA』がこれを滑らかな音声に変換してエンドユーザーに電話でアナウンス。エンドユーザーが音声の指示に従って声またはボタンで回答を行うと、それをテキストデータに変換して企業ユーザーに戻すという仕組みです。
「テキストと音声にはそれぞれメリット、デメリットがあります。テキストには事前に伝えたいことをまとめられる、相手のタイミングに合わせやすいという長所がある反面、やりとりに時間がかかり、相手に気がついてもらいにくいという弱点があります。音声はその逆です。『Voice DX』ではその点に着目し、それぞれの良い点を状況に応じて使い分けることで、手軽で、確実なコミュニケーションがとれるようにすることを目指しました。」
と、サービスの概要について説明してくださったのは同社プラットフォームサービス本部担当課長の藤田さん。『Voice DX』は、2019 年 10 月からサービスを提供開始しており、システム開発会社の保守要員呼び出しや、飲食店の予約リマインドなど、さまざまなユースケースで大きな成果をあげているそうです。
「メールでの呼び出しやリマインドと比べて、電話音声による連絡は明らかに行動を促す効果が大きく、ノーショウ(予約したお客さまが当日来店しないこと)といった機会損失の防止を期待できます。さらに督促業務で電話をかける際の心理的負担低減や、たくさんのエンドユーザーに同内容の通知を送る際の手間の軽減など、顧客満足度、従業員満足度の向上、生産性の向上も見込めます。」(藤田さん)
このサービスの開発がスタートしたのは 2019 年初頭。開発をリードしたプラットフォームサービス本部担当課長の西谷さんは、『Voice DX』を Google Cloud 上に構築した理由を次のように説明してくださいました。
「NTTコミュニケーションズでは電話を利用するサービスは原則としてウォーターフォール型でパートナー企業に開発を委託しています。しかし『Voice DX』のような、実際にお客さまに試していただきながら細部を詰めてくようなものについては、要望をより迅速に反映していきやすいやり方が相応しいと考えました。そこで今回は開発チームを内製化し、お客さまと密接にやり取りしながらサービスを迅速に改善していくアジャイル開発を採用することにしました。」(西谷さん)
しかし、長らくウォーターフォール型の開発を続けてきた西谷さんの部署には、本格的な商用開発をするための人員もリソースも足りていませんでした。そこで西谷さんは『VoiceDX』の開発に際して、パブリック クラウドとサーバーレス ソリューションの利用を決意。他社クラウド プラットフォームも含めさまざまな選択肢を検討した結果、Google Cloud の導入を決定します。
「少ない人員でのアジャイル開発を内製で素早く、しかもセキュアに実現できる選択肢を探した結果、Google Cloud に行き当たりました。マネージドなクラウド プラットフォームで、サーバーレスな App Engine が使えることに加え、Firestore、BigQuery、Cloud Storage などさまざまなプロダクトを使えるのが魅力的でした。」(西谷さん)
中でも特に決定打となったのが App Engine と Cloud Firestore だったと語る西谷さん。サービスの要となる App Engine についてはすでに 10 年以上の提供実績があり信頼性が高いこと、書籍も含めたノウハウが広く共有されていることが大きかったそうです。
データベースに Cloud Firestore を選んだのは、スケーラブルでコストが安く、冗長性に優れていることに加え、バージョン アップやメンテナンスでのサービス停止が必要なかったから。こうした Cloud Firestore の特性が、一時たりともサービス断の許されない電話サービスに最適だったと言います。
サーバーレスなら限られた人員でも高度な商用サービスを構築できる
NTTコミュニケーションズではかねてより同社「Enterprise Cloud」と Google Cloud を組み合わせて活用するソリューション「Hybrid Cloud with GCP」を提供していましたが、西谷さんのチームとしては今回の取り組みが初めての Google Cloud 活用、そしてアジャイル開発。にも関わらずその開発は思った以上にスムーズで、人員や費用に関しても想定より少なく抑えられたそうです。
「一般的な手法ですと開発に際して、ログ分析やモニタリングのツールや、デプロイ用のツールを作らねばならないなど、面倒な手間が多く発生するのですが、サーバーレスではそういった必要がなく、プログラム開発に集中できます。また、冗長性や障害が起きた時の試験なども PaaS なので、全てお任せでやれるのが大きかったです。さらに費用についても利用しただけしかかからないので、スモール スタートで始めることができました。」(西谷さん)
「App Engine での開発はデプロイも速く、オートスケールも極めて優秀で、本当に楽でしたね。しいて苦労したことを挙げるとすると、サービスがどんどんアップデートされていくので、それに付いていくのが大変だったくらいです。」(小川さん)
また、NTTコミュニケーションズでは商用サービスの提供に際し、不正挙動を自動検知する仕組みが推奨されており、『Voice DX』ではこれを手間なく実現するために、Google のセキュリティとリスク管理のプラットフォームである Security Command Center(SCC)を採用。日常的なサービス監視と、インシデントの通知を担わせています。
「1 つだけ困っているのが、SCC がプロジェクト単位ではなく、組織単位で導入する必要があるプロダクトだったこと。そのため、導入には他部署との調整が必要になり、そこは少し苦労しました。ただ、今回の取り組みで SCC が『Voice DX』以外のプロジェクトにも有用なのではないかという気付きがあり、今後、さまざまなプロジェクトに拡げていくという検討も始まっています。」(西谷さん)
なお、今後は現在提供している「発信タイプ」に加え、フリーダイヤル / ナビダイヤルと連携し、エンドユーザー側からアクションを始める「着信タイプ」の提供も予定。これまで同様、サーバーレス ソリューションを駆使して効率的に開発していきたいとしています。
「実はこれまで、私たちの商用サービスをサーバーレス ソリューションだけで構築するのは難しいだろうと思っていました。ところが、今回それができた。この成功を踏まえ、今後も、サーバーレスでのサービス開発を加速していきたいですね。私たちのチームはこれまでサーバーレスでの開発はもちろん、サーバー開発の実績もほぼありませんでした。しかし、そんな我々でも、Google Cloud を使えばここまでのものを作れることがわかりました。それは非常に大きな成果なのかなと思っています。」(西谷さん)
NTTコミュニケーションズ株式会社
NTTグループの中核企業の 1 社として、国内電気通信事業における県間通信サービス、国際通信事業、ソリューション事業、およびそれに関連する事業などを担う。現在の基幹事業は音声・ネットワーク サービス、クラウド サービス、データセンター サービスなど。従業員数は約 5,550 名(グループ全体では 11,600 名、2021 年 3 月現在)。
インタビュイー(写真左から)
・プラットフォームサービス本部 アプリケーションサービス部 担当課長 西谷 智広 氏
・プラットフォームサービス本部 アプリケーションサービス部 小川 鉱平 氏
・プラットフォームサービス本部 アプリケーションサービス部 担当課長 藤田 悠基 氏