AWS Startup ブログ
新規サービスを円滑に立ち上げ、運用する知見 ─ Relic 社の AWS 活用事例
株式会社Relic は、⽇本企業の新規事業開発やイノベーション創出を支援する事業共創カンパニーです。新規事業開発に特化した SaaS 型プラットフォームを提供するインキュベーションテック事業や、総合的かつ⼀気通貫で新規事業やイノベーション創出を支援する事業プロデュース・ソリューション支援事業、スタートアップ企業への投資や⼤企業との共同事業・ジョイントベンチャーなどを通じてイノベーションを共創するオープンイノベーション事業という 3 つの柱を展開しています。
Relic 社は AWS の各種サービスを有効活用して、事業の立ち上げや運用を効率化・省力化しています。今回はその活用事例について、プロダクトイノベーション事業本部 システムディベロップメント事業部 テクノロジープラットフォームグループ マネージャーの米田 圭志 氏、バックエンドエンジニアの臺 健太郎 氏、SRE の熊田 寛 氏にお話を伺いました。
“新規事業支援”に特化した企業
――Relic 社の事業概要を教えてください。
米田:Relic はクライアント企業が新規事業を立ち上げる際に各種の支援を行う企業です。志を持って挑戦する人や企業が正しく評価され報われる社会を作るために、“イノベーションの民主化”を目指して、挑戦者と事業を共創することを目指しています。
大企業からスタートアップ企業まで 3,000 社を超える企業との取引実績と、15,000 件以上という業界トップクラスの新規事業支援実績があります。また、サービス開発だけではなくコンサルティングやベンチャーキャピタルなども行っています。一般的なコンサルティング企業や開発会社などと Relic が違うのは、新規事業に関するありとあらゆる支援を、一気通貫で実施していることです。
また、私たちは新規事業開発やイノベーション創出において日本企業が直面する課題を解決するための、独自のプラットフォームをいくつも提供しています。Saas 型イノベーションマネジメント・プラットフォーム「Throttle(スロットル)」やクラウドファンディング構築プラットフォーム「ENjiNE(エンジン)」、次世代型マーケティングオートメーション・CRM プラットフォーム「Booster(ブースター)」などがその例です。
マネージャー 米田 圭志 氏
――クラウドとして AWS を利用されている理由をお話しください。
米田:まず他のクラウドと比較すると、世の中に AWS の利用者が多いことが挙げられます。それに比例して出回っている情報量も多いため、なんらかの解決策を調べる場合にノウハウを得やすいです。
また、AWS が提供するサービスの種類が豊富であり網羅的です。サービスが多種多様であるからこそ、システムのインフラを構築する際に、複数のクラウドを使用することなく AWS で統一できます。これにより運用コストを下げられますし、複数のクラウドをまたぐ必要がないためセキュリティも向上します。加えて、AWS はサービス同士の連携が容易であるため、これも運用負荷の軽減に寄与します。
熊田:AWS はクラウドの世界において先陣を切って多種多様なサービスを展開しており、かつ活発にコミュニティ活動をしているユーザーフレンドリーなクラウドです。また、先ほどの米田の話にも通じますが、AWS の利用者が多いことはエンジニア採用にもプラスに働いています。
新サービスの開発・運用を効率化する工夫
――御社は業界トップクラスの新規事業支援実績を有しています。新サービスの開発・運用効率を向上させるために行っている技術的な工夫を挙げていただけますか。まずは立ち上げの工夫からお願いします。
米田:開発や検証の時間を短縮する目的から、AWS Cloud Development Kit(AWS CDK)を用いたインフラの構築・管理をしています。インフラのアーキテクチャを AWS CDK でパターン化することで、各クライアントの異なるニーズにも対応しやすいようにしています。
AWS CDK はインフラの差分確認やデプロイを簡易的なコマンドで行えるため、DevOps の観点からも優れたツールだと感じます。他には、AWS のサーバーレス系のサービスでアプリケーションを構築することで、運用を楽にしています。
臺:新規事業の立ち上げの際には、機能についてのさまざまなアイデアがプロジェクトメンバーから出てきます。AWS Serverless Application Model(AWS SAM)を使うことで、その機能のみを提供する小規模なアプリケーションを作るケースがあります。
たとえば、過去には NTTドコモとの共創スキームで展開するまちの“小ネタ”共有アプリ「Loupe(ルーペ)」にて、「ユーザーが投稿のリンクを SNS でシェアした際に、その投稿をOGP画像として表示させたい」という要望がプロジェクトメンバーから寄せられました。しかし、「Loupe」はネイティブアプリのみで展開しており、Web アプリがありません。通常であれば OGP の表示は難しいです。
そこで、Ruby 製の Web アプリケーションフレームワークである Sinatra を用いて、その機能のみを実現するアプリケーションを AWS SAM で構築して実現しました。こうした小規模なアプリケーションは、特定機能を提供するパーツとして利用できるため、他のサービスにも流用しやすいです。
――立ち上げ後の、運用について工夫されていることはありますか。
米田:新規事業を立ち上げた後は、さまざまな検証作業をスピーディーに行うことが重要になります。そのためには CI/CD が必須であり、Relic では AWS CodePipeline を活用しています。テストやビルド、デプロイまで一貫して AWS CodePipeline で実施できるのが大きな利点です。
熊田:そもそも、なるべく運用作業を発生させないような設計を重視しています。Amazon ECS on AWS Fargate や AWS Lambda などを用いてインフラを構築しており、サーバー運用に工数を割く必要がないよう工夫しています。
SRE 熊田 寛 氏
臺:運用の観点からいえば、AWS の各種サービスを活用することで、ログ情報の連携などもしやすいです。なんらかのエラーが発生しても、取りこぼすことなく対応できています。
米田:新規事業はどれくらいの規模のユーザーにアプリケーションを使ってもらえるかが事前に判断しにくいです。そのため、自動的にスケールしてくれるサービスを用いることで、運用が楽になり、コストも最適化できます。たとえば Relic では、最近は Amazon Aurora Serverless v2 を積極的に採用しています。
「Loupe」におけるアーキテクチャの工夫
――過去に御社が携わった事例をピックアップしていただき、そのアプリケーションのアーキテクチャの工夫をご説明いただけますか。
臺:先ほども話題にあがった、NTTドコモとの共創スキームで展開するまちの“小ネタ”共有アプリ「Loupe」を事例として挙げさせてください。これは、ユーザーがコメントとともに写真を投稿し、自分の街の良いところを紹介する SNS です。Googleマップと連携をしており、投稿内容を地図上にプロットすることで、その地域に住む人たちに魅力的な場所を共有します。
このサービスにはマイエリアという概念があります。通常の SNS ではどんな場所にいてもユーザーは写真を投稿できますが、「Loupe」では自分のマイエリアの範囲内でのみ投稿可能です。「自分の住む地域の魅力を発見してもらう」という世界観を大切にしている SNS です。
アーキテクチャで工夫している点をピックアップすると、まず Web サーバーは Amazon ECS on AWS Fargate を用いて、サーバー運用の作業を不要にしています。また、SNS であることからプッシュ通知が頻繁に配信されますが、処理の遅延や高負荷などを防ぐために Redis + Sidekiq による非同期処理を行っています。プッシュ通知は Amazon SNS を使っています。
データストアとしては、キャッシュ保持や、非同期処理のジョブキューイングのために Amazon ElastiCache を使っていることや、先ほど話に出た Amazon Aurora Serverless v2 を活用してスケールを容易にしていることが特徴です。
「Loupe」では動画の投稿もできるため、AWS Elemental MediaConvert を用いて圧縮などの変換処理をし、AWS Lambda によってサムネイルの生成を行います。また、先ほど登場した Sinatra による OGP 生成の機能も、このアーキテクチャに組み込まれています。
これからも、新規事業創出を支えていく
――事業や開発組織をどのように発展させたいかをお聞かせください
米田:新規事業では、最初はクライアントの予算が少額であるケースも多いです。そうした場合でも問題なくシステムを構築できるように、サーバーレスのサービスなどを活用して、最初は低予算からスタートでき、利用状況に応じてインフラの料金が上がるような仕組みを積極的に取り入れたいと考えています。
また、現在は私たちテクノロジープラットフォームグループが、DevOps や SRE などの業務の大部分を引き受けています。これを徐々に、他のチームにも移譲していきたい。たとえばインフラの変更作業などを、それぞれのチームのエンジニアが担えるように、仕組みを整備したいです。新規事業の開発に携わるエンジニア自身が、事業の状況に応じてインフラを改善していけるのが、より良い開発組織のあり方だと思います。
――そのビジョンを実現するために、どのようなエンジニアを採用したいですか。
米田:チャレンジ精神を持った方を採用したいです。たとえば、これまでアプリケーション開発しかやったことがなくてもインフラにも挑戦したいなど、自分自身がやれることの幅を広げていける方と、一緒に仕事をしたいです。
バックエンドエンジニア 臺 健太郎 氏
臺:技術のことだけを考えるのではなく、サービスを世の中に届けるとか、ユーザーが使いやすいものを作ることなどを大切にするエンジニアに参画してほしいです。「サービス改善のためにどのような技術を使うべきか」といったように、事業やサービス主体でものごとを考えられる人がいいですね。
熊田:私たちは新規事業開発を事業の主軸にしている会社なので、その領域に興味がある人は楽しく働けると思います。それから、テクノロジーに興味を持つだけではなく、会社とか組織全体を良くしようというマインドを持った方ですと、非常にありがたいですね。
――これから、さらに多くの新規事業が生まれていくことにワクワクします。今回はありがとうございました。
導入支援・お見積り・資料請求等に関するご質問、ご相談に日本担当チームがお答えします。平日 10:00〜17:00 はチャットでもお問い合わせいただけます。お問い合わせはこちら