KAEDE Hack blog

JavaScript 中心に ライブラリなどの使い方を解説する技術ブログ。

朽ちる技術とその必要性

僕らが食べるために技術は朽ちていく

f:id:kei_s_lifehack:20200924034940p:plain

www.orangeitems.com

  • 衝撃的なタイトルだったから読んでみた
  • 引用しながら感想や自分の理解を添えて書くスタイルを取る。

今もってC++を未だに利用しているプログラマーもたくさんいるとは思いますが、今はPythonJavaScriptC#などの高級言語も盛んです。一方でVisual Basicが相当利用されていましたが、今はMicrosoft OfficeVBAぐらいでしか仕事では登場しないんじゃないか、と思います

システムを導入したときに、設計はそのときの手堅い構成を行うのが普通です。すごく最新のことを導入すると、未知の課題で大変な目に遭うかもしれないので、ここ二年くらいで最も実績のある技術

  • 2 年で最も実績がある技術、React, Next, もそうなんだろう

ただ5年も経つと入れ替えの話が出始めます。これまではそのソフトウェアを入れていたハードウェアの保守期限が迫ってくるから、でした。

ハードウェアを入れ替えるなら、一緒に上のソフトウェアも新しくするかーと。

でもクラウドの時代で、ハードウェア保守の話が切り離されました。動かしたければずっと動いてくれるのがクラウドです

  • 今まではハードウェア依存で 5年でソフトウェアを更新していたんだ

でもクラウドの時代で、ハードウェア保守の話が切り離されました。動かしたければずっと動いてくれるのがクラウドです(運用事業者が事業終了しなければ・・)。

では、最近はどのタイミングでシステムの入れ替えを行うのでしょう。

やっぱり、保守です。保守は保守でも、ソフトウェア保守です。構成していたソフトウェアが更新されなくなる。新しいセキュリティーホールが見つかっても対処されない。保守料が年々上がって、入れ替えた方が安くなる。などいろいろ。

この業界、上手くできてるなと思うのが、ソフトウェアが朽ちるのです。

クラウド前提の今では

  • 構成ソフトウェア ( npm ライブラリや AWSWordpress などのバックエンドサービスかな?) が セキュリティホールの発見と未対応( ちょうど最近 GitHub に node-fetch 2.6.0 を怒られているな)
  • 値段の上昇 (前まではオラクルやオンプレミスが多かったのが安いから AWS に入れ替えられている?)

でソフトウェアが「朽ちる」らしい

この、朽ちていく感じ、を錬成するために、業界挙げて、保守理論、サポート理論を作り上げて来たんだなあって、20数年業界にいて強く思います。

単に業界の僕らが食べていくため、もあるし、化石のような技術につきあってられんのよ、と。それにお付き合いしてしまたら、他の仕事に移れなくなるでしょ?って。

  • 技術者の食い扶持の確保と技術者のスキル更新のために、このライフサイクルは設計されている

パブリッククラウドの世界だと、最近は、データベースなどが特にそうですが、勝手にミドルウェアのバージョンが運営側でどんどん上がっていく、と言う方式も一般化しています。それで不具合起こるなら、アプリケーションの方で適応してね、と。データベースが勝手に新しくなるから、アプリケーションの保守をサボるとアプリケーションが朽ちるよ、って。

  • Public なクラウドではバージョンが上がっていていくからアプリケーションの保守が必要になる
  • これは上記のライフサイクルのためだったのか、合理的だ...

技術者はやっぱり未来に向かってモチベーションがあるのであって、過去に向かって行くような仕事は苦痛でしかない。だから、この保守理論、サポート理論は大切にしなきゃいけない

  • 過去に向かって... ホームページビルダーで作られたサイトや COBOL, VBA のメンテは確かに苦痛だ...
  • 先代の技術者が作り上げてくれたこのライフサイクルは大切にしなければいけない、ライフサイクル、寿命を決めて、更新できるソフトウェアを作らなければいけないんだな
  • 母は「家電は10年で壊れるように作られてるなんてセコイわね!電機メーカーは悪質だ!」とよく語っていたが、今になって思うと「10年で壊れるように敢えて設計されている」というのが事実だとしても、それはより便利な家電を未来に作れるようにするための極めて「良いこと」だと理解できた。決して「悪徳」などではなくて。

以上、感想。