インフラのコード化と運用
インフラストラクチャのコード化(IaC)は、サーバやネットワークなどのシステム基盤の構成や望ましい状態をコードで定義し、その定義に基づいて構築や設定を自動的に行う考え方である。手作業による設定を減らし、同じ定義から同一の環境を何度でも再現できる点に最大の意義がある。IaCの対象はあくまで基盤の構成であり、アプリケーションの処理内容そのものを指すわけではない。
原理と仕組み
構成定義には、サーバの台数、導入するソフトウェア、設定値などを記述する。多くのツールは、この定義と現在の状態を比べて、食い違う部分だけを適用する。定義はテキストとして版管理できるため、どの時点でどの構成だったかを追跡でき、変更の経緯も残る。サーバプロビジョニングツールは、あらかじめ記述したシステム構成に従ってサーバを自動的に構成するものであり、IaCを実現する代表的な手段である。
この仕組みを運用に取り入れると、構成の変更もレビューを経てから反映するといった開発と同じ手順を適用できる。構成が人の記憶ではなくコードに残るため、担当者が替わっても運用の品質を保ちやすい。
判断の基準と数値
システムの処理能力を調整する方式は、何を増減するかで区別する。サーバの台数を増やすのがスケールアウト、台数を減らすのがスケールインである。想定される処理量に対してサーバ台数が過剰なときは、スケールインによって台数を減らし、システム全体の資源量を縮小する。
一方、サーバ内のCPUやメモリといった資源を増やすのがスケールアップ、減らすのがスケールダウンである。台数の増減と資源の増減を取り違えないことが、判断の出発点になる。
コンテナ型の仮想環境では、平均CPU使用率などが設定したしきい値を上回った場合にスケーリングを行い、コンテナ数を増減させる。計算結果に小数が生じる場合は切り上げて整数で求めるなど、数値の扱いも運用上の判断として問われる。
この節の続き
- 実際の場面
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む