Embed presentation
Download as PDF, PPTX
プライベートクラウド 作ってみました 株式会社サイバーエージェント 長谷部 光治 1 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
Chefが社内で浸透するまで +今後の目標 株式会社サイバーエージェント 長谷部 光治 2 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
と昨日まで思っていましたが・ 3 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
Chefはお腹いっぱいですよね? ごくごく普通に使っているだけで、面白い発表ができそうもありませんでした。。 4 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
改めまして・・・ 5 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
プライベートクラウド 作ってみました 株式会社サイバーエージェント 長谷部 光治 6 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
自己紹介 名前:長谷部 光治(インフラエンジニア) ・2012年2月 サイバーエージェント入社 ・今まで:一貫してクラウドシステム構築 2012年2月 〜 6月 OpenStack検証、導入 2012年7月 〜 現在 プライベートクラウド開発 ・現在:インフラ3割、開発7割 7 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
サイバーエージェント? アメブロ 8 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
サイバーエージェント? アメブロ ピグ 9 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
サイバーエージェント? ガールフレンド(仮) 10 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
サイバーエージェント? ガールフレンド(仮) GIRL’S TALK! copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved 11
サイバーエージェント? ガールフレンド(仮) ゲーム、コミュニティ いろいろやっています GIRL’S TALK! copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved 12
アジェンダ ・プライベートクラウド開発の背景 ・特徴 ・アーキテクチャ ・実装済み機能、詳細 ・課題 ・今後 13 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
アジェンダ ・プライベートクラウド開発の背景 ・特徴 ・アーキテクチャ ・実装済み機能、詳細 ・課題 ・今後 14 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
プライベートクラウド開発の背景 ■しかく 課題 ■しかく ・DCが点在していた ・物理サーバの提供リードタイム ・物理作業で工数を取られる 15 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
プライベートクラウド開発の背景 ■しかく 課題 ■しかく ・DCが点在していた ・物理サーバの提供リードタイム ・物理作業で工数を取られる 解 決 策 ・DCを統一する ・プライベートクラウドを作る 16 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
プライベートクラウド開発の背景 ■しかく スケジュール PJ発足 2012/4 2012/6 設計 自社開発決断 2012/10 並行検証 開発 ・OpenStack ・OpenStack前提 ・自作ツール リリース 2013/2 開発 ・自作ツール 17 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
プライベートクラウド開発の背景 ■しかく リリース後、利用推移 リリース 18 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
プライベートクラウド開発の背景 ■しかく リリース後、利用推移 順調に推移 リリース 19 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
プライベートクラウド開発の背景 ■しかく リリース後、利用推移 現在5,000VM超! 順調に推移 リリース 20 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
プライベートクラウド開発の背景 「Clover」って聞いたことありますか? 21 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
プライベートクラウド開発の背景 雑誌で紹介したことがあります 22 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
プライベートクラウド開発の背景 雑誌で紹介したことがあります プライベートクラウド管理システム 「Clover」 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved 23
アジェンダ ・プライベートクラウド開発の背景 ・特徴 ・アーキテクチャ ・実装済み機能、詳細 ・課題 ・今後 24 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
特徴 ・シンプル ・デフォルトIPv6 ・毎回OSをインストール(kickstart) ・物理サーバ、仮想サーバ統一管理 25 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
特徴:シンプル ・libvirtで各ComputeNodeを管理 ・エージェントレス(libvirtdを除く) ・必要な機能のみ実装 26 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
特徴:デフォルトIPv6 ・1VLAN内のIPアドレス数制限撤廃 ・RA(Router Advertisement)で アドレス自動配布 ・ミドルウェア、HWともIPv6対応が 進んできた 27 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
特徴:デフォルトIPv6 ・1VLAN内のIPアドレス数制限撤廃 ・RA(Router Advertisement)で アドレス自動配布 ・ミドルウェア、HWともIPv6対応が 進んできた ※(注記)後々IPv6を活かした機能が出てきます 28 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
特徴:毎回OSインストール ・統合イメージ置き場を必要としない (サーバのローカルディスクのみ) ・物理、仮想サーバ共通の手順で 構築できる 29 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
特徴:物理、仮想サーバ統一管理 ・kickstartを利用することで同様の 手順で構築できる 30 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
アジェンダ ・プライベートクラウド開発の背景 ・特徴 ・アーキテクチャ ・実装済み機能、詳細 ・課題 ・今後 31 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
アーキテクチャ:使用技術、その他 ・開発言語:Python ・主要フレームワーク:Django ・使用ミドルウェア: libvirt, PostgreSQL, bind, dhcpd tftpd, memcached, RabbitMQ ・ハイパーバイザ:KVM ・インターフェース:Web, REST API 32 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
アーキテクチャ:コンポーネント図 AWS 設定 Route53 物理サーバ The Internet OSインストール ・・・ ComputeNode Clover VM操作 (libvirt) ・・・ 内部DNS ・・・ 仮想サーバ 設定 CA-DC 33 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
アーキテクチャ:コンポーネント図 AWS 至ってシンプル! 設定 Route53 物理サーバ The Internet OSインストール ・・・ ComputeNode Clover VM操作 (libvirt) ・・・ 内部DNS ・・・ 仮想サーバ 設定 CA-DC 34 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
アジェンダ ・プライベートクラウド開発の背景 ・特徴 ・アーキテクチャ ・実装済み機能、詳細 ・課題 ・今後 35 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
実装済み機能、詳細:DNS管理 ・Public, Private両方のDNSを管理 ・Public:Route53を利用(API経由) ・Private:bindに登録 ・サーバ構築と同時にレコードを自動登録 36 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
実装済み機能、詳細:物理サーバ管理1 物理サーバサービスインまで 1. ラッキング、配線 2. 電源ON 3. pxe経由でSystemRescueCd (ruby導入済み)起動 4. ohai実行、結果をCloverにpush 5. Cloverからサーバが見えるようになる 37 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
実装済み機能、詳細:物理サーバ管理1 物理サーバサービスインまで 1. ラッキング、配線 2. 電源ON 工夫しました! 3. pxe経由でSystemRescueCd (ruby導入済み)起動 4. ohai実行、結果をCloverにpush 5. Cloverからサーバが見えるようになる 38 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
実装済み機能、詳細:物理サーバ管理2 物理サーバサービスインまで ※(注記)以下CloverのWebUIから 6. インストールOSを選択 7. 物理サーバ再起動(IPMI経由) 8. OSインストール開始 9. OSインストール完了 39 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
実装済み機能、詳細:物理サーバ管理3 詳細:Cloverに情報が登録されるまで ルータ 3 1 ラック スイッチ 2 5 6 9 4 7 8 物理サーバ copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved Clover 1 ラックスイッチにVLAN設定 2 サーバ結線、IPMIポートRS送信 3 ルータRA送信 ここでIPMIポートにv6アドレス付与 4 サーバ電源ON 5 eth0ポートRS送信 6 ルータRA送信 ここでeth0ポートにv6アドレス付与 7 SystemRescueCD起動 8 ohai実行、CloverにPush 9 ohai情報を解析、登録 下記情報を判断 ・UUID ・MACアドレス ・IPアドレス ・SerialNo ・ホスト名 40
実装済み機能、詳細:仮想サーバ管理 仮想サーバサービスインまで ※(注記)以下CloverのWebUIから 1. サーバ情報を入力 2. 作成 3. 起動 4. OSインストール開始 5. OSインストール完了 41 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
実装済み機能、詳細:スイッチ管理 ・システムでラックスイッチ情報を管理 ・ラックスイッチから配下の物理サーバ ラッキング位置を取得、管理 42 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
実装済み機能、詳細:スイッチ管理 ・システムでラックスイッチ情報を管理 ・ラックスイッチから配下の物理サーバ ラッキング位置を取得、管理 スイッチのポート、サーバ搭載Uの 対応表を作ることで実現 43 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
アジェンダ ・プライベートクラウド開発の背景 ・特徴 ・アーキテクチャ ・実装済み機能、詳細 ・課題 ・今後 44 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
課題 ・機能が少ない よく言うとシンプル、悪く言うと 機能が少ないです 未実現機能 ・セキュリティグループ ・仮想サーバリソース制限 (Disk I/O, Network) 45 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
課題 ・コンポーネント分けがされていない サーバ1台で全機能を提供しており 密結合となっています e.g. ・WebUI, APIが同居(Django頼み) ・bindのゾーンファイルをローカル に生成、rndc reloadを実行 46 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
課題 ・UIがイケていない DjangoのAdmin画面をテンプレート のみ替え、そのまま使っています 管理画面Top 仮想マシン一覧画面 47 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
課題:こぼれ話 ・開発力に差がある AWSを始めOpenStack, CloudStackなど 開発スピード早すぎ! 今でもOpenStackにしたほうが良かったかと悩みます・・ ・コスト面 DCをフロア単位、期間契約で借りて いるのでちゃんと使わないともったい ない。。 48 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
アジェンダ ・プライベートクラウド開発の背景 ・特徴 ・アーキテクチャ ・実装済み機能、詳細 ・課題 ・今後 49 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
今後 見てきて頂いたとおり、まだIaaS 基本機能を実装したに過ぎません。 サービスの品質、開発速度向上に向け IaaS機能の開発からPaaS/SaaSの機能 開発にシフトしていきます。 インフラエンジニアっていなくなってもいいよね。。 50 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
今後 ■しかく キーワード(AWS関連多すぎ・・・) SQS, SNS OpsWorks RDS 統合監視 Region機能 Dynamo 統合認証基盤 LVS Chef CI Docker(LXC) 51 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
まとめ ・プライベートクラウド自作は難しくない インフラエンジニアでも作れました ・プライベートクラウド自作は面白い 作る過程で色々なことを学べました ・皆様もいかがですか? クラウド提供業者の方々、すみません。。 52 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
最後に・・・ CloverはOpenSourceで公開する予定です! ※(注記) 現在社内調整中です 53 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
最後に・・・ サイバーエージェントでは、プライベート クラウドを作る仲間を募集です! インフラエンジニアに限りません。 特に下記に当てはまる方、お待ちしています! ・インフラだけど開発大好き! ・UIなら負けない! ・手動で設定?ありえないでしょ? ・技術のトレンド、常に気にしています 54 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
質疑応答 55 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved
ご清聴ありがとう ございました 56 copyright(C) 1998-2013 CyberAgent, Inc. All rights reserved