The geek shall inherit the earth: The age of developer-defined infrastructure
If “software is eating the world,” then the meal will be prepared by developers.
Over the past several years, there have been articles about the primacy of software engineers. This reality is supported by the fact that technical majors are making more money coming out of college than their classmates and the average salary for a developer has risen dramatically over the past few years. In fact, developers will soon become some of the highest paid employees in a company — and I mean every company, not just in Silicon Valley.
マニアが地球を受継ぐ: 開発者の時代-明らかにされたその構造
もし「ソフトウエアが世界を食べていたら」、その食事は開発者によって与えられたものだろう。
過去数年に渡り、ソフトウエアエンジニアのトップについての記事が書かれている。この現実は、技術の専門学生が大学を卒業し他のクラスメイトよりも多く稼ぎ、そしてここ数年で開発者の平均的給料が劇的に上がったという事実によって支えられている。事実、開発者は近々、企業の中でもっとも給料がいい非雇用者となるであろう。そして、どの企業もシリコンバレーのみにあるのではない。
We are entering the age of developer-defined infrastructure (DDI). Historically, developers had limited say in many application technologies. During the 1990s, we effectively lived in a bilateral world of Microsoft .NET vs Java, and we pretty much defaulted to using Oracle as a database. In the past several years, we have seen a renaissance in developer technologies and application infrastructure from a proliferation of languages and frameworks (Go, Scala, Python, Swift) as well as data infrastructure (Hadoop, Mongo, Kafka, etc.). With the power of open source, developers can now choose the language, runtime, and database that make sense.
私たちは、開発者が定義するインフラ(DDI)の時代に入りつつある。歴史的に、開発者はアプリケーション技術の多くで役割が限定されていた。1990年代はMicrosoft .NETと Javaという両極の世界を生き抜き、データベースとしてのOracleを使うことがデフォルトとなっていた。過去数年間は開発者の技術のほか、言語やフレームワーク(Go、Scala、Python、Swift)やデータインフラ(Hadoop、Mongo、Kafkaなど)の増殖によるアプリケーション・インフラの復権を目にしてきた。オープンソースの力もあり、開発者は今や意味のある言語、ランタイム、データベースを選ぶことができる。
However, developers are not only making application infrastructure decisions. They are also making underlying cloud infrastructure decisions. They are determining not only where will their applications run (private or public clouds) but how storage, networking, compute, and security should be managed. This is the age of DDI, and the IT landscape will never look the same again.
しかしながら、開発者はただアプリケーションインフラの決定をしているだけではない。クラウドインフラの決定もしているのである。アプリケーションがどこで動いているか(プライベートクラウドかパブリッククラウドか)を決定しているだけでなく、どのようにストレージ、ネットワーキング、コンピュート、セキュリティを管理するかも決定している。これこそDDIの時代であり、ITの光景は二度と同じようなものに見えないだろう。
The roles of developer and system administrators were separate and defined: developers made decisions about developer tools like source code management and issue tracking (Git, Jira), and system administrators (server admins, storage admins, network admins) managed production and infrastructure standards. However, with the move to clouds like Amazon Web Services (AWS) have given developers choice in what infrastructure services they can use.
How did we get here? Let’s take a quick look at the evolution of the data center.
開発者とシステムアドミニストレーターの役割は別々に定義されていた。開発者はソースコードの管理や問題追跡(Git、Jira)のような開発者ツールに関する決定をする一方、システムアドミニストレーター(サーバアドミニストレーター、ストレージアドミニストレーター、ネットワークアドミニストレーター)は製造やインフラのスタンダードを管理していた。しかしながら、Amazon Web Services(AWS)のようなクラウドへの移行が進むにつれて、どのようなインフラサービスを利用するかの選択を開発者がするようになった。
どれではどのような経緯でここに至ったのか?データセンターの進化を簡単に見ていくことにしよう。
The three ages of the data center
Physical-defined infrastructure (~1985 to 1999)
During the rise of the client/server era, corporations were moving from mainframes to mini-computers to a powerful server computers coupled with personal computers. This was the age when hardware design and hardware vendors drove IT strategy. Engineers debated CPU architectures (RISC vs CISC), Power vs X86 vs SPARC and the strategic vendors of this generation were companies like Sun Microsystems, IBM, and HP.
データセンターの3つの時代区分
実体性のあるものが定義するインフラ(1985年まで、1999年まで)
クライアント・サーバの時代が起こりつつある間、企業はメインフレームからミニコンピュータ、パソコンと組み合わされた強力なサーバコンピュータへと移行していた。この時代は、ハードウェアのデザイン、ハードウェアのベンダーがIT戦略を主導していた時だった。エンジニアはCPUのアーキテクチャー(RISCかCISC)、PowerかX86かSPARCを
議論していた。この世代の戦略的なベンダーはSun Microsystems、IBM、HPのような企業であった。
Software-defined infrastructure (~2000 to 2014)
In physical defined infrastructure, software was usually paired with hardware. In the early 2000s, we saw the Intel X86 architecture win out in the CPU layer, allowing servers and systems to standardize. Once you have hardware standards, the software ecosystem grew up around these servers started to decouple the logical from the physical. Operating systems like Windows and Linux became the layer to which software interacted with hardware.
ソフトウェアが定義するインフラ(2000年頃から2014年まで)
実体性のあるものが定義するインフラでは、ソフトウェアは通常、ハードウェアと組み合わされていた。2000年代初頭、Intel X86アーキテクチャーはCPUレイヤーで圧倒し、サーバやシステムの標準化が可能となった。ひとたびハードウェアのスタンダードが確立されると、ソフトウェアのエコシステムがこのサーバ周りで成長し、実体性のあるものという論理から離れ始める。WindowsやLinuxのようなオペレーティングシステムは、ソフトウェアがハードウェアと関係するレイヤーとなった。
Eventually, VMware pioneered the idea of software virtualization, which enabled IT administrators to render virtual computers, disks, and networks all in software. Riding the power of Moore’s Law, VMware turned physical defined infrastructure into software-defined infrastructure. You can trace the evolution from physical to virtual just by looking at how profit margins flowed from system vendors like Sun to the winers of the software-defined infrastructure age like VMware, Microsoft, Red Hat, and Intel as the de facto CPU standard. VMware moved from virtualized compute to storage (vSAN) and then networking (NSX).
最終的にVMwareは、ソフトウェア・バーチャライゼーションのアイデアで先駆的な役割を果たした。それによりITアドミニストレーターはバーチャルなコンピュータ、ディスク、ネットワークをすべてソフトウェアにレンダーリングすることが可能となった。ムーアの法則の力に乗ることで、VMwareは実体性のあるものが定義するインフラをソフトウェアが定義するインフラに変えた。実体性のあるものからバーチャルなものへの進化の状況は、SunのようなシステムベンダーからVMware、Microsoft、Red Hat、そしてCPUのデファクトスタンダードとしてのIntelなど、ソフトウェアが定義するインフラの勝者に利益マージンが流れたかを見ればトレースすることができる。VMwareは仮想化コンピュータからストレージ(vSAN)へ、そしてネットワーキング(NSX)へと移行した。
If VMware pioneered the idea of software-defined infrastructure, the web-scale giants like Google and Facebook perfected it. Living by the adage “software will eventually work, hardware will eventually fail,” they saw the value of using commodity hardware and software to make unreliable hardware reliable.
The impact of this software-defined data center can be seen by the fate of some of the leaders of the physical defined infrastructure age: Dell went private, IBM sold its x86 server line to Lenovo, and HP is undergoing an identity crisis right now.
もしVMwareがソフトウェアが定義するインフラで先駆的な役割を果たしたとすれば、GoogleやFacebookのようなウェブスケールの巨人はこれを完成させただろう。「最終的にはソフトウェアが機能する、ハードウェアは失敗する」という格言にしたがえば、信頼できないハードウェアを信頼できるようにするために、コモディティのハードウェアとソフトウェアを使用する価値を見出しただろう。
こうしたソフトウェアが定義するデータセンターの影響は、実体性のあるものが定義するインフラ時代の行く末に一部見ることができる。たとえばDellは非上場化した。IBMはx86サーバをLenovoに売却し、HPは今でもアイデンティティの危機に陥っている。
Developer-defined infrastructure (2015 to ????)
Welcome to the age of DDI, where developers are making decisions on how, what, and where their applications should run. DDI is the natural evolution of software defined infrastructure. The power of turning hardware into software is partly the separation of logical from physical into software, but mainly the fact that once you have hardware represented in software, you can treat hardware like any other piece of code.
開発者が定義するインフラ(2015年~?)
DDIの時代へようこそ。ここでは開発者がアプリケーションを動かす方法、内容、場所に関する決定を行っている。DDIは、ソフトウェアが定義するインフラが自然なかたちで進化したものだ。ハードウェアをソフトウェアに変える力は、ある意味では、実体性のあるものからソフトウェアへという論理が分化したといえるが、その実は、ソフトウェアに反映されるハードウェアを手にすれば、あらゆるコードのようにハードウェアを扱うことができるという事実だ。
You can move it, you can program it, you can write programs for it. For example, on AWS, everything has an application programming interface (API) and can be programmed: storage, compute, networking, security, etc. Today, developers need to think like IT and operations, and IT administrators must enable developers to make these infrastructure choices and not constrain them. With this rise of devops and cloud, developers are looking for technologies to build, run, and manage their applications that support DDI: If VMware was the platform for the last 15 years, then companies, like Docker, could be the platform for the next 15. In particular, Docker supports:
それの移動、プログラムができるほか、そのためのプログラムを記述することができる。例えばAWS上では、全てのものにはアプリケーション・プログラミング・インターフェース(API)があり、それはプログラム化される(ストレージ、コンピュート、ネットワーキング、セキュリティなど)。今日、デベロッパはITやオペレーションのような思考をしなくてはならない。そして、ITアドミニストレーターはデベロッパに制約を与えるのではなく、彼らがインフラを選択できるようにしなくてはならない。DevOpやクラウドが現れているなか、デベロッパはDDIをサポートするためにアプリケーションを構築、運営、管理する技術を求めている。つまり、VMwareが過去15年間のプラットフォームであるとするならば、 Dockerのような企業は今後15年のプラットフォームとなり得る。Docker が特にサポートしているのは以下の通り。