2024.10.01
自社の社内情報を未来の“ゴミ”にしないための備え 「情報量が多すぎる」時代がもたらす課題とは?
リンクをコピー
記事をブックマーク
真壁徹氏:(スライドを示して)戦略のサンプルを簡単にまとめてきました。
1個目がAKSの規定や推奨ベースにするということで、これは冒頭で話したKubernetesの推奨、AKSの推奨に従うやり方ですね。AKSだけではなくてKubernetesコミュニティ、あとはまわりのエコシステムが成熟してきて、リスクは下がってきています。
なのですが、このサンプルではマイナーバージョンアップは手動で行います。パッチとか、パッチバージョン、Nodeのイメージのアップグレードは自動でやりましょう。それでスケジュールを工夫します。
夜中にやるとか昼にやるとか、いろいろ工夫できます。こういう戦略です。私は今後はこれがスタンダードになるんだろうなと思っています。
まだ過去のアップグレードの悪い体験、トラブルの体験が残っているお客さまは「Blue/Greenしたいな」と言うかもしれませんが、今後はこれがスタンダードになるんじゃないかなと思います。
実は2023年の秋ぐらいにKubernetesのプロダクトマネージャーが日本に来て、散々議論をして、そのあと私も様子を見ていろいろなお客さまともディスカッションして、実績も見て言っています。これがスタンダードになるんじゃないかなと思います。
ただインプレースアップグレードなので、リカバリー手段はやはり準備しておいたほうがいいだろうと思います。大きく2つのリカバリー手段があります。原因を取り除いてアップグレードを完遂するやり方と、バックアップから戻すやり方です。
私はアップグレードが途中でこけたとしても、その原因を取り除いて、目的のバージョンに上げる、完遂することをおすすめします。そのほうががんばって戻すよりたぶんシンプルです。なぜこけたかはけっこうわかりやすくなっています。先ほど話しましたが、問題の診断と解決機能を見ると、「ここでこけたよ」というものが出ていたりします。
あと最近のAKSのアップグレードツールは、「あ、このエラーが原因だったんじゃないの?」ということを概要画面の一番上に出してくれます。「アップグレードがfaileしたよ。これが原因かもしれませんね」とリンクが出てきて、そのリンクを押すとトラブルシューティングガイドに飛びます。ということもあり、私のおすすめはアップグレードをやりきるというやり方です。このほうがシンプルかなと思います。
(スライドを示して)問題の診断と解決機能を知らない方が多いので、ぜひ使ってみてください。かなり細かく診断してくれます。まだプレビュー(の状態)ですが、最近流行りのCopilot形式というか、チャットで自然言語で問い合わせられるようになるそうです。私もまだ触れていないのですが、今後にご期待ください。
もう1つのインプレースアップグレードのリカバリーは、バックアップから戻すやり方です。ただ、正直これは複雑です。複雑なのであまりおすすめしないのですが、バックアップから戻すほうがいいという方もいると思うので、もしやりたい場合には資料を参考にしてもらえければと思います。
それとBlue/Greenですね。冒頭に話しましたが、これもまだ有力な戦略です。今後これがメインにはならないと思うのですが、いざという時にできるようにしておくのはけっこう大事な戦略です。
なので、Blue/Greenじゃなくて自動アップグレードやインプレースを中心にしていく場合でも、クラスタの前に何らかのゲートウェイなり、リバースプロキシを置いておきたいです。
あとは隣にクラスタを置けるだけのIPアドレスのレンジを持っておくことは、けっこう大事です。あとからインプレースアップグレードができない機能が出てきた時や、Kubernetesのクラスタのネットワークの設計を大きく変えたい時にやはりBlue/Greenをしたくなるので、そういう余裕を持っておくと、後々安心です。
サンプル2ですね。これはサンプル1と相反するものではないのですが、「事前に他のクラスタで十分な検証をしましょう」というやり方です。Azure KubernetesサービスにFleet Managerという機能があり、クラスタのコントロール、オーケストレーションをしてくれる仕組みがあります。
これはアップグレードの順序制御もしてくれるので、検証環境のステージングに先にアップグレードをあてて、それがOKだったらプロダクション、本番にあてるという順序制御ができるようになります。
なので、検証環境を早めに上げて、1週間とか、十分な検証をできる時間をとっておきます。waitで7日間待つなどの設定ができるので、それがOKだったら本番をアップグレードするなんてことができます。
今のFleet Managerでもできるのですが、将来的には大規模なクラスタ環境を作られても、クラスタ5つとか、3つとか、4つとか、そのぐらいの数で、複数クラスタで1つのシステムを作りたい時には、例えば複数クラスタの順序順序でアップグレードしていくなどのコントロールもできるようになるので、クラスタのカナリアアップグレードも夢としてはあります。
今は単純にはできないですが、仕組みとしてはできます。APIを叩くだけです。
自動テストはけっこう重要です。これは深い話なので今日はしませんが、やはり気づくためにはアプリケーションを動かさないといけないので、アプリケーションの自動テストをどこまで仕組みとして作っておくのかは、けっこう大事な検討ポイントです。
ただ、網羅的なE2Eテストはいらないと思います。GUIを全部気にする必要はなくて、代表的なアプリケーションフローを通した時、Kubernetesのアップグレードがこけていると派手にこけるのでわかります。なので、網羅的なE2Eテストはしなくていいかなと思っています。
まとめです。「今日の話は根拠があるのか」みたいな感想があると思うので、大きな実績を話していきます。マイクロソフト自身の実績ですね。「Office 365」や「Teams」、「Bing AI Copilot」や「GitHub Copilot」で使っている方もいます。「Xbox」やOpenAIの「ChatGPT」。これは全部AKSを使っています。24時間365日動いています。
これらのサービスが「アップデートだから」と言って止めるとか、ぽこすかセッションを切るなんてことはみなさんあまり感じていないですよね。うまくできるということです。24時間365日動かしながらアップグレードができるという証明をマイクロソフト自身がしています。
(スライドを示して)最後のまとめです。繰り返しになりますが、今は転換期だと思っています。「アップデートが大変だよ」というイメージをみなさんは持ってしまったというのがこれまでだったと思いますが、できるだけ自動化して楽をすることを考える転換期かなと思っています。コミュニティも、KubernetesとAKSも、成熟してきてツールも整ってきました。
あとは、トラブルシューティングガイド、ナレッジも、インターネット上で公式ドキュメントとして手に入るようになっているので、かなり整ってきているんじゃないかなと思います。
最後に大事なことを伝えます。自動化は勇気がいると思います。「怖いからできない」という方が多いと思いますが、全部自動化する必要はないと思います。部分的に、段階的に自動化していけばいいと思います。
例えばNodeOSのイメージのバージョンアップだけ先に自動化するなど、徐々に自動化する対象を広げていけばいいと思います。それで経験なり能力を積んで、自信を積んで全体のアップグレードを自動化していくとか、そういうところにいつかたどり着けばいいという進め方でいいんじゃないかなと思います。
私は正直、ここ2年ぐらいアップグレードは失敗していないです。
実は以前に仕事の場で、「私、失敗しないので」と、(その場にいたASTの)齋藤さんに強く言い切りました。言い切れるぐらい自信があります。慣れてしまえばどうってことないです。シャア・(シャア・アズナブル)みたいなことを言いますが、どうということはないので、みなさんも慣れてください。
ということで、私の発表は終わります。ご清聴ありがとうございました。
関連タグ:
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
職場にいる「困った部下」への対処法 上司・部下間で生まれる“常識のズレ”を解消するには