Cloud Native Computing Foundation(CNCF)でgithubなどからOSS傾向を計測し結果を公表しました。フロントはReact、バックエンドはKubernetes。OSはLinuxが前提の時代ですね。
注目したツイート
2019年7月10日、Dan Kohnさん(CNCFのエグゼクティブ・ディレクター:Executive Director of the Cloud Native Computing Foundation)のツイートが興味深いグラフ付き。考察してみました。
該当のグラフは、縦軸には『プルリク数+issue数』、横軸に『コミット数』。そして円の大きさはauthorsということは『人数』つまり、プロジェクト規模という感覚でみればよさそう。
計測方法はgithubで、元データはGoogleスプレッドシートで公開されています。元の記事は『The 30 Highest Velocity Open Source Projects』という記事。ツイートの図は最新になっています。元の記事では2017年の計測値が垣間見れます。こちらも参考に考察してみます。
※2017年のデータは、残念ながら完全に同じ元データは見つけることができませんでした。(かなりgithubのリポジトリを徘徊したのだが、、、それっぽいファイル名でも数値が一致しなかった。残念)
※私が比較用にまとめ直したスプレッドシートを公開しておきます。ご参考まで
authorsの3強は、React、Linux、Kubernetes
authors数でみての3強はReact、Linux、Kubernetesですね。authors数で見るというのは、多くの人数が集まっていること、その人数でプロジェクトが回っている証拠です。人気の他、ドキュメントや設計思想、品質プロセスなど細部が配慮が行き届いていると捉えてよいでしょう。また、2017年からの増減傾向を見れば今後の成長性も見えてきますね。日本人にとって英語が難関ですが、最近Google翻訳の精度が高いのがとても頼もしいです。
React (Authors1位、commits7位、prs+iss 7位)
Reactは5011人で1位。フロントエンド技術としては最注目と言えそうですね。他にも関連どころでは、 Gatsby (14位 1501人)といったところも目立っています。
フロントエンド系で同じく耳にするvuejsが18位(1290人) Angular が 37位(700人)といった感じ。数字からみてReactは頭一つ抜けている。
DefinitelyTyped (4位 3587人)あたりが左下の方で目立ってます。左下ということで、コミット数や議論は多くありません。コミット数や議論は少ないけど、ググるさいにJavaScript系のキーワードと組み合わせると必ず候補が出てきますね。React、vuejs、Angular、TypeScriptといった技術の下支えといったところでしょうか。
2017年との比較でみると、Reactは参加者が3倍に膨れ上がっています。 DefinitelyTyped は2倍近く、vuejsも微増しており堅調。
Angularは減少傾向で元気がない。Angularはバージョン互換などで課題があったようですね。経緯については別の記事が詳しいです。参考サイト(英語、日本語)
Linux (Authors2位、 commits5位、prs+iss 1位)
Linuxはやはり強いですね。2位で3899人。Serverという本来の役割に対して文句なしの実績と安定感がありますよね。多くのトレンド技術がLinuxを前提にし、もはやLinux操作は最低限の教養として身に着けておきたい技術になってます。もし仮にWindows Serverの仕事だといっても、今やHyper-Vベースの仮想マシンや、Dockerを立ち上げることができるし、そうなると立ち上げるのはLinuxとなるケースが多くなるでしょう。
OS系では、 Windows 、FreeBSDといったところ。 Windows系では、.NETというカテゴリで7位(2142人) 、FreeBSDは24位(1005人)。
クライアントOS最強のWindowsですが、Serverは今後どうなりますかね。今後はWindowsコンテナ技術に期待でしょうか。Windowsコンテナについてはcoreはまだ重く、nanoは期待してます。nanoでchocolateyが使えるようになれば面白くなりそうと期待しているのですが。。。
Kubernetes (Authors3位、 commits22位、prs+iss 3位)
3位は、Kubernetesで3794人。そして「Kubernetes用のパッケージマネージャ」とされるHelmが9位(1777人)と好位置です。
Kubernetesが制御するコンテナはDockerがデファクトですよね。そのDockerは45位(627人)と人数的には小さいですが、コミット数で堂々の4位(75102回)。Dockerイメージが扱えるインフラコード化の技術でterraformが12位(1683人)、terraformの2017年から4倍近く参加者が増えており、急成長中の注目技術ですね。
Redhat社による、Kubernetes+Docker環境の利便性向上のOpenShift(25位 957人)もあります。Redhat社のサポートがつけられるのは企業にはありがたい存在でしょうか。
多くの人が関連しており、KubernetesとDokcerのコンテナ技術は世の中を変えつつある。目の離せないトレンドです。
インフラ関連だと他にはOpenStackが6位(2591人)と大きい。大規模エンタープライズ系で強みを発揮している技術ですね。OpenStackはOSSだということで、個人PCで実験がてら動かそうとすると、メモリが足りなくなったりと大きなパッケージとなっています。企業や官公などの大規模インフラ向けの管理ソフトというイメージが強いですね。
Kubernetes(コンテナ管理)とOpenStack(資源管理)とではレイヤが違うのかな。いずれにしてもインフラ管理はこれらの技術トレンドで自動化が進んでいくことは間違いなさそうですね。
蛇足ですが、仮想化の資源管理といえばVMWare社が強いですよね。そんな中、OpenStackはVMWareベースで構成するプランを用意したりしてます。このあたりの勢力図が今後どうなるのかは楽しみなところです。
インフラコード系では、12位のterraformと並んで、ansibleが13位(1580人)と好位置です。2017年比較でも2倍の人数に増えており好調な技術ですね。pythonベースなので、jupyterなどとの相性が良く、現場目線で工夫しやすい点がいいです。chefは198位(302人)と元気がない。衰退期に入ったとみてよさそうか。
(私はOpenStackとOpenShiftがいつも頭でゴチャゴチャになる…苦笑)
その他-気になる技術
Rust(Authors15位、 commits58位、prs+iss 14位)
Rustはプログラミング言語のひとつ。ランキング中でプログラム言語が入っているのが異色を放っている。
RustについてはWikipediaから引用させていただくとこんな感じ。
- 速度、並行性、安全性を言語仕様として保証するC言語、C++に代わるシステムプログラミング
- 2016年、2017年、2018年のStack Overflow Developer Surveyで「最も愛されているプログラミング言語」で一位を獲得
- 学習難易度が高い言語
Rustは愛されてるんですね。いいですね。最高の勲章ですね。
私は、Rustを軽く挑戦したことがあります。プログラム言語なんて方言が違えど似たものだろうと、Rustについて事前準備なしで挑戦しました。そして、数行のコードですがコンパイルがひたすらエラーになりました。。。メモリ管理など言語仕様が厳格化されているので、安易なコーディングすると、コンパイル時にエラーになる。なぜエラーなのかが理解できず挫折すること間違いなし。乗り越えれば、それは美しく安全で速いプログラムが完成します。ルールを守ると美しいコードが得られるなんて素晴らしいですよね。Rustで自ら書いたコードだと余計に愛着がわくことでしょう。
最近、Java有償化で騒がしさを感じます。個人的にはプログラミング言語はPythonが推しですが、Python以外の他の言語では何か勧めてほしいと問われたら、愛と難易度を兼ね備えたRustを推そうかな。。。(GoとかScalaとか他にもトレンドありますが。。)
NixOS(Authors17位、 commits37位、prs+iss 17位)
OSでランキングされてたので注目しました。私、恥ずかしながらこのOSのこと知りませんでした。ググると日本語記事がそこそこヒットします。(NixOSを紹介する印象的なブログ記事)
『The Purely Functional Linux Distribution』とされるそうなので、Linuxとカウントすべきでしたね。知らなかったのでお許しを。
- 純粋関数型Linuxディストリビューションなのが売り
- Dependency Hellからの脱却
ということで、純粋関数型のOSというのが珍しいのと、OSSとしての開発規模からするとかなり期待できるOSなのだと個人的に着目しました。
紹介ブログの、「ある日ふと気がついたら、自宅で使っているほぼすべてのPCがNixOSになってしまいました 」という紹介は印象的でした。
Cloud Foundary(Authors22位、 commits数17位、prs+iss 82位)
Cloud Foundaryは、アプリとして開発したものをインフラにデプロイする局面の技術なのかな。(間違ってたらすみません)。 VMWare社⇒Pivotal社(VMWare+EMC)⇒ Cloud Foundary Foundationへ移管という流れ。開発側はどんな言語やフレームワークでも、cfコマンドでデプロイを指示できるようになるようです。
Cloud Foundaryは、2017年からAuthorsは変わらず1000人程度で推移。
Cloud Foundary の注目のポイントはSAP社の参加にあります。SAP ERPの標準サポートが2025年で終了となることでERP業界がざわつく中、SAP Cloud PlatformがCloud Foundaryに対応。アドオンやカスタマイズが大好きな日系企業には注目に値する技術だと思いませんか。
まとめ
2019年7月の注目技術
- React
- フロントエンドの最有力
- Linux
- OSでは一強か
- Kubernetes
- コンテナ世界を実現する最有力技術
2019年7月の 個人的な注目技術
- Rust
- 愛されつつも難易度の高いプログラミング言語
- NixOS
- Cloud Foundary
- SAP社の参戦に注目
コメント
[…] 【2019年7月】githubからみる注目IT技術3選+α【React、Linux、Kubernetes】 […]