4月号から始まった連載「新野淳一の技術インパクト」の第1回のオリジナル原稿です。雑誌には編集済みの記事が掲載されていますが、Publickeyでは編集部との合意を得て、雑誌発行から一定期間後にオリジナル原稿をPublickeyに掲載します。Networkクラウドの登場で、「サーバを調達する」という意味が大きく変わろうとしていることは、多くのプログラマが感じ始めていることだろう。クラウド以前、「サーバを調達する」とは、物理的にサーバを発注して納品してもらい、設置することだった。調達しようと思い立ってから実際にサーバが使えるようになるまでに、複数の関係者が関わって何週間もかかることも覚悟しなければならない。クラウドの時代の「サーバを調達する」とは、必要なメモリ容量やプロセッサ性能、ストレージ容量をメニューを選んでクラウドのコンソールからボタンを押す、という行為、あるいは行為ですらなく、該当のAPIをコールするだけになる。それだけで数秒から数分後には、そのサーバが使える状態でクラウドの中に立ち現れてくるのだ(もちろん、クラウドの中の人にとっては引き続き物理的なサーバを調達する必要があるけれども、この文章はクラウドの外側にいる多くのシステム開発者を想定している)。ソフトウェアでネットワーク構成を定義する時代いま、「ネットワークを構成する」という意味が同じように変わろうとしている。サーバをインターネットに接続し、その手前にはロードバランサーとファイアウォールを入れる、というネットワーク構成を考えてみよう。これを実現するには物理的なネットワーク機器の調達が必要だった。Network」、文字通り「ソフトウェアで定義されたネットワーク」の時代がやってくれば、「ここにルータを置いて経路情報はこうする。ここにファイアウォールを置いてフィルタリングルールはこう、あそこにはロードバランサーを置いてアルゴリズムはこれ」とネットワーク構成をすべてソフトウェアで設定し、ボタンを押せば、あるいはAPIをコールすれば、その構成のネットワークがたちまちできあがるようになる。アプリケーションとネットワークの主従が逆転ここには2つの大きな変革がある。1つは、ネットワーク構成というものがスタティックなものではなくなるということ。ルーティングやスイッチやロードバランスやそれらのコンフィグレーションが動的に変わるだけはなく、ネットワーク上のどこにルータやロードバランサーやスイッチやその他の機器が存在するのか、ケーブルがどのように配線されているかということですら、ソフトウェアによってダイナミックに変化するようになる。サーバ仮想化が、システムの中でダイナミックにサーバの起動、終了を制御できることでシステム全体の効率からサーバの使い方まで変えてしまったように、ネットワーク全体がダイナミックに構成可能になれば、いままでにない効率性と利用法が生まれることは間違いない。1つの変革は、ネットワーク構成の決定権をプログラマが握れるようになることだ。いままでアプリケーションにとってのネットワーク構成とは、システムの稼働条件として与えられるものだった。ネットワーク構成がソフトウェアによっていくらでも書き換えられるということは、アプリケーションが主体となって、動作に必要なネットワーク構成を動的に変更できるようになるということだ。プログラマがアプリケーションに対して動作に必要なメモリを割り当てるように、ネットワークに対して必要な帯域を割り当てるようなプログラミングを行ったり、複数のサーバに対して意図したようなトラフィックの分散が行われるようにロードバランサのアルゴリズムを動的に変更する、セキュリティのために一時的にすべてのトラフィックを遮断する、といったことがプログラミング可能になる。これはつまり、アプリケーションに適切なネットワーク環境をプログラミングする責任がプログラマにかかってくる可能性があるということであり、見方を変えればプログラミングの可能性がネットワークを含めたデータセンターレベルに拡大でき、プログラマの権限が非常に大きくなると見ることもできるだろう。Networkを実現する技術として熱い注目を集めているのが「OpenFlow」だ。OpenFlowでは、「スイッチやルータ、ファイアウォールなどどんなネットワーク機器にも変身できるネットワーク機器の素(もと)となる箱=OpenFlowスイッチ」と、その箱に対してコンフィグレーションを行うためのOpenFlowプロトコルを定義している。NECやIBMやブロケード、シスコ、ジュニパーといった大手からベンチャーまで、さまざまな企業がOpenFlow対応を表明し、製品の出荷が始まっている。Networkの時代の幕は事実上開いたと言っていい。Networkはパブリッククラウドを提供しているような大規模データセンターで導入が始まっているが、いずれ一般の企業のデータセンターや家庭にまで使われるようになると予想される。その方が便利で高機能で安価なソリューションを、圧倒的に素早く提供できるのは確実だからだ。いままでネットワーク管理とアプリケーション開発は少し離れた分野として分業されていたが、これからは密接に、あるいはクロスオーバーな分野になり、プログラミングと呼ばれる仕事の範囲が広がっていくことだろう。MobileのテーマにMetroスタイルが登場。Niino(jniino)IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。RDSやAuroraのスナップショットをParquet形式でS3へ保存可能に。dHCI」発表ITエンジニアが投票した「ITエンジニア本大賞2020」ベスト10発表。Kubernetes」が正式版に。ElasticsearchやKibanaなどをKubernetes環境にデプロイ、Operatorにより運用も容易にKubernetesとコンテナの実行に最適化された統合システム「Diamanti」のアーキテクチャはどうなっているか[PR][速報]AWS、2021年初頭に大阪リージョンを開設すると発表。10へログイン可能に。10へ拡大Google、コーディング不要でアプリケーション開発ができる「AppSheet」買収。usPublickeyについて/運営者についてお問い合わせ広告についてプライバシーポリシ。