読者です 読者をやめる 読者になる 読者になる

たごもりすメモ

コードとかその他の話とか。

DevOpsカンファレンスに行ってきた

DevOpsカンファレンス - PARTAKE
発表スライドなどは各発表者の人のblogなどにあるんじゃないでしょうか(投

で、参加しての感想をまとまりもなく書く。

DevとOp

おまえ、何よ

Dev(開発者)とOp(オペレータ)について語る前に自分が普段の仕事でなにをやっているかを書くと、運用管理のためのツールを作ってます*1。つまりOpのためのDev。DevOpsという文脈でいうDevとも違うし、Opをがっつりってわけでもない。普段の仕事はツール開発だけど、自分が使うサーバのセットアップは(特に特殊な設定を要するものがあったりする場合は)自分でやるし、運用的なトラブルのときは調査してみたりするし、あれこれふらふらしてる。
経歴のなかでは24Hいつ鳴り響くかわからない社用携帯を持たされるような境遇にあったこともあるし、開発側として運用手順とかをがっつり作ったらあとは別会社にお任せということもあるので、いやはや、なかなか人生というのはどうなるかわからん。
Dev/Opどっちの気持ちもわかる(つもりでいる)ので、このDevOpsの話題自体は割とどっちの視点にも深入りせずに観られて、ちょっと面白い。

Opって何よ

会場でセッションに参加しながら、あるいは懇親会に参加しながら思ったのは、もしかしてOpのイメージがズレてる人がけっこういるんじゃないかな、ということ。

「ウェブオペレーション」を読んだOpの印象や、あるいは当日のセッションで語っていた人達のOpって、要するに自社Webサービスの運用についてだ。自分の現在の勤務先でも同じで、そういう状況だと運用のタスクには必然的に「改善」という視点が盛り込まれる。だって悪いところを良くしないと、自社サービスが良くならない*2。必然的にプログラミングもある程度以上できる人が運用側に回ることが少なくない(でないとトラブル起きたときにわからない)し、また現場の雰囲気を見ると、Opの側からDevの側に指摘をする、という関係になっていることが多いように思う。多分そうでないと回らないだろうな。

いっぽう、外注&請負関係に代表される「運用会社」というのが日本にはある。専用の会社でなくてSIerの中の開発とは別のチームであることも多い。そしてそこに、プログラミングができる人がいることは、残念ながらあまりない*3
プログラミングができないということは、パフォーマンスチューニングもできないし、ボトルネック解析も難しいし、新しいライブラリのAPIにあわせたアプリケーションコードのアップデートも不可能だし、運用系ツールの作り込みもお手上げということだ。そしてそのようなことは「やりません」と契約で縛られている。そのようなチームの人々が3交代制24H貼り付きで運用監視ツールのUIを前にぽちぽちとマウスをクリックするのが「運用」だと捉えられている世界がある。現実に存在する。そしてバッチジョブの起動やサーバの再起動すらJ○1のタスク起動としてやっちゃったりするのだ。

さて、あの場所の7割を占めた「Op」の人というのは、どっちだったんだろう。どっちもいたに違いないんだけど、どういう構成だったかには物凄く興味がある。そして今後 DevOps という文脈で話をしていくとき、後者のグループに含まれる人々への言及を我々はどうするべきだろうか。

Devって何よ

(SIerの請負開発プログラマという人種が存在することはもちろん知っているが、彼らが運用というフェイズに継続的に関わることは極めて稀なので、ここでは単に無視する。)

会場には予想外にDevという人が少なかった。Devな人は3割くらいという話だったか。"DevOps"というキーワードがDevよりOpにより響いているんだとすると、うーん、あまりよくない気もする。DevとOpのコラボレーションが主題の場において、どちらかの立場の人が多勢を占めるのは空気としてあまりよくない。Dev側の視点での話も少なかったように思う。「ウェブオペレーション」はオペレーションについての本なので必然的にOpからの視点に占められ、それが会場の空気にそのままなったんじゃないかなあと感じる。

Webサービスの開発運用をやっている会社にあってのOpはプログラミングもある程度以上できる人が多いように思うということは先に書いたが、では、そのような会社におけるDevな人というのはどうなんだろう。単にOpもできるけどやっていないのか? Opの事情をまったく知らないのか? Opの事情を把握した上でコードを書いている人とはどのような人か? そのようなときに把握すべきこと、注意すべきこととは何か?

次があるならまた是非参加したいけど、そのとき、Devの視点からのこのような話題について聞きたいなあ、と思う。ぜひ。

まとめ

「まとまりもなく書く」と書いたので、ありません。

主催の方々および発表者のみなさま、それぞれの場所でのそれぞれの話が大変興味深く面白かったです。また会場提供および運営のあれこれを行っていただいていたサイバーエージェントのみなさま、ありがとうございました。

*1:最近は開発のためのツールとかも。

*2:良くならないということは、つまり、悪くなるということだ。システムに手をつけていない時間が長くなるほど関係者から忘却され、モダンなコードの割合は下がる。

*3:SIerが開発を請け、その後の運用も(別契約として)請けた場合であっても、システム開発における有能なプログラマが運用チームに残る割合は極めて低い。