企業的のPuppetワークフロー、その一

最近Puppetというソフトウェアを会社で使用になってきました。ネットでPuppetについての説明が大勢ありますが、ゼロから本番環境への説明はかなり見当たりにくいです。そのため、この次の投稿にPuppetのワークフローを説明しようと主ます。

概説

さて、まずPuppetはなんでしょう。Puppetはシステム管理者のためのツールで、システムの状態をプログラミング言語で説明します。例えば、普通のLinuxシステムでウェブサーバーを設定には、以下のコマンドを実行するでしょう。

apt-get install apache2
systemctl start apache2

その後、/etc/apache2/sites-enabled/でVhostを設定する必要があります。一台のサーバーならまだある時間でできますが、10台や100台ならかなり手間かかります。その上、いつか将来で一つの設定を全部のサーバーで変えたい時(例えば、TLSの暗号スイートの変化)に、全部のサーバーにログインして、一々設定する必要があります。ていうことで、多分ただ古いバージョンが残っていそうですね。

しかし、Puppetを使用すると、ただ

include apache

を使って、apacheというモジュールで必要なコマンドなどが書いてあって、将来にそのモジュールだけを変える必要があります。

しかし、そのモジュールの開発に本格的なソフトウェアー開発の技術やワークフローを使用した方がいいです。システ未管理者にはやや捕まえにくいアプローチですが、そのためこのチュートリアルを書いてみようと思いました。

内容と内容ではないもの

このチュートリアルではPuppet言語の説明を少しだけ述べたいと思っています。そのテーマがほかのホームページで十分に書いてあって、もう一度書く必要がないし、内容が長すぎます。

逆に、ベストプラクティスとワークフローを述べてあげたいと思いました。どうやって何百台のサーバーインフラを作れるかということはどこにも書いてありません。

そのためにアトラシアンのJiraやBitbucketやBamboo、Gitなどのツールを用いて、会社でも役に立つ情報を上げたいと思います。アトラシアンのツールは有料ですが、フリーソフトのGitlabやJenkinsでも可能です。

コメント