DevOpsエンジニアリング
私たちにとって DevOps は、速く走りながらカーブで崩れ落ちないためのやり方です。実験し、変更をロールアウトし、パニックに陥らずに切り戻し、いまシステムで何が起きているかを見られるインフラです。 私たちは GitHub のアプローチを支持しています。Infrastructure as Code、すなわちすべてがコードで記述され、システムの状態が Git に存在する方式です。これは、あなたのデジタル資産が常に安全で、移植可能で、再現可能であることを保証します。インフラがコードで記述されていれば、任意の地点に素早く戻り、環境をゼロから作り直し、昨日と同じように動作すると確信できます。


ビジネス価値
再現性とは、環境を再び立ち上げても同じものが得られることを意味します。プライベートリポジトリはコードとインフラ構成を保持します — あなたのバックアップであり、変更履歴です。デジタル資産のポータビリティは、単一のプロバイダーやサーバーに縛られずにいられることを意味します。素早いロールバックは高価な失敗から救います。何かがうまくいかなくても、数分で動くバージョンに戻れます。 これはビジネスにとって特に重要です。デジタル資産は安全に保たれ、環境間を移植でき、問題が起きたときにも素早く切り戻す手段があります。インフラは資産になります。

私たちは速さを愛しています。そして本番衛生のない速さは、自分のシステムに触るのを恐れるようになる結末を迎えます。
MLOps と推論エンジニアリング
MLOps は機械学習領域における DevOps の自然な続きです。推論エンジニアとともに、GPU や専用環境が必要なインスタンス向けの解決策を探ります。新しいモデルが次々に登場し、それらを素早くテストすることが重要であることを考えると、これはとくに意味を持ちます。 良質なインフラは実験のコストを大きく下げます。とくに ML 側で顕著です。モデルを自前でデプロイする必要があるなら、素早く適用できるほど良いのです。明日、あなたの課題をより良く解く新しいモデルが現れるかもしれません — そして、あなたはそれを素早くテストできる用意をしておく必要があります。正しいインフラがなければ、一つひとつの実験に大きなコストがかかります。正しいインフラがあれば、一日に何十通りも試せます。
シークレット管理とセキュリティ
シークレット管理は現代の DevOps に不可欠な要素です。シークレット管理には Vault とクラウドソリューションを使います。パスワードや鍵をコードや設定ファイルに置くのはリスクだからです。シークレットは分離され、バージョン管理され、本当に必要な人にだけ利用可能であるべきです。 セキュリティは習慣です。適切な保管庫に置かれたシークレット、アクセスポリシー、最小権限、明確な境界。すべてのロールアウトはセキュリティ観点で検証され、すべてのアクセスはログに残り、すべてのエラーは分析されます。
クラウドとベアメタル
私たちはクラウドでもベアメタルでも働きます — 選択は課題によって決まるからです。クラウドは柔軟性とスケーラビリティをもたらし、ベアメタルは制御性と予測可能性をもたらします。ときには組み合わせが必要です。クリティカルな作業には自前サーバー、実験にはクラウド、というように。 特に興味深い課題の一つは、自前のマシンを Kubernetes に接続することです。GPU を備えた自前ハードウェアがあり、クラウドで借りるのを避けたい場合、それを一つの Kubernetes クラスタに接続できます。これにより、自前リソースを使いながら集中管理が得られます。ML モデルを扱い、クラウド GPU の費用を抑えつつインフラを制御したい人にとって有用です。
標準と手引き
私たちはプログラマー向けのツール、標準、手引きを書くことに別枠で注意を払います。現行の仕組み、CI/CD、テスト、ロールアウトのプロセスを記述します。DevOps はインフラと、あらゆるチームの作業の快適さに関わることだからです。 標準があります。どうロールアウトするか、どうロールアウトしてはならないか、どの検証が必須か、どう切り戻すか。手引きがあります。シークレットの扱い方、モニタリングの設定方法、問題のデバッグ方法。これらすべてが、作業をプロセス参加者全員にとって予測可能で明快なものにします。 私たちにとって DevOps は規律と快適さに関わるものです。規律とは、すべてが記述され、検証され、文書化されていることです。快適さとは、プログラマーがインフラを意識せずに働けること、そして運用が悪夢に変わらずにすむことです。
私たちのプロジェクトでの現れ方
シャーマニズムを要求しないパイプライン。停められるロールアウト。「覚えている唯一の人」に依存しないインフラ。そして測る習慣。速さ、安定性、ミスのコスト、リソースの消費。 私たちの基幹メトリクスのひとつはリソース消費です。どれほど適切か、どう組み替えられるか、どこで最適化できるか。良いインフラは効率的に働くからです。 もしシステムを落ち着いて発展させられる状態に持ち込む必要があるなら — 私たちは作業計画を組み、最初の一歩を踏み出す方法を心得ています。それによって、あなたはその後、独力で進んでいけます。
ステータス
このコンピテンスはアクティブで、継続的に進化しています — 私たちのプロジェクトが、速さと安定性と明快さを同時に要求するからです。 マイクロコンピュータ上のフィールドインフラストラクチャ:センサー、ローカル処理、通信、オブザーバビリティ - 現実を測定する必要があるとき。
マイクロコンピュータ