この記事は、大部分または全てを単一の情報源に依拠しています。関連する議論は ( 2014年8月) |
| CFエンジン | |
|---|---|
| 初回リリース | 1993 |
| 安定版リリース | |
| リポジトリ | |
| 書かれた | C |
| オペレーティング·システム | クロスプラットフォーム |
| プラットフォーム | Unixライク、Windows |
| タイプ | 構成管理システム管理ネットワーク管理 |
| ライセンス | GNU一般公衆利用許諾書バージョン3 |
| Webサイト | cfengine.com |
CFEngineは、 Mark Burgessによって開発された構成管理システムです。主な機能は、サーバー、デスクトップ、民生用および産業用デバイス、組み込みネットワークデバイス、モバイルスマートフォン、タブレットコンピュータの統合管理を含む、大規模コンピュータシステムの自動構成と保守を提供することです。
CFEngine は、 GNU General Public Licenseの条件に基づいてリリースされており、フリー ソフトウェアです。
歴史
CFEngineプロジェクトは、著者マーク・バージェス(当時ノルウェーのオスロ大学王立協会の博士研究員)が理論物理学部の小規模なワークステーション群の管理を自動化することで研究を遂行する方法として1993年に始まりました。バージェスはUnixワークステーションを管理し、スクリプトを記述してユーザーのために手動で問題を解決していました。スクリプト記述には時間がかかりすぎ、Unixの各フレーバーは大きく異なり、スクリプトは複数のプラットフォーム用に保守する必要があり、例外ロジックに溺れていました。同僚と問題を議論した後、バージェスはCFEngine(構成エンジン)の最初のバージョンを書き、内部レポート[ 4 ]として公開され、CERNコンピューティング会議で発表しました。ドメイン固有言語を使用してプラットフォームの違いを隠蔽したため、より広いコミュニティから大きな注目を集めました。
1年後、バージェスはポスドク研究を終えたものの、オスロに留まることを決意し、オスロ大学カレッジで講師として働くことになった。そこで彼は、構成管理に関する研究がほとんど行われていない、あるいは全く行われていないことに気づき、科学的モデリングの原理をコンピュータシステムの理解に応用することに着手した。彼は収束作用素の概念を考案し、これは現在もCFEngineの中核を成している。
1998年、バージェスはUSENIX/LISA98カンファレンスで論文「コンピュータ免疫学」を執筆しました。[ 5 ]この論文は自己修復システムの構築に関するマニフェストを提示し、数年後にはIBMがオートノミック・コンピューティングという形でこれを再提唱しました。これをきっかけに研究が進められ、機械学習、異常検知、セキュア通信機能を追加した CFEngine 2という大幅な書き換えが行われました。
1998年から2004年にかけて、CFEngineはLinuxがコンピューティングプラットフォームとして普及するにつれ、採用が拡大しました。この間、マーク・バージェスは、自己修復型自動化のための分散協調モデルであるプロミス理論を開発しました。 [ 6 ] [ 7 ] 2008年には、5年以上の研究を経て、CFEngine 3が発表されました。バージェス氏によると、このモデルは「CFEngineをよりシンプルかつ強力にする手段」としてプロミス理論を取り入れたものです。CFEngine 3は、プロジェクトのこれまでで最も重要な書き換えであり、知識管理と検出メカニズムも統合しました。これにより、構成管理をエンタープライズクラスのインフラストラクチャの自動化に拡張できるようになりました。
2008年6月、CFEngineユーザーをサポートするために、作家のマーク・バージェス、オスロ大学、オスロ・イノベーション・センターの協力によりCFEngine ASが設立されました。2009年4月、同社はCFEngineの最初の商用版であるCFEngine Enterpriseをリリースしました。Enterprise版は、最大25エージェント(クライアント)まで無料でダウンロードできます。2011年2月、同社はFERD Capitalから最初の資金調達ラウンドを実施しました。[ 8 ]同社はノルウェーのオスロと米国カリフォルニア州マウンテンビューにオフィスを構えています。
2017年、同社はCFEngineだけでなく複数のソフトウェア製品に取り組んでいることを反映するために、社名をNorthern.techに変更しました。[ 9 ]
デザイン
CFEngineの主要な考え方の一つは、コンピュータ構成の変更は収束的に行われるべきであるというものです。[ 10 ] [ 11 ]これは、エージェントによる各変更操作が固定点の性質を持つべきであることを意味します。CFEngine言語は、変更を行うために必要な手順を記述するのではなく、最終的に到達したい状態を記述します。エージェントは、この「ポリシー準拠状態」に到達するために必要な手順が実行されることを保証します。したがって、CFEngineはシステムの初期状態に関わらず、何度でも実行でき、予測可能な結果が得られます。CFEngineはポリシーの統計的準拠という概念をサポートしています。つまり、システムが理想的な状態、あるいは望ましい状態になることを保証することは決してなく、むしろ環境変化の頻度とCFEngineの実行速度の比率によって決まる速度で、ベストエフォートによって望ましい状態に近づく(収束する)ということです。[ 12 ]
CFEngineは、Unixライクなホスト構成のための、オペレーティングシステムに依存しないインターフェースを提供します。異なるオペレーティングシステムの特殊性に対応するにはある程度の専門知識が必要ですが、複数のホストにまたがるメンテナンス作業を実行できます。CFEngineはWindowsホストでも使用でき、Solaris、Linux、AIX、Tru64、HP-UXなど、異機種オペレーティングシステムが動作する多数のUnixホストの管理に広く利用されています。
ユーザー
CFEngineは、大企業から中小企業まで、多くの大学や政府機関で利用されています。CFEngineが管理する最大のデータセンターは100万台以上のサーバーを保有しており、4万台規模のサイトも公開されています(LinkedIn [ 13 ])。また、数千台のホストでCFEngineが稼働しているサイトも珍しくありません。CFEngine ASの統計によると、世界中でおそらく数百万台のコンピュータがCFEngineを稼働させており、100カ国以上からユーザーが登録されています。
研究
CFEngineは誕生後まもなく、自動構成管理の研究分野に刺激を与えました。CFEngineプロジェクトは、構成管理の問題を科学的な枠組みに位置付けることを目指しています。その作者であるマーク・バージェスは、この問題について議論するための様々な理論的ツールと結果を開発し、それらを解説する複数の教科書や研究論文を執筆しています。
参照
参考文献
- ^ CFEngineチームとコミュニティ。「CFEngine 3.27.0リリース」。Northern.tech AS。
- ^ CFEngineチームとコミュニティ。「CFEngine 3.24.3リリース」。Northern.tech AS。
- ^ CFEngineチームとコミュニティ。「CFEngine 3.21.8リリース」。Northern.tech AS。
- ^ Burgess, Mark . 「オスロ大学:Cfengine V2.0:ネットワーク設定ツール」(PDF) Iu.hio.no. 2013年7月23日時点のオリジナル(PDF)からアーカイブ。 2013年9月8日閲覧。
- ^ Burgess, Mark (1998年12月). 「コンピュータ免疫学」(PDF) . Usenix.org . 2013年9月8日閲覧。
- ^ Burgess, Mark ; Couch, Alva (2006-11-28). 「固定小数点プロミスによる自律コンピューティング近似」, Proceedings of First IEEE International Workshop on Modelling Autonomic Communication Environments (MACE2006) (PDF) . pp. 197– 222. 2012-04-25時点のオリジナル(PDF)からのアーカイブ。
- ^ホッグ、スコット (2014年7月1日). 「Promise Theory」 . Network World . 2023年9月1日閲覧。
- ^ 「Cfengine、シリーズA投資を完了」(プレスリリース)オスロ(ノルウェー):PRNewswire 2011年4月4日. 2014年8月22日閲覧。
- ^ Ryd, Thomas (2017年7月1日). 「Welcome to Northern.tech」 . ブログ. Northern.tech . 2024年7月28日閲覧。
- ^ Burgess, Mark (1995年夏). 「Cfengine: サイト構成エンジン」(PDF) . USENIX Computing Systems . 8 (3). 米国カリフォルニア州バークレー: USENIX . 2014年8月22日閲覧。
- ^バージェス, マーク(2003年11月29日). 「進化する人間-コンピュータシステムのための設定可能な免疫」 .コンピュータプログラミングの科学. 51 (3): 197– 213. doi : 10.1016/j.scico.2003.12.004 .
- ^バージェス、マーク(2003). 「システム管理理論について」 .コンピュータプログラミングの科学. 49 ( 1–3 ): 1–46 . doi : 10.1016/j.scico.2003.08.001 .
- ^ 「CFEngineケーススタディ - WebScaleでのLinkedInインフラストラクチャと運用の自動化」(PDF)。CFEngine AS。2014年11月。