OSSってどういうカテゴリに分類できるんでしょう?
こんにちは。
今回は年末も近いということで、一度この1年で書いてきたことを振り返って来年につなげようと思います。
1.今年一年どんな内容を書いてきたの?
今年一年書いてきた内容と、時期をマッピングしてみると下記のようになりました。
・・・実際に図にしてみると書いている要素に共通点がない節操無さがよくわかる結果となりました(汗
とまぁ、そういうどうしようもないことはさておき。
2.これらのOSSをカテゴリ分けしてみるとどういう風にわけられるの?
来年へ向けてということで、今年やってきたことや、後はここ数年で扱ったOSSを基に、世の中のOSSってどうカテゴリ分けできるかを考えてみます。
結果、下記のような感じで大きくカテゴリ分け出来るのではないかというのが現状の結論です。
#図の中に書いてあるOSSは自分がそれなりに扱ってきたもの
おそらく、世の中のOSS、という視点で見ても同じようにカテゴリ分けはできるでしょう。
・1.データを処理する
取得してきた/受信したデータを処理し、結果の保存や通知を行う。
・2.データの流れをつなぐ
他の要素間のデータを運搬し、つなぐ。
・3.データを蓄積する
データを蓄積し、リクエストに応じて加工を行ったり応答を返す。
・4.何かを動かす環境を提供する
上記の1〜3が実際に動作するための基盤を整え、動作させる。
尚、画面系の内容についてはこの分類としては全く別軸になるので含めていません。
ですが、画面を除けば大抵のプロダクトは上記の4個のどれかにマッピング出来て、
そのマッピングの結果でシステムの中で果たす役割が決まってくるのではないか、と考えています。
・・・尚、こういう形でやってきたことを図示したことで、
自分の偏りを改めて実感するところですが、まぁそれはそれで^^;
3.来年何やってみましょう
さて、後は今年の結果を受けて、来年何をやるか、ですね。
先の章で書いたうち、「1.データを処理する」「2.データの流れをつなぐ」「3.データを蓄積する」は
いくつかのものを扱ってみたことで多少なりともプロダクトの性質や共通点、相違点が見えてきた感はあります。
そのため、「4.何かを動かす環境を提供する」を来年は継続して調べてみようかと考えています。
尚、具体的にどんなプロダクトを調べるかについては・・・
「4.何かを動かす環境を提供する」OSSの中でリソースマネージャにカテゴライズされるプロダクトについては
世の中の大勢はCDHにも組み込まれているYARNがメインで進むとは思います。
結果、Web上にも情報が豊富に提供されるようになるでしょう。
なので、その流れを無視してあえてApache Mesosをもう少し調べて動かしてみようと思います。
情報が少ない方がやっていて楽しいというのもありますし、
Mesos上で動作するフレームワークであるMarathon、Chronos、Auroraを含めればYARN以上の汎用性を誇るのではないかと考えているからです。
・・・と言いつつ、汎用性云々は後付けの理由でしかなくて、やはりメインはその方がやってて面白いからなんですよね。
技術者として、阿呆と言われても自分がやりたい技術をやっていることこそが一番の幸せ。
それだけは多分今後何十年たっても変わらないと思います。
というオチがついた所で、今回はここまで。
来年はどうなりますやら。