CodeやDevOpsが謳われ始めてだいぶ時間が経った。Codeについて語る事はせず、DNSの設定をコード化し見える化した事、本番反映作業を自動化した事による属人化の排除に焦点を当てた記事である。以前から試行錯誤していたが、やっと自分たちのプロダクトにフィットする形で実現出来たので公開する。知らないDNSレコードが本番に存在するのか少し怖い話だが、みなさんも一度は経験があるかもしれない。とある担当者が「その時」は最適な解決策と判断した「DNSレコードの追加」「DNSレコードの修正」が周知されず、引き継いだエンジニアやチームがDNSレコードを見て言葉を失う...考えたくない事だが現場では想像を超えた事が起きる。本来DNSの設定はサービス設計やシステムデザインにおいて、初期に決まるものだと思う。そこから運用が進み、スケールしたり一工夫を加えていく。肝心な事は何かと考えると「その時に最適である」という事ではないだろうか。あるべき姿をTO-BEと定義するなら、AS-ISは何だろうか。AS-ISは理想論になってはいけないと考えている。常に「最適」である事が大切なのではないだろうか。我々のチームにとってのAS-ISは何だろうかチームの力量やビジネスサイドからの要求、サービスの成長段階においてそれは変わってくると思うし、変わるべきだと思う。常に「その時」最適である事が大切で、将来のための最適や、過去の最適は価値が高いとは言えないのではないだろうか。未来を見据えた機能を開発しても、それがdelivery出来ないのであれば価値を見出す事は難しい。逆に言えば、どんなに価値が低いものでもdelivery出来ている以上は一定の価値があるのではないだろうか。我々のチームにとってAS-ISは、見える化出来ている事と属人化しない事であると判断した。今日現在において、だ。そこにソフトウェア開発のノウハウやエッセンスを少し足してみた。