こんばんは。よなしろ a.k.a. clonekoです。卒研発表会おつかれさまでした。
そして久々のアイカレアドベントカレンダーということでちょっとだけ気合入れて書いていこうかと思います。
そもそもお前誰やねん。。。という人もいると思うのでちょっと自己紹介。
- ITカレッジの2期生として2003年に当時のITエンジニア科ネットワークコース(今でいうところのサイバーセキュリティ科みたいなの)に入学。
- 2005年に県内の小さなインターネットシステム開発会社にサーバー管理をする役割で入社。2人で100台くらいのサーバーを県内某所で管理してた。
- その後、2007年くらい?に会社が合併する形で京都の会社に異動。2011年4月にいろいろあって退職からの沖縄に戻ってくる。
- 2012年4月から2016年6月(だったか)までアイカレの非常勤講師としてクラウドにまつわるいろいろを担当(プログラムはあんまり担当してないです)。
- 2017年9月くらいから今の会社でクラウドを駆使したシステム開発をやっている。
大雑把に書くと
ネットワークを勉強 → サーバー(物理)を管理 → ネットワーク・サーバー・クラウドの先生 → クラウドを使ったプログラマー
という感じです。
2003年から2011年くらいまでネットワークやインフラ(オンプレ)といったものを管理してた時の感覚としては
- 24時間365日誰からサーバー見てないといけない
- システムを立ち上げるとなるとまず物理マシンを購入 → OSインストール → ソフトいっぱいインストール → 開発したものを展開 → ちゃんと動くか確認
- システムによってメールサーバー・データベースサーバー・ファイルサーバー・なんとかんとかサーバー…いっぱいいろんな専門のサーバーの管理ノウハウ必要すぎて頭バグりそう
- 何かシステムに障害があったらサーバーにSSHしていろんなコマンドを駆使してトラブル対応
- データセンターのケーブル配線ダルい…電源管理(1つの箱にサーバー入れすぎるとブレーカー落ちる)ダルい…そもそもデータセンターまでいくのがダルい…搬入もダルい…設置もダルい…撤去もダルい…
- システム管理にGUI?何それおいしいの?
- 一度IVR(電話かけたら自動応答で対応してくれる奴)のシステム作ろうとして電話回線ひいたり機器を設置したりするときにデータセンターの管理者立合いで工事…はぁ…
- ↑の1年後くらいにデータセンター引っ越し???また回線変えたり機器引っ越しじゃん。なんなら電話番号変わるじゃん!!!!!
- 結局インフラ業は体力命!
みたいなことがふつうでした。なんなら今でも普通なところも多々あります。
2017年にクラウドを駆使してシステムを開発するような会社に転職しました。そして今の感覚はこんな感じ
- 24時間・365日サーバー見てる?さすがにそんなことやってられん…(やらないといけない時はやるけど)
- システムを立ち上げるには…設定ファイルを書いてコマンド実行したら必要な構成がクラウド上に作られる!ただ、設定書くのはちょっとダルい…
- ↑では設定ファイル書いてコマンド実行って書いたけど、いろんなクラウドサービス組合せる時は連携させる設定をするのがダルい時もある…
- さて、メールサーバー・データベースサーバー・ファイルサーバー…じゃないサービスの設定って…あ、↑の設定ファイルで全部設定されているからインストールとかする必要ないや。
- ↑とか言ってるけど設定覚えるのはめんどくさい…パフォーマンスのチューニングとかはほぼできないことが多い(課金で解決)けど
- たまにサービスのアプデで設定変えたりシステムちょっと直さないといけないいこともあるけど…
- 何かシステムに障害があったらサーバーにSSHして…SSHするサーバーないや。あーでも管理用コマンドをローカルで叩いたりしないといけないことはあるし、だいたい管理用コンソールがブラウザであるからそこから…
- 配線?電源管理?そもそも物理的に管理するものなんて今ないので…
- システム管理にGUI?うーん…コマンドだけできることも多々あるけど情報を見るのはCUIでできるのはCUIにしたいけどブラウザで見たほうがいいのはブラウザで見るかな…ただログ見る時とかはさすがにしんどい…
- IVR?自前で回線ひくとかさすがにもう嫌…そういうサービスあるからそれ使ってやったほうが多分死ぬほど楽…
- 体力使わなくてもよくなったけど頭は使わないと無理…
みたいな。
まとめると
- 物理的な制約が無いのは楽。超楽。
- 1つのサーバーの中にいろいろ入れて動かすことはなくなったけど、いろいろなサービスを連携させないといけないのでいろんな知識が必要なことには変わりはない
- システム管理においてCUIの重要性が減ったか…といわれると別にそんな感じはしない気がする。サービスの起動とか停止とかするのもコマンドでやるしなぁ…(コマンドが違うだけで)
- そんなことより問題を解決するためにいろんなサービス知ってて組合せて問題解決の方法を提案する能力のほうが大切だよなぁ…
- 身体的負荷は超減った
という感じ。
だけどあわせて
- クラウドのサービスを使わない&使えないシステムも多々あるのが現実(性能上の問題とかサービス使うより仮想マシンたてたり物理マシン使うほうがいいこともある)。
- ↑そうなった時にサービスを使った構築方法しか知らないと対応できない
- サービスを使う側の話ばっかりしているけど、サービスを運用している人がいるからこそサービスを使えるので運用する側だとOSだったりミドルウェアの知識が無いとやってられないので(今のサイバーのみなさんの)知識が無駄になることは多分ない。
- ↑ただその仕事はレッドオーシャンなのでスキルいっぱい積んでいかないと大変よ。
- むしろ開発する側の人のほうがいろんなサービスしらんとやってられなくなるので大変かも。
- 身体的負荷だけでどうにかなる仕事は減っていくか給料ほぼあきらめないといけないから頭を使うこと大切。あととっとと何も考えないでいい仕事からは抜けたほうがいい…
って考えたら身体的負荷よりは頭使う負荷が爆上げされていくので結局これからも勉強がんばらないといけないことにはかわらない。
結局みんながんばれ。っていうことで。