こんにちは。
今日はIT業界がいかに修羅場であり緊張の連続で、己の身をすり減らしながら見えない敵と戦っているのか、そんなリアルな現状をお話したいと思います。
これは現実に起きた話です。
目次
- 某月某日夕刻、活動限界を超える
- 逃げちゃ駄目だ
- AWSを制する者はクラウドを制す
- アラフィフおじさんは新スキルを手に入れた
某月某日夕刻、活動限界を超える
それは突然起こりました。
ノォーーーーーーーーーーー!
某月某日夕刻、CloudWatchからアラート信号をキャッチ。
色は赤。
「ヤバい、数値がヤバい、通常の5倍いってる」
どうする?
どうする?
あーどうしよう? どうしたら良いの?
プルルルル、プルルルルル・・
間髪入れずに1本の電話が鳴ります。
「もしもし、システムが動きません。こっちは大混乱です。はやく何とかしてください。お客さんがキレてます」
その電話は、客先にいるスタッフからの緊急連絡で、うちのシステムが突然悲鳴を上げシステムが動かなくなったとのことでした。
なぜアラフィフのポンコツな私にこんな刺激的な連絡が来るかというと、数年前にシステム開発の最前線を若手に譲ったあと、代わりといっちゃなんですが別のミッションを割り当てられまして、それが「インフラ」だったのです。
当時、うちのシステムをオンプレミスからAWSに載せ替えるという流行のマイグレーションを行うということで、たまたまPC自作が得意なアラフィフおじさん(私)がプロパーという理由だけで担当に抜擢されたわけです。
なんちゃってインフラ担当となった私は、それからというもの、無い頭に無理矢理知識を詰め込み、現在はうちのシステムが稼働しているAWSの管理者(rootユーザー)となっています。
そんななんちゃって管理者の私に最初の試練が訪れたというわけです。
「わ、分かりました。すぐに状況確認します」
うちのシステムに異常が発生したことはあっという間に会社中に知れ渡り、私の元に続々と問い合わせの連絡が来ました。
同時にCloudWatchから雨あられのようにアラートメッセージが飛んできました。
モニタリングしたところ、RDSのある数値がレッドゾーンに入っており、通常時の5倍の数値を指していたのです。
さらに追い打ちをかけるかのように、CPU使用率が100%で天井に張り付きました。
The END
システム停止
エヴァンゲリオンでいう、活動限界を超えた状態。
万事休すです。
逃げちゃ駄目だ
まずは負荷がかかっているSQLを探ります。
それを拾って開発メンバーに投げます。
次にRDSにアクセスしてDBのアクティブプロセスを見ます。
プロセスがゾンビ化していればKillしていきます。
さらに現場にいるスタッフにうちのシステムを強制終了してもらうようお願いします。
IT業界25年のカンを頼りにここまで独りで対処して、穴があくほどモニターを睨みつけ、数値が下がるのを祈ります。
が、
天は我を見捨てました。
状況変わらず、お客様の怒りは頂点に達し、客先にいるスタッフはその怒りをもろに浴びてメンタル崩壊状態。
上司からは確認の問合せがひっきりなしに来ており、会社は修羅場と化しました。
損害賠償・・
どうしてもネガティブなワードが頭に浮かんできてしまいます。
そして・・
私は最終手段に出ることを決意します。
起きてしまったことは仕方がありません。
事故を最小限に抑えるためのベストな方法を考えるのが私の仕事であり、管理職という立場はお飾りではないのです。
逃げちゃ駄目だ
二つの策が浮かびました。
1.RDS再起動
2.RDSスケールアップ
1については一時的には改善するかもしれませんが、また同じことが起きる可能性が捨てきれません。もしそんなことになったら、うちの会社はたちまち信用ゼロとなるでしょう。
躊躇せず2を選びました。
次はどのくらいスペックを上げるかです。
悩みましたが一気に3段階上げることにしました。コスト的にうなぎ登りになりますがそんなことは言っていられません。
お金より信用が大事です。
一発で仕留めなければならないのです。
失敗は許されないのです。
上司に報告し、客先にいる疲労困憊のスタッフへ連絡を入れました。
「これからスケールアップします。6分前後かかります」
※この6分というワードは何かあった時のために事前に調べていたことでした。IT業界に長くいるのでこういうことには鼻が利くのです。
実機(サーバー機)の再起動は何度もやったことがあるのですが、RDSの再起動、しかも本番稼働中のスケールアップ(緊急)というのは初めてのことでした。
アラフィフおじさん(私)のノミの心臓は今にもはち切れんばかりにバクバクし、損害賠償の恐怖と戦っていました。
もしこれでシステムが立ち上がってこなかったら私のせいだろうか?
私のせいで会社が潰れてしまうんだろうか?
そして・・
AWSを制する者はクラウドを制す
何事もなかったかのようにうちのシステムは復旧しました。
クラウド時代の事実上のデファクトスタンダードとなったAWSにとって、稼働中のサービスに手を加えることなんてのは造作も無いことで、そんなの朝飯前だったのです。
「システム復旧しました」
変な汗出まくりの心臓バクバクの私は、客先にいるスタッフと社内全体に急報を送り、その場で力尽きました。
AWSを制する者はクラウドを制す。
その後もうちのシステムで何度かトラブルが発生したんですけど、そのたびにAWS公式サポートに問合せて、私は知識を付け実戦経験を積んでいきました。
(内容については超専門的なのでここでは端折ります)
時代はもうクラウドです。悔しいけど、オンプレミスは下火です。
一昔前はセキュリティの面でクラウド上にデータを置くことは警戒されていましたが、大手がどんどんクラウド化していることもあり、今ではシステムをクラウドに載せることが当たり前となりました。
そんな風になったもんだから、AWSをうまく使いこなしチューニングできるエンジニアを企業は物凄く欲しがっています。
今現在、AWSのサービスは楽に200種類を超えています。
私は3年ほどAWSを触っていますが、分かるサービスはせいぜい20個ほどで、名前も聞いたことがないサービスが山ほど存在しています。
いかにAWSが巨大なサービスか、そのサービスの潤沢さを見れば一目瞭然です。
ただ、良いことばかりではありません。別の視点から見ると、それだけ種類が豊富なサービスということは把握するのが難儀となり参入障壁が高くなります。
さらに本番データと隣合わせのAWS作業はみんなやりたがりません。責任重大だし、深夜作業だし、土日も対応する可能性が高いからです。みんな土日は休みたいですしね。
募集をかけてもAWSエンジニアはなかなか取れません。もう殆ど大手が抱えていると思います。ただでさえ分母が少ない人種ですので、せっかく育てたエンジニアをそう簡単に手放さないと思います。
そこで私みたいな最前線を退いたアラフィフおじさんにチャンス到来となります。その参入障壁が高く緊急対応があるAWSをマスターすることができれば、強烈な差別化になって老害とは言われなくなるだろうと考えました。
管理職といっても不安なわけですよ。
業績が悪くなれば真っ先にリストラ対象となるし、働かないおじさん認定なんて絶対に嫌です。
なので、私は新たなスキルとしてAWSを勉強するようになったのです。
アラフィフおじさんは新スキルを手に入れた
AWSは流行りのスクリプト言語よりも進化が速く、書籍の内容は情報が古くなっており、公式セミナーもしくは企業セミナーで最新情報を得るのが一般的です。
少し前にAWSジャパンのソリューションアーキテクトの方達と技術相談会を実施したのですが、いやぁ、たまげましたね。とんでもない量のナレッジを持っていて提案力が凄まじかったです。
(そういった方々とお友達になれたらどれほど強いことか)
私はもうソースコードを殆ど書かないんですよ。
(全盛期は1日18時間は楽に書いていたのですが40歳を超えるとそんなことは無くなります)
特に最新開発言語はまったく分からないです。
今ヘルプでReactを触っていますが、ぶっちゃけやらされている感が強いです。
作業が分担化されすぎていて(フレームワークあるある)自分がいまいちどこを組んでいるのかピンとこないんです。
もう歳かな・・
昔はプログラムといったら最初から最後まで自分で組むもんでしたので、まぁそれが楽しかったり腕が鳴ったわけですが。。。
今、本番環境のAWSにメインで触っているのが私なんですけど、スクリプト言語を学ぶよりもやり甲斐を感じています。
責任重大ですけどね。しくじったら終わりですから。
でもね、昔を思い出すんですよ。
システム作ってお客様に褒めてもらえたことを。
インフラは裏方なのでお客様に直接褒められることはないんですけど、同僚から頼りにされたりするんですよ。
まさにそれがAWSなんです。
実戦経験がものを言う世界だから人柱になった私をみんな頼ってくるんです。社内の誰もやったことないことをやってその経験値を持っているから、そこで差別化できています。
責任重大の損な役かもしれませんが、実戦経験という特大のメリットを得られることは大きいです。
もうそろそろ50歳ですし、いつまで最新技術が頭に入るか分からないですけど、その時その時をしっかり考えて、AIに仕事取られないようにしようと日々思う今日この頃です。
ではまた。