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
職場にいる「困った部下」への対処法 上司・部下間で生まれる“常識のズレ”を解消するには
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
職場にいる「困った部下」への対処法 上司・部下間で生まれる“常識のズレ”を解消するには