Cloude IDE

ローカルホストの退場―クラウド移行でIT部門とデベロッパー部門の対立は解消する

次の記事

「複雑さの頂点」を乗り越えよう

〔編集部〕この記事はCRUNCH NETWORKのメンバーでCodenvyのCEO、Tyler Jewellの寄稿

5年前にマーク・アンドリーセンがソフトウェアが世界を食い尽くすと言ったときにはまだその言葉を疑うものもいた。しかし今やほとんどすべてのビジネスがオンラインで提供されるソフトウェアの上で動いている。

こうしてクラウド・コンピューティングは小売から運輸、通信、メディアまであらゆる産業を支える事実上の標準となった。ところがクラウドの進出を拒む基本的な領域がまだ存在する。皮肉にもそれはソフトウェア開発ビジネスだ。クラウドのすべてはソフトウェアで可能になった。ところがそのソフトウェア自体は大部分がオフラインで開発されている。

しかしこの状態も近く変わるだろう。Amazon Web Serviceが最近Cloud9を買収したことでも明らかなように、デベロッパーはクラウドベースのIDE(統合開発環境)に殺到している。クラウド開発はすでにソフトウェア開発の重要部分となりつつあり、非常に控え目な推計によっても60億ドルの産業だ。AmazonからMicrosoft、Googleまでこのことに気付いている。そこでローカルホストからクラウドへのシフトという流れの原動力は何なのか、どんなチャンスが隠されているのか考えてみようと思う。

IT部門とデベロッパー部門の深い溝

ソフトウェア開発がクラウドに移行する原因はIT部門に古くから内在する根本的な対立から生じた。つまりIT部門と開発部門の対立だ。IT部門は安定性、セキュリティー、統制可能性を何よりも重視する。それに対してStephen O’Gradyが「新たなキング・メーカー」 と呼んだ開発部門は、言語、フレームワーク、プロセスを自由に選択することを要求する。この対立は、開発のためのサーバーや新たなソフトウェアに用いられるプログラミングの規格を誰が支配するのかをめぐって強い緊張状態を生む。開発部門がどんな作業にも効率的なマイクロサービスの採用を主張するのに対して、IT部門は長年にわたって試され安定しているが固定的なテンプレートを維持しようとする。

この問題は誰がシステムのルート権限を持つのかというところから発している。開発がオンプレミスで、つまりローカルホスト上で実行される場合、デベロッパーが言語、コンフィグレーション、フレームワークの選択の権限を持っている。しかしローカルホストの能力は規模の拡大や共有の面で限定的だ。そのため大規模なチームや全社的なシステムの構築には適さない。

これまでポピュラーだった代替策は、IT部門が管理する中央集権的なVM(virtual machine)サーバーの利用だ。代表的な例はVDI(Citrix)、Vagrant(HashiCorp)、Skytapなどだろう。しかしVMは高価で大規模な設備となりがちで、共有が難しく共同作業に向かない。誰でもいいがデベロッパーに共有環境の2GBのメモリしかないVMイメージで開発するのはどれほど楽しいか尋ねてみるとよい。

デベロッパーは簡単に拡張できないような環境に置かれるとコンピューターであれコードであれ開発資産を必要以上に貯めこむ傾向がある。しかし現在は 簡単に共同作業の環境を得て生産性をアップさせる方法がある。クラウド・ソリューションの普及により開発作業、資産、プロセスを共有することが以前よりはるかに簡単になった。

われわれはクラウドの「最後のフロンティア」に突入したところだ。この分野で勝つための戦いは始まったばかりだ。

GitHubは共有コードのデファクトの発表先となっている。開発したコードを秘密に保管しておくのではなく、オープンにしてすべてのデベロッパーからのフィードバックを待つことが推奨されるようになった。
プロジェクト管理に問題が起きた場合、AtlassianのJIRAはプロジェクトを共有化することによって解決を図る。【略】

クラウド開発が普及しつつある

Dockerを代表とするようなコンテナ・テクノロジーの発達がバックエンドの開発をアジャイル化に適合させ、大幅に加速している。ワークスペースやランタイムを含めて、今やすべてがクラウド上にある。開発環境のすべてがデスクトップにあったこれまでとはまったく違う。

AWSの最近の動向を見るまでもなく、主戦場はクラウド IDEだ。この分野は延べ数百万のユーザーと莫大な資金を惹きつけている。コンテナをベースにエンベッドされたブラウザ・ツールとホストされたランタイムが利用可能となり、IT部門がコンピューティングのルート権限を維持すると同時にデベロッパーがDockerその他の開発ツールを用いて必要に応じて自由に開発環境を構築することを可能にする。つまりIT部門とデベロッパー部門の理想的な形での分離が実現する。【略】

さらにこうしたトレンドの存在はオープンソースのクラウド開発の普及によっても証拠だてられる。 AmazonはCloud9を通じてAWSで独自のクラウド開発環境を提供する。Google、Microsoft、 Red Hat、SAP、Samsungなどのソフトウェアの巨人は既存の硬直的な開発環境をEclipse CheEclipse Orionを通じて柔軟なオープンソースに置き換えることを検討している。

Red HatはOpenShiftに、SAPはHANA に、SamsungはARTIKにクラウド開発環境をそれぞれ標準として組み込んだ。一方、クラウド開発をさらに柔軟なものにするためにMicrosoftとRed Hatは共同して.netとASP.Netのコアをオープンソース化し、あらゆるプログラマーがプログラミング言語とそのIDEに自由にアクセスできるようにした。こうした有力ソフトメーカーは一見したところではパートナー関係を結びそうに見えなかったが、結局のところカスタマイズ可能な統合された低価格の開発環境が得られる利益の方が競争よりも利益が大きいと悟ったもののようだ。

こうした活動はアジャイル開発という新しい時代の到来を示すものだ。これによって IT部門とデベロッパー部門の長く続いた矛盾が解消され、双方の利益になる。コンテナ化とオープンソース化が開発とテストの効率をアップさせ、共同作業を強力なものにする。

そろそろlocalhostに死亡を宣告していいころだ。 われわれはクラウドの「最後のフロンティア」に突入したところだ。この分野で勝つための戦いは始まったばかりだ。.

画像: Thomas Cole – Clouds, ca. 1838 (modified)

[原文へ]

(翻訳:滑川海彦@Facebook Google+