2024.10.01
自社の社内情報を未来の“ゴミ”にしないための備え 「情報量が多すぎる」時代がもたらす課題とは?
Verdaプラットフォーム開発Kチーム(全1記事)
提供:LINE株式会社
リンクをコピー
記事をブックマーク
Pickel Christopher氏:私はクリス・ピッケルです。私はLINEのVerda Departmentで、シニアソフトウェアエンジニアです。京都オフィスに所属しており、入社して4年になります。
日本で自己紹介する時、「私のことはこういうふうに覚えてください」と言います。ピクルスではなく、ピッケルです。私はピクルスではありません。ピッケルです(笑)
ということでVerdaついてですが、私はVerdaプラットフォーム開発Kチーム、VKS(Verda Kubernetes Service)の開発をしているのでVKSチームと呼ばれるチームに所属しています。VKSチームはVerdaの中でも一番国際色豊かだと思います。9人のメンバーがいて、京都・東京・ソウルに点在しています。
出身国も6ヶ国にわたっています。アメリカ、イギリス、ロシア、インド、韓国、日本なので、(つまり)アメリカン、イギリス、そしてインディアンイングリッシュのネイティブスピーカーがいるチームです。
我々はKubernetesクラスタを開発しています。私たちがなぜKubernetesを使っているのかですが、その理由は大きく4つあります。
まずスケジューリングについてのメリットです。いろいろなマシンがある時、サーバーを特定のマシンにマニュアルで割り当てる必要はありません。ノードを、そしてサーバーを作ってくれるわけです。そしてKubernetesがどこにリソースを充てたらいいのかを考えていきます。
2番目です。スケーリングでリソースが必要であれば、Kubernetesのほうでどこにそれを追加できるのかスケジューリングしてくれます。
3番目はロールアウトです。これはサーバーをアップデートしなければならない時に、最低限のレプリカを用意して仕様に応じてスケジューリング、またはスケールアップとダウンをしてくれます。
そして4番目の理由、ルーティングです。例えばスケジューリング、スケーリング、ロールアウトを実行している時、Kubernetesにインバウンドのトラフィックが入ってきた時も、きちんとルーティングしてくれるように設計しています。
大きく4つの理由をお話ししましたが、Kubernetesはこれ以上のことをやってくれるわけです。
我々はDedicated Clusters modelを採用しています。すなわち、Kubernetesを使いたいというチームがあれば、チームごとにクラスタを専用に割り当てています。
その反対がマルチテナンシーということで、複数のチームが1つのクラスタを共有します。こちらのほうがリソースを効率的に使えるわけですが、いろいろなチームが別々のソフトウェア、フィーチャーを使っているので、なかなかニーズを満たすのが難しいわけです。
現在、Kubernetes 1.24のサポートを追加しました。チームによってはすぐに使いたい、あるいはもうちょっと待ちたいチームもあるわけですが、やはり2つの方法をサポートしているので、両方のチームのニーズを満たすことができます。
現在は5つのゾーン、そして800以上のクラスタをサポートしています。Verda VMの15パーセントがVKSノードとして使われているのでかなり大部分を占めていますが、まだまだこれから拡張できるのではないかと思っています。
Kubernetesの優れているところは、いろいろなインフラに対応しているところです。マイナスな点は、バッテリーが搭載されていないため、すぐには使えないという点です。つまり、いろいろな準備をしないと使えないということです。マシンの調達、ネットワーク、ストレージ、そして他のインフラの準備をしなければなりません。
VKSはVerdaのプライベートクラウドの一部なので、とにかくすべてにVerdaを使っていくことが我々の課題になります。
他のチームと協業してフル機能を備えたKubernetesクラスタを提供するようにしています。コンピューティングリソースに関しては、VerdaのOpenStackを担当しているチームと連携します。ネットワークはVerdaのネットワークを担当するチームと連携します。ストレージは韓国にあるVerdaストレージチームと連携します。そしてオブザーバビリティに関しては、他のLINEのチームと協業しています。
コンピューティングのニーズの基本的なものですが、マシンをKubernetesノードとして使うということです。ほとんどはOpenStack VMを使っていますが、現在は自動化したプロビジョニングに割り当てはしていません。また、OpenStackImage、フレーバーのマネジメントも行っていて、リソースを効率的に使うようにしています。
ネットワーキングですが、ネットワークのプラグイン、例えばFlannel、Calicoなどのサポートもしています。インバウンドのトラフィックに関しては、ネットワークを担当するチームがLoadBalanceを開発しました。我々はKubernetesのコントローラーを開発したので、これを統合しました。
アウトバウンドのトラフィックに関しては、コントローラーを開発して統合しています。将来的にはIngressの実装も開発しているので、これもサポートしていきたいと思っています。
ストレージのRead Write Once Persistent Volumeですが、(これは)VerdaストレージチームのBlock storageサービスと一緒にサポートしています。
また、共有のファイルストレージに関してはRead Write Menyをサポートしていて、両方ともパブリックオープンソースコントローラーを使っています。
Observabilityは3つあると思います。まずはMetricsです。これはPrometheus Instanceを実行するということです。そしてLogsはFluentdコレクタを使っています。トレーシングに関してはまだサポートしていませんが、検討中ではあります。
3つの課題ですが、新しいバージョン、古いバージョン、そしてオンコールのタスクです。
まず新しいバージョンに関してですが、数年前にVKSをランチャー上に開発しました。その時はそれで十分だったんです。システムをリリースして、サービスをすぐに開発できましたが、現在のニーズと完全にマッチしていないわけです。
ランチャーでしようとしているフィーチャーはない。そしてKubernetesはとにかく進化しているし、新しいバージョンをリリースし続けています。ご存じだとは思いますが、KubernetesはDocker支部のサポート終了を発表しました。
現在サポートしていないランチャーバージョンを使っているので、クラスタAPIなどを使って、クラスタのライフサイクルを標準的な形式でサポートし、管理していきたいと考えています。
なので、ランチャーをアップグレードするか、あるいはクラスタAPI上にまた再構築するのかと検討し、結局後者にしました。
古いバージョンですが、現在1.13から1.24のKubernetesをサポートしているので、かなりいろいろなバージョンをサポートしています。これを同時にずっとサポートし続けるのは難しいと思っています。
しかしながら、ユーザーのクラスタをアップデートするのは我々も大変です。そして、ユーザーにお願いしてもなかなかやってくれません。また、アップグレードしてユーザーのクラスタが壊れてしまうような危険性もあります。
オンコールのタスクですが、我々のチームでは24×7のオンコールタスクがあります。幸いにも、あまり業務時間外に連絡を受けることはありませんが、チームになったらこのタスクを担う可能性があるので、あらかじめ伝えておきたいと思います。
業務時間内にたくさんの仕事が発生することがあります。それはなぜかと言うと、あまり自動化ができていないからです。他のチームでも自動化されている部分はかなり限定的だと思います。
今後ですが、まずクラスタAPIに移行したいと思います。それ以後はもっとインテグレーションをして、そしていろいろなフィーチャーをユーザーに提供して、もっと我々のサービスを使ってもらいたいと思っています。
LINE株式会社
関連タグ:
2024.10.29
5〜10万円の低単価案件の受注をやめたら労働生産性が劇的に向上 相見積もり案件には提案書を出さないことで見えた“意外な効果”
2024.10.24
パワポ資料の「手戻り」が多すぎる問題の解消法 資料作成のプロが語る、修正の無限ループから抜け出す4つのコツ
2024.10.28
スキル重視の採用を続けた結果、早期離職が増え社員が1人に… 下半期の退職者ゼロを達成した「関係の質」向上の取り組み
2024.10.22
気づかぬうちに評価を下げる「ダメな口癖」3選 デキる人はやっている、上司の指摘に対する上手な返し方
2024.10.24
リスクを取らない人が多い日本は、むしろ稼ぐチャンス? 日本のGDP4位転落の今、個人に必要なマインドとは
2024.10.23
「初任給40万円時代」が、比較的早いうちにやってくる? これから淘汰される会社・生き残る会社の分かれ目
2024.10.23
「どうしてもあなたから買いたい」と言われる営業になるには 『無敗営業』著者が教える、納得感を高める商談の進め方
2024.10.28
“力を抜くこと”がリーダーにとって重要な理由 「人間の達人」タモリさんから学んだ自然体の大切さ
2024.10.29
「テスラの何がすごいのか」がわからない学生たち 起業率2年連続日本一の大学で「Appleのフレームワーク」を教えるわけ
2024.10.30
職場にいる「困った部下」への対処法 上司・部下間で生まれる“常識のズレ”を解消するには