Linux Daily Topics

LinkedIn⁠ほぼすべての環境をCentOS 7からAzure Linuxに移行

LinkedInは8月19日、同社の技術ブログにおいてLinkedInで稼働していたCentOS Linux 7のほぼすべてのフリートを、2024年4月時点でAzure Linuxに移行完了していたことを明らかにした。CentOS 7のサポートは2024年7月に終了しており、すでに多くのユーザがCentOS StreamやRed Hat Enterprise Linux、AlmaLinuxといったCentOSと互換性のあるプラットフォームに移行しているが、Azure Linuxという選択肢を聞くことはあまりない。同社がMicrosoftの傘下企業という点を考慮しても興味深い移行事例だ。

LinkedInがAzure Linuxに移行する最初のきっかけとなったのは、LinkedInに所属するシステムインフラエンジニアとLinux戦略リーダーがMicrosoftのLinuxシステムグループのメンバーから「Linuxフリート管理について話し合いたい」と招待を受けたことに始まる、と書かれている。CentOS 7のサポート期限が近づくなか、LinkedInのエンジニアたちは「世界中の10億人を超えるLinkedInメンバーに確実にサービスを提供できる、最新で安全なOSを用意する」⁠革新的なAIを活用した新機能をより迅速にメンバーに届ける」という2つの大きなゴールを掲げ、新しいディストリビューションへの移行を開始したという。

新しいOSの検討にあたっては「ユーザスペース」⁠ブートストラップタイム」⁠セキュリティアップデート」⁠モダンな機能」⁠ベンダサポート」⁠ファームウェアアップデート」といった重要な技術的課題に対処できるかどうかが重要視された。また、ビジネス側の要件としては「コンプライアンス」⁠強力なベンダサポート」⁠コスト効率」⁠堅牢なセキュリティ」⁠将来性」などが考慮され、これらの要件をクリアするOSとしてAzure Linuxが有力な候補となったようだ。

この移行におけるおもなポイントは以下のとおり。

  • LinkedInの複数のエンジニアリングチームが移行に際してそれぞれがやるべきことを明確に定め、チーム間での連携や調整を徹底し、知見を共有する体制を構築する
  • Azure LinuxがLinkedInサーバで使用可能かどうかを確認するため、本格的な移行の前に試験的なパイロットプロジェクトを実施する
  • ソフトウェアRAIDを構成する必要性から、Azure LinuxネイティブではないXFSファイルシステムを選択している
  • 開発者エクスペリエンスをできるだけ損なわない。いままで使えていたものが使えなくなった場合は代替を提供する
  • ベンダ(Microsoft)から継続的な技術支援を受ける
  • 移行と同時に旧式のツールを刷新し、システム全体のモダナイズをはかる(ex. モニタリングツール)
  • 移行専用のチャネルを立ち上げ、ユーザのフィードバックを収集し、傾向を分析する

とくに、開発者エクスペリエンスに関しては随所にこだわりを見せている。たとえばAzure Linuxはウィンドウマネージャをサポートしていないので、開発者はCentOSで利用していたVM(RDP/sshで接続可能なウィンドウマネージャを備えたCentOSデスクトップVM)が使えなくなる、つまりGUIアクセスを失ってしまうことになる。LinkedInの移行チームはIntelliJ/Visual Studio Codeなどの統合開発環境をAzure Linux Developer VMにリモート接続することでこの問題を解決している。

ブログでは「⁠⁠CentOS 7からAzure Linuxへの)移行をスムースに進め、移行の長期的な価値を最大化するには、慎重な計画、包括的なトレーニング、継続的なサポートが不可欠だった」とまとめられているが、移行中に技術的な課題が発生することを前提に、Microsoftを含めたチーム全体で密なコミュニケーションをはかって迅速に原因を特定し、解決に至っている点がこの移行の特徴だ。ユニークな事例ではあるが、そのアプローチはほかのプロジェクトでも参考になる点が多いだろう。

おすすめ記事

記事・ニュース一覧