近々Java系の仕事をする予定なので、知見をTwitter(X)を使って速習しています。同じITでも技術面においてはシステム寄りの言葉が飛び交う印象で困惑しています。なお、箇条書きはTwitterでJavaを使用している人の言葉を読んでから私の言葉で書き直したもので正確ではありません。ちなみにDukeって何の生き物なの?ペンギンかと思ったが動物ではないらしい。何ものでもない生物なんてありなの?日本ではそんなルーツのないキャラクタなんてあまりいなくない???そこからしてJavaを信仰する壁が立ちはだかっている気がしてなりませんが。。
・JVMで無停止の稼働率を求められる。JVMでの1month以上の稼働は不可能。1日1回の再起動はすべき。または、冗長化や何らかのworkaround(回避策)を設ける)
→この運用をしないといけないことが残っていることが驚きですが。やはりJavaのシステムって予告なく(?)いつかはとまるということが感覚値としてあります。止まらないので欲しいのですが…。LAMPのシステムも止まりますが止まる理由がだいたいある感覚。感覚値で申し訳ないですが。
・JVM自体がSEGVる。
SEGVる…という言葉が初耳。シグ・セグヴィ(SIGSEGV=SIGnal SEGmentation Violation)シグナル・セグメンテーション・バイオレーションのことでプログラムのバグによるセグメント不正アクセスのこと。これはJavaに限った話ではないが、システムよりの用語として普通に使われるのを知らなかったデス。
・Elixirで作ったシステムは無停止
→てことは、JVMに起因するバグはなく、プログラマの力量不足すなわちバグによって問題が起きていることがほとんどということなのですね。そういう話を聞いたことが有る。システム停止はJavaのせいではなく、能力不足のJavaプログラマのせいということになる。Javaは能力が低い人を大量投入してシステムを作る言語の代名詞だと特にJava言語を使っている人は思い込んでいる傾向がある。
・SPOF部で不具合出れば即死
→SPOF(Single Point Of Failure)=単一障害点のこと。冗長化すれば絶対に無停止が実現できるという幻想を打ち砕くには十分な現実である。それを一言で表す部位のこと。あんまり英語とか言葉で表さないなあ。シングル・ポイント・オブ・ファイラかあ。
・Openshift>k8sである印象
→そもそも何の技術なのか説明できないので今度深掘りしてみたいと思います。oepnshiftはred hat社が提供するk8sのようなコンテナ技術で、k8sのオープンソースプロジェクトがあって成立する。RHELとCentOSみたいな関係?(参考:Kubernetesから強化されたOpenShiftの便利な機能とは? IBMが「3C」でコンテナ導入をサポート)調べてみるとk8sに管理画面があって使いやすく高機能なのがred hat openshiftである模様。つまるところk8sをおさえてないとopenshiftはつかないという理解で良さそうですね。
参照元:
「エンタープライズなJavaの要件」について。議論してみたところ
1. 極めて長時間(1month以上?)連続無停止でのJVMの稼働が求められる
2. デプロイしたアプリの状況でたまたまJVM自体がSEGVったりメモリリークったりする可能性があるので、バグ報告に対してできるだけ即応してもらわないと困る↓
— kmizu (@kmizu) October 15, 2023
コメント