Wantedly(ウォンテッドリー)はたらくを面白くするビジネスSNS
Wantedlyは、運命のチームや仕事に出会えたり、人脈を広げ、ビジネスの情報収集に使えるビジネスSNSです。
https://www.wantedly.com/manage_posts/articles/439799/edit
こんにちは。ambr サーバーサイドチームです!
今回は、ambr のサーバーサイドエンジニアについて、その仕事内容や技術スタックなどを紹介します。
開発チームとしてはBusinessやPlanning、Artチームと連携しながら開発を進めていきます
エンジニアはクライアントサイドが現在5名、サーバーサイドが現在2名(+入社予定1名)で開発を行っています!
※2023年1月時点
石崎さん:
大手電機メーカーを経てambrに。 サーバーサイドエンジニアでも技術に関することだけでなく、ビジネスや企画等、両面でサービスの向上に携わりたいという思いから、開発と企画の距離が近いチーム環境や、分野としても伸びしろのあるambrのフェーズに魅力を感じジョイン。
横山さん:
これまで業務システムからWebサービスまで複数社でエンジニア経験を積み、直近はデジタルコンテンツ配信事業を手掛ける大手企業にて電子書籍配信サービスの開発にも携わってきた。
ambrの重要視しているポイントのひとつである、「ユーザー体験を重要視している」ところに共感し、よりエンタメ領域に関わっていきたいという思いを持ってジョイン。
サーバーチームの主な仕事は3つあります!
サーバーは、APIサーバーとゲームサーバーの2つに大別されます。
APIサーバーは主に永続化処理の役割を担っており、ユーザー情報や、アプリ内のアイテム獲得情報のセーブなどをメインに、認証・認可など一般的なバックエンドアプリケーションに存在するような機能も実装することがあります。
ゲームサーバーは主にマルチプレイを実現するための位置同期で、VR空間内にいるユーザー同士や、オブジェクトの位置の同期などを担っています。
2年連続開催となった 「TOKYO GAME SHOW VR」 や 、「マジック:ザ・ギャザリング バーチャルアート展」など、世界的なエンターテイメント作品と共に未知のVR体験をつくることに取り組んでいます。創業以来取り組み続けてきたバーチャル体験構築力を強みに、企画設計から開発までを手掛けています。また、自社のメタバース基盤プロダクトであるxambr(クロスアンバー)をベースに開発することで、自社の技術基盤を継続的に強化しています。
詳しくはこちらも御覧ください!
▼TOKYO GAME SHOW 2022
▼マジック:ザ・ギャザリング バーチャルアート展
https://ambr.co.jp/casestudy/53
サーバーサイドチームの業務の多くを占めるのがバックエンドの開発になります。
APIサーバーはGoで書いています。
フレームワークにはGinを使用し、DDDのレイヤードアーキテクチャーを採用してAPI設計がされています
一方、ゲームサーバーはC#で書いています。
ゲームサーバーは元々PhotonCloudというSaaSを利用して同様の機能を実現していましたが、現在はこの仕組みを残しつつ、フレームワークにMagicOnion, 言語にC#を採用して、ゲームサーバーの内製化が進められています!
Unityアプリ以外に、システムの管理画面などのフロントエンドリソースも一部存在し、エンドユーザーが触らないこれらのリソースも、サーバーチームの担当範囲になります。
主にフレームワークにNext.js, Reactを使用して、TypeScriptで書かれています。
クラウドはAWSを全面的に使用し、APIサーバーが永続化処理に利用するDBとしてAmazon Aurora(MySQL)が使用されています。
また、キャッシュやセッション管理、ゲームサーバーのルーム管理にElastiCache(Redis)が使用されています。
現在のambrのプロダクトはこんな感じになっています!
サーバーはECS Fargate上にホストしマルチAZ構成をとり、その背後のプライベートサブネットにDBとRedisが存在します。
一部機能やゲームサーバーのフェイルオーバー先として、SaaSも利用されています。
またサーバーのデプロイにはAWS Copilot CLIを現在は主に使用しています。
IaC(Infrastructure as Code)にはCopilot CLIと、CloudFormationを使ってインフラ管理をしています。
(今後はTerraformもしくはAWS CDKに移行予定です…!)
ドキュメント管理は全社共通でNotion、チケット(タスク)管理はClickUpを使用しています。
チームの雰囲気としては、比較的落ち着いたメンバーで構成されています。人数はまだそこまで多くはないですが、全社としても心理的安全性を大切にしていることから、今後もその雰囲気は続いていくんじゃないかなと思います!
現在拡大期ということもあり、これからチームを作っていく段階です。ですのでチーム作りにも関わっていきたい方にはマッチする環境なのではないかと思います。
ambrではエンジニアも「企画会議にいつでも参加・発言できる」ため、今後ジョインする方にも手を動かすこと以外にも積極的に意見していただけると嬉しいです。
また全社的にですが、Pixarが実施しているBrainTrustという企画会議を私たちも取り入れ、プロジェクトに関わる全員が企画にフィードバックする機会が設けられています。
全員でつくっていくことを大事にしているため、ポジションの垣根なく活発なコミュニケーションを取ることができます。
特にVRというまだまだ発展途中の分野を開拓していけること、新しいバーチャル体験の開発に携わっていけることも魅力です。
ウェブアプリケーションともゲームともまた少し違ったサーバーサイドの開発が必要なので、大変でもありますがエンジニアにとって刺激的です。
また提供するサービスの性質上システムやインフラの改善がしやすく、新しい技術を使いやすい環境です。
サーバーサイドチームでは、各イベントのための開発を行っていますが、それ以外にもambrの現在の課題を解決するために、今後さらなる改善を行っていく予定です。
安定した運用と拡張性の高いインフラの構築のために取り組んでいます。
「テクノロジーとクリエイティブで、新しい体験を創造し感動を届ける。」ために、大人数でもログインできるようなサーバー構築や豊かなVR表現を支えるためのAPI実装など、サーバーを強化している最中です。
プラットフォームとして出来ることを増やしていきます。例えばログイン機能や課金の実装など多くの場面で必要となるような機能を追加していく予定です。
いかがでしたでしょうか?
本記事を通して、ambrのサーバーサイドチームについて、具体的なイメージが湧いてきましたら幸いです!
もし少しでも興味を持っていただけたら、カジュアル面談も可能なのでぜひ一度お話させてください!
下記リンクよりエントリーをぜひよろしくお願いします。