KubeCon / CloudNativeCon 2023 NA Chicagoの2日目
今日もPlatform Engineering関係のセッションを中心に探索しています。
そして、結果として同じようなことを言っているなと思ったのがこの2つ。
Everything Is Code: Embracing GitOps at Spotify
Empowering Users Through Platform Engineering: Unleashing the Potential of Self-Service Tooling
どちらも最終的にInfrastructureもコードとして実現し(Everything is Code)、それをもとにSelf-Serviceを実現しています。 最初のSpotifyの例ではGitOpsで実現されているため、開発チームがInfrastructure Codeを修正し、それをReview/Mergeしたらあとはデプロイまで自動化されています。この自動化もSelf-Serviceで行っていく上での一つの方法でもあります。
双方のケースは、課題に対する解決策(手段)であることも忘れてはなりません。 その課題とは
- スケール、スピードが求められていること
- 開発チームとインフラチームの間のタスク依頼などによる待ち時間の削減
- ベストプラクティスの適用
などです(これらの課題は概ねどこでも言われることでとても一般的なことだと思います)。
これらの解決策として、IaC化することでベストプラクティスを組み込みながらも同じ作業はミスなく再現できるようにし、セルフサービスによって、チーム間タスク依頼による待ち時間をなくすといったことを実現します。
目的をしっかり押さえていいるからこそ、すべてをコード化(IaC化)したり、積極的にセルフサービス化を実現したり、GitOpsを適用してDelivery作業や万が一のロールバックの容易性など確保するなど、振り切った内容だったりより踏み込んだ対応ができていると感じます。
「なぜセルフサービス化しなければならないのだろう」「そんなことできないのでは?」と考えているということは、それを求める課題がなかったり、まだそうしたことを導入する段階にないとも言えるのかもしれませんが、今日の2つのケースでもわかるように課題はどこも同じであるということが言えるので、あらためて自分たちはどうしたいのだろう、一般的な課題は自分たちには縁のないものなのかどうか見つめ直すのも良いかもしれません。