見出し画像

僕が思うクラウド基盤の考え方

プロのインフラエンジニアの中でも意見がめちゃくちゃ割れているのはクラウド基盤をどう考えるとかいう解釈、思想、扱い方だと思う。

このツイートにたくさんの異なる意見がついた時点で、「クラウドは扱うけど僕の考え方はこれ!」みたいなものがそれぞれあるんだと思う。
まだまだオンプレの仕事が大多数と言われるけど、全くクラウドを使わない企業は減っている。ちょっとずつクラウド基盤を利用し始めている。だけど既存基盤をそのままクラウドに持っていくのはそれなりに大変だし、設計を変えなければ割高になる。いや、設計というのはぬるい。設計思想から変えないと失敗する。それを僕の偏見のみで好き勝手に書く。

クラウド基盤のサポートとは

めちゃ関係者に怒られると思うが、クラウドのサポートはいい加減である。「なんか通信の瞬断が起きてるな。問い合わせしてみよう」
「調べたらその時間メンテしてました。瞬断しても大丈夫なように使ってください」
ふぁっ?いや確かにサービスに影響ないし、そういう設計やってるけど勝手になんでメンテしてるの?今まで自分でオンプレで保守してたときはサービス影響ない障害でも障害報告書書いて顧客にごめんなさいしてたのに!?

そう思って無駄である。そういう細かいことを気にしないのがクラウドである。それどころか問い合わせした結果「その時間は障害が発生してました」としれっと言われたりする。
なんで障害起きていて黙ってるんだ!報告書をよこせ!なんて言う人はクラウドに向いてない。むしろ、多少の障害でも問題が発生しないようにシステム設計をすべきである。というか、クラウドベンダーの推奨設計をしていれば大概困らない(はず)。

もっと言えば「来月から値上げします」とメール通知が来るのもクラウドサービスのあるあるである。
え、オンプレだと見積もりとって予算とって説明資料作ってレビューして、上の人がさらに上の人に同じことして稟議して、要するにめちゃ時間かけていたのに、メール一通で済むの?理由の説明は?資料は?

こういうことに慣れないと、クラウドサービスを利用するのは無理だ。
(偏見でたくさん悪口書いてごめんなさい)

文化を変える

前述の理由からも、システムをオンプレからクラウドに移管するためにはまず考え方を順応させないと無理だということがわかるが、実運用も変わる。

クラウド基盤は提供側の都合でUIがしょっちゅう変わる。マジで変わる。手順書を作った次の日にはサーバの停止操作の画面が変わっていたりする。ボタンの位置も表記も変わってたりする。これを経験すると「手順書通りにやりましょう」という運用の限界を感じる。
そもそも手順書がちがちに作ってその通りにオペレーションしているのは日本だけの文化らしくて、UIが変わって怒るのも日本だけらしい。
つまり、「変化に適用して働く」ことが求められる。
今までだったら「手順書通りにできないので、作業は取りやめます」というのが正解だったとしても、そのルールを見直す必要がある。

だから、運用ルールは見直しが必須だ。これはエラー解析も問い合わせもあらゆることがオンプレと違う。全部書くと終わらないので次に行く。

設計を変える

「オンプレをそのまま移行させてください」
こういうことを言う人がいる。200台のサーバがあればクラウドにも200台の仮想マシンを作ってください、ジョブ管理システムにJP1を使ってるなら、クラウドにもJP1を使ってくださいということだ。

これはめちゃ割高になる。クラウド基盤の提供サービスをまず使い倒すべきだ。そもそもリソースに余裕を持たせるオンプレと違って、クラウドは最適化が容易い。オートスケール機能を使えば、負荷が高くなった場合にスケールアウトすることができる。
そういうことを一つずつ考えると台数も抑えられるし、そもそも僕はサーバレス基盤を推奨したい。FaaSをちゃんと使えばジョブ管理システムも不要だし、通報もクラウド基盤の機能だけで安価に実現可能だ。
運用も楽になる。ハード故障を対応することがなくなるだけでなく、ミドルウェアの管理も減るし、パッチ適用を考える必要もなくなる。空いたリソースでさらなる改善を検討することができる。
みんなが大好きな自動化も、オンプレより選択肢が豊富だ。GithubにPushしただけで本番環境を自動更新する、というくらいの運用を実現できるのが今どきの先進的な基盤といえると思う。

ではオンプレはダメなのか?

そんなことを言うつもりはない。証券システムで処理の速さを何よりも優先させなければいけないシステムなどは、どう考えても今後もオンプレを使うべきである。
オンプレに最適化して安定しているシステムを持っていて、DCも持っていてコスト感にも課題を感じない、というならオンプレでもいいんじゃないかと思う。
あとは全部自分たちで管理したい場合などだ。エラーが出た場合、どうあっても自分たちで追いかけて解消したいという場合は自分でインフラを持った方がいい。どうしても、基盤を誰かに管理させるとブラックボックスになる。エンジニアも自分の管理領域以外には手出しができない。

あとは、オンプレとクラウドを半端に併用してしまうと、割高になるケースも少なくないと思う。クラウドならクラウドの利点を活用できる設計にしないと色々つらい。前述の文化などの点からもつらいことになると思う。
そういった懸念を払しょくできないなら、オンプレのまま生きるのも悪くないと思う。

さいごに

もしかしたら僕はめちゃくちゃ偏ってることを言ってるかもしれないし間違ってるかもしれないし、それはインフラエンジニアを名乗る僕にはもしかしたらリスクかもしれないけど、それでも言いたい。

世の中の基盤はもっとクラウドを本気で活用すべきだし、クラウド基盤を利用しやすいようにルールを変えるべきである。

その結果、運用のコストが下がって人員を削減されるかもしれない。でもそれが健康的なことなのではないだろうか。日本が世界で競争力を持つためには必要なのではないだろうか。語弊があるが、つまらない定型運用しか任されなかったエンジニアも先進的な技術に挑戦するチャンスである。定型的な仕事が減れば、その人は新しい領域に挑戦するチャンスになると思う。

僕はここまで偉そうなことを言いながら、たいしてクラウド基盤ができるわけじゃないし、そういう仕事の経験も超少ない。でも新しい仕事に挑戦をしたいからこそ、新しい技術や情報の発信は続けていきたい。

この記事が気に入ったらサポートをしてみませんか?