【特集記事】DevOpsでビジネスにスピードと信頼性を、運用自動化のベストプラクティスは

出典元:TechTargetジャパン 2017年02月22日掲載記事より転載。本記事はTechTargetジャパンの許諾を得て掲載しています。
掲載されておりますサービス内容などは、掲載日または更新日時点のものです。

ビジネスのスピードを上げるには、開発と運用が連携してシステム開発を進める「DevOps」の実践が大きな鍵となる。その実現には運用自動化ツールが欠かせない。

運用自動化ツール「Puppet」の特長

ARアドバンストテクノロジの稲岡翔平氏ITインフラの運用管理を手作業で行っている企業は、運用負荷やコストの増大、オペレーションミスの発生といった課題を抱え、今後のビジネススピードに及ぼす影響にも懸念が膨らんでいる。こうした中で、手作業による運用管理から脱却するべく、運用自動化ツールの導入に向けた機運が高まりつつある。
運用自動化ツールといっても、既に各社がさまざまな製品を市場に投入しており、どれを選べばよいのか頭を悩ませている運用担当者も少なくない。そこで、今回注目したいのが運用自動化ソリューション「Puppet」だ。
「Puppetを導入することで、OSの設定・更新およびミドルウェアやアプリケーションの導入、設定、更新を自動化することができる。例えば複数台のサーバ、スイッチの導入や拡張をする際にも、従来のように1台ずつ手作業で設定する必要がなくなる」と話すのは、ARアドバンストテクノロジの稲岡翔平氏だ。
Puppetの大きな特徴は、「マニフェスト」という定義ファイルを活用する点だ。マニフェストに、各種設定作業の“あるべき姿”を定義しておくことで、設定対象の台数にかかわらず一括で自動設定できるようになる。同じ設定を何度でも繰り返し実施することも可能だ。対象台数が増えた場合でも、人的リソースを増やす必要がないため、人件費の削減にもつながる。自動設定時の構成変更の履歴をレポート出力することで、監査情報としても利用できる。
自動化を適用できる製品としては、Amazon Web Services(AWS)やCisco Systems、Dell EMC、IBMなど幅広いベンダーをサポートしている。「Puppetのポリシーとして、ベンダー製品に限らず、IPアドレスがあればどんな機器でも自動化して管理できる」と稲岡氏は強調する。

Puppetで運用管理者の業務が変わる

設定を自動化することで、人為的なオペレーションミスの発生をほぼゼロにできるメリットも見逃せない。手順書をベースに手動でメンテナンスをする場合、入力間違いや誤操作などのオペレーションミスが起こったり、手順書に反映されていないことによる作業漏れが発生したりするリスクがある。Puppetならば事前に定義したマニフェストの内容とノードの状態に差異を検知した場合、自動的にマニフェストの設定状態に復旧してくれる。手作業が加わることなく、ITインフラの状態を正常に維持し続けることができるのだ。
構成変更を実施する際の属人化を廃止できる点も大きなメリットだ。専任担当者でなくても、マニフェストのコードを修正し、再実行するだけで、構成変更をインフラに適用することができる。マニフェストはテキストファイルのため、「Git」などバージョン管理ツールとの親和性が高く、マニフェスト自体の管理も容易だ。
Puppetの導入に伴い、運用管理者の業務フローも大きく変わる。従来の運用管理者は、手順書ベースのメンテナンス作業や、手動による運用オペレーションを1台ずつ実施していた。サービスの状態はノードを直接確認することでチェックしていた。万が一オペレーションミスが発生した時は、原因究明のために、膨大な作業ログの解析が必要だった。
Puppetを導入すれば、運用管理者は手作業による運用オペレーションから解放され、バージョン管理ツールを利用してマニフェストをメンテナンスするだけで効率的に運用業務が可能だ。自動設定の履歴はPuppetのGUI(Graphical User Interface)からマニフェストの配布レポートをチェックすることができる。サービスの状態も、Puppetのコンソールを確認することで、各ノードの設定状態を容易に把握することが可能だろう。

Puppetによる運用自動化の効果(出典:稲岡翔平氏の講演資料より)
Puppetによる運用自動化の効果(出典:稲岡翔平氏の講演資料より)

DevOpsへの貢献――Puppetでデプロイ時間が大幅に短縮

Puppetのアンダーソン・サイモン氏Puppetのアンダーソン・サイモン氏は、「Puppetは、DevOpsプラットフォームのための重要なツールとしても注目されている」と指摘する。例えばGetty Imagesでは、OpenSSLの「Heartbeat」問題を解決するために従来は数日かかっていたが、Puppetの導入によって修正にかかる時間を数時間にまで短縮したという。これにより、セキュリティ脆弱(ぜいじゃく)性が存在する時間を極小化しリスク低減を実現している。Heartland Payment Systemsの事例では、1つのリリースや変更をデプロイするのに従来は約10時間かかっていたが、Puppetによって10分にまで短縮できた。人的リソースについても、従来は作業に3~4人で当たっていたが、導入後は1人で対応することが可能になったという。どちらのケースも、会社全体で業務の効率化が進み、より効果的に時間が使えるようになったという。
Puppet社が提供している「2016 DevOps状況レポート」によると、業績の良いIT組織は、業績の悪いIT組織に比べて、デプロイ頻度は200倍に、障害からのリカバリーは24倍に高速化し、変更失敗率は3分の1に減り、リードタイムは2555倍高速になったという。セキュリティ問題の対策に費やす時間を半分に短縮し、新しい作業に使える時間が29%増加したというデータもある。「DevOpsの成功は、企業の業績に深く関わっている。PuppetはDevOpsツールチェーンの中でインフラ自動化とデプロイ自動化を担い、DevOpsにおける提供の迅速化およびセキュリティとコンプライアンスの保証に大きく貢献する」サイモン氏は話す。

2017年5月にPuppet日本語版が登場

EMCジャパン(取材当時)の王 志正氏Puppetを利用してストレージ自動化を実現している、EMCジャパン(取材当時)の王 志正氏はPuppetの導入メリットについて次のように語る。「構築から管理まで、ITインフラの自動化は必要不可欠になるだろう。当社でも、大量のストレージシステムを短期間で導入するケースではヒューマンエラーが多発しており、顧客からは自動化の要望が高まっていた。従来は自動化の仕組みを独自に構築していたが、『Puppet-VNXモジュール』が提供され、迅速かつ容易にストレージ自動化を実現できるようになった」(王氏)
このように、Puppetを使えば運用管理業務の自動化を実現できるとともに、デプロイを高速化し、インフラ構築から管理までのDevOpsサイクルを健全に回していくことが可能になる。これは、企業全体のビジネスのスピードアップ、さらには競争力強化にもつながるといえるだろう。
Puppetは、現時点で英語版のみの提供だが、2017年5月に「Puppet Enterprise」の日本語版をリリースする予定だ。日本語版では、インストール画面を始め、GUIのメニュー、タブ名、ボタン、説明などを日本語化する。また「Classifier API」「RBAC API」「Activity API」と「Orchestrator CLIツール」のメッセージも日本語化する予定だ。
ITインフラの運用管理業務に課題を抱えている運用担当者は、課題解決へのベストプラクティスとして、Puppetの導入を検討してみてはどうだろうか。

提供:株式会社ネットワールド
アイティメディア営業企画/制作:TechTargetジャパン編集部

PAGE TOP