OpenStack概要

13,368 views

Published on

OSS推進フォーラム 若手勉強会 2012/10/26 の資料です。

Published in: Education
0 Comments
32 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
13,368
On SlideShare
0
From Embeds
0
Number of Embeds
74
Actions
Shares
0
Downloads
295
Comments
0
Likes
32
Embeds 0
No embeds

No notes for slide

OpenStack概要

  1. 1. OpenStack 概要 吉山 あきら akirayoshiyama@gmail.com
  2. 2. 講師紹介● 1995年に Slackware Linux を初めてインストール して以来の Linux ユーザ ● Debian JP Project 初期メンバー ● GNU Lib C ver.2.0 の国際化機能開発に協力● 1998 年 NEC 入社 ● 2001 年より OSS 関連業務に従事 ● 2010 年より OpenStack の評価・開発に従事● 2011 年より日本 OpenStack ユーザ会で 勉強会を主催
  3. 3. 目次 OpenStack とは OpenStack の歴史 OpenStack プロジェクトOpenStack の構成コンポーネント OpenStack の事例 OpenStack の今後 まとめ OpenStack の情報源
  4. 4. OpenStack とは
  5. 5. OpenStack とは完全な OSS (オープンソース・ソフトウェア)のクラウド基盤ソフトウェアを開発するプロジェクト● プロジェクトでは有償の商用版を開発しない (オープンコア戦略を行わない初の OSS クラウド)● 開発方針は 100% コミュニティベースで議論● ライセンスは Apache License ver.2.0● 開発言語は基本的に Python● 各サービスコンポーネントの外部 API は REST開発者 6000 名以上、参画企業 100 社以上
  6. 6. OpenStack の歴史
  7. 7. OpenStack 誕生以前初の本格的な Amazon EC2/S3 互換 OSS「 Eucalyptus 」が登場● 初期開発メンバーが Eucalyptus Systems, Inc を起業● GPL のコミュニティ版と有償のエンタープライズ版の 2本立て(オープンコア戦略)Eucalyptus の開発体制● Eucalyptus Systems, Inc がソースコードを管理● OSS コミュニティからの開発成果が反映されにくい ⇒ 不満を持つ利用企業・組織が増加
  8. 8. OpenStack プロジェクト発足2つの Python プロジェクトの存在● NASA が Eucalyptus に代わる IaaS 基盤を Python で 開発⇒ Nova● Rackspace が自社のクラウドストレージサービス 「 CloudFiles 」を Python で再実装⇒ Swift Nova と Swift をはじめとする各種クラウド基盤を 100% OSS で開発・公開するプロジェクト 「 OpenStack 」が発足 (2010/7)
  9. 9. 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 )
  10. 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 登場 (育成プロジェクト)
  11. 11. 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 」の開発について議論● ユーザの事例発表、他
  12. 12. OpenStack プロジェクト
  13. 13. OpenStack の開発体制Linux や Ubuntu 等の OSS の開発コミュニティを参考に構成● リリースマネージャ – 当初は Rackspace 社の Jim Curry – 現在は Canonical 社の Thierry Carrez● コアデベロッパー – 主要参画企業の社員が多い● CLA に署名した一般開発者・企業 – 私もこの1人
  14. 14. プロジェクト運営への批判歴史的な経緯から著作権や CLA を管理してきたRackspace やその子会社である OpenStack LLCの影響力に批判が出るようになった。 Linux Foundation に倣い、 著作権や CLA 等の資産を管理する非営利団体 「 OpenStack Foundation 」を発足
  15. 15. OpenStack FoundationOpenStack プロジェクトの有形・無形資産を管理する非営利団体● プラチナメンバ 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社)
  16. 16. OpenStack の開発支援環境 launchpad.net github.com 開発プロジェクト管理 ● バグ情報 ソースコード管理 ● 機能開発計画 ● マイルストーン ● ソースコード配布 review.openstack.orgetherpad.openstack.org Gerrit ソースコードレビュー 開発メモ(議論用) 開発者の 開発環境 wiki.openstack.org jenkins.openstack.org 雑多な情報 自動テスト
  17. 17. 開発プロセス(6ヶ月)● 次期リリース名称投票→決定 (前のバージョンをリリース) 以前は Design Summit という名称だった● Summit 次期バージョンの開発方針や開発項目を議論する会議● 開発マイルストーン(3~4回) 開発項目( Blueprint )・バグ修正● RC (リリース候補)マイルストーン(2~3回) バグ修正のみ● 正式リリース 2週間後には次の Summit
  18. 18. OpenStack の構成コンポーネント https://launchpad.net/( 開発コードネーム)
  19. 19. OpenStack の構成コンポーネント Web アクセス API アクセス Horizon ( WebUI ) Keystone (統合認証基盤) Nova Glance Swift (ディスクイメージ  (クラウドストレージ ( IaaS 基盤) テンプレート管理) サービス基盤) Quantum Cinder(ネットワーク   (ボリューム   サービス基盤) サービス基盤)
  20. 20. 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
  21. 21. OpenStack Object Storage (Swift)スケーラブルなクラウドストレージサービス基盤 ● 機能 – コンテナ(階層構造のないフォルダ)管理 – オブジェクト(ファイル)管理 ※ ファイルシステムではない事に注意 ● 特長 – スケーラブルな分散システム – データのレプリカを作成(レプリカ数は設定可能) – 標準 API : OpenStack Object Storage API ( CloudFiles ) – 別開発 API : Amazon S3 、 DMTF CIMI 、 WebDAV 等
  22. 22. OpenStack Image Service (Glance) ディスクイメージテンプレート管理 ● 機能 – バックエンドストレージ上のディスクイメージ一覧を管理 – クライアントにディスクイメージを配信 – クライアントからのディスクイメージをバックエンドストレージに 保存 ● クライアント: Nova 、 Cinder 、ほか ● 特長 – API : OpenStack Image API – 4種類のバックエンドストレージに対応 ● Amazon S3 、 Swift 、 HTTP 、ローカルストレージ
  23. 23. OpenStack Identity (Keystone)統合認証基盤● 機能 – ユーザ認証・認可情報管理 ● ユーザ・テナント・ロール ● トークン – OpenStack 各コンポーネントの API 情報管理 ● サービス・エンドポイント● 特長 – OpenStack 各コンポーネントの認証を代行 – 情報種別毎にバックエンド DB を変更可能 ● RDBMS 、 LDAP 、オンメモリ、他
  24. 24. 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
  25. 25. 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
  26. 26. その他のコンポーネント● Devstack OpenStack 開発用の環境構築シェルスクリプト – 1台のマシン上に各種 OpenStack コンポーネントをインストー ル・設定 – 複数台のインストールにも対応● Tempest OpenStack 用の結合テストツール – テストパターン用フレームワーク – 基本的なテストパターン
  27. 27. クライアントライブラリ各種コアコンポーネント毎のクライアントライブラリ● python-novaclient● python-swiftclient● python-glanceclient● python-keystoneclient● python-quantumclient● python-cinderclient
  28. 28. OpenStack の事例http://www.openstack.org/user-stories/
  29. 29. HP
  30. 30. Rackspace
  31. 31. Dreamhost
  32. 32. NASA
  33. 33. Canonical (Ubuntu)
  34. 34. X.Commerce (eBay/PayPal)
  35. 35. GMO
  36. 36. 国立情報学研究所dodai フレームワーク● 物理マシンに分散システムをデプロイするための オーケストレーションシステム – OpenStack – Hadoop
  37. 37. MercadoLibre, Inc.
  38. 38. Sina.com
  39. 39. NeCTAR
  40. 40. San Diego Supercomputer Center
  41. 41. その他の事例①● Cyberport ● Telvent● Mirantis ● Aptira● Choopa.com ● University of Melbourne● eNovance ● University of Bedfordshire● Deutsche Telekom ● Radio Free Asia● Cybera ● Purdue University● Intel ● Information Sciences● Memset Institute● Internap
  42. 42. その他の事例②● Instituto de Fisica de ● Industrial Technology Cantabria (IFCA) Research Institute (ITRI), CCMA● Gjovik University College ● RightScale● CC-IN2P3 ● Mercurial● Brookhaven National Laboratory, US ● ACENS Technologies Department of Energy ● Fidelity Investments● Argonne National ● VexxHost Laboratory, US Department of Energy ● iSuperGrid● Dualtec ● AT&T
  43. 43. OpenStack の今後
  44. 44. OpenStack の今後既存コンポーネント● 機能強化、性能強化、可用性強化、セキュリティ強化● 品質向上、運用性向上新規コンポーネント● DC 運用向けの新規開発 – メータリング、課金、運用監視、基盤構築● PaaS 、 SaaS に向けた新規開発 – オーケストレーション – LBaaS, DBaaS
  45. 45. LBaaSLBaaS (Load Balancer as a Service) 基盤● 開発の止まっていた Atlas ( OpenStack LBaaS )の API をベースに Mirantis が新規開発● 現在活発に開発が進められている● プラグイン形式のドライバモジュール – HAproxy – Cisco Application Control Engine – Cisco Application Load Balancer
  46. 46. Ceilometerメータリング基盤● 課金用のリソース使用量をモニタリング – Nova : CPU 、メモリ、ディスク、ネットワーク、 I/O – Swift :オブジェクト数、容量、 I/O – Glance :イメージアップロード● 参画企業が独自開発した各種実装を比較・議論し、 要件を策定して1から実装
  47. 47. Heat Nova インスタンスのオーケストレーション基盤 ● AWS CloudFormation API 互換 ● Nova 、インスタンス等を制御し、インスタンスによるサー ビス起動まで全自動で設定を行う# heat create wordpress --template-file=templates/WordPress_Single_Instance.template --parameters="InstanceType=m1.xlarge;DBUsername=${USER}; DBPassword=verybadpass;KeyName=${USER}_key" ● 26 種類の既存レシピ – MySQL, HAproxy, OpenShift, PuppetMaster, Rails, WordPress, サンプル
  48. 48. AnvilDevstack の Python 実装● 各種クライアントライブラリの活用● マルチサーバ環境構築
  49. 49. まとめ
  50. 50. OpenStack とは完全 OSS のクラウド基盤ソフトウェアを開発・提供するプロジェクト● 豊富な開発リソース● 半年に1度の定期的なメジャーリリース● オープンな開発体制● 7つの単独利用可能なコアコンポーネント● 国内外で40以上の事例
  51. 51. OpenStack の情報源
  52. 52. www.openstack.org
  53. 53. openstack.jp
  54. 54. docs.openstack.org
  55. 55. wiki.openstack.org
  56. 56. launchpad.net
  57. 57. github.com
  58. 58. メーリングリスト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

×