【レポート】12/8 Codenize Meetup #1でRoadworker/Piculetの活用について話してきました
はじめに
こんにちは植木和樹@上越妙高オフィスです。先日12/8に目黒でCodenize Meetup #1が開催されました。私も発表してきまして、本日は参加レポートとなります。
セッション
[Preface] Infrastructure as Codeとは何か そして何であるべきか (宮下剛輔さん (Serverspec Operations))
仕事で遅れ最後数分しか出られませんでした。 "Infrastructure as Code" という言葉が出始めた時には便利なツールや手法に関しての話題が多かったように思えます。それから数年経ち一時のブームが一段落して着いてきたいま改めて「なぜ Infrastructure as Codeを行うのか?」が上記スライドではまとめられていると感じました。
[From Author] Hashをめぐる冒険 - Codenize Toolsの今までとこれから、とか (菅原元気さん (クックパッド))
Codenize Toolsの作者 菅原さんから、ツール誕生の話と今後のロードマップについての発表でした。 また各種Codenize Toolsの雛形をつくってくれる、その名もズバリ Codenize というツールも発表されました。APIの呼出と結果をハッシュに変換する部分を実装すれば簡単にRoadworkerやPiculetのようなツールが作れるそうです。
- ALB、EMR対応
- Piculetリファクタリング(aws-sdk-v2!)
- winebarrel/codenize: Generate scaffold for Codenize.tools.
Sustainable Operation (草野翔 (ZENY))
- なぜコード化するのか
- オペを継続(Sustain)可能にしたい
- 個人に依存するノウハウは引き継がれない
- たまにやるオペレーション を たまに「実行される」オペレーションにする
- 知識のグラデーション
- コピペアビリティ
「知識のグラデーション」「コピペアビリティ」というオペ視点の各種の名言が聞けた発表でした。オペ業務において「コピペアビリティ」高めるって重要ですよね。
クラメソ流Codenize Tools活用術 (植木和樹 (クラスメソッド))
kumogata-template の紹介 (中澤直也さん (インフラメンツ))
CloudFormationのテンプレートをより簡単に記述できるKumogataのコードをさらに簡潔に記述できる kumogata-template の紹介でした。
- https://github.com/n0ts/kumogata-template
Roadworkerではじめる大量DNS移行 (栄野川直斗さん (cloudpack))
複数のAWSアカウントを使うにあたって direnv で環境切り替えるのはいいですよね。間違った環境へ作業してしまうっていう事故も防ぎやすいと思います。 自分もRoadworkerのRoutefileやPiculetのSecGroupファイルは、ZoneやVPCごとに分割して管理するのがやりやすいかな。
terraformの運用で消耗してる話(そしてcodenizeで助けて欲しい話) (恩田拓也さん (eureka, Inc.))
Terraformを使って環境を変更すると、いろいろな事が原因で予想外の結果になってしまうというツラミを発表されていました。
- 作成に失敗(名前重複など環境の制約)
- 変更に失敗(依存関係)
- レシピ変更でリソースが削除されてしまう (再作成)
- レシピ変更してないのに変更(Terraform外で変更したリソースが)
CloudFormationもTerraformも、それを使って構築した環境は別の方法では触らないってのが鉄則のようですね。
まとめ
Infrastructure as CodeおよびCodenize Toolsに関するとても濃密なミートアップでした。特にツールの利用される局面からか、クラウド環境での運用保守寄りの話が多くとても参考になりました。
- 環境は極力コード化する。やむを得ず手作業で実施した箇所もコードへ反映する。
- コードは常に実行可能な状態を保つ。(たぶんこれが一番難しい)
- CloudFormation/Terraform で管理するリソースと、それ以外で管理するリソースは区別する。
インフラをコード化する必要性・メリットについてはある程度理解が広まったけど、そのコードを常に信頼できる状態に保つ(コードと実際の一致、継続的テスト)という点でまだ試行錯誤中という印象でした。今後のMeetupでも各社・各人のノウハウが提供されると思いますので、ぜひ参加してみてください!