はじめまして。カヤック技術部の杉山です。
主にクライアントワークでサービスを開発しています。
今回は、クライアントワークで運用している、テストサイトの仕組みに関して書きます。
「テストサイト」の概要
クライアントワークでは、日々たくさんの案件を開発しています。
それぞれの案件では、多くの場合、Webサイトもしくは、WebAPIを公開するためのサーバーが必要になります。
実際の公開時には、案件ごとに専用のクラウドコンピューティングサービスを契約し、セットアップすることになりますが、
利用して良いサービスの確認が必要であったり、サービスの契約まで時間がかかったりするため、すぐには決まらない場合があります。そのため、開発時や検証時には、カヤック側でテストサイトを用意し、確認やプレビューを行っています。
さらに以下のような要望にも対応する必要があります。
- 出来るだけ時間をかけず開発環境を用意したい
- 案件ごとに、必要なミドルウェアが異なるため、出来るだけ汎用的なサーバーを用意する必要がある
- WebSocketを利用する場合がある
- Webサイトの表示にBASIC認証を設定する必要がある
- 特定のユーザーのみがssh接続できるようにユーザー管理がしたい
- git push 時に自動デプロイしたい
- httpsで表示出来る必要がある
- お金は節約したい
以上の条件から、サーバー構成の概要は以下のようにしました。
この構成で、自動的に構築できる仕組みを作っています。
続きを読む