openstack概要

58
OpenStack 概要 吉山 あきら [email protected]

Upload: yosshy

Post on 10-Jun-2015

11.608 views

Category:

Education


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: OpenStack概要

OpenStack概要

吉山 あきら[email protected]

Page 2: OpenStack概要

講師紹介

● 1995年に Slackware Linuxを初めてインストールして以来の Linuxユーザ● Debian JP Project初期メンバー● GNU Lib C ver.2.0の国際化機能開発に協力

● 1998年 NEC入社● 2001年より OSS関連業務に従事● 2010年より OpenStackの評価・開発に従事

● 2011年より日本 OpenStackユーザ会で勉強会を主催

Page 3: OpenStack概要

目次

OpenStack とは

OpenStackの歴史

OpenStack プロジェクト

OpenStackの構成コンポーネント

OpenStackの事例

OpenStackの今後

まとめ

OpenStackの情報源

Page 4: OpenStack概要

OpenStack とは

Page 5: OpenStack概要

OpenStack とは

完全な OSS (オープンソース・ソフトウェア)のクラウド基盤ソフトウェアを開発するプロジェクト● プロジェクトでは有償の商用版を開発しない(オープンコア戦略を行わない初の OSSクラウド)

● 開発方針は 100%コミュニティベースで議論● ライセンスは Apache License ver.2.0● 開発言語は基本的に Python● 各サービスコンポーネントの外部 APIは REST

開発者 6000名以上、参画企業 100社以上

Page 6: OpenStack概要

OpenStackの歴史

Page 7: OpenStack概要

OpenStack誕生以前

初の本格的な Amazon EC2/S3互換 OSS「 Eucalyptus 」が登場● 初期開発メンバーが Eucalyptus Systems, Incを起業● GPLのコミュニティ版と有償のエンタープライズ版の2本立て(オープンコア戦略)

Eucalyptusの開発体制● Eucalyptus Systems, Incがソースコードを管理● OSSコミュニティからの開発成果が反映されにくい

⇒不満を持つ利用企業・組織が増加

Page 8: OpenStack概要

OpenStackプロジェクト発足

2つの Pythonプロジェクトの存在● NASAが Eucalyptusに代わる IaaS基盤を Pythonで

⇒開発 Nova● Rackspaceが自社のクラウドストレージサービス「 CloudFiles 」を Python ⇒で再実装 Swift

Novaと Swiftをはじめとする各種クラウド基盤を100% OSSで開発・公開するプロジェクト「OpenStack 」が発足 (2010/7)

Page 9: OpenStack概要

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 )

Page 10: OpenStack概要

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登場(育成プロジェクト)

Page 11: OpenStack概要

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 」の開発について議論● ユーザの事例発表、他

Page 12: OpenStack概要

OpenStackプロジェクト

Page 13: OpenStack概要

OpenStackの開発体制

Linuxや Ubuntu等の OSSの開発コミュニティを参考に構成● リリースマネージャ

– 当初は Rackspace社の Jim Curry

– 現在は Canonical社の Thierry Carrez

● コアデベロッパー– 主要参画企業の社員が多い

● CLAに署名した一般開発者・企業– 私もこの1人

Page 14: OpenStack概要

プロジェクト運営への批判

歴史的な経緯から著作権や CLAを管理してきたRackspaceやその子会社である OpenStack LLCの影響力に批判が出るようになった。

Linux Foundationに倣い、著作権や CLA等の資産を管理する非営利団体

「 OpenStack Foundation 」を発足

Page 15: OpenStack概要

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社)

Page 16: OpenStack概要

OpenStackの開発支援環境

wiki.openstack.org

雑多な情報

review.openstack.org

Gerritソースコードレビュー

jenkins.openstack.org

自動テスト

launchpad.net

開発プロジェクト管理● バグ情報● 機能開発計画● マイルストーン● ソースコード配布

etherpad.openstack.org

開発メモ(議論用)

github.com

ソースコード管理

開発者の開発環境

Page 17: OpenStack概要

開発プロセス(6ヶ月)● →次期リリース名称投票 決定

(前のバージョンをリリース)

● Summit

次期バージョンの開発方針や開発項目を議論する会議

● 開発マイルストーン(3~4回)

開発項目( Blueprint )・バグ修正

● RC (リリース候補)マイルストーン(2~3回)

バグ修正のみ

● 正式リリース

2週間後には次の Summit

以前は Design Summitという名称だった

Page 18: OpenStack概要

OpenStackの構成コンポーネントhttps://launchpad.net/(開発コードネーム)

Page 19: OpenStack概要

OpenStackの構成コンポーネント

Nova( IaaS基盤)

Glance(ディスクイメージ テンプレート管理)

Horizon (WebUI )

Keystone (統合認証基盤)

Quantum(ネットワーク  サービス基盤)

Cinder(ボリューム  サービス基盤)

Swift(クラウドストレージサービス基盤)

Webアクセス API

アクセス

Page 20: OpenStack概要

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

Page 21: OpenStack概要

OpenStack Object Storage (Swift)

スケーラブルなクラウドストレージサービス基盤● 機能

– コンテナ(階層構造のないフォルダ)管理

– オブジェクト(ファイル)管理

※ファイルシステムではない事に注意

● 特長– スケーラブルな分散システム

– データのレプリカを作成(レプリカ数は設定可能)

– 標準 API :OpenStack Object Storage API ( CloudFiles )

– 別開発 API : Amazon S3 、 DMTF CIMI 、WebDAV等

Page 22: OpenStack概要

OpenStack Image Service (Glance)

ディスクイメージテンプレート管理● 機能

– バックエンドストレージ上のディスクイメージ一覧を管理

– クライアントにディスクイメージを配信

– クライアントからのディスクイメージをバックエンドストレージに保存

● クライアント: Nova 、 Cinder 、ほか

● 特長– API : OpenStack Image API

– 4種類のバックエンドストレージに対応● Amazon S3 、 Swift 、 HTTP 、ローカルストレージ

Page 23: OpenStack概要

OpenStack Identity (Keystone)

統合認証基盤● 機能

– ユーザ認証・認可情報管理● ユーザ・テナント・ロール● トークン

– OpenStack各コンポーネントの API情報管理● サービス・エンドポイント

● 特長– OpenStack各コンポーネントの認証を代行

– 情報種別毎にバックエンド DBを変更可能● RDBMS 、 LDAP 、オンメモリ、他

Page 24: OpenStack概要

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

Page 25: OpenStack概要

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

Page 26: OpenStack概要

その他のコンポーネント

● Devstack

OpenStack開発用の環境構築シェルスクリプト– 1台のマシン上に各種OpenStackコンポーネントをインストール・設定

– 複数台のインストールにも対応

● Tempest

OpenStack用の結合テストツール– テストパターン用フレームワーク

– 基本的なテストパターン

Page 27: OpenStack概要

クライアントライブラリ

各種コアコンポーネント毎のクライアントライブラリ● python-novaclient● python-swiftclient● python-glanceclient● python-keystoneclient● python-quantumclient● python-cinderclient

Page 28: OpenStack概要

OpenStackの事例http://www.openstack.org/user-stories/

Page 29: OpenStack概要

HP

Page 30: OpenStack概要

Rackspace

Page 31: OpenStack概要

Dreamhost

Page 32: OpenStack概要

NASA

Page 33: OpenStack概要

Canonical (Ubuntu)

Page 34: OpenStack概要

X.Commerce (eBay/PayPal)

Page 35: OpenStack概要

GMO

Page 36: OpenStack概要

国立情報学研究所

dodaiフレームワーク● 物理マシンに分散システムをデプロイするためのオーケストレーションシステム– OpenStack– Hadoop

Page 37: OpenStack概要

MercadoLibre, Inc.

Page 38: OpenStack概要

Sina.com

Page 39: OpenStack概要

NeCTAR

Page 40: OpenStack概要

San Diego Supercomputer Center

Page 41: OpenStack概要

その他の事例①● 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

Page 42: OpenStack概要

その他の事例②● 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

Page 43: OpenStack概要

OpenStackの今後

Page 44: OpenStack概要

OpenStackの今後

既存コンポーネント● 機能強化、性能強化、可用性強化、セキュリティ強化

● 品質向上、運用性向上

新規コンポーネント● DC運用向けの新規開発

– メータリング、課金、運用監視、基盤構築

● PaaS 、 SaaSに向けた新規開発– オーケストレーション

– LBaaS, DBaaS

Page 45: OpenStack概要

LBaaS

LBaaS (Load Balancer as a Service)基盤● 開発の止まっていた Atlas ( OpenStack LBaaS )の

APIをベースにMirantisが新規開発

● 現在活発に開発が進められている

● プラグイン形式のドライバモジュール– HAproxy– Cisco Application Control Engine– Cisco Application Load Balancer

Page 46: OpenStack概要

Ceilometer

メータリング基盤● 課金用のリソース使用量をモニタリング

– Nova : CPU 、メモリ、ディスク、ネットワーク、 I/O

– Swift :オブジェクト数、容量、 I/O

– Glance :イメージアップロード

● 参画企業が独自開発した各種実装を比較・議論し、要件を策定して1から実装

Page 47: OpenStack概要

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"

Page 48: OpenStack概要

Anvil

Devstackの Python実装● 各種クライアントライブラリの活用

● マルチサーバ環境構築

Page 49: OpenStack概要

まとめ

Page 50: OpenStack概要

OpenStack とは

完全 OSSのクラウド基盤ソフトウェアを開発・提供するプロジェクト● 豊富な開発リソース● 半年に1度の定期的なメジャーリリース● オープンな開発体制● 7つの単独利用可能なコアコンポーネント● 国内外で40以上の事例

Page 51: OpenStack概要

OpenStackの情報源

Page 52: OpenStack概要

www.openstack.org

Page 53: OpenStack概要

openstack.jp

Page 54: OpenStack概要

docs.openstack.org

Page 55: OpenStack概要

wiki.openstack.org

Page 56: OpenStack概要

launchpad.net

Page 57: OpenStack概要

github.com

Page 58: OpenStack概要

メーリングリスト

OpenStack ML● [email protected]● https://launchpad.net/~openstack

日本 OpenStackユーザ会ML● [email protected]● https://groups.google.com/group/openstack-ja● https://groups.google.com/forum/

?fromgroups#!forum/openstack-ja