SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2023 セッションレポート(AD)

IaCやDevOpsツールだけでは足りない? デリバリーのパフォーマンスを上げる運用設計とは

【9-D-8】IaC活用やDevOps実践からみる、抜けてはまずいプロジェクト推進に必要な「運用設計」の考え方

  • X ポスト
  • このエントリーをはてなブックマークに追加

 株式会社インフォメーション・ディベロプメント デジタルソリューション本部 企画担当部長 三好敏明氏が登壇し、システムの開発・運用品質を向上させる上で極めて大きな役割を果たす「運用設計」の重要性について、自身の経験も踏まえながら解説する。

  • X ポスト
  • このエントリーをはてなブックマークに追加

デリバリー全体のパフォーマンスを大きく左右する「運用」

 本セッションの冒頭で、三好氏はシステムの「運用」をめぐる昨今の状況について、次のように見解を述べた。

 「昨今、世間を賑わすシステム障害やシステムトラブルの事例を見てみると、その多くが運用の問題に起因していることが分かります。にもかかわらず、システム運用に関する議論はまだまだ不足しているように感じています」

 こうした課題を解決するために、近年ではInfrastructure as Code(IaC)やDevOpsの手法やツールを導入して、運用の自動化を目指す動きも加速しているが、これも実際にツールを導入してみたものの、思うような効果を上げられずにいるケースが少なくない。これも多くの場合、事前に運用について十分な検討を行っていなかったことに起因していると三好氏は指摘し、「今あらためて運用設計の重要性について見直すべき時期に来ている」と述べる。

株式会社インフォメーション・ディベロプメント デジタルソリューション本部 企画担当部長 三好敏明氏
株式会社インフォメーション・ディベロプメント デジタルソリューション本部 企画担当部長 三好敏明氏

 Google CloudでDevOpsに関する研究・調査を行っている組織「DevOps Research and Assessment(DORA)」が毎年公開している調査レポートにおいても、2022年12月に公開された最新版「State of DevOps 2022」ではソフトウェアデリバリーのパフォーマンスを測る指標として新たに「運用パフォーマンス」を新設しており、今世界的に運用の重要性があらためて脚光を浴びつつある。

 その一方で同レポートの調査によれば、運用パフォーマンスも含めて総合的に優れたパフォーマンスを発揮している企業は全体の2割以下に留まっているという。

優れたパフォーマンスの企業は2割以下
優れたパフォーマンスの企業は2割以下

 DevOps自体は5割以上の企業が導入しているとも言われている中、なぜこのようなギャップが生まれるのか。その主たる理由について、三好氏は「やはり運用パフォーマンスが全体のパフォーマンスの足を引っ張っている」と指摘する。

 「例えばシステムトラブルからの復旧を例に挙げると、トラブルの検知やインシデント対応を担う運用のパフォーマンスが低下すると、開発部門に改修を依頼するタイミングも遅くなり、限られた時間内で急いで改修・デプロイせざるを得なくなります。自ずと失敗する確率も高くなり、結局のところシステム全体の復旧時間も長引いてしまうことになるのです」

運用設計で"差"がつくクラウド化の本当のコストとは/運用設計チェックリスト付き

 近年、急速なDXの浸透を背景に、企業の情報システム環境は、大企業のみならず、中堅・中小企業でもクラウド導入・移行が急速に増えつつあります。

 一方、クラウド移行を成功に導くのは容易ではなく、コストダウンや運用生産性の向上を見込んで取り組んだにも関わらず、結果的には情報システム部門の稼働やコストを圧迫してしまうことも少なくありません。

 インフォメーション・ディベロプメントの資料では、クラウド移行におけるよくある失敗事例を紹介しながら、クラウド移行によってコスト・手間を減らし、情報システム部門の生産性と企業のIT競争力を向上するための対策を解説しています。

DevとOpsが共通のゴールを目指すために、運用にも設計が必要

 では、運用パフォーマンスが低下してしまう原因は一体どこにあるのか。一般的には「開発と運用の連携が取れていない」「目標値を高く設定しすぎている」「作業ミスが多い」といった点が原因として挙げられることが多い。DevOpsはまさにこれらの課題を解決するために考案されたものだが、実際には多くの企業でその実践がうまく行っておらず、思うようなパフォーマンスを発揮できていないと三好氏は言う。

 「DevOps自体はあくまでもコンセプトや原則を示しているものに過ぎないので、具体的な実践方法が曖昧なまま進めているケースが多いと考えられます。また開発組織と運用組織をまたいだ取り組みなので、その実現には組織の壁を越えて強力なリーダーシップを発揮できるリーダー人材が不可欠ですが、そうした役割がやはり曖昧なまま進めていった結果思うような成果が上がらないケースも散見されます」

 そしてもう1つ同氏が重要な問題点として挙げるのが、「運用観点からのアプローチがなかなか議論の俎上に載らない」という点だ。多くのプロジェクト関係者が「そんなに早い段階から運用について議論しても、実際の効果にはつながらない」と、運用を軽視しがちな傾向にあるという。しかし実際には、運用の観点をプロジェクトの初期段階から取り入れることで、システム開発プロジェクトの費用対効果が飛躍的に高まることが分かっている。

 逆に、プロジェクトの初期段階できちんと運用について検討していなかった場合、システムを運用していくに従って運用コストもどんどん割高になることも判明している。しかも厄介なのは、一度運用を始めた後にシステムの運用方式を根本から見直すのは極めて難しく、「後戻りができない」という点だ。事実、システムコストの大半はリリース後の運用コストが占めることは広く知られており、結果としてシステムの運用パフォーマンスが企業全体の成長に大きく影響することになる。

 こうした課題を解決する上で極めて重要な役割を演じるのが「運用設計」だ。運用設計とは一言で言い表すと「地図のようなものだ」と三好氏は説明する。

 「プロジェクト開始時に開発者と運用担当者は、それぞれ自分たちが目指すプロジェクトのゴールに向かって進み始めますが、双方で目指すゴールが違っているため後々になって認識の齟齬が生じてトラブルの種になります。しかもそうした状態下でもそれぞれが最終的にはゴールにたどり着くため、プロジェクト終了後に互いのゴールが食い違っていたことを振り返って反省する機会も生まれにくいという構造的な問題もはらんでいます」

地図がないとちゃんとした目的地に行けない
地図がないとちゃんとした目的地に行けない

 運用設計はこうした問題が生じることをあらかじめ防ぐため、開発と運用がともに共通のゴールを目指せるようにプロジェクト全体の「共通ゴール」「開発方法」「運用方法」をあらかじめきちんと定義しておき、双方で共有するために設けるものだ。このプロジェクト全体の「地図」「ガイド」としての運用設計がプロジェクトの初期段階できちんと定義されているか否かによって、その後のプロジェクトの成否やシステムカットオーバー後の効果が大きく左右される。

運用設計で"差"がつくクラウド化の本当のコストとは/運用設計チェックリスト付き

 近年、急速なDXの浸透を背景に、企業の情報システム環境は、大企業のみならず、中堅・中小企業でもクラウド導入・移行が急速に増えつつあります。

 一方、クラウド移行を成功に導くのは容易ではなく、コストダウンや運用生産性の向上を見込んで取り組んだにも関わらず、結果的には情報システム部門の稼働やコストを圧迫してしまうことも少なくありません。

 インフォメーション・ディベロプメントの資料では、クラウド移行におけるよくある失敗事例を紹介しながら、クラウド移行によってコスト・手間を減らし、情報システム部門の生産性と企業のIT競争力を向上するための対策を解説しています。

「運用設計は開発作業が終わってから」では遅い?

 例えばIaCの導入プロジェクトを例に挙げると、プロジェクト開始時にデプロイ後の運用を想定した検討を疎かにしていると、やがては本来の利用目的よりIaCの導入自体が目的化してしまい、いつの間にか「単純なデプロイ作業だけでなく、細かなエラー対応や複雑なコード解析まですべてをIaCで網羅しなければならない」と誰もが思い込むようになる。そうやって最終的に出来上がった仕組みは極めて複雑かつ属人性の高いものになり、結局徐々に使われなくなっていく。

 こうした事態を防ぐには、プロジェクト開始時に運用設計書をきちんと作成し、IaCの導入で目指すことや運用の責任範囲などを「共通ゴール」としてあらかじめ定めるとともに、その具体的な「開発方法」と「運用方法」を定めて開発・運用双方の共通認識としてしっかり共有しておく。これにより「せっかく入れたのに利用されないIaC」が生まれることを阻止できる。

 またシステムを新たに追加開発するようなケースでは、あらかじめ運用設計を行っていないとシステムを追加するごとに新たな運用プロセスが生み出されることになり、システムの数が増えるに従って運用の複雑化や属人化も増していってしまう。そこであらかじめ全社共通の運用ポリシーを策定し、システムを追加する際にはそのポリシーに沿った運用設計を行うことで、システムがどれだけ増えても標準化されたプロセスに沿って効率的に運用できるようになる。

 加えて最近では、オンプレミスシステムのクラウド移行に伴い運用設計を見直すケースも増えているという。

 「クラウドに移行した後も『運用設計は現行踏襲で問題ない』と考えている方が意外と多いようですが、これは絶対にお勧めできません。オンプレミスとクラウドはプラットフォームの特質が根本的に異なるため、その差異を埋めるために運用設計もあらためて検討し直す必要があります」

 なお運用設計と聞くと、これまでは「運用部門が利用するもの」という先入観から「開発作業が終わってから検討するもの」というイメージが強かったかもしれない。しかしこれまで見てきたように、本来の目的は開発と運用とで共通の地図を共有するためのものであり、従って開発作業が始まる前のプロジェクト初期段階で着手するべきものだと三好氏は強調する。

運用設計は開発が始まる前に着手しよう
運用設計は開発が始まる前に着手しよう

 「開発が始まる前に運用設計に着手し、プロジェクトを通じて開発と運用が共通の地図を共有することで両者が協力し合う気運や文化が生まれ、ひいてはIaCやDevOpsといった取り組みも初めて実効性を帯びるようになります。こうした取り組みを全社で進めることで大幅なコスト削減が可能になり、最終的には企業の成長そのものにつながることを、より多くの方々に理解していただければ幸いです」

運用設計で"差"がつくクラウド化の本当のコストとは/運用設計チェックリスト付き

 クラウド移行を成功に導くのは容易ではなく、コストダウンや運用生産性の向上を見込んで取り組んだにも関わらず、結果的には情報システム部門の稼働やコストを圧迫してしまうことも少なくありません。

 インフォメーション・ディベロプメントの資料では、クラウド移行におけるよくある失敗事例を紹介しながら、運用設計の重要性と、クラウド移行によってコスト・手間を減らし、情報システム部門の生産性と企業のIT競争力を向上するための対策を解説しています。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加

提供:株式会社インフォメーション・ディベロプメント

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17483 2023/04/19 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング