広まりを見せるも、使いこなせる技術者が少ないKubernetes
多くの企業でクラウドでのコンテナ活用が進む中、採用が進んでいるのが、コンテナオーケストレーションツール「Kubernetes」である。Kubernetesは、クラウドネイティブの特長をいかすシステムアーキテクチャ構築のための、マイクロサービスを実現するには欠かせない技術ともいえる。
これからの注目技術であり、大企業を中心に採用の検討が進んでいるKubernetesだが、知見のある技術者が少ないため、その特長をいかした本格的な活用に至っている企業はまだ少ない。
2014年11月に設立され、「攻めのインフラ」というメッセージを掲げるインフラ専門の技術者集団grasysは、そうした中でもKubernetesの先進事例を数多く手がけている企業の1つだ。クラウドを主体としたシステムの設計から、構築、安定した運用まで、クライアントにとっての最適なインフラを提供している。同社の特徴は、Kubernetesをはじめ、Google Cloudが提供するマネージドアプリケーションプラットフォーム「Anthos」、Kubernetes上で動くゲームサーバを制御するライブラリ「Agones」などの新しい技術にいち早く着手し、実証検証を行うなど、最新の技術を取り入れる「攻める心」を持ち続けていることだ。
grasysはGoogle Cloud プレミア Service パートナーの認定を受けていることからもわかるとおり、Google Cloudを活用したインフラ構築を得意とするが、近年はAWS(Amazon Web Services)やMicrosoft Azureなどのクラウドを使った案件も増えている。そういったパブリッククラウドを用いたインフラの設計、構築、運用までを担当するCloud Infrastructure Division Ops Teamのリーダーを務めているのが泉水氏だ。
泉水氏は同社に入社するまで「インフラはあまり触れてこなかった」という。未経験からSES(システムエンジニアリングサービス)企業に転職し、SIerにてオープン系の開発に従事。その後、新しい技術を習得すべく参加した地元コミュニティでGoogle Cloudに関心を持ち、Google Cloudを使った開発をしているIT企業に入り、約3年間アドテク系サービスのバックエンドシステムの開発に従事した。同システムのGoogle Cloudのインフラを運用していたのがgrasysで、「そういう縁もあり、会社を退職したときに当社代表の長谷川から声をかけられ、grasysに入社しました」と泉水氏は経緯を語る。
Kubernetesを活用するメリットとは
Webサービスやアプリケーションの投入時期によって、企業の競争力が変わるなど、現在のビジネスはITなしには語ることはできない。そんな時代にフィットする開発技術として注目されているのがコンテナ技術であり、コンテナ化されたアプリケーションの開発・運用を自動化するプラットフォーム、Kubernetesである。改めて、そのメリットはどこにあるのだろうか。
「現在、新しいアプリケーションやサービスを開発する場合、環境をDockerで構築することがスタンダードになってきています。Dockerであれば、アプリケーションのテスト環境と本番環境を統一できるメリットが得られるからです。その際に、コンテナの状態を気にすることなくオートスケールを行うなど、Dockerのうまい管理に欠かせないのが、Kubernetesです(※Kubernetes 1.20からDockerランタイムは非推奨になります)」(泉水氏)
DockerやKubernetesを活用するメリットは、コンテナ化されたアプリケーションを好きなときに実行できるようになるなど、プログラムの更新やデプロイも容易になることだ。Dockerイメージさえあれば、Google CloudからAWSへ移行したり、オンプレミスに戻したりするポータブル性が高まることもメリットといえる。「これは前職での経験ですが、オフショア開発をしている場合は、手順書を丁寧に準備するよりもDockerイメージを作成して英語で手順を少しだけ記載するほうが簡単に済みますし、環境の差分がなくなります。これもコンテナを活用するメリットの1つだと思います」(泉水氏)