【hinemosworld2014】b1-4_nttデータ先端技術のopenstack hinemosソリューション
TRANSCRIPT
Copyright © 2014 NTT DATA INTELLILINK Corporation
12/04/2014NTT DATA INTELLILINK CorporationTakahiro Shida
Public
Hinemos World 2014 FallNTTデータ先端技術のOpenStack Hinemosソリューション
2Copyright © 2014 NTT DATA INTELLILINK Corporation
NTTデータ先端技術株式会社
NTTデータ先端技術株式会社
・IT分野の最新テクノロジーを利⽤してお客さまに役⽴つベストプラクティスを提供します。・常に新技術にチャレンジし続ける⽣き⽣きとしたプロフェッショナル集団として社会に貢献します。・ビジネスパートナーの知恵を結び付けて、付加価値の⾼いノウハウを創造し、共有していく“ハブカンパニー”として活動します。
当社の持つ技術⼒をベースに
• 垂直⽅向でのサポートハードウェア等の機器販売、パッケージ販売からセキュリティ製品の導⼊からアプリケーション開発まで、システム開発/運⽤のあらゆるフェーズで価値を提供できます。
• ⽔平⽅向でのサポートブレードサーバからOSSによるクラウドシステムまで、また、アプリケーションの要件定義から開発、試験まであらゆる状況で価値を提供できます
3Copyright © 2014 NTT DATA INTELLILINK Corporation
当グループのミッション
ソリューション事業部 / クラウド基盤BU
クラウド製品を活⽤したクラウド環境の構築
クラウドを活⽤したアジャイル開発、DevOpsの実現
OSS製品を活⽤した先進的SIの実施
ハブ・グループとして
OSSを利⽤したクラウド構築サービスや、クラウドに関する研究開発を⾏っています。
クラウドを利⽤することに依るシステムデプロイメントの⾃動化の検証と実施、アジャイル開発やDevOpsの実現検討、普及展開を⾏っています。
クラウドだけでなく、CMSやLMSなど⽤いたサイト構築から、Playフレームワークなどの各種Webフレームワークを活⽤したアプリケーション開発、CKANなどの利⽤に依るオープンデータカタログサイト構築などを⾏っています。
当グループの最⼤の特徴は、当社の持つ様々な技術者集団に対するハブとして機能している点にあります。よって、ハードウェア調達からセキュリティ診断まで、どんなご要望でも当グループを通じて適切なソリューションをご提供することが出来ます。
4Copyright © 2014 NTT DATA INTELLILINK Corporation
NTTデータ先端技術のHinemosサービス
・Hinemos保守、問い合わせ対応サービス最適な設計構築から障害解析まで幅広い分野をサポート料⾦プランとして問合せ回数無制限、20回までの⼆つをご⽤意
・当社の強みを活かしたHinemos、Hinemos+αの構築サービスHinemos本体はもちろんのこと各オプション製品の構築他ソフトウェア、サービスとの連動を含めたコンサルティング
・監視設定⼀括登録サービス⾯倒な監視設定をヒアリングシートを基に⼀括登録 - 実際に登録するまでの
問合せにも対応
5Copyright © 2014 NTT DATA INTELLILINK Corporation
講演者紹介
ずいぶん昔の話
• Apache Jakartaプロジェクトの翻訳プロジェクトであるJa-Jakartaに所属していました。(末席)
• Seaserプロジェクトのコミッタだった時期もあります(幽霊)
かなり昔の話
• 趣味でも仕事でも、Eclipseプラグイン開発ばかりやっていました• Xtream Programmingが流⾏っていた頃、JavaScriptばかりやっていました
ほどほど昔の話
• Eucalyptusというソフトウェアでプライベートクラウドの検証をやってました• OpenStackというソフトウェアのバグ改修とかをやってました今の話
• OpenStackは細々と続けています• 主にHinemosの構築やサポートを⾏っています
どちらかと言えば、インフラよりアプリケーション開発の視点です
NTTデータ先端技術株式会社 志⽥ 隆弘
7Copyright © 2014 NTT DATA INTELLILINK Corporation
OpenStack + ChefによるHinemos Agent自動導入
HinemosManager OpenStackCookbook
Repository
VM
OpenStackの機能を利⽤してOpenStack上に新しく仮想マ
シンを起動
仮想マシンはCentOSで起動し、⾃動的にChefをインストール
する
起動時に指定されたURLからHinemos設定⽤のCookBook
をダウンロード
CookBookの中で⾃分をHinemosの管理下に置くようにHinemos
WebService APIを実⾏
OpenStack、Chef、Hinemosを組み合わせることにより、既存のサーバマシンをOpenStackによりクラウド管理(GUIによる動的な構成変更を可能に)を実現。さらに、OpenStack上のマシンはHinemosによるシステム構成管理が適⽤され、各マシン上のミドルウェアはChefによってソフトウェア構成管理される
OSSによるハードウェアからアプリケーションまでの統合構成管理が可能に
物理層
仮想化層
システム層
クラウド層
10Copyright © 2014 NTT DATA INTELLILINK Corporation
Hinemos VM管理オプション(OpenStack)
OpenStackコントローラノード
Hinemos Manager
Hinemos Client
VM起動/停止/マイグレーション
VM管理オプション(OpenStack)
• VMノード登録• スコープ配置• ・・・
定期ポーリング• nova list• keystone tenant-list
論物確認基盤管理者テナント管理者
Hinemos API
OpenStack API
11Copyright © 2014 NTT DATA INTELLILINK Corporation
Hinemos VM管理オプション(OpenStack)
①プロジェクトルートスコープOpenStackのテナントに対応した
スコープを表現するためのルートノード
②プロジェクトスコープ②プロジェクトスコープOpenStackのテナントの
変更に追従してスコープが増減する。
プロジェクトスコープとVMノードの関連は自動
設定される
③ハイパーバイザスコープVM管理オプションが自動作成する。VM管理オプションが
ない場合は連携ツールが同一情報を持つように生成する
④VMノードVM管理オプションが自動作
成する。また、自動追尾を有効にしていない場合は連携ツールが自動登録する
13Copyright © 2014 NTT DATA INTELLILINK Corporation
Hinemos Dashboard on OpenStack
HinemosManager
Hinemos Managerから監視情報を取得し、OpenStack
Dashboardに表⽰
OpenStack-Hinemos User DB
OpenStackのテナントとHinemosのユーザを紐付ける仕
組みを提供
14Copyright © 2014 NTT DATA INTELLILINK Corporation
Hinemos Dashboard on OpenStack
OpenStackのDashboardにHinemos メニューを追加。
ノードの情報から監視情報までひと通り閲覧可能
Hinemos WebService APIを使って情報を表⽰
15Copyright © 2014 NTT DATA INTELLILINK Corporation
OpenStack + Hinemosの取り組みまとめ
• OpenStack + ChefでHinemos Agentの⾃動導⼊が出来るようになりました
• VM管理オプション(OpenStack)でOpenStack上の仮想マシンの⾃動追尾等が可能になりました
• Dashboardの拡張でOpenStackのリソースとHinemosのリソースを同時に管理することが出来るようになりました
16Copyright © 2014 NTT DATA INTELLILINK Corporation
色々OpenStack + Hinemosでやってきました
でも、実際にOpenStack + Hinemos のSIをやっているかと聞かれると…
そもそもOpenStackのSI⾃体が⾮常に少ない
(注意) 当社のみの事象です
(注意) 当社はやれていません
18Copyright © 2014 NTT DATA INTELLILINK Corporation
OSSクラウドを取り巻く歴史
2006年 AmazonがEC2サービスを開始(β)
2008年 OSSで実現するAmazon EC2としてEucalyptusがリリースされる
2010年 商⽤で使える/簡単に構築できるクラウドとしてCloudStackがOSS化
2010年 皆で作るクラウドを⽬指してOpenStack開発/提供開始2010年 国産OSSクラウドとして
Wakame-VDCリリース
2012年 Google ComputでIaaSサービスを提供
2010年 Microsoft Azureサービス提供開始(Windows Azure)
openstack
8 years
19Copyright © 2014 NTT DATA INTELLILINK Corporation
今日の状況
ホスティング事業者さん
「OSSクラウドで、IaaSサービスやPaaSサービスを展開してます。OpenStack?ええ、モチロン使ってますよ」
サービス事業者さん・研究機関等
「ウチのサービスの検証や開発するための環境は、多くのマシンが必要です。開発運⽤のサイクルを回すためにOSSクラウドを利⽤しています」
SIerさん
「開発で使うには、仮想化でOK サービス提供はパブリッククラウドでOK OSSクラウドによるプライベートクラウド出番なし」
OSSクラウドをサービスとして提供している
OSSクラウドを利⽤してDevOpsを実現している
(注意) OpenStack Design Summit ヒアリング結果 + 私の主観です
20Copyright © 2014 NTT DATA INTELLILINK Corporation
私の経験上
当社のSI事業は案件毎に受注する形態で、OSSクラウド適⽤に向かない-> 個別案件単位ではクラウド化のスケールメリットが出ない
個別案件では頻繁なマシンの増減というシチュエーション⾃体が少ない-> だからこそ、Hinemosによる障害検知が⼤事だったりする
OSSクラウドを企業のルールに合わせて改変だ、となるとろくな事にならない-> 申請承認によるマシン貸出とかになりがち
SIerにとってのOSSクラウドはタダのサーバ集約になりがち。VMware vSphereに勝てない
21Copyright © 2014 NTT DATA INTELLILINK Corporation
OSSクラウド(プライベートクラウド)とは何だったのか
当初パブリッククラウドサービス(AmazonやMicrosoft等々)が提供するサービスに対する唯の対義語として使われ始めた
当時の⾃分は「アプリケーション開発モデルの変⾰が起こる」と考えていました
• システムの⾮機能要求がすべてインフラに落ちるのでは?
22Copyright © 2014 NTT DATA INTELLILINK Corporation
従来のSIerの仕事
アプリケーション開発
プロジェクトで定められたミドルウェアを⽤いて機能要求を満たすようにアプリケーションを開発するミドルウェア選定、開発
プロジェクトの機能要求、⾮機能要求を元にミドルウェアの選定や開発を⾏なう
システム設計
プロジェクトの⾮機能要求を元に構成するサーバ群の配置やネットワーク設計、ストレージ設計を⾏う
システム導⼊
システム設計を元に、サーバ機器、ストレージ機器、ネットワーク機器を導⼊する
敷設する施設どうする?ラックは?耐荷重は?
ケーブル結線は?電源は?
キャパシティは?性能は?データをどのラインに流す?障害の対応はどうする?監視は?バックアップは?セキュリティは?
DNSは?NTPは?SNMPは?
アーキテクチャ、フレームワークはどうする?DBMSは?認証は?ロギングは?セキュリティは?
開発プロセスはどうする?インタフェースデザインは?
23Copyright © 2014 NTT DATA INTELLILINK Corporation
クラウドのカバー範囲(理想論)
アプリケーション開発
プロジェクトで定められたミドルウェアを⽤いて機能要求を満たすようにアプリケーションを開発するミドルウェア選定、開発
プロジェクトの機能要求、⾮機能要求を元にミドルウェアの選定や開発を⾏なう
システム設計
プロジェクトの⾮機能要求を元に構成するサーバ群の配置やネットワーク設計、ストレージ設計を⾏う
システム導⼊
システム設計を元に、サーバ機器、ストレージ機器、ネットワーク機器を導⼊する
IaaSでキャパシティに応じたシステム構成の⾃動変化や障害時の⾃動伸縮などで、設計コストを減らすことができる
IaaSにより、容易に仮想サーバや仮想ネットワーク、ストレージの導⼊と破棄ができるため⼤幅なコスト減に繋がる
DaaSや各種プロビジョニングによりミドルウェア利⽤時のコストを⼤幅に低減できる
アプリケーションのビルド/リリース⾃動化等により、開発プロセスの遂⾏に対するコストを低減できる
24Copyright © 2014 NTT DATA INTELLILINK Corporation
OSSクラウドとSIer
ホスティング事業者さんやサービス事業者さんのようなクラウドに依るメリットが直接効いてくる部分では既にOSSクラウドの導⼊が進んでいます
SIerはまだOSSクラウドによる恩恵に与れていません。これはSIが個別案件になってしまっている点と、OSSクラウドがまだIaaSを提供するソフトウェアとして認識されているためです
OSSクラウドはまだ過渡期です。IaaSのレイヤーにおいて、OSSクラウドは多くの機能を提供しており、かつある程度の習熟も⾒えてきました。今後はより上位層でのサービス提供が進んでいくと思います。
SIerはこの波に乗っかるべきです
25Copyright © 2014 NTT DATA INTELLILINK Corporation
OpenStack + Hinemosソリューションの進むべき道
⼀⾔で
「監視とはクラウドが提供する機能の⼀つであるべき」
当社は今後Hinemosによる監視をOpenStackが提供するクラウドの持つ機能の⼀つとしてHinemos環境の構築不要、監視設計の簡略化を⽬指します
27Copyright © 2014 NTT DATA INTELLILINK Corporation
Amazon Web Service for Developer
• ネットワーキング• Amazon VPC
• AWS上に閉域ネットワークを構築する• Amazon Route53
• AWS上に構築できるDNSサービス• 分析、ビッグデータ
• Amazon Elastic MapReduce• AWS上にHadoopクラスタを構築するサービス
• Amazon Kinesis• Apache SparkやStormのような、リアルタイムデータストリーミング基盤を提供する。
S3、RedshiftやDynamo DBなどと統合してデータの⼊⼒、分析、保全までをAWS内で完結できる
• Amazon Codeシリーズ• AWSを利⽤したシステム開発プロセスと関連ツールの規定• AWS CodeDeploy
• AWSの提供するビルドツール。AWSインスタン上への⾃動デプロイを⾏う• AWS CodePipeline
• AWSが提供するJenkins等のCIサービス• AWS Code Commit
• AWSが提供するGitサーバ• セキュリティ
• AWS Key Management Service• AWS上で利⽤するサービスに対する鍵の統合管理
• AWS Config• AWS上で利⽤している全サービスの状態を管理できる
• AWS Service Catalog• AWS上の各サービスに対してアクセス権限などを設定できる
28Copyright © 2014 NTT DATA INTELLILINK Corporation
Amazon Aurora
Amazon Web Serviceが2014年11⽉14⽇に発表したRDSサービスの拡張。旧来のRDSサービスはデータベースインスタンスを⽴ち上げる仕組みであり、MySQLやPostgreSQLなどのOSS DB、SQLServerやOracleなどの商⽤DBをクラウド上に構築するサービスであったが、AuroraはDBMS⾃体をAmazonが実装したという話
• MySQL-compatible• MySQLと互換性を持ったインタフェースを⽤意しており、従来のMySQL Connectorによって
操作可能• Fast
• MySQLと⽐較し約5倍程度の性能改善がなされている• Available and Durable
• RDSの仕組みに則り、Amazonクラウド上にレプリカ/S3によるバックアップをサポート• Highly Scalable
• 最⼤15レプリカ、32vCPUと244GiB Memory、64TBのストレージ• Highly Secure
• Amazonの他サービスとは独⽴したネットワークに配備される• Inexpensive
• ライセンス費等がないため商⽤DBと⽐して安価
Auroraプロジェクト
29Copyright © 2014 NTT DATA INTELLILINK Corporation
Docker
Dockerは、コンテナ型の仮想化技術をベースとした仮想化管理ソフトウェア。従来のサーバ仮想化とは異なり、コンテナによって隔離された空間上でプロセスを動かす。それぞれがプロセスとして動作するために⾮常に軽量であり、近年⼤きな注⽬を集めている。(近年はCoreOSのRocketもある)
ホストマシン
コンテナ コンテナ コンテナ
プロセス
プロセス
プロセス
プロセス
• コンテナの単位で作成、変更、保存などの管理と配布が可能• ソフトウェアを依存関係などを含めた動作可能な状態で配布することが出来る
Docker
OSSクラウドとの関係
• OpenStack Magnumプロジェクトにおいて、OpenStackによってDockerコンテナをコントロールする試みが開始される
• https://blueprints.launchpad.net/magnum/+spec/magnum-agent-for-nova
30Copyright © 2014 NTT DATA INTELLILINK Corporation
ベアメタルプロビジョニング
ベアメタルとは
仮想マシン(Virtual Machine)の対義語として使われ始めた。仮想マシンに対する物理マシン(Physical Machine)であり、仮想化と同じようにクラウド管理ソフトウェアによってリソース管理対象となる。
ベアメタルプロビジョニング
多くのクラウド管理ソフトウェアはその役割を「プロビジョニング」と置いている。クラウド管理とは、仮想化サーバ、仮想化ボリューム、仮想化ネットワークなどの仮想化されたリソースに対して、ユーザ要求に対して⾃動構築、構成を⾏なうこととなる。ベアメタルプロビジョニングとは、ユーザ要求に対してベアメタルマシン、つまり物理マシンを構築、構成することとなる。
OpenStack Ironic
OpenStack IronicではOpenStackによってベアメタルプロビジョニングを実現する試みを実施している。
• https://wiki.openstack.org/wiki/Ironic
31Copyright © 2014 NTT DATA INTELLILINK Corporation
Auto-Provisioning
Terraform
Vagrant、Serf、Consul等で有名なHashiCorpが作成したプロビジョニングツール。IaaS/PaaS/SaaSといったレイヤーを跨ったプロビジョニングが可能。2014年7⽉にアナウンスされたまだまだ新しいプロダクト。
AWS CloudFormationとの違い
CloudFormationはAWSリソースをプロビジョニングするツール。Terraformではこれに加えて、ミドルウェア/アプリケーションのレイヤもプロビジョニングできるAnsible/Chef/Puppetとの違い
上記プロビジョニングツールはある単体のマシンに対してミドルウェア、アプリケーションのプロビジョニングを⾏なう。TerraformではIaaS層のコントロールも可能にする最⼤の特徴
システム上のリソース(VM、Application、DNS、SMTP等々)を抽象化して記述できるため、様々なクラウドサービスやオンプレ環境に適⽤可能
32Copyright © 2014 NTT DATA INTELLILINK Corporation
SaaS/PaaS層に対する動き
Solum
SolumはOpenStackをベースにOpenStack上のアプリケーションのライフサイクル管理を⾏なうためのツール。アプリケーション開発環境の提供から、Github上のコードに対するオーケストレーション、開発したアプリケーションの配布までサポートする
Murano
Muranoは従来のようなクラウド上の仮想マシンイメージを管理するのではなく、クラウド上のアプリケーションを管理するための仕組み(アプリケーションカタログサービス)。左図のように、Apache TomcatやActiveDirectoryなどミドルウェアが登録されており、利⽤者はVMに構成するサービスを⼀覧から選択することが出来る。
33Copyright © 2014 NTT DATA INTELLILINK Corporation
ELKスタック
Elasticsearch + Logstash + Kibana
ログ収集、インデクシング、可視化の組み合わせで現在⾮常に注⽬を集めている。(国内の場合logstashよりFluentdの適⽤事例のほうが多い) Splunkの対抗⾺としても注⽬されており、システムの可視化が⾮常に容易に実現できる
Marvel
elasticsearch社によって、近年リリースされたELKスタックを構築、監視するためのデプロイメントツール。elasticsearch内部でどのように処理が動いているか、どの処理に時間がかかっているかなどをELKスタック⾃体で可視化する。