[red hat forum 2017] ansible towerの実践!!エンタープライズのinfrastructure as...
TRANSCRIPT
ANSIBLE TOWERの実践!!エンタープライズのINFRASTRUCTURE AS CODEの現在(イマ)
Shingo. KitayamaTechnical Architect, Technical Solution Consulting
Hewlett Packard Enterprise Japan
#RedHatForum
IntroductionAnsible Towerの実践!! - エンタープライズのInfrastructure as Codeの現在(イマ) -
2
日本ヒューレット・パッカード株式会社
テクニカルアーキテクト・オープンソースソリューションの提案・コンサルティング、および構築デリバリーを担当
Now on Sale
AgendaAnsible Towerの実践!! - エンタープライズのInfrastructure as Codeの現在(イマ) -
3
1. Infrastructure as Codeの価値
2. 迅速なインフラリソース提供
4. プラットフォーム管理のコスト削減
5. まとめ
3. オペレーションリスクの低減
Infrastructure as Codeの価値
4
Value of Infrastructure as Code
5
DevOpsの費用対効果でていますか?
DevOpsの現状DevOpsは、PoCから導入を検討する時期へ
6
DevOpsは過度な期待を越えて、幻滅期へ
DevOpsとIaCの関係DevOpsとは、ビジネスアジリティを高め、リスクを最小化する改善活動
7
アイデア 課題 計画 コード ビルド テスト レビュー ステージング リリース フィード・バック
開発ワークフロー 継続的インテグレーション(Continuous Integration)
継続的デプロイ(Continuous Deploy)
フィード・バック
アプリケーション開発ライフサイクル
アイデア ビジネス価値
継続的デリバリ(Continuous Delivery)
DevOpsとIaCの関係DevOpsとは、ビジネスアジリティを高め、リスクを最小化する改善活動
8
アイデア 課題 計画 コード ビルド テスト レビュー ステージング リリース フィード・バック
開発ワークフロー 継続的インテグレーション(Continuous Integration)
継続的デプロイ(Continuous Deploy)
フィード・バック
インフラデプロイ/ 運用の自動化
アイデア ビジネス価値
継続的デリバリ(Continuous Delivery)
インフラ運用をアプリケーション開発と同じように管理する。
DevOpsとIaCの関係DevOpsとは、ビジネスアジリティを高め、リスクを最小化する改善活動
9
アイデア 課題 計画 コード ビルド テスト レビュー ステージング リリース フィード・バック
開発ワークフロー 継続的インテグレーション(Continuous Integration)
継続的デプロイ(Continuous Deploy)
フィード・バック
インフラデプロイ/ 運用の自動化
アイデア ビジネス価値
継続的デリバリ(Continuous Delivery)
Infrastructure as Code
Infrastructure as Codeに求めるものエンタープライズでは、費用対効果が重視される
10
Supervision of
Operational Risk
Automated Testing
Infrastructure Security
Vulnerabilities
Focus on
Standard Architecture
Time to Market
Continuous Integration
and Deployment
Efficient Resource
Allocation
Adopting Flexible
Resource Pool
Reduced need for
Dedicated Operator
Infrastructure as Code
迅速性 コスト削減 リスク排除Agility Cost Quality
Infrastructure as Codeに求めるものInfrastructure as Codeの費用対効果とは
11
迅速性 コスト削減 リスク排除
迅速なインフラリソースの提供
プラットフォーム管理のコスト削減
オペレーションリスクの低減
どのように改善して、費用対効果(ROI)を出すか
Infrastructure as Code
Agility Cost Quality
迅速なインフラリソースの提供Agility for Infrastructure resource
12
迅速なインフラリソースの提供とは迅速なビジネス要件に応えるインフラリソース
13
『予測不可能な要求に随時適応できるシステム』
Developer Request
(≒ Biz Request)
インフラリソースプール
迅速なインフラリソースにおける課題
14
リソースの柔軟性をどのように構築するのかクラウドの時代とはいえ、企業の多くが既存のIT資産を抱えており、すぐにはクラウドで動かせない。あるいはクラウドでは動かしたくないものもある。
アイデアエコノミーのビジネストラディショナルなビジネス
Traditional apps
– Ops driven
– Cost focused
Cloud Nativeapps
Apps driven
Agility focused
手順書さえできていれば、今までの運用手順をスクリプト化するだけなので、Ansibleを利用してすぐに自動化できる。
インフラリソースが多岐に渡るため、その場しのぎの運用も含め、全ての変更管理を統一で自動化するのが難しい。
迅速なインフラリソースの解決策リソースの柔軟性は、変更の柔軟性
15
変更管理の自動化 Immutable Infrastructureスクリプトなどを利用し、変更要求に対してインフラリソースをオンデマンドで操作管理する方法
一度サーバーを構築したらその後はサーバーのソフトウェアに変更を加えず、変更時は新規構築する方法
インフラリソースをそのまま入れ替えるだけなので、管理が楽。
クラスター構成やデータ確保など、今までとデータ保管方法が全く異なるので、不安が残る。
迅速なインフラリソースのアーキテクチャインフラリソースに抽象化レイヤーを設ける
16
Unified API
Software Defined IntelligenceFluid Resource Pools
・多様な構成要素をひとつのリソースプールとして利用可能に
・物理環境、仮想化環境、コンテナを収容
Software-Defined Intelligence
・多様なワークロードに対応するテンプレートによる自動セットアップ・統合的かつ透過的なオペレーションを容易に実行
Unified API
・IaaSを構成するための物理環境(ベアメタル)の制御が可能
・すべてのリソースをプログラムにより制御(Infrastructure as Code)
・わずか1行のコードでリソース構成が可能
Composable Infrastructure
Fluid Resource Pools
迅速なインフラリソースの提供へのアプローチHPE Synergy with OneView
17
Fluid Resource Pools
コンピュートモジュール
ストレージモジュール
ファブリックモジュール
Software-Defined Intelligence
コンポーザー
HW/SW管理アプライアンス
イメージストリーマー
iSCSIブート用イメージ管理
Unified API
OneView(APIモジュール)搭載
10UnitHPE Synergy
ステートレスなサーバープロビジョニング
物理設定と、OS設定を個別に管理して組み合わせて、同時に配信
物理設定- Physical State
• Network configuration
• Shared/data storage
configuration
• Firmware version
• Firmware configuration
Server Profile
物理サーバー側に固有設定の必要なし
OS設定- Deployed Software State
• Bootable OS type
• I/O driver version
• OS configuration
Compute Module
HPE SynergyComposer
HPE SynergyImage Streamer
18
Synergy Composer & Synergy Image Streamer
Synergy ComposerとImage Streamerの内部構造
19
HPE Synergy Image Streamer
Server Volume Storage
Golden
Volume
OS
Volume
Smart
Clone
HPE Synergy Composerwith HPE OneViewServer
Profile
OS
Volume OS
Volume
OS
Volume
Server
Profile
Server
Profile
サーバープロビジョニングの方法
Repository
Golden
Image
Build Plan
Deployment Plan
Plan Scripts
迅速なインフラリソースの提供インフラ抽象化による迅速なリソース配置
20
Unified API
Software Defined Intelligence
Fluid Resource Pools
オペレーションリスクの低減Quality for Infrastructure Operation
21
オペレーションリスクの低減とは
22
『自動化を徹底し、手動作業を減らした運用』
Operator
オペレーションリスクを低減するインフラリソース
手作業によるオペレーションミス
属人的なオペレーション
テスト/確認漏れ
Playbook
オペレーションリスク低減における課題
23
サーバスプロール
構成ドリフト
スノーフレークサーバ
脆弱なインフラ
オートメーション恐怖症
最終的には、自動化が恐怖であることを回避するプラクティスが必要。
自動化すると、ブラックボックス化してしまうため、実行時の不安だけが残る。
?
自動化に対するリスクをどのように低減するのか
Infrastructure as Code by Kief Morris (O'Reilly Publishing, June 2016).
Unified API
Software Defined Intelligence
Fluid Resource Pools
環境依存の構成を極小化し、同じコードでオペレーションできるため、自動化依存のリスクが減る。
すでに本番稼働しているものや、環境依存によって対応時間がかかる。また、個々人の標準化に対するモチベーションを統一するのが難しい。
オペレーションリスク低減の解決策自動化の信頼性を高める実装
24
標準化の推進 テスト自動化の徹底システムの標準化を行うことで、スノーフレークサーバや構成ドリフトの心配をなくす。
自動化で構築された成果物に対して、従来のテストを自動で実施することで、信頼性を高める。
テスト自動化を徹底することによって、期待したサービス提供ができる。
環境依存や属人化によって、テストコードが乱立。テスト担当者が異なると、いつ誰がテストを行ったのかも把握できず、信頼性の担保が難しい。
抽象化レイヤー
オペレーションリスク低減のアーキテクチャオペレーション統一のための抽象化レイヤーを設けてガバナンスを徹底
25
Deploy
Playbook
Deploy
Playbook
Deploy
従来の自動化オペレーション 自動化オペレーションの統一
Operator
運用者や環境ごとに、オペレーション、テストが異なった自動化コード(Playbook)が乱立し、権限も管理されなくなる。
DeveloperReviewer
自動化オペレーションも抽象化レイヤーを通すことで、標準化やガバナンスの徹底を強制し、リスクを最小限に抑える。
Control
Knowledge
Delegation
Operator Developer
Playbook
Controlコード作成、実行の標準化徹底
Delegation実行者やリリース管理者の権限管理
Knowledge可視化による作業の見える化
Reviewer
オペレーションリスク低減のアプローチRedHat Ansible Tower
26
Control Knowledge Delegation
オペレーションリスク低減のアプローチAnsible Towerの特徴一覧
27
スケジュール実行ジョブの集中管理 / 一括実行Ad-hoc Command の実行ジョブの抽象化
ダッシュボードJobの実行結果Step毎の実行結果ログの表示
ユーザの認証機能(ログイン)チームの作成ユーザ / チーム毎の権限設定・Inventory (対象ホスト群)・Credentials
(パスワード等)・Job Template
(パラメータ+Playbook)・Project (Playbook群)
ジョブコントロール 可視化 権限管理
実行者やリリース管理者の権限管理可視化による作業の見える化コード作成、実行の標準化徹底
Control Knowledge Delegation
Workflow Job TemplateInfrastructure as Codeにおけるデプロイメントパイプラインの実現
28
テスト リリースビルド
ジョブを組み合わせたデプロイメントパイプラインのテンプレート化によりコード作成、実行の標準化を徹底
(再掲) DevOpsとIaCの関係DevOpsとは、ビジネスアジリティを高め、リスクを最小化する改善活動
29
アイデア 課題 計画 コード ビルド テスト レビュー ステージング リリース フィード・バック
開発ワークフロー 継続的インテグレーション(Continuous Integration)
継続的デプロイ(Continuous Deploy)
フィード・バック
インフラデプロイ/ 運用の自動化
アイデア ビジネス価値
継続的デリバリ(Continuous Delivery)
インフラ運用をアプリケーション開発と同じように管理する。
オペレーションリスクの低減
30
ガバナンス統制による自動化リスクの低減
自動化のガバナンス統制
Operator
Developer
Reviewer
(Info) AWX - Ansible Works Project -Ansible Works
31
AWX Projectは、Red Hatが主催するオープンソースのコミュニティプロジェクト
・Ansible TowerのコマーシャルバージョンAnsible Towerは、AWXの特定リリースバージョンを採用して提供されます。
Ansible Tower AWX
User Enterprise Community
Support Standard, Premium N/A
Distributed Scheduled ReleaseIntermitted Builds
(About 2 weeks)
Production
Use
Yes w/ Update,Bugfix
supportNot Recommend
プラットフォーム管理のコスト削減Cost saving for Platform
32
プラットフォーム管理のコスト削減とはCapExとOpExのコスト削減
33
CapExとOpExの削減には、リソースの再利用性を重視
初期投資額の多いCapEx 日々の対応頻度が多いOpEx
Equipment
Installation
Floor space
Material
Vehicles
Network
Resource Planning
Resource Management
Failure reparation
Service Configuration
Accounting & Building
Operation
34
プラットフォーム管理のCapExコストインフラリソースの効率的な利用
インフラリソース全体のボラティリティを下げて効率的なリソース配置を行う
<Time>
<Usage>
A Service
B Service
Max Capacity
プラットフォーム管理のOpExコスト
10/20/2017 3510/20/2017 HPE Confidential
柔軟なリソースキャパシティのコントロール
プラットフォーム管理のコスト削減のアプローチHPE Synergy with RedHat Ansible Tower
36
HPE OneView (Unified API)
Python REST PowerShell Ruby
Fluid Resource Pool
<OS Images> <Computes> <Networks> <Storages>
ハードウェアのオーケストレーション(ワークロードに最適な物理リソースを自由に組み立て)
Infrastructure as Code
構成管理ツールとの連携による自動化エンタープライズグレードのエージェントレスな自動化プラットフォーム
スケジュール管理され一元的に順序実行される自動化処理
監査機能とコンプライアンス
ロールベースのアクセス制御とユーザによるセルフサービス
ベアメタルリソースをプログラマブルに取り扱うインターフェイス
テンプレートドリブンな構成管理
37
プラットフォーム管理のコスト削減に効果的な利用開発・PoC環境など常に更新や検証を行う環境
HPE OneView (Unified API)
Fluid Resource Pool
<OS Images> <Computes> <Networks> <Storages>
RHOSP検証 RHOSCP検証 RH3Scale検証
Operator
Developer
余剰なリソースを確保せずに、利用頻度に応じたキャパシティ管理が可能
効率的なリソース配置
リソースプールの再利用
38
プラットフォーム管理のコスト削減に効果的な利用リソース利用率が異なるサービスの柔軟なデプロイ
HPE OneView (Unified API)
Fluid Resource Pool
<OS Images> <Computes> <Networks> <Storages>
業務アプリケーション データ解析アプリケーション
Operator
User
再利用性の高いオペレーションに統一し、運用負荷を下げる。
属人的なオペレーション排除
デプロイコードの再利用
昼間に利用率が高いサービス
夜間に利用率が高いサービス
OSデプロイジョブ
・Golden Image・Plan Script
プラットフォーム管理のコスト削減リソースの柔軟な切り替え
39
リリースステージ
業務アプリデプロイジョブ
・Jboss・Apache
データ解析デプロイジョブ
・Hadoop・ELK
リリースジョブ
・ネットワーク切替(LB切替など)
OSデプロイステージ
テストステージ
業務アプリテストジョブ
・テストデータ投入・クラスタ動作確認
データ解析テストジョブ
・テストデータ投入・パフォーマンス計測
アプリデプロイステージ
Playbook
・Workflow Job Templateを利用した柔軟なリソース切替・デプロイコードの再利用性・テスト自動化を徹底した安定的なデプロイメント
(実装) oneview-ansibleの提供Accelerating DevOps with HPE OneView and Ansible
40https://github.com/HewlettPackard/oneview-ansible
(実装) oneview-ansibleの提供Accelerating DevOps with HPE OneView and Ansible
41
- hosts: synergy_nodes
tasks:
- name: Create Server Profile from a Server Profile Template
oneview_server_profile:
config: "{{ config }}"
data:
server_template: "{{ server_profile_template_name }}"
name: "{{ inventory_hostname }}"
server_hardware: "{{ server_hardware_name }}"
osDeploymentSettings:
osDeploymentPlanName: "{{ deployment_plan_name }}"
osCustomAttributes:
- name: TotalMgmtNICs
value: 1
- name: ManagementNIC1.dhcp
value: "false"
- name: ManagementNIC1.constraint
value: "userspecified"
- name: ManagementNIC1.ipaddress
value: '{{ synergy_networks.0.ipaddress }}'
- name: ManagementNIC1.netmask
value: '{{ synergy_networks.0.netmask }}'
まとめ
42
Conclusion
まとめコスト削減、迅速性、品質向上を実現するInfrastructure as Code
43
迅速性 コスト削減 リスク排除
迅速なインフラリソースの提供
プラットフォーム管理のコスト削減
オペレーションリスクの低減
Agility Cost Quality
エンタープライズにおけるInfrastructure as Codeは費用対効果を見込んだソリューション選択が重要
Infrastructure as Code
4444
メンバーの構成
現状分析
ゴールの設定
POCの実施
フィードバック
まずは組織、プラットフォームにおける課題を見つけ、そのボトルネックを探す。
あるべきCIのパイプラインや役割り、システムの構成を計画する。・チーム体制・スケジュール・アーキテクチャ
ゴールに近づけるか否かを判断する材料を集める。・スピード開発・事業部門予算で対応
POCの成功可否で実サービスへの展開を判断・継続的プロセス改善・CI/CDの導入
やるべきことに優先順位をつける
この時点で標準化しない
ユーザーが主導 ベンダーと共創
Infrastructure as Code実践のステップDevOpsは、ユーザーとベンダーの共創
45
概要Red Hat Ansible Tower(以降Ansible Tower)は、Ansible Engineに加え、視覚的なダッシュボード、ロールベースのアクセス制御、ジョブスケジューリング機能により、ITインフラストラクチャのプロビジョニングを集中管理するツールです。本ソリューションでは、従来の構成管理ツールからの移行や環境構築自動化の技術支援を提供いたします。
Red Hat Ansible Towerについて
Why HPEテクノロジーコンサルティング×Ansible
ジョブコントロール
可視化
権限管理
豊富な実績と経験HPEは、Infrastructure As Codeといわれるような、仮想サーバー・ストレージシステム・ネットワーク機器の環境構築自動化に対する取り組みを続けており、特にAnsibleを利用したハードウェアのインテグレーションにおいては豊富な実績と経験を誇ります。
Ansible アーキテクチャ
エンタープライズ要件にも対応性能、拡張性、セキュリティなど、エンタープライズに要求される構成を検討中のお客様にも、事例をもとに最適な環境構築や運用方法をご支援します。
導入後の運用支援もカバーHPE教育サービスによるAnsibleを使った環境構築自動化を学ぶトレーニングや、運用技術支援サービスなど、お客様の環境に適したDevOpsへの第一歩をご支援します。
Ansible Towerの特長
ジョブコントロール•ジョブの抽象化、集中管理と一括実行 / スケジュール実行が可能•アドホックコマンドの実行
権限管理•ユーザー認証機能や複数ユーザーをまとめたTeamの作成が可能•以下の権限をユーザー / Team毎に設定可能
可視化•ダッシュボードにて全体の実行結果を確認、監査にも対応• Jobの詳細実行結果を確認可能(Step毎、Job template毎、Inventory / Host毎)
モジュール
APIインベントリ
プラグイン
モジュール処理の組み合わせを定義
Playbookに定義されたモジュール処理を一括自動実行
自動化可能な運用タスクの例
システム構成管理 (サーバー、クラウド、ネットワーク)
アプリケーションのデプロイメント
OSのブートストラッピング
ワークフローオーケストレーション
サーバー
ネットワーク
クラウド
Playbookユーザー
Ansible Towerを利用することにより、Rest APIなどを用いてAnsibleを実行できるだけでなく、ジョブコントロールや権限管理を提供します。
Ansible Engine
シンプル
パワフル
エージェントレス
ユーザー
Inventory(対象ホスト群) Credentials(パスワード等)
Job Template(パラメータ+Playbook) Project(Playbook群)
Ansible Towerによるインフラ構築自動化ソリューション
HPEエンジニアが自動化サービスを提供 (DC-IA)お客様のITインフラに運用自動化を導入~最適化の実践をご支援します!
46
IT環境デプロイ(物理/仮想/コンテナ) 定常/非定常運用
本番環境開発環境
IT運用自動化の導入~継続的な運用改善の支援
OSプロビジョニング
ログ収集+監視(サービス正常性確認)
ユーザー管理
構成情報収集+可視化
HPE OneView+ + + +例
Configuration & Deploy KAIZEN
/
コンプライアンス監査(変更作業前後確認)
ファームウェアバージョンアップ
OSセキュリティパッチ適用
OSカーネルパッチ適用
…
トレーニング&技術移管
アドバイス、ベストプラクティス
コードレビュー、技術QA
オープンソースプラグインモジュールの開発&提供
最適化レビューとアセスメント
IT運用自動化のユースケース
必要なサービスをカスタマイズして提供
本セッションのフォローアップセミナー開催決定!!現場のエンジニアからの裏話が聞けるまたとないチャンス !!
47
東京 12月5日(火)
名古屋 12月7日(木)
大阪 12月8日(金)
『Ansible Towerの実践!! の"裏話“』
デプロイメントワークフロー自動化の秘訣を本セミナー限定でお伝えします。
申込と詳細は今すぐコチラまで!http://www.hpe.com/jp/RHseminar
各会場お申込みかつ、ご来場の先着25名様に
『Ansible実践ガイド』プレゼント!!今すぐ申込Webへ
48
費用対効果が見えるDevOps(IaC)の取り組みを!!
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
THANK YOU