Agile Cat — in the cloud

OpenFlow と Big Data の 深い関係について

Posted in .Selected, Big Data, Hadoop, Network, OpenFlow by Agile Cat on September 7, 2011

OpenFlow: A Technology on the Move
By Kyle Forster Jul. 24, 2011, 9:00am
http://gigaom.com/cloud/openflow-a-technology-on-the-move/

_ Gigaom

OpenFlow may be one of the hotter buzzwords in bleeding-edge networking technologies these days, but getting past the emotional exuberance and down to brass tacks in this area can be difficult. Why? First,the OpenFlow protocol is a sort of infrastructure-of-infrastructure that can be applied many places. Second, OpenFlow continues to pop up in new contexts as the ecosystem around the technology expands. This is a story of an engineering achievement built to solve one problem that has become the root of a veritable family tree of solutions for problems in the networking space.

OpenFlow は、最近の先端ネットワーク・テクノロジーにおける、ホットなバズワードの 1つかもしれない。 しかし、このエリアで、感情のレベルを超え、また、核心にまで到達することは、難しいものにもなり得る。 なぜだろう? 最初に、この OpenFlow プロトコルが、数多くの状況に適応し得る、インフラストラクチャの中のインフラストラクチャという種類である点があげられる。 続いて、そのテクノロジーの周辺にエコシステムが広がるにつれて、OpenFlow には新しいコンテキストが、登場し続けることも指摘しておく。 それは、1つの問題を解決すために構築された、工学的な業績の物語である。 そして、その問題とは、紛れもないファミリー・ツリーの、ルートとなるソリューションに根ざすものとなる。 つまり、それにより、ネットワーク空間に横たわる数々の問題が解決され、また、数々の問題が生じているという状況にあるのだ。

How OpenFlow got here

imageIf you look at the OpenFlow v1.0 spec – a scant 27-page-long document – it isn’t immediately obvious that this is going to be useful, much less revolutionary. At its most basic level, OpenFlow is a protocol for server software (a “controller”) to send instructions to OpenFlow-enabled switches, where these instructions give direct control over how those switches forward traffic through the network.

OpenFlow v1.0 spec - 27ページの長いドキュメント - を読むにしても、それが有用であっても、それほど革命的ではないことは、ただちには見抜けないだろう。  OpenFlow とは、その最も基本的なレベルにおいて、OpenFlow 対応のスイッチへ向けてインストラクションを送る、サーバー・ソフトウェア(コントローラー)のためのプロトコルのことである。そして、インストラクションを受け取ったスイッチには、ネットワークを介してトラフィックを転送する方法について、ダイレクトなコントロールが与えられる。

I think of OpenFlow like an x86 instruction set for the network – it’s low-level, but it’s very powerful. Continuing that analogy, if you read the x86 instruction set for the first time, you might walk away thinking it could be useful if you need to build a fancy calculator, but using it to build Linux, Apache, Microsoft Word or World of Warcraft wouldn’t exactly be obvious. Ditto for OpenFlow. It isn’t the protocol that is interesting by itself, but rather all of the layers of software that are starting to emerge on top of it, similar to the emergence of operating systems, development environments, middleware and applications on top of x86.

私の考える OpenFlow とは、ネットワークのための x86 インストラクション・セットのようなものであり、低レベルではあるが、きわめてパワフルなものとなる。 この類推を、もう少し続ける。 あなたが、x86 インストラクション・セットを始めて読んだとき、シャレた計算器を構築するのには、有用になり得ると思ったことだろう。しかし、それにより、Linux や、Apache、Microsoft Word、World of Warcraft が構築されるとは、確信できなかっただろう。 OpenFlow も、同じである。 それは、単体で興味を惹くプロトコルではないが、あらゆるソフトウェア・レイヤが、その上に出現し始めている。つまり、x86 上に、オペレーティング・システムや、開発環境、ミドルウェア、アプリケーションなどが出現してきた状況に似ているのだ。

クリックで拡大 ⇒

The evolution of OpenFlow … for now.

Image courtesy of Flickr user flickrohit.

From where I sit, OpenFlow got its first traction outside of academia in the super-large data centers of companies trying to solve really big data problems. Several years ago, these teams were faced with the daunting task of building a network for map-reduce/Hadoop clusters that could scale to the hundreds of thousands of servers.

私の視点からだと、OpenFlow がアカデミックの外側で最初に得たものは、Big Data の問題を解決しようとする企業の、きわめて大規模なデータセンターからの推進力だと思える。 数年前のことだが、それらのチームは、何十万のサーバーにまでスケールする MapReduce / Hadoop クラスタ用のネットワーク構築において、困難なタスクに直面していた。

Full cross-sectional bandwidth is a must-have requirement for these big data applications, and it doesn’t take much back-of-the-envelope calculating to come to the conclusion that a tree-based architecture will require throughput on core switches/routers that simply can’t be bought at any price right now. Furthermore, the networks in these clusters are no longer so cleanly distinguishable from the application software. Instead, they are just one component in an overall big, big data system, and they need programmatic interfaces that play nicely with other parts of the system. From these early efforts to support big data apps came a new generation of non-tree architectures, all closely tied to concepts that we see in OpenFlow such as flexible forwarding and the ability to really program the network to meet specific application needs.

完全な断面帯域( cross-sectional bandwidth)が、それらの Big Data アプリケーションにとって、絶対に欠かせない要件となる。ただし、その結論を、計算から導き出すのは、たやすい事ではない。つまり、コアとなるスイッチ/ルーター上で、スループットを要求する Tree Base のアーキテクチャは、いかなる対価を支払っても購入できないものとなる。 それどころか、それらのクラスタに収まったネットワークは、もはや対象となるアプリケーション・ソフトウェアから、それほど明確に分離することができなくなる。その代わりに、Big Data システム全体の中の 1つのコンポーネントとなり、システムにおける他の部分と上手にインタラクトする、プログラマブルなインターフェイスが必要となる。Big Data アプリケーションをサポートするための、早い時期から積み上げられてきた努力から、次世代 Non-Tree アーキテクチャがもたらされている。それは、柔軟な転送のための機能と、アプリケーション固有の要件を充たすネットワーク・プログラミング能力といった、OpenFlow のコンセプトと密に結び付けられたものとなる。

R&D in this area started in earnest a few years ago – roughly coinciding with the formation of the first few OpenFlow startups and the beginnings of the academia-meets-industry Tuesday OpenFlow meetings back at Stanford. Motivated by the big data problem, that group planted the seeds of the OpenFlow protocol. With the Open Networking Foundation forming this year and talk of large-scale production builds underway, these seeds are starting to bear (commercial) fruit.

このエリアにおける R&D は、数年前から本格的に始まっている。早期における数少ない OpenFlow スタートアップの形成と、 Stanford に戻った産学 Tuesday OpenFlow ミーティングは、ほぼ同時に起こっている。 Big Data の問題により、興味を持つことになったグループが、OpenFlow プロトコルに SEED を植え付けた。今年に設立された Open Networking Foundation と、構築中のラージ・スケール・プロダクション関係筋の話によると、それらの SEED は、果実(ビジネス)を実らせ始めている。

OpenFlow goes webscale and then to the cloud

As with many scientific achievements, solving this massive-scale big data problem has generated solutions to many related problems. For example, large-scale public Infrastructure-as-a-Service (IaaS) cloud providers realized this new network architecture better serves their needs. However, there were still some unaddressed problems, such as needing to isolate each customer/tenant into its own network.

数多くの科学的な業績と同様に、きわめて膨大なスケールの、Big Data における問題を解決することは、それに関連する大量の問題に対するソリューションを生み出す。 たとえば、ラージ・スケールの IaaS クラウド・プロバイダたちが、この新しいネットワーク・アーキテクチャにより、彼らのニーズが充たされることを悟った。 しかし、それぞれのカスタマ/テナントを、彼ら自身のネットワークの中に分離していく必要性といった、いくつかの取り組まれていない問題があった。

image

Nick McKeown, who helped develop OpenFlow at Stanford.

Further, each tenant is constantly submitting requests to add/remove VMs, and servicing these dynamic requests often requires spreading VMs all throughout a data center and then trying to move them back closer to each other. Solving these problems requires some very fancy and often custom Layer 2 and Layer 3 gymnastics — new problems to solve, and OpenFlow turns out to be a great fit there because it allows the network designers to more easily deploy the custom forwarding policy they need across the portions of the network that need it.

さらに、それらのテナントは、VM を add/remove するためのリクエストを発行し、また、そのためのダイナミックなリクエストへの対応により、データセンター全体に VM を展開することが頻繁に起こり、さらには、お互いに近い位置へ戻そうとすることもある。 これらの問題を解決するためには、きわめて洗練された、そして、多くの場合にカスタムなものとなる、Layer 2 と Layer 3 の知的訓練が必要となる。 つまり、それが解決すべき新しい問題であり、また、そのためには OpenFlow が最適であると理解できる。なぜなら、ネットワーク・デザイナーたちが、必要とされるネットワーク内の特定部分をまたいで、カスタムな転送ポリシーを配置することを、OpenFlow は容易に実現するからである。  

Who knows what tomorrow will bring

That brings us up to the R&D happening today where we see a new branch of OpenFlow solutions emerging in trials for private IaaS clouds. While not ‘multi-tenant’ in quite the same sense as the public clouds, these deployments have a lot of issues in common with public clouds. The cross-section bandwidth problem still exists, of course, but now the virtualization, isolation, delegated administration and co-existence with classic network architectures have become key problems to solve. OpenFlow allows the network to be programmed directly to solve these problems with the same speed that IaaS providers have become accustomed to with server virtualization.

ようやく、いまの R&D で起こっている事象まで、話がつながってきた。 そこでは、プライベートの IaaS クラウドのためのトライアルとして、OpenFlow ソリューションに新しい分岐が出現していることを確認できる。 マルチ・テナントは、パブリック・クラウドとは全く異なる意味を持つが、そのディプロイメントにおいいては、パブリック・クラウドと共通に数多くの問題が存在する。 もちろん、断面帯域( cross-sectional bandwidth)の問題も依然として存在するが、いまでは、仮想化や分離、そして管理の委任、さらには、従来からのネットワーク・アーキテクチャの共存などが、解決するべき重要な問題となっている。 OpenFlow は、それらの問題をダイレクトに解決するための、ネットワーク・プログラミングを実現するが、それは、IaaS プロバイダが、サーバーの仮想化で経験したスピードで進んでいく。

Are there more of these branches of the OpenFlow family tree blossoming? Of course. One short blog post is not quite enough to talk about OpenFlow in the campus LAN environment starting to get traction in some of the original research universities or the early interest in OpenFlow as “the new stackable” for small/medium business networking. I’ll leave those for future posts.

開花した OpenFlow ファミリーの大樹には、その他の枝もあるのだろうか? もちろん、ある。 このような、ショート・ブログ・ポストで、キャンパス LAN 環境における OpenFlow について書くことは不可能だ。大元である大学での研究において、また、small/medium ビジネス・ネットワークキングのための、STACK-ABLE な OpenFlow に対する早期からの関心事として、いくつかの事柄が促進されている。 今後のポストにおいて、それらに触れていきたい。

Net-net, is OpenFlow going to be useful? Absolutely yes. What is it going to be used for? I don’t think that there is any one answer, but rather a family tree that is growing new branches, blossoming and bearing new fruit as we speak.

最終的な収支として、OpenFlow は有用なものになるのだろうか? 絶対的に Yes である。 何のために、それは使われるのか? そこに 1つの答えがあるとは、私は思わない。しかし、私たちが話をするように、この大樹には、新しい枝が成長し、花が咲き、新鮮な果物が実っていくだろう。

Kyle Forster is the VP of sales and marketing and co-founder of BigSwitch Networks.

Related research and analysis from GigaOM Pro:

ーーーーー

TAG index訳していて、止まらなくなってしまう、面白さ・・・ でした。Agile_Cat には Big Data とか、Hadoop とかのカテゴリもあるのですが、それらと OpenFlow が連携するという、いわば歴史的な瞬間が訪れたわけです :)  それにしても、データセンター内の複雑なネットワークというのは、とても深刻な問題なのだと思います。 おそらく、Amazon AWS のダウンも、after OpenFlow であれば回避できた問題なのでしょう。 そう考えると、クラウドも、まだまだ これからのテクノロジーなのだと実感してしまいますね。 ーーー __AC Stamp 2

ーーーーー

<関連>

OpenFlow のゴールとは?
OpenFlow のスイッチとは?
OpenFlow 専門家になるための近道とは?
OpenFlow により、ネットワーク業界は HOT になるのか?
スタンフォード大学の Open Networking Summit と OpenFlow
Amazon AWS の障害を総括すると、クラウドの勝利が見えてくる

 

3 Responses

Subscribe to comments with RSS.

  1. Haruyasu Ueda said, on September 7, 2011 at 12:58 pm

    BigDataと絡む部分がよくわかりませんでした。以下のような訳でどうでしょう

    and it doesn’t take much back-of-the-envelope calculating to come to the conclusion that a tree-based architecture will require throughput on core switches/routers that simply can’t be bought at any price right now.
    そして、たやすい計算により、Tree Base のアーキテクチャであれば、いかなる対価を支払っても購入することのできないスループットの、コアスイッチ/ルーターを必要とするという結論に達することができる。

    and it doesn’t take much back-of-the-envelope calculating to come to the conclusion
    that a tree-based architecture will require throughput on core switches/routers
    that simply can’t be bought at any price right now.
    そして、たやすい計算により、Tree Base のアーキテクチャであれば、
    いかなる対価を支払っても購入することのできない、
    スループットのコアスイッチ/ルーターを必要とするという結論に達することができる。

    Furthermore, the networks in these clusters are no longer so cleanly distinguishable from the application software.
    それどころか、それらのクラスタに収まったネットワークは、もはや対象となるアプリケーション・ソフトウェアから、それほど明確に分離することができなくなる。

    Instead, they are just one component in an overall big, big data system, and they need programmatic interfaces
    that play nicely with other parts of the system.
    その代わりに、Big Data システム全体の中の 1つのコンポーネントとなり、システムにおける他の部分と上手にインタラクトする、プログラム制御が可能なインターフェイスが必要となる。

    From these early efforts to support big data apps came a new generation of non-tree architectures,
    all closely tied to concepts that we see in OpenFlow
    such as flexible forwarding and the ability to really program the network to meet specific application needs.

    Big Data アプリケーションをサポートするために、早い時期から積み上げられてきた努力から、次世代 Non-Tree アーキテクチャが出てきており、
    これは、柔軟な転送のための機能と、特定アプリケーションの必要性を充たすためにネットワークをプログラムする能力、といったOpenFlowのコンセプトと密に結び付けられたものである。

    • Agile Cat said, on September 7, 2011 at 10:53 pm

      Ueda さま、いろいろと ご丁寧に有難うございます。
      さきほど、ご指摘いただきました点を反映し、文面を修正しました。
      長い文を、どこで切るかにより、ニュアンスが変わってしまいますが、ご確認頂ければ幸いです。
      これからも、どうぞ よろしくお願い致します。
      Agile_Cat

      • Agile Cat said, on September 7, 2011 at 10:56 pm

        Facebook で リクエストをお送りしました。
        よろければ、ご承認ください。


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: