SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

"Well-Architected"なアーキテクチャに必要なこととは? 現役CTOたちが選出した、Startup Architecture of the year 2019【AWS Summit Tokyo】

  • X ポスト
  • このエントリーをはてなブックマークに追加

double jump.tokyo株式会社――満足亮氏

double jump.tokyo株式会社 リードエンジニア 満足亮氏
double jump.tokyo株式会社 リードエンジニア 満足亮氏

 「My Crypto Heroes」というブロックチェーンゲームの開発を行うdouble jump.tokyo。満足氏は、なぜブロクチェーンを使うのか。

 その理由について「ブロックチェーンのゲーム資産の『所有情報』はユーザーのもの。自由に取引、譲渡が可能。ゲームの枠を飛び越えて使っていただきたいという期待がある。また、認証や決済のプラットフォームは、ブロックチェーンEthereum上のものを使うことによって事実上手数料無料で使える」と述べる。

 実際の構成要素とアーキテクチャは以下の通り。

 技術スタックとしては、フロントエンドはSPAでNust.jsやWeb3.js、gRPC-Webを採用し、WebサーバーはNginxを活用。その後ろで認証やアップロードなどの仕組みがマイクロサービス的に構築されている。

 「ブロックチェーンのgRPCというエッジの効いた部分に飛び込むにあたり、それ以外は信頼のおけるAWSにまかせて新規領域に集中できる」ようにするため、このアーキテクチャを採用したという。また、SPAを採用しNginxを最大活用しているため、コンテナのようなNginxからバックエンドへの通信に不安が出るものは使用せず、同一インスタンス内に必要なサービスをすべて起動させている。

 Well Architectedなポイントとして満足氏は、以下の5つを挙げた。

  • 信頼性:課金部分はすべてブロックチェーン上で決済
  • セキュリティ:公開鍵暗号を使ったFIDOを実現
  • 運用上の優秀性:Amazon Auroraストレージの自動拡張による安心感と負担の軽減
  • サーバコスト最適化:増加し続ける一部ログデータに関してAmazon AuroraからAmazon S3にコピーし、アプリケーションからS3を直接参照
  • 開発コスト最適化:フロントエンドとバックエンドはProtobufから生成されたライブラリを通じて通信

 このアーキテクチャは2カ月で構築したにもかかわらず、性能の高さは担保。gRPC-Webの採用によって並列アクセスが可能になったことをはじめ、データはJSON型に保存し、インデックスが必要なもののみカラムを作成するなど、パフォーマンスも向上した。

 最後にビジネスへの貢献として、累計ユーザー数5万人、6000DAU、3000トランザクションといった数字を挙げた満足氏。「累計売上額は6カ月で1万2000ETHを超え、世界一のブロックチェーンゲームになっている」と話し、発表を終えた。

株式会社RevComm――平村健勝氏

株式会社Revcomm 最高技術責任者CTO 平村健勝氏
株式会社Revcomm 最高技術責任者CTO 平村健勝氏

 RevCommは、AI搭載型IP電話「MiiTel」を提供している。これは、電話営業や顧客対応の内容をテキスト化し解析して、評価や会話のデータをコーチング用にダッシュボードの形で可視化できるサービスだ。仕組みとしては、PBX(電話の交換機)をAWS上にソフトウェアとして実装し、録音した音声を独自の音声認識エンジンでテキスト化、解析。結果をダッシュボードに表示するといった流れだ。

 多くのスタートアップ同様、RevCommも開発者は少人数。数名は関西からのリモートワークだ。そこで、CTOの平村氏は、早期から各領域が独立して設計・構築するマイクロサービスを採用し、意思決定、開発スピードを上げる戦略をとったという。サービス間連携はAPIやWebhookで行い、共有するのはAPIの仕様書のみという文化だ。

 そうして構築されたアーキテクチャは次の図のようになっている。

 左上の音声通信(PBX)サーバー群は、電話の性質上一瞬たりとも停止してはいけないミッションクリティカルなシステムだ。OSレベルでチューニングする必要があるので、マネージドサービスではなくあえてAmazon EC2を使用した。

 その下のWebアプリケーションは、「PBXほどの可用性は求められないが、ユーザー数の増加に対応したり、お客様からの機能追加の要望に合わせて頻繁にアップデートしたりしたい」領域だと平村氏。そのため、オートスケーリングが容易なAWS Fargateを採用。またAWS CodeDeployを用いてGitHubと連動した自動デプロイを実現している。

 右下の音声認識のクラスタは、最もSLAが低いサービスではあるが、突発的なリクエストの増加があり、高性能なサーバが必要。Amazon SQSとAmazon EC2 スポットインスタンスを活用してノード数を調整するクラスタ管理ツールを独自に開発することによって、高性能なサーバを必要な分だけ調達できるようにした。

 これによって得られた効果について平村氏は、以下のように語って発表を終えた。

 「マイクロサービスを組織として導入することによって、ミーティングはわずか週1回で運営。セキュリティに関しては、ダウンタイムはほぼゼロ。パフォーマンスについても適材適所な設計ができた。信頼性に関しては、わずか8カ月で900ユーザが利用し、これまで100万件以上のコールがMiiTelを経由して行われている。また、70%のコスト削減も実現した」

結果発表

 7名のピッチを終えて、最終審査に入った。数分の評価・投票時間をへた後、各賞の結果発表が行われた。

AWS SA 賞:株式会社RevComm 平村健勝氏

 ソリューションアーキテクトが選ぶAWS SA 賞にはRevCommのCTO、平村健勝氏が選ばれた。

 平村氏は「この度は素敵な賞を受賞でき、光栄に思います。日ごろから一緒に開発しているエンジニア、ビジネスサイドのメンバー、お客様、AWSの皆さまにお礼申し上げたいと思います」と受賞の喜びを語った。

オーディエンス賞:ストックマーク株式会社 谷本龍一氏

 会場に来た参加者たちが投票で選ぶオーディエンス賞は、ストックマークチーフエンジニアの谷本龍一氏が受賞。2日間のパネル展示において、多くの参加者たちの支持を集めた。

 谷本氏は「昨日の夜遅くまで発表(準備を)見てくれたチームのメンバーにありがとうとお礼を言いたいです。ありがとうございました」と感謝の意を述べた。

Startup Architecture of the year グランプリ:株式会社スタメン 松谷勇史朗氏

 グランプリに輝いたのは、スタメン マネージャー兼テックリードの松谷勇史朗氏。

 グリーCTOの藤本氏は、「選定のポイントとしては、ETL(基盤)は簡単なようで難しい。これからも要件があるが、今後も試行錯誤できそうな地に足付いた設計だと評価し、選ばせていただきました」と講評を述べた。

 イベント終了後、松谷氏は「それぞれのAWSサービスの理解を徹底し、Well-Architectedのポイントを読み込んで、自分たちのアーキテクチャはそれに沿っているか愚直に照らし合わせた。実装にどう落とし込むかもそれを起点として考えていたので、その辺りを評価していただけたのかなと思う。ドキュメントが充実しているのはもちろん、SAの方が寄り添ってくれたことも大きかった。私たちは名古屋の会社だが、頻繁に担当の方と会議させていただいた」とグランプリ受賞の要因を語った。

 今後の展望を尋ねると、「今、『TUNAG』はデータが肝となるサービスに進化してきている。この基盤ができたことでデータを扱う準備ができた段階。これからマシンラーニングなど、あらゆるAWSサービスとの連携を考えながら、データを活かした事業展開を考えていきたい」と話し、今後のさらなる飛躍にむけて準備が整ったことがうかがえた。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

岡田 果子(編集部)(オカダ カコ)

2017年7月よりCodeZine編集部所属。慶応義塾大学文学部英米文学専攻卒。前職は書籍編集で、趣味・実用書を中心にスポーツや医療関連の書籍を多く担当した。JavaScript勉強中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11587 2019/08/21 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング