2020年3月10日火曜日

19インチラックマウント上のメインフレーム(汎用機)の上で暗号化処理とDevOps環境を提供しながらLINUX上のシステムが動作します。The system on LINUX operates while providing encryption processing and DevOps environment on the mainframe (general purpose machine) on the 19-inch rack mount.

Link is here English version

石塚 正浩の考える優れた理想のプログラム言語とフレームワークの組み合わせについて
1、C10K(クライアント1万同時アクセス問題)に対応する
事。

2、AIと機械学習ライブラリがある事。

3、チームでの開発効率で、コードの視認性と良い意味での

非個性で、良い意味でバラエティ豊かな表現は出来ず、統

一感が出せる事。

4、セキュリティ(脆弱性)メモリーリークが発生しない事。

5、マルチコア、マルチスレッド性能が高い事。

6、プログラムが読み書きしやすい事。

7、コールバック地獄対策がされている事。

8、コンパイル言語である事。

9、ポインターの概念が無い事。

10、電子署名周りのための暗号化ライブラリがある事。
※10、JavaとGoでは、電子署名周りのための暗号化ライブラリが実装されている様ですが、他の言語は未確認です。
11、ガベージコレクションが無い事。 



上記1~3に該当で、有力なのは、Go lang+GinとPython+Cycloneくらいしか知りません。しかしGo言語のフレームワークはまだ色々ありそうです。
Nimは、C言語の次に早いけど、バラエティ豊かに表現できそうで非個性と言うにはどうかな?それと機械学習ライブラリがあるか現時点では分からないと言う点です。
Juliaは、思っていた程、早くなさそうで期待はずれな感じです。
Go言語と機械学習ライブラリについては、以下にまとめてあります。
http://neovisionconsulting.blogspot.com/2018/08/gotensorflow-prediction.html?m=1

Go言語で開発したWEBサイトを動かすときには、メモリ使用量が少なくて済むというメリットがあります。
Pythonは、AIと機械学習ライブラリは一番充実しており、その方面での開発のしやすさは、メリットとなっております。しかしプログラム言語単体の処理速度はPythonよりGo言語の方が早い様です。
Go lang+GinとPython+Cycloneはどちらもクライアント一万同時アクセス問題に対応しておりますので、とても高速です。1秒間に1万件のDATAを処理出来ます。Python+Japrontoフレームワークは、一秒間に百万件アクセスに対応しているらしいです。


上記の1から5の全てと8と11に対応している理想のプログラム言語は、
Rust(ラスト)になります。
Rustは、JAVAやGolangより高速で動作致しますので、銀行やクレジットカードなどミッションクリティカルな現場でますます重要性が増していくと思われます。
2のAI(機械学習)に関してましては、2020.02.22現在Tensorflowバインディングが公開されている状況です。TensorFlowもどきを作られた方もいらっしゃいますが、GPUには未対応の様です。
Rustで開発する場合のチームでの統一感や統合性を出しやすい仕組みについて
https://neovisionconsulting.blogspot.com/2020/02/rustwebgolang_11.html


GoからRustに変更してパフォーマンスを改善しました
https://www.atmarkit.co.jp/ait/articles/2002/10/news038.html


上記の1から9対応で、ただし3と4を除いて全て対応しているのは、Nim(ニム)です。
Nimのマルチコア、マルチスレッド性能は現在調査中です。
Nimは、ベンチマークの結果、最適化されたC言語の次に早い様です。
NimはC10K問題にも対応しています。
メリットでもありデメリットなのは、Nimは、Pythonライクな構文でプログラム出来ます。
プログラミングの書き方は、Pythonライクなので読み書きしやすく、視認性も良く、チームでの開発効率は悪くないです。
しかしGolangに比べれば、悪い意味で表現豊かに出来るので、もしコーディングルールがチームでしっかりしていない場合、たいして打ち合わせしないでWEBサイトやイントラネットなどを開発すると、統一感が出すのが大変である。
NimにもPythonやGoの様な厳格なフォーマッターが登場すれば、上記3のチームでの統一感をを出しやすくなり解決するかも知れません。
お互いに予想していたのと違う物が出来てばらばらで、修正の手間が大変だと言う事です。
脆弱性対策とチームでの統一感を出す一定の品質を担保にするには、ユーザー定義したプラグマをコンパイル時に使用して、エラー、ワーニング、ヒントなどを見てチェックすると良い様です。
https://blog.hirokiky.org/entry/2019/06/03/202745

参考情報:
(もうPythonの細かい書き方で議論しない。blackで自動フォーマットしよう)
NimでもRustの様にコンパイル時に厳格に厳密にメモリリークも含む虚弱性診断のセキュリティチェックを行うオプションを付けられるようになるか、将来バージョンアップした時に改善される事を希望致します。
最速<最適化されたC言語 < Nim < Rust < Go < Java < 遅いの順で左側に行くほど早い様です。
http://h-miyako.hatenablog.com/entry/2015/01/23/060000

参考情報:シェアしました。 


1、3、5、8、9、11に対応したプログラム言語にV言語が御座います。

コメント:
プログラム言語のV言語とRustは、Ruby、PHP、Go言語、Javaなどより高速で動作致します。
Go言語やJavaとは異なり、ガベージコレクションが無いので、そのおかげで処理が途中で突然停止したり極端に低速になる事はまずありません。ただし、V言語の方が高速ですが、2020年7月現在V言語にはメモリーリークの問題が残っております。Rustの様にコンパイルが成功すれば、その実行においてメモリーリークが起きない様なシステムにはV言語は、まだなっておりません。Rustにはメモリーリークの問題が無いですが、V言語に比べてRustの方が学習のハードルは少し高い様です。

comment:
The programming languages V and Rust run faster than Ruby, PHP, Go, Java, etc.
Unlike Go and Java, there is no garbage collection, so it's unlikely that the process will stop suddenly or be extremely slow. However, V language is faster, but as of July 2020, V language still has a memory leak problem. V language is not yet in the system that the memory leak does not occur in the execution if the compilation succeeds like Rust. Rust does not have a memory leak problem, but Rust seems to have a slightly higher learning hurdle than the V language.

https://neovisionconsulting.blogspot.com/2020/05/vrustjavagovthe-v-programming-language.html
ーーー

The Nim version is the fastest for Pandas. Rust is the best overall power for websites!(Pandas用にはNim版が最速。WEBサイト用など総合力ではRustが最高!)
https://neovisionconsulting.blogspot.com/2020/03/the-nim-version-is-fastest-for-pandas.html


関連情報:

https://neovisionconsulting.blogspot.com/2019/07/blog-post_1.html?m=1


コメント:

世界中の銀行やクレジットカードなどのWEB決済のWEBサーバーは、古いメインフレーム(汎用機)から、

19インチのラックマウントに収まるIBM製の最新のメインフレーム(汎用機)上のLINUX上で、勘定系ならFLEXCUBEなどや、2019年現在では、上記の環境で、JavaのWEBサイトやイントラネットが数多く導入されている様です。現在C10K問題対応のCycloneフレームワークは、Python2からPython3に移行バージョンアップの為のメンテナンス中です。AIや機械学習などとの相性は良いかも知れません。又、個人的かつ将来的には、プログラム言語RustとV言語は、C10K問題対応で、ベンチマーク上では、最適化されたC言語の次に高速でコンパクトな容量の少ないシステムメモリー上で動作するので、後はAIや機械学習のAPIライブラも充実すれば幸いであります。RustやV言語はガベージコレクションが無いので、JavaやGo言語と違い、アクセスに対してのレスポンスの反応が固まって遅くなる事もなく、常にスムーズで高速な大量のアクセスに対応致しますので、将来性が高く期待しております。 更にRustはメモリーリークの心配が無い安心で安全な設計思想で出来ております。

ーーー
2020.02.02現在、
Python2&3では、グローバルインタプリタロック(訳注:LL言語のスレッドが持つ排他ロックの仕組み)の問題が解決されておりません。

代替え方法として、
他の真のマルチコア、真のマルチスレッド対応のプログラム言語を使用するしか方法は無いと思います。
-----------
ーーーーー
なぜ私達は Python から Go に移行したのか
https://frasco.io/why-we-switched-from-python-to-go-19581e27de7c

シェアしました。
ーーー
この頃 流行りの 言語たち(他)でベンチマーク (Dart, Go, Julia, Nim, Python, Rust 他)
http://h-miyako.hatenablog.com/entry/2015/01/23/060000

ーーーーー
さようならPython、こんにちはGo
https://yakst.com/ja/posts/5253

シェアしました。
----
■Spanner(Google) DATABASE
Google検索結果はこちら
Spanner(Google) - Google Search

https://www.google.com/search?sxsrf=ALeKk03c94bk4hig4WDp5V0c7vQmDMgNgQ%3A1593861945388&source=hp&ei=OWcAX_yuFe6Tr7wP0uGisAc&q=Spanner%EF%BC%88Google%EF%BC%89%E3%80%80DATABASE&oq=Spanner%EF%BC%88Google%EF%BC%89%E3%80%80DATABASE&gs_lcp=CgZwc3ktYWIQDDIECAAQHjIGCAAQCBAeMgYIABAIEB4yBggAEAgQHjIGCAAQCBAeMgYIABAIEB46BwgjEOoCECdQuhZYuhZg2iRoAXAAeACAAWSIAWSSAQMwLjGYAQCgAQKgAQGqAQdnd3Mtd2l6sAEK&sclient=psy-ab&ved=0ahUKEwi8r8u4vrPqAhXuyYsBHdKwCHYQ4dUDCAk

■高速なACID対応NewSQL DATABASE
CockroachDB正式版 Ver1.0リリース。
Google Spannerクローンを目指した「CockroachDB」正式版 Ver1.0リリース。
VoltDB
オープンソース VoltDBとは
FoundationDB、ACIDの条件も満たす。& NoSQLを超えるSQLデータベース「VoltDB」。Cassandraとベンチマーク対決!
毎秒1400万回のライト(write)を行うNoSQLデータベースFoundationDB、ACIDの条件も満たす。& NoSQLを超えるSQLデータベース「VoltDB」。Cassandraとベンチマーク対決!

関連情報
https://neovisionconsulting.blogspot.com/2020/02/mainframe-general-purpose-machine-ibm-z.html

http://aon.tokyo
エーオン代表
石塚 正浩


edited by DB Online   2018/05/24 06:00

 ここ最近は、ハードウェアに関する記事を書く機会が大きく減った。そんな中、ゴールデンウィーク中に米国で開催されたDell Technologies Worldでは、より長く最新テクノロジーに対応できるように筐体から見直したモジュラー型サーバー「PowerEdge MX」の発表があった。また3月に行われたIBM THINKでも、POWER 9プロセッサベースのマシンでNVIDIAのGPUをより効率的に使えるようにするための協業の話も飛び出し、ちょっと新鮮な気分を味わった。





























IBMは自社ブロックチェーンサービスのプラットフォームにIBM Zを採用
































cap
IBM THINK 2018で展示されていたz14 デュアルフレームのマシン
(本文中に出てくるz14 Model ZR1とは別)

 ところでハードウェアの話題と言えば、ここ最近ちょっと気になっているのがメインフレーム。その代表はもちろんIBMのフラグシップマシンIBM Zだろう。言わずもがな、これは「レガシー」とも表現されるマシンだ。クラウドの時代に何を今更メインフレームかと思われるかもしれない。とはいえIBMは、2018年4月にZの新モデル「IBM z14 Model ZR1」および「IBM LinuxONE Rockhopper II」を発表している。これらは、「クラウドコンピューティングに最適な最新のメインフレーム」と位置づけられている。
 IBM z14 Model ZR1は、クラウドデータセンターやプライベートクラウド環境に容易に配備できるよう、業界標準の19インチラックに対応したシングル・フレーム・デザイン筐体を採用している。つまり、既存のデータセンターに設置されている19インチラックにメインフレームを搭載できると言うこと。ストレージやネットワークなどをメインフレームサーバーと同じラック内に格納でき、それで「コンパクトにまとまったデータセンター」を実現できる訳だ。結果的に、メインフレーム環境のキャパシティ増加と設置スペース削減を両立している。
 このようにクラウド時代にも対応するメインフレーム製品をIBMが新たに投入するのは、いまだ世界中でメインフレームが重要なトランザクション処理を担っているから。クレジットカードのトランザクションの86%、年間約8兆ドルの処理がメインフレームで行われている。またATMの290億トランザクション、1日あたり約50億ドルの処理もIBMメインフレームの上で実行されている。IBMメインフレームが処理している1日あたりのトランザクション量は300億以上あり、これはGoogleの検索処理をも上回っているそうだ。
 この堅牢なレガシーサーバーにオープンなLinuxを載せているのが、IBM LinuxONEだ。実はIBM Zでは、2000年頃からすでにLinuxが稼働している。既存システムの更新ではなく新規導入されるメインフレームの用途としては、Linuxサーバーの統合プラットフォームと言うのが多いとも聞く。現状対応しているLinuxディストリビューションはRed Hat、SUSE、Ubuntuで、それらの上ではJavaが動き、MySQLやPostgreSQLなどのオープンソースソフトウェアももちろん利用できる。国内でも三菱UFJ銀行が2,100台のPCサーバーを4台のz/Linuxに統合しており、みずほ銀行でも同様に100台以上のサーバーをZに統合している事例がある。
 またIBMが提供しているブロックチェーンのソリューションにおいては、クラウドで提供する「IBM Blockchain Platform」でIBM LinuxONEが稼働している。エンタープライズ用途でブロックチェーンサービスを提供するためには強固なセキュリティ性が求められ、全てを暗号化するZをあえてIBMはプラットフォームに選択しているのだ。具体的にはZの上でSecure Service Containerを動かし、それを使ってHyperledger Fabricを構成している。セキュリティ以外にも高いパフォーマンス、可用性、拡張性を評価しメインフレームを採用している。
※この続きは、会員の方のみお読みいただけます(登録無料)。

エンタープライズ企業のデジタル変革ではメインフレームが役に立つ

 メインフレームが新たなデジタル変革の時代にも重要な役割を担う、そう主張するのは何もIBMだけではない。CA Technologiesのメインフレーム担当ゼネラル・マネージャーのアショック・レディ氏は、既存のエンタープライズ企業がデジタル変革に取り組む際には、GoogleやFacebookなどのデジタルネイティブな企業がそれを行う際よりも高い信頼性を求めると指摘する。デジタル変革の中で高い信頼性を提供するプラットフォームとしては、メインフレームにも大きな価値があるという。



























CA Technologies メインフレーム担当ゼネラル・マネージャー アショック・レディ氏
CA Technologies メインフレーム担当ゼネラル・マネージャー 
アショック・レディ氏

 「既存のエンタープライズ企業のほうが、デジタルネイティブな企業よりも求める信頼性は高いものがあります。エンタープライズ企業がデジタル変革を行う際には、デジタルトラストが重要になります」(レディ氏)
 この高い信頼性を実現するデジタルトラストを考えた際に、元々堅牢性と安定性を備えるメインフレームこそが最適なプラットフォームとなる。とはいえ、一方でメインフレームを安定的に運用するための人材はどんどん減っている。そのため、メインフレームの環境を最適化し、いかに効率的にメインフレームを運用できるようにするかが課題となる。「メインフレームの技術者がリタイアしていく中では、AIや機械学習の技術を使って必要な情報を自動で収集、分析して、事前に対応することも必要です」とレディ氏は言う。
 その上でオープンシステムと同様に、さまざまなデバイスからのアクセスに対応する認証の仕組みや、データが国外などに意図せず流出するようなことを防ぐデータ保護の要求にも応える必要がある。メインフレームの人材不足を補い、オープンシステムと同様なDevSecOpsの実現をメインフレームプラットフォームでも実現できるようにするのが、CA Technologiesのメインフレーム活用の新たな戦略となるのだ。
 またAIや機械学習技術を活用する際には、実はメインフレームのほうがオープンシステムよりもリソースが少なくて済む場合もある。その上で、今はメインフレームにオープンなシステム技術がどんどん入ってきている。メインフレームであれば、これらの新しい技術を使って実ビジネスを展開していくような際にも、プラットフォームにもともと高い信頼性と安定した稼働が補償できる環境がある。そのためAIや機械学習のような新しい技術を活用するような場合にも、実はメインフレームの利用にはさまざまな面でメリットが発揮できることになる。
 「今後もメインフレームがなくなることはないでしょう。これからもメインフレームがデジタルエコノミーの一部の役割を担っていきます。メインフレームを活用してデジタル変革を起こす企業のサポートを、CAは行います」(レディ氏)
 多くの企業が、デジタル変革のためにメインフレームを新規に導入するとの判断は下さないかもしれない。とはいえ、自分たちが行うデジタル変革に高い信頼性と安定性が求められるのならば、その要件を満たす環境をオープンシステムを組み合わせて自分たちで作り上げるのではなく、最初からそれらが備わっているメインフレームを活用する選択もあるだろう。自分たちが行いたいデジタル変革のプラットフォームには、いったい何が求められておりそれを実現するには何を選択すればいいのか。必ずしも安価なパブリッククラウドのプラットフォームが求める答えの正解ではなく、IBMが自社ブロックチェーンサービスにZを選んだように、最初から堅牢で高いセキュリティ性のあるメインフレームを選ぶ考え方もあるはずだ。

0 コメント:

コメントを投稿