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.
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.
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.
実体性のあるものが定義するインフラ(1985年まで、1999年まで)
クライアント・サーバの時代が起こりつつある間、企業はメインフレームからミニコンピュータ、パソコンと組み合わされた強力なサーバコンピュータへと移行していた。この時代は、ハードウェアのデザイン、ハードウェアのベンダーがIT戦略を主導していた時だった。エンジニアはCPUのアーキテクチャー(RISCかCISC)、PowerかX86かSPARCを
議論していた。この世代の戦略的なベンダーはSun Microsystems、IBM、HPのような企業であった。
ハードウエアが定義するインフラ (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年代初頭、Intel X86アーキテクチャーはCPUレイヤーで圧倒し、サーバやシステムの標準化が可能となった。ひとたびハードウェアのスタンダードが確立されると、ソフトウェアのエコシステムがこのサーバ周りで成長し、実体性のあるものという論理から離れ始める。WindowsやLinuxのようなオペレーティングシステムは、ソフトウェアがハードウェアと関係するレイヤーとなった。
ハードウエアが定義するインフラにおいて、ソフトウエアは通常ハードウエアと対にされた。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).
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.
こうしたソフトウェアが定義するデータセンターの影響は、実体性のあるものが定義するインフラ時代の行く末に一部見ることができる。たとえばDellは非上場化した。IBMはx86サーバをLenovoに売却し、HPは今でもアイデンティティの危機に陥っている。
このソフトウエアが定義するデータセンターのインパクトは、ハードウエアが定義するインフラ時代のリーダーの何社からの結末によって理解できる。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.
DDIの時代へようこそ。ここでは開発者がアプリケーションを動かす方法、内容、場所に関する決定を行っている。DDIは、ソフトウェアが定義するインフラが自然なかたちで進化したものだ。ハードウェアをソフトウェアに変える力は、ある意味では、実体性のあるものからソフトウェアへという論理が分化したといえるが、その実は、ソフトウェアに反映されるハードウェアを手にすれば、あらゆるコードのようにハードウェアを扱うことができるという事実だ。
開発者がアプリケーションをどのように、どこで、何を実行すべきかを決めている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: