2024.10.21
お互い疑心暗鬼になりがちな、経営企画と事業部の壁 組織に「分断」が生まれる要因と打開策
リンクをコピー
記事をブックマーク
中西建登氏:「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.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.21
40代〜50代の管理職が「部下を承認する」のに苦戦するわけ 職場での「傷つき」をこじらせた世代に必要なこと
2024.11.20
成果が目立つ「攻めのタイプ」ばかり採用しがちな職場 「優秀な人材」を求める人がスルーしているもの
2024.11.20
「元エースの管理職」が若手営業を育てる時に陥りがちな罠 順調なチーム・苦戦するチームの違いから見る、育成のポイント
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.19
がんばっているのに伸び悩む営業・成果を出す営業の違い 『無敗営業』著者が教える、つい陥りがちな「思い込み」の罠
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.15
好きなことで起業、赤字を膨らませても引くに引けない理由 倒産リスクが一気に高まる、起業でありがちな失敗
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.21
40代〜50代の管理職が「部下を承認する」のに苦戦するわけ 職場での「傷つき」をこじらせた世代に必要なこと
2024.11.20
成果が目立つ「攻めのタイプ」ばかり採用しがちな職場 「優秀な人材」を求める人がスルーしているもの
2024.11.20
「元エースの管理職」が若手営業を育てる時に陥りがちな罠 順調なチーム・苦戦するチームの違いから見る、育成のポイント
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.19
がんばっているのに伸び悩む営業・成果を出す営業の違い 『無敗営業』著者が教える、つい陥りがちな「思い込み」の罠
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.15
好きなことで起業、赤字を膨らませても引くに引けない理由 倒産リスクが一気に高まる、起業でありがちな失敗