読んだ:Infrastructure as Code
トピック
以下のトピックで書いていきたい。
- 読んだ書籍について
- 読んだ理由
- 読む前~読んだ後のIaCに対する印象の変化
- 最後に
読んだ書籍について
Infrastructure as Code ―クラウドにおけるサーバ管理の原則とプラクティス
日本語約されている、第一版の方を読みました。
読んだ理由
最近、終わりを迎えているプロジェクトの立ち上げから、AWSによるインフラ構築を担当させてもらい、AWSに関する知見が身に付きました。ほぼ完成という段階まで来て、インフラ設計に対して感じた課題やマネジメントコンソールやEC2内での手作業でのサーバー構築に対し改善する必要性を感じていました。
そんな中、社内のAWS環境をIaCツールを利用して効率化していく流れがあり、もともとCDKを触っていたり、興味が強い領域であることからそのプロジェクトへのアサインを希望しました。
大方、その希望が通りそうでうれしく思う半面、社内に知見のあるエンジニアがいないため、自分がリードできる機会のように思えます。
IaCの考え方、プラクティスやアンチパターンを理解することでIaCに対する解像度を一段階上げたい、というモチベーションから本書を読むことにしました。
読む前 ~ 読んだ後のIaCに対する印象の変化
IaC、インフラ構築についての考え方が変わったと思います。
今まで経験してきたプロジェクトではオンプレ、もしくはAWSのマネジメントコンソールによる手作業での構築がなされたモノばかりでしたが、インフラに柔軟性がなく、アプリ側にも変更が入れにくかったり、構成変更がしにくいような印象を漠然と持っていました。
IaCを導入するメリットとしてコードによって再現性高く構成されたインフラによって小さな変更が許容されやすくなることを認識しました。
社内にDockerを導入して開発を行い、ECS等で運用していく、といった構成への変更もしやすくなるように感じます。
何よりもインフラに再現性が生まれるのは今のプロジェクトで感じている課題を解決するもののように思えます。
また、IaCを最大限活用するために実践していく場合、チーム・組織単位でも考え方を改めていく必要があるように感じました。 紹介されているいくつかのプラクティスなどを実践するためにはチームに共有して個人レベルで理解しIaCを扱っていく必要があるように感じました。
最後に
IaCの導入をやらせてもらえる機会を得ている今、知りたかった考え方などを知る良い書籍でした。 IaCによるインフラ構築が有用だと判断できれば社内でも広がっていくだろうと思うので、検証・導入を担当できる自分がプラクティスを実践し、必要に応じて改善提案などを実施していきたいと思うようになりました。