openstack概要
Post on 10-Jun-2015
11.608 Views
Preview:
DESCRIPTION
TRANSCRIPT
OpenStack概要
吉山 あきらakirayoshiyama@gmail.com
講師紹介
● 1995年に Slackware Linuxを初めてインストールして以来の Linuxユーザ● Debian JP Project初期メンバー● GNU Lib C ver.2.0の国際化機能開発に協力
● 1998年 NEC入社● 2001年より OSS関連業務に従事● 2010年より OpenStackの評価・開発に従事
● 2011年より日本 OpenStackユーザ会で勉強会を主催
目次
OpenStack とは
OpenStackの歴史
OpenStack プロジェクト
OpenStackの構成コンポーネント
OpenStackの事例
OpenStackの今後
まとめ
OpenStackの情報源
OpenStack とは
OpenStack とは
完全な OSS (オープンソース・ソフトウェア)のクラウド基盤ソフトウェアを開発するプロジェクト● プロジェクトでは有償の商用版を開発しない(オープンコア戦略を行わない初の OSSクラウド)
● 開発方針は 100%コミュニティベースで議論● ライセンスは Apache License ver.2.0● 開発言語は基本的に Python● 各サービスコンポーネントの外部 APIは REST
開発者 6000名以上、参画企業 100社以上
OpenStackの歴史
OpenStack誕生以前
初の本格的な Amazon EC2/S3互換 OSS「 Eucalyptus 」が登場● 初期開発メンバーが Eucalyptus Systems, Incを起業● GPLのコミュニティ版と有償のエンタープライズ版の2本立て(オープンコア戦略)
Eucalyptusの開発体制● Eucalyptus Systems, Incがソースコードを管理● OSSコミュニティからの開発成果が反映されにくい
⇒不満を持つ利用企業・組織が増加
OpenStackプロジェクト発足
2つの Pythonプロジェクトの存在● NASAが Eucalyptusに代わる IaaS基盤を Pythonで
⇒開発 Nova● Rackspaceが自社のクラウドストレージサービス「 CloudFiles 」を Python ⇒で再実装 Swift
Novaと Swiftをはじめとする各種クラウド基盤を100% OSSで開発・公開するプロジェクト「OpenStack 」が発足 (2010/7)
OpenStackの歴史: 2010年
OpenStackプロジェクト発足( 2010/7 )● プロジェクトドメイン取得( openstack.org )● Launchpad.net上で Nova と Swift を Apache
Licenseで公開、 OSSとして開発開始
OpenStack 2010.1 「 Austin 」公開( 2010/10 )● Novaの独特な部分を標準的なものに置換( Redis→RDBMS 、 Twisted→WSGI )
日本 OpenStackユーザ会発足( 2010/10 )
OpenStackの歴史: 2011年
OpenStack 2011.1 「 Bexar 」公開 (2011/2)● Glance登場(育成プロジェクト)
OpenStack 2011.2 「 Cactus 」公開 (2011/4)● Glanceがコアコンポーネントに昇格
OpenStack 2012.3 「 Diablo 」公開 (2011/10)● Horizon, Keystone, Quantum登場(育成プロジェクト)
OpenStackの歴史: 2012年
OpenStack 2012.1 「 Essex 」公開 (2012/4)● Horizon, Keystoneがコアコンポーネントに昇格
OpenStack 2012.2 「 Folsom 」公開 (2012/9/28)● Quantum がコアコンポーネントに昇格● Cinder がコアコンポーネントとして登場
OpenStack Summit (2012/10/15-18)● 次期リリース「 Grizzly 」の開発について議論● ユーザの事例発表、他
OpenStackプロジェクト
OpenStackの開発体制
Linuxや Ubuntu等の OSSの開発コミュニティを参考に構成● リリースマネージャ
– 当初は Rackspace社の Jim Curry
– 現在は Canonical社の Thierry Carrez
● コアデベロッパー– 主要参画企業の社員が多い
● CLAに署名した一般開発者・企業– 私もこの1人
プロジェクト運営への批判
歴史的な経緯から著作権や CLAを管理してきたRackspaceやその子会社である OpenStack LLCの影響力に批判が出るようになった。
Linux Foundationに倣い、著作権や CLA等の資産を管理する非営利団体
「 OpenStack Foundation 」を発足
OpenStack Foundation
OpenStackプロジェクトの有形・無形資産を管理する非営利団体
● プラチナメンバ
AT&T, Canonical, HP, IBM, Nebula, Rackspace, Red Hat, SUSE
● ゴールドメンバ
CCAT, Cisco, Cloudscaling, Dell, Dreamhost, Intel, Mirantis, Morphlabs, NEC, NetApp, Piston Cloud, VMware, Yahoo!
● コーポレートスポンサ
Brocade, Brocade, Enovance, Gale Technologies, Gridcentric, Huawei, Internap, Metacloud, PayPal, RiverMeadow Software, Smartscale Systems, Transcend Computing, Xemeti
● その他参画企業(99社)
OpenStackの開発支援環境
wiki.openstack.org
雑多な情報
review.openstack.org
Gerritソースコードレビュー
jenkins.openstack.org
自動テスト
launchpad.net
開発プロジェクト管理● バグ情報● 機能開発計画● マイルストーン● ソースコード配布
etherpad.openstack.org
開発メモ(議論用)
github.com
ソースコード管理
開発者の開発環境
開発プロセス(6ヶ月)● →次期リリース名称投票 決定
(前のバージョンをリリース)
● Summit
次期バージョンの開発方針や開発項目を議論する会議
● 開発マイルストーン(3~4回)
開発項目( Blueprint )・バグ修正
● RC (リリース候補)マイルストーン(2~3回)
バグ修正のみ
● 正式リリース
2週間後には次の Summit
以前は Design Summitという名称だった
OpenStackの構成コンポーネントhttps://launchpad.net/(開発コードネーム)
OpenStackの構成コンポーネント
Nova( IaaS基盤)
Glance(ディスクイメージ テンプレート管理)
Horizon (WebUI )
Keystone (統合認証基盤)
Quantum(ネットワーク サービス基盤)
Cinder(ボリューム サービス基盤)
Swift(クラウドストレージサービス基盤)
Webアクセス API
アクセス
OpenStack Compute (Nova)
IaaS ( Infrastructure as a Service )基盤● 機能
– VMテンプレート管理
– 仮想ネットワーク管理( Quantum経由、独自)
– VM作成・起動・停止・移動
– ボリュームの接続・切断( Cinder経由、独自)
● 特長– API : Amazn EC2 、 OpenStack Compute API
– スケーラブル( AMQPによる分散システム)
– プラグイン形式の豊富な各種ハイパーバイザドライバ● KVM/Xen/LXC/VMware ESXi/Hyper-V● Tilera
OpenStack Object Storage (Swift)
スケーラブルなクラウドストレージサービス基盤● 機能
– コンテナ(階層構造のないフォルダ)管理
– オブジェクト(ファイル)管理
※ファイルシステムではない事に注意
● 特長– スケーラブルな分散システム
– データのレプリカを作成(レプリカ数は設定可能)
– 標準 API :OpenStack Object Storage API ( CloudFiles )
– 別開発 API : Amazon S3 、 DMTF CIMI 、WebDAV等
OpenStack Image Service (Glance)
ディスクイメージテンプレート管理● 機能
– バックエンドストレージ上のディスクイメージ一覧を管理
– クライアントにディスクイメージを配信
– クライアントからのディスクイメージをバックエンドストレージに保存
● クライアント: Nova 、 Cinder 、ほか
● 特長– API : OpenStack Image API
– 4種類のバックエンドストレージに対応● Amazon S3 、 Swift 、 HTTP 、ローカルストレージ
OpenStack Identity (Keystone)
統合認証基盤● 機能
– ユーザ認証・認可情報管理● ユーザ・テナント・ロール● トークン
– OpenStack各コンポーネントの API情報管理● サービス・エンドポイント
● 特長– OpenStack各コンポーネントの認証を代行
– 情報種別毎にバックエンド DBを変更可能● RDBMS 、 LDAP 、オンメモリ、他
OpenStack Networking (Quantum)
ネットワーク管理基盤( SDN )● 機能
– L2管理● テナント毎の仮想 LAN (テナントネットワーク)を作成・削除
– L4管理● IPアドレス管理、 DHCP
● 特長– プラグイン形式の豊富なネットワーク機器ドライバ
● Big Switch 、 Cisco UCS/Nexus 、 Floodlight OpenFlow 、Linux Bridge 、Midonet 、 NEC OpenFlow 、Nicira Network Virtualization 、 Open vSwitch 、 Ryu OpenFlow
OpenStack Block Storage (Cinder)
ボリュームサービス基盤● 機能
– ボリューム(論理ディスク等)の作成・削除
– ボリュームのスナップショットの作成・削除
– ボリュームを各種方式で公開● iSCSI 、 RBD 、 Sheepdog 、 NFS ※ FC, IBは未対応
● 特長– スケーラブルな分散システム
– プラグイン形式の豊富なストレージドライバ● Linux iSCSIターゲット、 RBD 、 Sheepdog 、 NFS 、 Nexenta 、
NetApp SAN/NFS 、 SolidFire 、 IBM Storwize V7000/SVC/XIV 、HP/Lefthand SAN 、 Solaris iSCSI 、 Zadara VPSA 、Xen Storage Manager
その他のコンポーネント
● Devstack
OpenStack開発用の環境構築シェルスクリプト– 1台のマシン上に各種OpenStackコンポーネントをインストール・設定
– 複数台のインストールにも対応
● Tempest
OpenStack用の結合テストツール– テストパターン用フレームワーク
– 基本的なテストパターン
クライアントライブラリ
各種コアコンポーネント毎のクライアントライブラリ● python-novaclient● python-swiftclient● python-glanceclient● python-keystoneclient● python-quantumclient● python-cinderclient
OpenStackの事例http://www.openstack.org/user-stories/
HP
Rackspace
Dreamhost
NASA
Canonical (Ubuntu)
X.Commerce (eBay/PayPal)
GMO
国立情報学研究所
dodaiフレームワーク● 物理マシンに分散システムをデプロイするためのオーケストレーションシステム– OpenStack– Hadoop
MercadoLibre, Inc.
Sina.com
NeCTAR
San Diego Supercomputer Center
その他の事例①● Cyberport
● Mirantis
● Choopa.com
● eNovance
● Deutsche Telekom
● Cybera
● Intel
● Memset
● Internap
● Telvent
● Aptira
● University of Melbourne
● University of Bedfordshire
● Radio Free Asia
● Purdue University
● Information Sciences Institute
その他の事例②● Instituto de Fisica de
Cantabria (IFCA)
● Gjovik University College
● CC-IN2P3
● Brookhaven National Laboratory, US Department of Energy
● Argonne National Laboratory, US Department of Energy
● Dualtec
● Industrial Technology Research Institute (ITRI), CCMA
● RightScale
● Mercurial
● ACENS Technologies
● Fidelity Investments
● VexxHost
● iSuperGrid
● AT&T
OpenStackの今後
OpenStackの今後
既存コンポーネント● 機能強化、性能強化、可用性強化、セキュリティ強化
● 品質向上、運用性向上
新規コンポーネント● DC運用向けの新規開発
– メータリング、課金、運用監視、基盤構築
● PaaS 、 SaaSに向けた新規開発– オーケストレーション
– LBaaS, DBaaS
LBaaS
LBaaS (Load Balancer as a Service)基盤● 開発の止まっていた Atlas ( OpenStack LBaaS )の
APIをベースにMirantisが新規開発
● 現在活発に開発が進められている
● プラグイン形式のドライバモジュール– HAproxy– Cisco Application Control Engine– Cisco Application Load Balancer
Ceilometer
メータリング基盤● 課金用のリソース使用量をモニタリング
– Nova : CPU 、メモリ、ディスク、ネットワーク、 I/O
– Swift :オブジェクト数、容量、 I/O
– Glance :イメージアップロード
● 参画企業が独自開発した各種実装を比較・議論し、要件を策定して1から実装
Heat
Novaインスタンスのオーケストレーション基盤● AWS CloudFormation API互換● Nova 、インスタンス等を制御し、インスタンスによるサービス起動まで全自動で設定を行う
● 26種類の既存レシピ– MySQL, HAproxy, OpenShift, PuppetMaster, Rails,
WordPress, サンプル
# heat create wordpress --template-file=templates/WordPress_Single_Instance.template --parameters="InstanceType=m1.xlarge;DBUsername=${USER}; DBPassword=verybadpass;KeyName=${USER}_key"
Anvil
Devstackの Python実装● 各種クライアントライブラリの活用
● マルチサーバ環境構築
まとめ
OpenStack とは
完全 OSSのクラウド基盤ソフトウェアを開発・提供するプロジェクト● 豊富な開発リソース● 半年に1度の定期的なメジャーリリース● オープンな開発体制● 7つの単独利用可能なコアコンポーネント● 国内外で40以上の事例
OpenStackの情報源
www.openstack.org
openstack.jp
docs.openstack.org
wiki.openstack.org
launchpad.net
github.com
メーリングリスト
OpenStack ML● openstack@lists.launchpad.net● https://launchpad.net/~openstack
日本 OpenStackユーザ会ML● openstack-ja@googlegroups.com● https://groups.google.com/group/openstack-ja● https://groups.google.com/forum/
?fromgroups#!forum/openstack-ja
top related