Wakame-VDC

Wakame Software Foundation
        やまざき
       2012/12/16
Wakame Software Foundation
      加盟企業数 21
WakameTech



たまに、開発者向けの技術ミーティングをやっています。
ユーザ会ではありません。
議論の発端   開発プロセスの高速化
          (アジャイル)


        スケールアウト手法の
           一般化



        増えるモバイルデバイス
システム開発や運用を、より素早く、より安定的に。
だから2009年から作り始め、2010/04にリリースしました。
クラウドコンピューティング基盤
九州電力様
       国立情報学研究所様
ユーザ様
       DC事業者様 (2社)
       SIer様 (2社)
       某メーカー様
Wakame-VDCは、データセンタの
  ためのハイパーバイザーです
     これまで                  これから

                  お貸し出し   お貸し出し    お貸し出し
                   領域      領域       領域


お貸し出し     お貸し出し      クラウド基盤ソフトウェア
 領域         領域         Wakame-VDC

ハードウェア   ハードウェア   ハードウェア          ハードウェア

         回線                  回線
Wakame-VDCは
  セルフサービスを可能にします
     これまで                    これから
                             作業
                           お願いします
                                     お貸し出し
                              システム開発者
                   お貸し出し    お貸し出し
     作業             領域       領域       領域
   お願いします
お貸し出し     お貸し出し       クラウド基盤ソフトウェア
 領域
         システム開発者
            領域          Wakame-VDC

ハードウェア    ハードウェア   ハードウェア           ハードウェア
   データセンタ管理者               データセンタ管理者
         回線                    回線




応答速度          低速              高速
効果

開発に求められる高速な                    お貸し出し
                        システム開発者
              お貸し出し   お貸し出し
               領域      領域       領域
レスポンスを得られる
                  クラウド基盤ソフトウェア
データセンタ管理者の          Wakame-VDC
仕事を減らす
              ハードウェア          ハードウェア
物理層のメンテナンスに           データセンタ管理者
集中する                     回線
Wakame-VDCは
     オートメーションを支援します
                              Web API
              システム開発者         呼び出し
1. システム開発者は           お貸し出し   お貸し出し     お貸し出し
                                        プログラム
                       領域      領域        領域
   プログラムを作成する
2. Wakame-VDCは           クラウド基盤ソフトウェア
   Web APIで作業依頼される         Wakame-VDC
3. Wakame-VDCは
                      ハードウェア          ハードウェア
   下記事項を実施します
    仮想サーバの作成~破棄
                              データセンタ管理者
    仮想ネットワークの作成~破棄               回線
    仮想ストレージの作成~破棄
    バックアップ
                これらを駆使すると、
                サーバ機器などのリース業務を
                自動化(オートメーション)できます。
自分で運転するのか

タクシーにするのか


  それとも…
運転そのものを自動にする
シンプルな論理構造
                         ssh

Browser
           システム開発者
                                         Network
     html/JSON                          Monitoring
           Data Center
                                         Gateway     Zabbix
  GUI                                     Agent
            Manager                     (nwmongw)
 Server     (DCMGR)
(Web UI)
                                         Hyper                   Instance

            DCMGR               Queue     Visor
                                                       VM
            Web API            (AMQP)    Agent
                                         (HVA)
                                                     iSCSI
                                                                 Block
                                        Storage
            DCMGR                                                Device
 MySQL                                   Target      Indelible
            Collector
                                         Agent          FS
                                         (STA)                     15
物理構成例
                                 Proxy
                                (nginx)

                                  GUI
 外部            Instances         Server
          SW


Network        ovs HVA
               GNU/Linux
                                DCMGR
                                Web API
               Instances
               ovs HVA          DCMGR
               GNU/Linux        Collector
                           SW
               Instances
               ovs HVA
               GNU/Linux
                                   STA
                                             Indelible
                           SW




                                 GNU/Linux
               Instances                        FS
               ovs HVA
               GNU/Linux
「分散」と「協調」
SPOFの排除
モジュールを複数起動すれば、それが冗長化に。


  Web Interfaceを持つ           AMQP Networkを持つ
  モジュールの冗長化                  モジュールの冗長化
                                                     AMQPの冗長化
   LB            LB            AMQP Network
                                                     手法に従う


Wakame-VDC    Wakame-VDC   Wakame-VDC   Wakame-VDC
  Module        Module       Module       Module




複数起動しても問題のないステートレスなモジュール設計
GUI   あらゆる操作を、この画面から。




               直感的操作



             複数アカウント管理


                多言語対応
              (英語 / 日本語)
皆が悩む設計と実装を
 あらかじめ添えて。
Instance Backup
無くしてしまう、その前に。




                  Storage
Instance
                  Machine
                   Image
           Copy
Advanced Firewall
Security Groups
全てのインスタンスを、いつも安全な状態に。

Known Packets




                  Firewall   Instance




Unknown Packets
IPアドレスベースでのアクセス制御



# HTTP
tcp:80,80,ip4:0.0.0.0/0

# SSH from Office
tcp:22,22,ip4:123.123.123.123/32
グループ名ベースでのアクセス制御

  sg-12345
  # HTTP Tier
  tcp:80,80,ip4:0.0.0.0/0


  sg-67890
  # Database Tier
  tcp:3306,3306,sg-12345
起動した後でも、
セキュリティグループの割り当てを変更できます
Virtual Network
192.168.1.10      192.168.1.10
       Instance          Instance




192.168.1.11      192.168.1.11
       Instance          Instance




  物理に依存せず、欲しいネットワークを。
OpenFlow
 Trema
 Open vSwitch
SDN
                                       スイッチネットワークに
                                       対する司令を出す
        Control      Control           任意のプログラム
       Program      Program
                                       データセンター全体に
             Network OS                散らばるスイッチ資源を
                                       管理するもの

                                       OpenFlow Protocol

  Packet                    Packet
Forwarding                Forwarding
                                       スイッチネットワーク
               Packet
             Forwarding
Virtual Network          Security Group   RubyレベルでのCall
(L3 Multi-Tenant)           (Firewall)
        Data Center Manager                  AMQPによる通信
   HVA          HVA          HVA
                                              RubyレベルでのCall
  Trema        Trema        Trema
                                           Unix Socket通信
            OpenFlow 1.0
  Open                           Open
 vSwitch                        vSwitch    各コンピュートノード内の
                                           独立したOVS群
                 Open
                vSwitch


VM   VM       VM     VM         VM    VM   貸し出される仮想マシン群
このようなネットワークが作れます
                   Internet



                                                              Security Group
Firewall    Firewall     Firewall   Firewall
                                                (L2 Isolation & L3 Firewall)


  VM          VM              VM      VM



                                                       User Defined Network
                              VM      VM       VM     (Virtual L2 Isolation)

                                                    Multi-tenant

                                                       User Defined Network
              VM              VM      VM              (Virtual L2 Isolation)
詳しい事が知りたい人は
今月発売されるこの本をどうぞ。
Wakame-VDCの解説があります。
(ステマですが何か?)
データーセンター全体の仮想化を目指しています。
Load
Balancer
手軽なトラフィックコントロールを、               Instance
今すぐに。



SSL
                      Load
Sticky Cookie       Balancer
                                Instance

Active / Stand-by
                     HAProxy
                     Stud

                                Instance
Alive Monitor
インスタンスの暮らしを見つめる
Instance               ラ○オン

                     Ping
                     HTTP(S)
                     FTP
            Alive    SSH
Instance
           Monitor   SMTP
                     POP3
                     IMAP
           Zabbix
                     Submission
                     DNS
Instance
                     MySQL
                     PostgreSQL
Log Collector
    (開発中)
Instance




いつでも、
「あの時」を追求できる
                                Log
                   Instance
                              Collector
Fluentdによる収集I/F
閲覧機能
今後は解析機能も
                              Fluentd
                              Cassandra

                   Instance
IFS
                  Instance
                              $


完全オリジナルの
マルチティアストレージ
                                   IFS
ローカルディスクのI/O性能              IFS
ネットワークレベルの       Instance
                              $
 ホットスワップ
DC間レプリケーション                       IFS
 (開発中)



                             IFS
                  Instance
                              $
開発者と運用者の楽園を作りたい



DevOps Platform
Demonstration
デモ環境

                                                           10.1.1.10
                 10.0.2.103
                              NIC   InstanceA-LAN1   NIC



                 10.0.2.104
10.0.2.100                    NIC   InstanceB-LAN1   NIC
                                                           10.1.1.11
NIC       Load
      Balancer
                                                           10.1.1.10
                              NIC   InstanceC-LAN2   NIC
                 10.0.2.105



                              NIC   InstanceD-LAN2   NIC
                 10.0.2.106                                10.1.1.11
起動しているインスタンス




2枚あるNICのそれぞれに、
IPアドレスが振られている
ロードバランサーの設定
Github
メインのソースリポジトリ
   https://github.com/axsh/wakame-vdc

仮想環境へのインストーラ
     https://github.com/axsh/vmapp-vdc-1box

DC構成毎のスモークテスト (開発中)
     https://github.com/axsh/kemumaki
開発者募集中
Issueの報告や、Pull Requestお待ちしております!
Q&A
@sparklegate

Wakame-VDC / Open Source Conferense 2012 - Cloud (JP)