Javaだと確かにCFv2(DEA:Buildpack)の方式がいいと思ってた(ちょうど2年くらい前ですね)。

CFv3(Diego:Docker / Buidpack & other component)とOpenShift(K8S&Docker&other component)と比較した場合にCore Architectureの違いが極小になっているから、製品価値を高めながら独自の進化を続けるんだろうなと思うんですよ。

この二つの違う製品(ISV)は、一つの共通する特徴として実行環境とSourcecodeのDeliveryを高速化を達成するんです。価値としてcomponentの組み合わせやそれらのサポートをしてくれる。

ただ、Rock-inを防ぐために他の製品を自社で組み合わせて使う、使えなくなったら潔く捨てて、入れ替えるというPaaSのライフサイクルを考える必要が出てきている気がするんですよね。

僕はIaaS/Ops/SRE側に立っているので、正直何が動いていてもDevの人たちが開発しやすい環境であって、Applicationがちゃんと動く、ライフサイクルがうまく回るということを達成できれば、仕事したなという感じがするわけです。

やっていくうちに自社の開発に足りないコンポーネントが出てくる時がくる可能性はあるんだけど、それをOpenSourceにしながらDefactにもっていくという活動が必要になってくると思う、ベンダーだけじゃなくて人にLock-inされることと、車輪の再発明を防ぐ意味で。

NetFlixがOSS的な方法(として)で開発した結果、かなりいい感じに成長している(OpenShiftのJava実行環境のコンポーネントにも入った)。だからインハウスエンジニア(ソフトウェアに限らず)は必要だし、インハウスエンジニアはもっともっと外にでてWorld Wideで活躍できることを自覚して頑張っていくべきかなと。

人によって価値観は異なるので、その貢献をどのように還元するかは、いまいちわからないけども、会社経営の投資対象としてコストセンターの人にもある程度自由を与えるというのも開発現場の雰囲気がよくなる方法論の一つかな。 自由も価値観によって定義されると仮定すると人によって自由な時間を使って何に貢献するか考えてそれぞれの人がself-learningの方法を探っていくのかな。自由には責任が伴うとはよく言ったもので、成長志向で頑張れるくらいの自由を会社に求めてもいいと思う。緩いつながりが新しい価値を産むし、個人の価値観が新しい価値を産む、会社は社員を利用する、社員は会社から貢献度に応じて給与と福利厚生を受け取る。

日本の某社は、それにチャレンジして成功してる感じ、本当に、素敵。githubもしくは他のRepositoryで公開できる部分は公開して社外からのPRを積極的に受け入れる姿勢とか良いと思う。緩いつながりが新しい価値を産む気がするので。