DynamoDB + Lambda + SSM でテストサーバーをポコポコつくる仕組み

はじめまして。カヤック技術部の杉山です。 主にクライアントワークでサービスを開発しています。

今回は、クライアントワークで運用している、テストサイトの仕組みに関して書きます。

「テストサイト」の概要

クライアントワークでは、日々たくさんの案件を開発しています。 それぞれの案件では、多くの場合、Webサイトもしくは、WebAPIを公開するためのサーバーが必要になります。 実際の公開時には、案件ごとに専用のクラウドコンピューティングサービスを契約し、セットアップすることになりますが、 利用して良いサービスの確認が必要であったり、サービスの契約まで時間がかかったりするため、すぐには決まらない場合があります。そのため、開発時や検証時には、カヤック側でテストサイトを用意し、確認やプレビューを行っています。

さらに以下のような要望にも対応する必要があります。

  • 出来るだけ時間をかけず開発環境を用意したい
  • 案件ごとに、必要なミドルウェアが異なるため、出来るだけ汎用的なサーバーを用意する必要がある
  • WebSocketを利用する場合がある
  • Webサイトの表示にBASIC認証を設定する必要がある
  • 特定のユーザーのみがssh接続できるようにユーザー管理がしたい
  • git push 時に自動デプロイしたい
  • httpsで表示出来る必要がある
  • お金は節約したい

以上の条件から、サーバー構成の概要は以下のようにしました。

サーバー構成の概要図

この構成で、自動的に構築できる仕組みを作っています。

続きを読む

【Unity】Protocol Buffers と JSON のパフォーマンス速度を比較した話

はじめに

はめまして、カヤックのゲーム技研の Unity エンジニアのアフィフです。

カヤックで運用しているゲームタイトルでは、主に JSON フォーマットでデータを管理していましたが、最近ではゲームのデータ量がどんどん増えていく傾向にあり、データの読み込みがボトルネックになりつつあります。

JSON のデシリアライズは結構遅いので、もっと良いデータフォーマットがないかと探したところ、Protocol Buffers というデータフォーマットを見つけました。 今回は、プロジェクトに導入する前にパーフォマンスを検証した結果について書きます。

続きを読む