#はじめに
この記事は[Ansible Advent Calendar 2016]の22日目です。
[Ansible Advent Calendar 2016]:http://qiita.com/advent-calendar/2016/ansible
普段は金融系の会社でSIerをしている者です。
業務では、Ansibleはおろか、構成管理の自動化とは一体。。。というような現場で仕事をしている者なのですが、なぜそんな私がAnsibleに興味を持ち、勉強しているかという理由を記載したいと思います。
#Ansibleを勉強しようと考えた理由
Ansibleを勉強しようとした大きな理由として、DevOpsの考え方に共感したことがあります。
私自身、今の現場で働くにあたり、次のようなモヤモヤした気持ちを抱えていました。
・開発者と運用者の仲が悪い。。。
コミュニケーション不足から、思わぬミスが発生すること。
・設定変更等はすべて手作業で行っており、ダブルチェックを実施しているものの、
オペレーションミスが発生してしまっていること。
・変更管理の履歴管理が煩雑化しており、管理漏れからミスが発生することがあること。
そんな中、DevOpsの考え方に出会い、**「これだ!!!」**と思ったわけです。
DevOpsのとは、
ソフトウェア開発手法の一つで、開発 (Development) と運用 (Operations) を組み合わせたかばん語であり、開発担当者と運用担当者が連携して協力する開発手法をさす
手法とされています。
開発担当者、運用担当者が連携して協力するために、共通のツールを用いることも多く、
そのツールの一つがAnsibleになります。
#DevOpsの中でのAnsible
Ansibleは、**「構成管理」**と呼ばれる、OSやミドルウェアの設定作業を自動化するツールになります。
構成管理ツールはAnsibleの他にChef、Puppetなどがありますが、私がAnsibleを選択した理由としては大きく以下の理由があります。
・設定ファイルがYAML形式であり、インフラ屋でも理解しやすい
YAML形式とは、構造化されたデータを表現するためのフォーマットです。
わかりやすいシンプルな記載ができます。
・エージェントレスのため、管理コストが低い
エージェント型では、管理する側の「マネージャ」と、管理される側の
「エージェント」で構成されます。
エージェント型は細かい管理ができるものの、管理対象のサーバすべてにエージェントを
導入する必要があり、導入コストが高いことがデメリットです。
一方、エージェントレス型は、管理する側の「マネージャ」のみで構成されます。
エージェント型と比べ導入コストが低いことがメリットです。
Ansible、Chef、Puppetの比較は以下の通りです。
#勉強している書籍
###IT技術者のための現場ノウハウ Ansible実践ガイド
DevOpsの説明から、Ansibleの構成などが丁寧に記載された良書だと思います。
当分はこちらで勉強予定。
###初めてのAnsible
オライリーのAnsible本。初めての、と記載はあるものの、中級者よりな気がします。
#まとめ
Ansibleを勉強しようとした理由をまとめました
まだまだ勉強不足もあり、技術的なところは全然記載できませんでしたので、
他の方のAnsible記事を参考に勉強させていただきます。
今後としては、少しずつでもいいので現場でこの動きを取り入れられたら。
(新しいものを入れるハードルはめちゃくちゃ高いので、難しそうですが。。。)