監訳者まえがき
私が初めてKubernetes(クーバネティス)を知ったのはまだバージョン1.0がリリースされるずっと前の2014年でした。その当時、私は数名の同僚と社内向けのPaaS(Platform-as-a-Service)を開発するというプロジェクトに取り組んでおり、その基盤として選択したものがGoogle社からオープンソース化された直後のKubernetesでした。コンテナ化されたアプリケーションを複数のマシンから構成されるクラスタに適切にスケジュールし、加えてコンテナ自体やロードバランサからの死活監視やマシン障害時のセルフヒーリングなど、Kubernetesは当初からアプリケーションを安定して運用するための、PaaSのアプリケーション実行基盤となる部分のほとんどの機能を備えていました。また、Kubernetesは分散システムであり、高い耐障害性を保持するしくみであることも決めてになりました。その後、Red Hat社が開発するPaaS†1であるOpenShiftの次期バージョン(v3)がKubernetesを基盤として刷新されるという話を聞き、このアプローチが間違いでないことを確信したことを覚えています。このPaaSプロジェクトはその後に技術的ではない理由で中止となったわけですが、このプロジェクトを通じてKubernetesが今後のコンテナオーケストレーションツールの主流になることを確信し、結果として現在ではKubernetesの利用は世界において、もちろん日本においてもとどまるところを知らず、拡大の一途をたどっています。
[†1] OpenShiftは当初は独自設計のPaaSでしたが、バージョン3からKubernetesを基盤としたコンテナプラットフォームとなり、2019年6月にはバージョン4がリリースされています。 ...