17LIVE 主要実績 — 深掘り問答ノート
非母語者向け:自然な日本語で話せるよう設計。ルビ・キーワード付き。
4つの実績 — 一言まとめ
75%
デプロイ時間削減
CI/CD刷新
K8s
全サービス移行
コンテナ化
0回
ダウンタイム達成
高可用性構築
50%
月間GCPコスト削減 — クラウドコスト最適化
面接でよく来る深掘り質問パターン
1
「なぜその技術を選んだか?」 — 選択の理由・比較検討
2
「移行中に困ったことは?」 — 課題・失敗・解決プロセス
3
「チームは何人でやったか?」 — 役割・リーダーシップ
4
「その経験をピクシブでどう活かすか?」 — 接続・応用
各タブに「よく来る質問 → 答え方」を用意しています。気になる実績から確認してください。
実績1 CI/CDパイプライン刷新
40分
移行前のデプロイ時間
10分
移行後のデプロイ時間
75%
削減率
基本ストーリー(STARで覚える)
S
レガシーなJenkins環境で、ビルド時間が長く、メンテナンスも大変でした。
T
デプロイの速度を上げて、開発チームの作業効率を改善することが目標でした。
A
CircleCIへの移行を主導。ジョブの並列実行、Dockerイメージの事前ビルド、標準テンプレート(Setup/Test/Build/Deploy)を導入しました。
R
デプロイ時間を40分から10分未満に短縮、約75%削減できました。
よく来る深掘り質問
なぜCircleCIを選んだか?
移行で困ったことは?
ピクシブでどう活かすか?
「JenkinsからCircleCIに移行した理由を教えていただけますか?」

当時、Jenkinsのメンテナンスコストが高く、設定ファイルの管理が煩雑になっていました。

CircleCIを選んだ理由は3つです。まず、設定をコードで管理できるため、Gitで変更履歴を追えます。次に、並列実行のサポートが充実していて、ジョブを同時に走らせることで時間を短縮できます。そして、Dockerとの親和性が高く、イメージの事前ビルドが簡単にできました。

JenkinsはUIベースの操作が多く、属人化しやすい点が課題でした。CircleCIに移行することで、チーム全員が設定を読み書きできる環境になりました。

キーワード:コード管理並列実行(へいれつじっこう)属人化(ぞくじんか)を減らす
「移行の中で一番難しかったことは何ですか?」

一番大変だったのは、既存のパイプラインをサービスごとに整理して、標準化することです。

各サービスによってビルド手順が少しずつ違っていたため、共通テンプレートを作る際に、どこを共通化して、どこを個別対応にするかを判断するのが難しかったです。

対応としては、まず全サービスのビルド手順を一覧化して、共通部分を洗い出しました。そして、Setup・Test・Build・Deployの4ステップに標準化し、差分は環境変数で対応できる設計にしました。

キーワード:標準化(ひょうじゅんか)共通テンプレート環境変数(かんきょうへんすう)
「その経験をピクシブでどう活かせると思いますか?」

ピクシブさんでは、GitLabを使ったCI/CDの構築・運用を担当するとのことで、この経験が直接活かせると思っています。

CircleCIとGitLab CIは思想が似ており、設定のコード管理や並列実行の最適化といった考え方は共通しています。

また、標準化されたパイプラインテンプレートを作ることで、複数のサービスを効率的に管理できる経験は、15以上のプロダクトを持つピクシブさんの環境で特に役立つと考えています。

ピクシブの文脈:GitLab CI、15以上のプロダクト → 標準化のニーズが高い。
実績2 レガシーシステムのコンテナ移行(HandsUP)
基本ストーリー(STARで覚える)
S
フロントエンド3サービス(buyer・seller・admin)とバックエンドのAPI・workerが、全部1台のVM上で動いていました。
T
サービスごとに独立してデプロイ・スケールできる構成にする必要がありました。
A
全サービスをDockerコンテナ化してKubernetesへ移行。crontabで管理していたバッチ処理もKubernetes CronJobに置き換えました。
R
サービスごとの独立したデプロイとスケーリングが可能になり、運用管理の効率が大幅に改善されました。
よく来る深掘り質問
移行中に失敗したことは?
なぜKubernetesを選んだか?
オンプレK8sの経験は?
「移行中に失敗した経験はありますか?」

はい、あります。移行作業中に、設定ミスで一部のAPIキーが正しく引き継がれず、一部のクライアントに影響が出てしまいました。

気づいた後はすぐに原因を特定して、正しい環境変数の設定に更新しました。

再発防止として、コンテナ移行時のチェックリストを作成して、チームで共有しました。その後は同じミスは起きていません。この経験から、レガシーシステムの移行では、設定の引き継ぎを必ずダブルチェックする習慣が大切だと学びました。

ポイント:失敗を隠さず話す → 再発防止まで話す → 学びで締める。この3ステップが大事。
「コンテナ化にKubernetesを選んだ理由は?」

主な理由は3つです。

1つ目は、サービスごとに独立してスケールできることです。単一VMの構成では、1つのサービスに負荷が集中しても、他のサービスも一緒にリソースを使ってしまいます。Kubernetesなら、サービスごとに必要な分だけスケールできます。

2つ目は、ローリングアップデートができることです。サービスを止めずにデプロイできます。

3つ目は、CronJobが使えることです。crontabをKubernetesで管理できるので、バッチ処理も統一した方法で運用できます。

キーワード:独立スケールローリングアップデートCronJob運用の統一
「ピクシブではk0s(オンプレK8s)を使っていますが、違いは分かりますか?」

私の経験はGKE(Google Kubernetes Engine)というマネージドサービスが中心です。k0sはオンプレミスで動くKubernetesのディストリビューションで、ネットワーク設定やノード管理を自分たちで行う必要がある点が大きな違いだと理解しています。

GKEではクラウドが自動で管理してくれる部分も、k0sでは手動で設定・運用する必要があります。

ただ、Kubernetesのコアな概念であるPod・Deployment・Service・ConfigMap・CronJobなどは共通です。まずその知識を活かしながら、オンプレ特有の部分はキャッチアップしていきたいと思っています。

正直に「GKEが中心」と伝える。知らないふりをしない。「コアは共通、差分はキャッチアップ」で締めると前向きに聞こえる。
実績3 高可用性アーキテクチャの構築(OrderPally)
3〜4回
移行前の年間ダウンタイム
0回
移行後のダウンタイム
SPOF
解消した単一障害点
基本ストーリー(STARで覚える)
S
単一VM(SPOF)の構成で、年に3〜4回ダウンタイムが発生していました。
T
単一障害点を排除して、サービスを安定稼働させることが求められました。
A
VMをグループ化してロードバランサーを導入し、冗長構成を確立。データベースをCloudSQLとMemorystoreに分離しました。
R
ダウンタイムゼロを達成し、サービスの安定稼働を実現しました。
よく来る深掘り質問
SPOFとは何か説明してください
DBを分離した理由は?
ピクシブでどう活かすか?
「SPOF(単一障害点)について説明してもらえますか?」

SPOF(Single Point of Failure)は、その部分が止まるとシステム全体が止まってしまう箇所のことです。

OrderPallyの場合は、1台のVMにすべての機能が乗っていたため、そのVMが落ちるとサービス全体がダウンしてしまいました。年に3〜4回がそのパターンでした。

解決策として、VMを複数台構成にしてロードバランサーで分散させました。これにより、1台が落ちても他のVMがリクエストを受け続けられる「冗長構成(じょうちょうこうせい)」を実現しました。

キーワード:単一障害点(SPOF)冗長構成(じょうちょうこうせい)ロードバランサーフェイルオーバー
「データベースをVMから分離した理由は何ですか?」

理由は2つあります。

1つ目は、可用性の向上です。データベースをVMと同じ場所に置いていると、VMが落ちた時にデータベースも一緒に止まります。CloudSQLはGoogleが管理する高可用性のデータベースサービスなので、VMとは独立して動き続けます。

2つ目は、スケーラビリティです。アプリケーションとデータベースを分離することで、それぞれ独立してスケールできます。アクセスが増えた時でも、データベース側だけスペックを上げるといった対応が柔軟にできます。

キーワード:可用性(かようせい)独立したスケーリングマネージドサービス
「ピクシブでのインフラ構築にどう活かせますか?」

ピクシブさんでは、秒間20万リクエストという大きな負荷を安定的に処理するインフラを運用されています。また、BOOTHやpixivFANBOXのような決済・収益サービスも提供されているため、ダウンタイムはクリエイターへの直接的な影響につながります。

OrderPallyで実践した「単一障害点の排除」「冗長構成の設計」「データベース分離による安定性の確保」という考え方は、そのまま活かせると思っています。

Entrancebookにある「クリエイターの経済活動・人生を支えるインフラでありたい」という言葉がとても印象的でした。その責任感を持って、安定したインフラを守る仕事に貢献したいと思っています。

Entrancebookの言葉を引用すると「よく読んでいる」という好印象になる。ぜひ使う。
実績4 クラウドコスト最適化
50%
月間GCPコスト削減
4つ
実施した施策
0低下
パフォーマンス維持
基本ストーリー(STARで覚える)
S
新しいCEOからクラウドコスト削減の指示があり、全面的に見直すことになりました。
T
パフォーマンスを落とさずに、できる限りコストを削減することが目標でした。
A
4つの施策を実施しました。(次カードで詳細)
R
月間GCPコストを約50%削減。パフォーマンスは維持したまま大幅なコスト最適化を実現しました。
4つの施策(具体的に話せるように)
1
未使用リソースの棚卸し(たなおろし)
長期間使われていないVMやディスクを洗い出して削除しました。ただし依存関係があるため、監視ツールとログで使用状況を確認してから対応しました。
2
ログのサンプリング導入
全件ログを取るのをやめて、正常なリクエストは100件に1件(1/100)だけ記録。エラーは100%記録する設計にしました。ヘルスチェックやBotのログもフィルタリングして除外しました。
3
GKEの自動スケーリング調整
スケールアウト(増やす)だけでなく、スケールイン(減らす)も速く実行されるよう設定を積極的モードに変更しました。
4
コンテナサイズの最適化
CPU・メモリの使用量が少ないコンテナのリソース設定を小さくしました。また、CI/CDのランナーサイズと並列数も見直しました。
よく来る深掘り質問
どこから手をつけたか?
ログサンプリングのリスクは?
削減率はどう計測したか?
「コスト削減はどこから手をつけましたか?優先順位は?」

まず、コストの内訳を可視化しました。GCPのコストレポートを見て、どのサービスやリソースが一番コストを使っているかを確認しました。

そこで大きかったのはログの保存コストとGKEのコンピューティングコストでした。この2つを最優先に対処しました。

未使用リソースについては、削除のリスクがあるため、まずは監視ツールで実際の使用状況を確認してから対応する手順を踏みました。

キーワード:コストの可視化優先順位(ゆうせんじゅんい)リスクを確認してから実施
「ログをサンプリングにするとトラブル対応で困りませんか?」

おっしゃる通りで、最初にそのリスクを検討しました。

対策として、エラーログは100%残すようにしました。問題が起きた時に必要なのはエラーの情報であることが多いからです。正常なリクエストのログは1/100に減らしましたが、トレンド分析には十分な量でした。

また、ヘルスチェックやBotのトラフィックは「ノイズ」として事前に除外しました。これにより、必要なログを確保しながらコストを削減できました。

ポイント:「リスクを分かった上で設計した」という姿勢を示す。エラー系は100%残している点が重要。
「50%削減という数字はどうやって計測しましたか?」

GCPのコスト管理ダッシュボードを使って、施策実施前と実施後の月次コストを比較しました。

施策は段階的に実施したので、どの施策がどれくらい効果があったかも大まかに把握できていました。一番効果が大きかったのはログのサンプリング導入とGKEのスケーリング調整でした。

パフォーマンスへの影響については、Datadogで監視し、レスポンスタイムやエラーレートに変化がないことを確認しながら進めました。

キーワード:段階的に実施Datadogで監視パフォーマンスを維持しながら
非母語者のための話し方のコツ
1
数字を最初に言う
「デプロイ時間を75%削減しました」→ 数字が先にあると聞き手が内容を掴みやすい。
2
「理由は3つあります」と宣言してから話す
構造を最初に伝えることで、聞き手が準備できる。日本語が少し詰まっても相手が待ってくれやすい。
3
分からない言葉は聞き返してOK
「すみません、もう一度おっしゃっていただけますか?」を自然に言えるよう練習しておく。
4
ゆっくり話す
早く話そうとすると詰まる。1文を短く、ゆっくり話す方が伝わりやすい。
5
経験談は「私は〜しました」の形で話す
「チームでやった」だけでなく「私が主導して〜しました」と自分の役割を明確に。
難しい言葉のルビ一覧
冗長構成じょうちょうこうせい   単一障害点たんいつしょうがいてん   棚卸したなおろし   依存関係いぞんかんけい
属人化ぞくじんか   標準化ひょうじゅんか   可用性かようせい   優先順位ゆうせんじゅんい
並列実行へいれつじっこう   再発防止さいはつぼうし   環境変数かんきょうへんすう   整合性せいごうせい
ピクシブへの接続フレーズ(実績の締めに使う)
「この経験は、ピクシブさんの〇〇に活かせると思っています。」

CI/CD刷新 → 「GitLabを使った複数サービスのパイプライン標準化に活かせます。」

コンテナ移行 → 「k0s環境へのキャッチアップに、GKEでの深い経験が土台になります。」

高可用性構築 → 「クリエイターの経済活動を支えるサービスの安定稼働に活かせます。」

コスト削減 → 「大規模なインフラのコスト最適化を、パフォーマンスを維持しながら進めた経験が活かせます。」

Entrancebookの言葉(「クリエイターの経済活動・人生を支えるインフラ」)を使うと好印象。