Ansible実践入門書: Raspberry piの環境構築を全て自動化したいならこの1冊 - 「IT技術者のための現場ノウハウ Ansible実践ガイド」

環境構築するの、めんどくさくないですか?最近では、IoTが流行っていて、Raspberry Piなどの小型のLinux機器が数多く登場しています。安価でもあるため、複数の購入して何かしてみよう!と思っている人もいるのではないでしょうか?

高機能なIoTの殆どは、Linuxで動いています。IoTを開発する上で一番たいへんなのは「初期設定」です。ある程度やることは決まっていても、スクリプトで書くと環境に依存してしまったコードになってしまうし、保守の面でよろしく有りません。

Ansibleを使えば、このような環境構築の際の決まった作業を全て自動化することができます。

面倒な処理は全てAnsibleにおまかせ!

raspberry piなどのLinux IoT機器には、初期設定をしなければいけません。「ロケール設定」「パッケージの更新」「キーボードの設定」「ユーザーの追加」「ネットワーク管理」「リゾルバ管理」「管理タスクの設定」etc…

IoTは複数の機器を連携し、動作させるのが普通だと思いますので、いちいち設定していたらとても大変です。大事な時間もたくさん取られます。

Ansibleを使えば、このような処理を全て自動化することができます。1つのコマンドを実行するだけで、環境ができあがります。

Ansibleで使うソースコードは非常に読みやすい!

Ansibleのソースコードは「YAML」を採用しています。YAMLはXMLと同じような構造化されたデータを表現するためのフォーマットの1つです。ただし、XMLは「タグ」と呼ばれる複雑な書き方であるのに対し、YAMLは非常に簡素でわかりやすく、XMLとほぼ同等の機能を備えた非常に優れた記述方法です。

このため、YAMLで書かれたソースコードはとても読みやすいです。

更に、RedHat、Debianなどの環境に応じて処理内容を変えることができたり、「ロール」というモジュール単位に処理を分割したり、幅広く応用が効くだけでなく、処理内容の読みやすさを重視した設計になっているため、保守の敷居もかなり下がったソフトになっています。

環境管理を行なうのに必用な全てが詰まっている

Ansibleに関する本が多数出版されていますが、特にオススメなのがこの「Ansible実践ガイド」です。

Ansibleは、元々サーバーの構成管理ツールの1つで、それを使う理由が「Infrastructure as Code」や「DevOps」の実現です。Ansibleを学ぶには、基礎知識として「基本アーキテクチャ」「Playbookの書き方」などが必用です。

しかし、ネット上に流れているものは「すぐに動くけれど応用できないソースコード」ばかりです。Ansibleなどの構成管理ツールを使うのに絶対必用な知識の1つとして「オーケストレーション」「システムの構成管理」「ブートストラッピング」の違い、がありますがほとんど紹介されているものが有りません。

四則演算を知らないと算数ができないように、このような知識がないとAnsibleは扱えません。

Ansible実践ガイド」では、その点はしっかり網羅されており、Ansibleをどのように使っていくのかという内容になっています。

オンプレ環境でAnsibleを使う人にオススメ

自宅でIoTを構築しようとする人は大抵、オンプレ環境として設定することになります。この本では主に「オンプレ環境」を中心としてまとめられています。わかりやすさのために、サンプルアプリケーションのオーケストレーションの実例やAWSやAzureなどパブリッククラウドインフラとの連携など、実践的な項目も充実しています。

まとめ

環境構築を自動化に今から手をつけるならば、今はAnsible一択だと思います。

機能や設定項目の複雑化にともなって、環境設定のための無駄な時間を削ぎ落とし、開発に専念するために「Ansible実践ガイド」を使ってみてはいかがでしょうか?