2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
中西建登氏:「CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて」というタイトルで、サイバーエージェントの中西から発表いたします。よろしくお願いします。
まず簡単に自己紹介です。中西建登と申します。インターネットではこちらのアイコンで活動しています。2019年からサイバーエージェントのPrivate Cloud Groupというところで仕事しています。業務としては、OpenStackを使った仮想化基盤の運用やKubernetesをベースとした新機能の開発をやっています。
趣味としては、自宅でいろいろサーバーを置いたりだとかアニソンを聴くのがけっこう好きで、最近在宅勤務が続いているんですけれども、その時に業務中にスピーカーから流せるというのがけっこううれしいところですね。まぁどうでもいいので、始めていきたいと思います。
今回、このようなかたちで進めます。
最初に前提知識について説明します。サイバーエージェントはプライベートクラウドを長らくやっていまして、その中で今現状で、「メディア事業部」と呼ばれているところと「AI事業本部」と呼ばれているところの2つの部署があります。ここに書いてあるとおり、メディア事業部は、ブログであるとかアメーバピグであるとかが乗っているものです。私はこちらに所属していまして、今回は、このプライベートクラウドについてお話しします。
その中でもまた歴史がかなりありまして、データセンター自体を運用しているのは2004年からです。古くはOpenStackの4番目のバージョンであるDiabloからやったりだとか、Cloverと呼ばれる自作のクラウドコントローラーを開発して、それを使ってクラウドを提供するということもやったりしていました。
現在はリージョンが2つに分かれています。「TKY01」と呼ばれているものと「TKY02」とで、一番新しい「TKY02」が2019年の4月からです。OpenStack Queensベースで運用していまして、今回はこちらについてお話しします。規模感といたしましては、だいたいCompute Nodeが250台ぐらい。今まさに拡張中というような段階にあります。
この「TKY02」ですが、名前としては「Cycloud」というブランディングでやっていまして、CyberAgentのcloudの略で「Cycloud」というふうになっています。
OpenStackはもちろんHTTP APIで運用できるんですけれども、それ以外に、ファイアウォールであるとかIPアドレスの確保であるとか、後ほど紹介するソフトウェアのロードバランサであるとかに対して、基本的にAPIを提供していて、ユーザーがその上でCLIで操作できるのが大きな特徴になっています。
パブリッククラウドと比較しまして性能に対するパフォーマンスがかなり大きいということでユーザーさんから使っていただいています。
特に内向けのコンセプトといたしましては、「運用者が『つらくない』プライベートクラウドを作ろう」ということを第一に作っています。
今までのプライベートクラウドの話をすると、先ほどつらくないという話をしたと思うんですけれども、やっぱりいろいろつらい部分ってあるかなと思うんですよね。
例えば物理在庫、もちろんプライベートクラウドをやっている上で、いろいろもつことがあると思います。例えばそのままVMを動かすサーバーもそうでしょうし、ネットワーク機器であるとか、そのほかにもストレージアプライアンスであるとかいろいろ買うと思います。
まとめて買っている分に関しては比較的ちゃんと管理できていると思うんですけれども、例えば検証用の機材とか。「あの在庫ってそもそもどこへ行ったんだっけ?」とか。確かに動いているはずなのになぜか配線がよくわからないことになっていて、「ここの配線とこの配線ってどうやってつながっているんだっけ?」とかっていうのも、在庫管理として、かなり悩まれるところではないかなと思っています。
やはりサーバーを運用している以上、物というのはだいたい壊れるものなので、Compute Nodeがだいたい壊れる時に「すぐ保守依頼を出さないと」といったところで、保守依頼を出すためには「これ、どういうような物の管理になっているんだっけ?」とか「保守あるんだっけ?」みたいなのを確認したりとか。
ちょっと悲しいことに、利用者の方から「いやー、パブリッククラウドならできるんですけどね」みたいなことを言われることもあるかと思うんですけれども、そうなるとやっぱりユーザーとしては「ぴえん(;_:)」となってしまう。
これはビデオ(録画した講演という意)ですけれども、ここはちゃんと笑うところなので、みなさん笑っていただければと思います。
社員Slackの絵文字に「ぴえん(;;)」というのがあって……。使用例なんですけれども、なんかいろいろやっているとやっぱりクラウドつらいねと思うところがあると。「無限ループが起きた。あっ、違う。デッドロックだ……」「ぴえん(;;)」と。こういうような感じでみなさん使っていただければと思います。
毎回毎回、私「プライベートクラウドつらい」というような話をしているんですけれども、つらいつらい言うのは飽きたので、「プライベートクラウドはぴえん(;_;)である」というのを今回は題材として使っていこうと思っています。よろしくお願いします。
では、今回の取り組みについて本題ですね。最初に物理管理の方法についてお話ししたいと思います。
みなさん各社さんいろいろ物理の管理の仕方というのはあると思うんですけれども、例えばどういうことをやっていますかね?
例えば魔法のエクセルシートを使って無限に気合でメンテをするとか。物を買う時に販管システムと呼ばれているものを使っているところであれば、その買ってきたシリアル番号、どういうところから買ってきた、どのぐらいの個数を買ってきたというのがそこで管理されているはずなので、そこからがんばってエンジニアが使う向けのものとして持ってきているとか、そういったこともやっていると思います。
例えば、買った時に見積書を出すと思うんですけど、例えばそのメールをがんばって突き合わせて、そこから「そういえばこの時こういうもの買ったよね」とか、そういうのを探したりとか。
それから気合でもうIPAMみたいなもの……最近はNetBoxとかですかね、にひたすら記載してやるとかいろいろあると思うんですけど、だいたいやっぱり「ぴえん(;_;)」になってしまいますよね。
そうやってがんばって資材を特定できても、じゃあこの資材を使いんだけど、まず「あるんだっけ?」とか「この配線どこにあるんだっけ?」とか。IPMI設定しましょうといっても「IPMIどれだっけ?」とか。そのままIPアドレスを設定するんだけど、サービス用と間違えちゃったとか。
いろいろな悲しいできごとがあって、実際にサーバーを使いたいってなってから使えるようになるまで相当な時間がかかってしまうというのが、物理管理にはあるのではないかなと考えています。まぁ「ぴえん(;_;)」って感じですね。
そこで我々は、この「ぴえん(;_;)」を解消するために救世主を作りました。それが「Bearman」と呼ばれているものです。
Pythonのフレームワークの1つでDjangoというものがあるんですけど、Django製のベアメタルの管理ツール。BaremetalのManagerなので「Bearman」というふうに呼んでいます。
物理サーバーの管理が主だったところで、ここに書いてあるとおり、その筐体のUUIDだったりとかホスト名だったりとか、どういったものを起動するのか、どういったOSを起動するのか、どういったネットワークの情報を設定するのかというのを保存しておくツールなのですが、保存するに限らず、自動的にそれをセットアップするのも大きな機能の1つとして挙げられます。
これがBearmanが管理しているオブジェクトの一覧です。
最初にNodeと呼ばれるのが、物理サーバーそのものを管理しているところ。その次にProfileと呼ばれているものがあります。これはOSがどういうふうに起動するか。詳細に関してはまた後ほど説明します。
Flavorと呼ばれているものがNodeとProfileを紐付けて、「このNodeでは、このProfileでOSを起動してほしい」というような設定ができたりします。
Networkだと、例えばVLAN番号を使って「どういったOSが立ち上がった時に、この物理ノードだとこのVLAN番号を当ててこの用途に使う」というのを切り替えたりということもよくあると思うんですけど、そういったネットワークの定義であったりとか。
そのほかにも、その状態で……例えば「ここはどこかの子会社が使うから、VLAN番号を完全に分けて、機材も分けたりしましょう」というような場合もあると思いますし、そういうのを切り分けるTenantsであるとかを定義したりしています。そこから実際にOSを上げた状態をBaremetalsという名前で管理したりしています。
これが実際の写真というか図です。見た目はそのまま「Django Admin」と呼ばれているDjangoに搭載されている管理画面ですね。ほぼほぼそのままこの画面を使っています。
(次回につづく)
関連タグ:
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05