ソフトウェア開発
中心となる活動
開発プロセス
要求
アーキテクチャ
設計
エンジニアリング
実装
テスト
デバッグ
デプロイメント
メンテナンス
パラダイムとモデル
アジャイル
クリーンルーム
反復
ソフトウェアプロトタイピング
スパイラル
Vモデル
ウォーターフォール
方法論とフレームワーク
ASD
Infrastructure as Code(IaC) はコンピューティング・インフラ(プロセス、ベアメタルサーバー、仮想サーバーなど)の構成管理・機械処理可能な定義ファイルの設定・プロビジョニングを自動化するプロセスである。定義されたファイルはバージョン管理システムで保持することもある。従来、手動のプロセスではなくスクリプトや宣言的な定義によって行われていたが、IaCの開発は今では、宣言的なアプローチに焦点が当てられている[1]。 IaCは、2つの破壊的な技術(ユーティリティコンピューティングと第2世代のWebフレームワーク)の難点に対処することで成長した。以前は、このようなスケーラビリティーの問題は巨大企業でしか見つかっていなかったが、今では多くの企業で広がっている。具体的には、2006年に新しい課題が最前線にもたらされて、技術産業を揺るがした:Amazon Web ServicesのElastic Compute Cloudと、数ヶ月前のRuby on Rails 1.0版の発売。この新しい分野を処理するツールが登場するにつれて、IaCが生まれてきた。ソフトウェア開発者とITインフラ管理者は、現在のソフトウェアのベスト・プラクティスを使用して、コードを使ってインフラストラクチャを再編成し、アプリのインフラを設計、実装、展開できることに興味を示している。インフラをコードのように扱い、他のソフトウェア・プロジェクトと同じツールを使用することで、開発者はアプリを迅速に展開できる[2]。 IaCの価値は、測定可能な3つのカテゴリに分類できる:コスト(削減)、スピード(実行の高速化)、リスク(エラーとセキュリティ違反の除去)。コスト削減は財務面だけではなく、労力の面でも企業のメリットとなる。手動コンポーネントを削除することで、従業員は他の作業に集中できる。インフラを自動化することで、インフラを構成したり、高速な実行が可能になる。そして、他のチームが迅速かつ効率的に作業できるための可視性を提供する。手動設定ミスのような人的ミスのリスクを排除することで、ダウンタイムが減少し、信頼性が向上する。このような結果と属性は企業がDevOps文化を実装するのに役立つ。 宣言型プログラミング(機能的)、命令型プログラミング(手続き的)、とインテリジェント(環境認識)の3つのIaCアプローチがある。それらの違いは「何」「どのように」と「なぜ」の違いと同じである[3]。
概要
付加価値と利点
アプローチの種類
宣言型プログラミング(機能的)は「何」
最終的なターゲット設定が何であるべきかに焦点を当てている。
Size:40 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef