クラウドもオンプレも!システム運用業務の属人化をなくして自動化する方法
2023.8.10
![]() |
---|
<執筆者> 吉田 貴俊 Yoshida Takatoshi
ビジネスインフラ技術本部
システム基盤技術統括部 課長
2006年にアシストに入社。
入社以来、国内トップシェアを誇る統合システム運用管理ソフト「JP1」を中心に、運用管理(特に自動化)分野を担当。
週末にサウナや釣りを楽しむ時間を頂戴するため、日々の家族サービスに奔走している。
システム運用管理の現場で起きている課題
各社がDXを推進する中、多くの企業でクラウドサービスの利用が当たり前になり、各社のシステムにはクラウドとオンプレミスのシステムが混在するようになりました。
このような背景から、システム運用の現場では人手でのインフラ構築/運用作業は限界を迎えており、コスト・時間・品質・セキュリティなど多くの課題に頭を悩ませているのではないでしょうか?
これらの課題を解決するため、改めて「運用の自動化」が注目されています。
そこで、本コラムでは、運用の自動化を阻害する原因や、自動化の実現方法をお伝えします。
システム運用管理の自動化を阻害する原因
自動化の実現には様々なアプローチ方法があり、各社で試行錯誤されています。
しかし、多くの現場では手詰まりとなり、人手での作業が残っているのが現実です。
では、なぜ自動化が進まないのでしょうか?
主な理由は2つあります。
1.作業が属人化している
作業を自動化するためにスクリプト開発やツール導入をしても、担当者以外に情報が共有されず、担当者が離れると使われなくなるケースがあります。
2.自動化の範囲が個別最適で終わってしまっている
目先の作業の効率化を目的にすると、自動化の範囲が限定されてしまいます。
そうすると、運用業務全体で見た時に人手の作業が残ってしまい、「想像していた自動化が実現できていない」、「あまり効率化できなかった」という結果に繋がります。
このように、自動化に取り組む範囲が 「自身や自部門の作業」 に限定されると、組織全体での効果が実感できず、自動化への取り組みが頭打ちになってしまいます。
システム運用管理を自動化するための準備
では、運用業務全体の自動化を成功させるためには、どのようにすれば良いでしょうか?
まずは、以下「自動化のステージ」のどこまでを目指すのか定義します。
最初から組織全体の自動化を目指さない場合でも、将来
「他者/他部門に展開できる」
ことを前提として考えることが重要です。
自動化のステージ
|
次に、自動化するべき業務を見極めます。
そのためには、以下の3ステップで進めると良いでしょう。
STEP1:業務を可視化する
自動化すべき業務を洗い出すには、まず全ての業務の流れを把握することが必要です。
この作業は、ある程度、業務全体を把握しているリーダークラスの方が書き出すと効率が良いです。
STEP2:業務時間を集計する
自動化の効果は
「自動化によって短縮される時間 × 実行回数 × 自動化する期間」
で算出できるため、各業務にかかる工数を把握する必要があります。
この作業は、業務を行っている全メンバーで書き出します。
全員分の入力が終わればメンバーにフィードバックをし、違和感がある箇所について話し合いの上で修正していきます。
STEP3:自動化すべき業務を洗い出す
まとめたデータをもとに、表やグラフを作成します。
自動化する業務の選定基準は色々あると思いますが、「頻度が多い作業をとにかく自動化してみる」というのも一つの手です。
業務の可視化(例)
|
「コード化」による自動化の実現
自動化する業務が選定できたら、いよいよ自動化の手段を検討します。
まず知っていただきたいのが
「Infrastructure as Code(以下、IaC)」
という考え方です。
IaCとは「システムインフラの構成や設計をソースコードで表して管理すること」を指します。
IaCを導入すれば、「コードの実行=作業の自動化」ができることになります。
専用ツールも不要なため、自動化の第一歩としておすすめです。
IaCを導入すれば、以下のようなメリットも得られます。
1.工数が削減できる
・コードを実行するだけなので、手作業よりも工数が削減できる
・毎回ゼロからコードを書くのではなく、コードを再利用できる
2.品質を担保できる
・手順書やマニュアルではなくコードを記述することで、情報粒度を均一化できる
・手順が変わったら必然的にコードを修正するので、常に最新の作業手順が維持できる
・誰でも同じ品質で作業を実行できる
・何度でもミスなく実行できる
3.管理が容易になる
・作業手順の可読性を高められる
・バージョン管理が容易になる
では、コード化すると、作業はどう変わるのでしょうか?
例えば、「仮想環境にゲストOSを用意する」作業を考えてみましょう。
Before
通常は以下の作業を行います。
1.VMWareにログイン
2.OSテンプレートを指定
3.OSテンプレートから複製
4.CPU、メモリ、DISKを設定
もし、OSテンプレートと異なる場合は、以下の設定も必要です。
5.ホスト名、IPアドレスなどを設定
6.アプリケーションやミドルウェアをインストール
After
コードを実行するだけで全ての作業が完了します。
コード化することで、コードを実行するだけで何度でも再現可能になり、OSテンプレートと異なる部分があったとしても変数の値を入れ替えるだけで全て自動化できる点は大きなメリットになるでしょう。
ちなみに、アマゾン ウェブ サービス(AWS)におけるクラウド運用の設計原則
の一つに
「運用をコードとして実行する」
と記載されています。
このことからも、今後クラウドを含めた運用業務を「コード化」する需要が高まり、当たり前になっていくのではないでしょうか。
「ツール」による自動化の実現
「コードの実行自体を自動化したい」、「作業依頼などのワークフローも自動化したい」という場合はツールを使うと便利です。
弊社では以下の2製品を使った自動化をおすすめしています。
Red Hat Ansible Automation Platform(Ansible、アンシブル)
インフラ構築やメンテナンスを自動化する構成管理ツールです。(製品ページはこちら
)
コードの作成、実行、管理などができます。
特長1:学習コストが低い
特長2:冪等性(べきとうせい:同じ操作を何回行っても同じ結果になることを指す)を担保している
特長3:自動化できる対象が多い
Service Management Automation X(SMAX、スマックス)
コンテナ型ITサービスマネジメントツールです。(製品ページはこちら
)
サービスデスク管理、インシデント管理、問題管理、変更管理、ナレッジ管理、構成管理などをノンコーディングで実装できます。
特長1:直観的に操作できる
特長2:主要なITプロセスにすべて対応している
特長3:過去事象やナレッジから、AIが解決策を自動提案してくれる
例えば、これらのツールを使うことで、業務依頼から作業完了までをシームレスに連携できる上、作業品質の可視化まで行うことができます。
ツールを使った業務自動化(例)
|
作業をコード化した上でツールを使って管理すれば、運用業務の自動化を大きく推進することができるでしょう。
さいごに
自動化というと、とても工数がかかる上、あらゆる業務を自動化して効果を出さないと意味がないと思われるかもしれません。
しかし、初めから大きな効果を出そうとせず、まずは自動化による小さな成功体験を積み重ねていき、後から様々な業務に横展開をする。
並行して、業務プロセスもきちんと標準化していく。
そうすることで、目指すべき自動化に近づけるのではないでしょうか。
アシストでは、本コラムで挙げたツールの紹介はもちろん、自動化する「業務の可視化」のためのワークショップなども行っています。
また、他のツールを使った自動化の手法もたくさんご用意しています。
自動化についてご相談があれば、ぜひお気軽にお問い合わせください。
参考
|
[ ブログ ] 運用の自動化・効率化が進まない!に対する3つの処方箋
|
|
[ ブログ ] 開発・運用変革のためにやるべきこと |
本ページの内容やアシスト西日本について何かございましたら、お気軽にお問い合わせください。