#Kubernetes Introduction
###1. Kubernetes関心度
最近5年間の傾向をみるとKubernetesの関心度が高まっていることがわかります。
###2. Kubernetes History
企業がKubernetesに注目している理由は、システムリソースを効率的に使う(=コスト削減)ことができるからです。
Kubernetesをもっとよく理解するには、仮想化技術の歴史を把握する必要があります。
Linux(1991年):resource compartment(資源隔離)
Linuxのリソースを隔離して、プロセスが独立した環境で実行可能にする技術はありましたが、使うのにはハドルが高かったのです。
VM(2010年):仮想化技術
複数の企業が仮想化技術を利用して、独自の運用環境の自動化には成功したが、システム性能は良くなりませんでした。
最も大きな原因は仮想化をするために、重いOS(Guest)を起動することが原因でした。
Container(2014年~2015年):Container仮想化技術
dotCloudという会社がLinuxの資源隔離技術をContainerという概念で簡単に使用できるようにしました。
会社名をDockerに変えて、この技術をOpen sourceとして公開しました。
Container仮想化技術は、サービス間でリソースを分離するが、別途OSを稼働する必要がないため、高速で
資源活用効率も非常によい技術です。
Dockerは、単一のサービスをContainerに仮想化させて配置をするもので、多数のサービスを運営する際に、
それをいちいち配布して運営するものではない。
多数のサービスを管理してくれるContainer Orchestrationというものがあります。
複数Containerを管理してくれるソリューションです。
Kubernetes
DockerのContainer技術がオープンソースであるため、多くの企業が各自のContainer Orchestratorを
発表することになりました。
KubernetesはGoogleで主導したが、そのプロジェクトに複数の企業が参加して多様なKnow-Howが
詰め込められていることで、多くの企業はKubernetesを使った後の満足度が非常に高かったのです。
Kubernetesへの関心は、他のContainer Orchestratorに比べ飛躍的に増加することになりました。
ITにおける標準という概念はある機関に認められて獲得するものではなく、最も使われているものが標準だと思います。
現在Kubernetesがサービスの展開の標準になりつつあり、この技術を基に、多くのクラウドサービスを提供する企業はKubernetes環境がインストールされているInfrastructureをサービスしています。
#Why Kubernetes
As-is
A、B、Cそれぞれのサービスを提供するためには9つのサーバーが必要になります。
さらにサーバー障害等のことを考えると、BackUpとしても3つのサーバーが必要になります。
To-be
A、B、Cの平均リソースを計算すると1日4つのサーバーと障害対応1つのサーバーが必要になります。
・Auto Scaling:trafficの状況によって自動にサービスにリソースを割り当ててくれる。
・Auto Healing:障害を起こしたサーバー上のサービスを自動に他のサーバーに移行してくれる。
Kubernetesは運用の自動化をサポートしています。
Kubernetesを使うと運用環境のメインテナンスが簡単にできるので、サービスの効率がよくなります。
サービスの効率向上のため、サーバーが少なくなるとメインテナンス費用の削減になり、大規模の運用環境こそ効果が多くなるので多くの企業がKubernetes環境への移行に興味を持ち始めています。