ホーム >  Ansible >  【CD/CI】Infrastructure as Codeという考え方【インフラ構成管理ツール】

投稿日:

【CD/CI】Infrastructure as Codeという考え方【インフラ構成管理ツール】

Ansibleインフラ

Infrastructure as Codeについて紹介します。

Infrastructure as Codeとは?

直訳すると、「コード化されたインフラ」です。あらかじめ設定した「インフラ構成管理ツール」でOSやミドルウェアのインストール、その際のユーザー名・パスワードのコードを記述します。その後、コードを実行すれば記述どおりの処理がされます。

ソフトウェア開発現場でこの考え方が出てくる前と後では、以下のように変わりました。

手法 インフラ定義・管理 設定変更者
従来 文書 手作業、自前のスクリプト
Infrastructure as Code 構成定義コード Ansibleなどの構成管理ツール

インフラをコード化する前

従来このようなインフラ構築は人の手で行っていました。しかし、用意された設計書にしたがってコマンドを打っていく作業は、規模が大きくなると非常に手間がかかり、莫大なコストと工期が必要でした。また、人の手で行う作業であるため、どうしても人為的なミスが起こりやすくなります。

Infrastructure as Codeのメリット

Gitで管理できる

インフラに関する変更を、Gitなどのバージョン管理ツールで管理できるようになります。また、環境情報を共有できるため、Devops(デブオプス)開発とも非常に相性がよいです。

継続的インテグレーションツールと連携しやすい

1日に数回、コードのビルドとテストを行うことで、コードの不具合を早期に発見して修正できます。代表的なツールとしてJenkinsCircleCIがあります。

継続的インテグレーション(Continuous Integration:CI)

開発したコードのビルドとテストを継続的かつ自動的に実行することです。

Infrastructure as Codeを実践するには?

Infrastructure as Codeを実際のインフラで実践するには、以下のようなツールを使用します。

Gitなどのバージョン管理システム

バージョン管理システムを利用することにより、インフラに対する変更の管理・差分が容易になります。

継続的インテグレーション(CI)や継続的デリバリー(CD)を実現するツール

コードに対して変更が発生するたび、自動的にVMコンテナ(物理ハードウェアシステム上に作成され (場所はオフプレミスまたはオンプレミス)を生成し、その上でコードを実行します。事前に設定したテキストを通過するかを機械的に確認するツールを使用します。

継続的デリバリー(Continuous Delivery:CD)

CIの考え方を拡張したものです。CDは、コードの変更、ビルド、テスト、ステージング環境へデプロイまでを自動的にする仕組みです。デプロイされたものを運用者が確認し、問題が無ければ本番環境へリリースします。

継続的デプロイメント(Continuous Deployment:CD)

継続的デリバリーから一歩進んで、継続的デリバリーの範囲から本番環境へのリリースを自動的に実行する仕組みです。


次回

工事中。


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告