DevOps ライフサイクルとは?

DevOps は、計画的な作業習慣と生産性を高めるツールを組み合わせることで、ソフトウェア開発を合理化します。このプロセスには 7 つのステップで構成される DevOps ライフサイクルを理解することが不可欠です。以下で詳細をご確認ください。

DevOps ライフサイクルにおける 7 つのフェーズ

DevOps ライフサイクルは継続的デベロップメントの 7 つの異なるフェーズに分かれており、ソフトウェア開発プロセスを最初から最後までガイドします。DevOps について理解するには、DevOps ライフサイクルの各フェーズについて、および各フェーズのプロセスと要件について知っておくことが重要です。

統合と書かれている電球

継続的デベロップメントと継続的デリバリー

ソフトウェア開発は、計画とコーディングから始まります。DevOps において、これは絶え間ない改善を目的とした定期的なデリバリープロセスを通じて行われます。

DevOps では、核となるアジャイルの価値観を基に、ソフトウェアの定期的かつ頻繁なリリースを推奨しています。これを実現する標準的な方法は、コードの統合と開発を自動化することです。これが継続的インテグレーション/継続的デプロイ(CI/CD)と呼ばれるプロセスです。

プリプロダクション、ポストプロダクションを問わず、開発全体を通して、チームはフィードバックを活用して問題を特定し、計画の中で解決策について仮説を立てます。

DevOps ライフサイクルの計画フェーズに従って、制作を前進させ続けるという目標に向けて、ソースコードとアセットの作成が始まります。使用するコーディング言語が何であれ、ソースコード管理ツールを使用してコードベースを管理することが重要です。

継続的インテグレーション

継続的インテグレーション(CI)は、開発者に 1 日数回コードを共有リポジトリに統合することが求められる開発手法です。その後、各チェックインまたはブランチが自動ビルドによって検証されます。これにより、チームが早期の段階で問題を検出できるので、メインのコードブランチが常に実行可能になり、プロダクション環境に確実に対応します。

CI は、数の少ない大きな変更よりも、数の多い小さなかつ反復的な変更に対応するよう設計されています。これにより、コードの構築、テスト、マージ、共有リポジトリへのチェックインを自動化するワークフローを通じて、チームがスケールアップするのを支援します。

継続的インテグレーションの最終的な目標は、より優れたコードを短時間で提供することです。頻繁に行われる小さな変更を自動化することで、チームはバグをより迅速に検出してそれに対処し、新しいアップデートの検証とリリースにかける時間を短縮することができます。

継続的テスト

継続的テストは、継続的インテグレーションと密接に関わっています。CI/CD パイプラインは、手動でのコード検証ではなく、自動テストに依存します。これは、リリース前にデプロイ対象のコードなどの質に問題がなく、ゲームを破壊するようなエラーの発生につながらないようにするためです。 

DevOps は、できるだけ多くの手動プロセスを排除することに依存しています。手動で行わなければならない手間のかかる処理が多ければ多いほど、より多くの時間が無駄に消費され、エラーが発生する可能性が高くなります。DevOps ツールを継続的にテストする目的は、バグを発見するだけでなく、プロダクションフェーズでパッチや修正プログラムを介して対処する(このほうがはるかに複雑になり時間を取られる)必要がなくなるように、バグをできるだけ早く見つけるためです。 

自動テストは、ビルドへのリリース前のほか、プロダクションに先立っても設定されます。チームは、自動テストが完了した後かつプロダクション前に、最終ステップとして手動レビューを挿入することができます。

継続的監視

継続的監視により、優れたユーザー体験を提供するという最終目標に向けて、DevOps ライフサイクルの管理を行き届かせることができます。ソフトウェアのアップデートと使用状況は細かく追跡され、収集されたインサイトはそのソフトウェアが正しく実行されるために活用されます。

継続的監視フェーズでは、チームはできるだけ迅速にシステムエラーを検出して解決するよう努めます。ここではエラーを自動で追跡することが不可欠です。また、自動化することで、ほかにもソフトウェア全体のパフォーマンス、ユーザーの行動、開発インフラストラクチャの安定性などの領域を可視化することもできます。

DevOps チームは、自動化を監督することに加えて、パイプラインのすべての側面においてセキュリティ標準に準拠していることを確認する責任があります。このフェーズでは、リリース管理の手動処理も発生します。

継続的フィードバック

継続的フィードバックには、社内のチームやユーザーからソフトウェアのパフォーマンスに関するインサイトを収集するために、フィードバックループの実装が求められます。フィードバックはその後、DevOps チームと共有されて、製品のイテレーションを進めるのに役立てられます。ソースとして、調査、アンケート、フォーカスグループ、ソーシャルメディア、フォーラムなどが含まれる場合があります。

このプロセスはソフトウェアが正しく機能するかどうかを判断するだけではなく、顧客の全体的な満足度を評価することで、ビジネス戦略を推進し、最善の結果を生み出します。継続的フィードバックは、製品ロードマップの舵を取り、オーディエンスの要望、ニーズ、期待に応えるために使用する必要があります。

継続的デプロイ

継続的デプロイは、自動化サイクルを完成させ、デプロイプロセスにおける人間の介入を最小限に抑えるまたは排除することで、継続的インテグレーションと連携して機能します。自動化された DevOps ツールは、ソースコードのアップデートを監視し、テストフェーズに合格したらそれを自動的にプロダクション環境にデプロイするため、時間の節約とユーザーの満足度向上につながります。

継続的デプロイは、自動化を通じてユーザーとのフィードバックループをスピードアップします。メソッドはリリースのために別のデプロイに展開できます。ユーザーから見えないようにする(ダークリリース)、または新機能をテストしてもらい、フィードバックをもらうために、特定のユーザー向けにオンにする(機能トグルまたはスイッチ)ことができます。

コードは小さいバッチでリリースされるため、コードの変更が多い場合に発生するリスクが最小限に抑えられ、自動化のおかげで労力が最小限で済みます。

継続的オペレーション

継続的オペレーションは、ダウンタイムを最小限に抑え、ユーザーにとって苛立たしいサービスの中断を防ぐことを目的としています。DevOps ライフサイクルのこのフェーズでは、安定性とパフォーマンスを高めるために、アプリケーションと環境を最適化することに焦点を当てます。また、継続的デベロップメントの計画フェーズにバグレポートとユーザーフィードバックを盛り込むことで強化し、DevOps ライフサイクルのループを完成させます。

チームやユーザーとの間の継続的なコラボレーションを通じて、バグ、フィードバック、セキュリティ上の懸念を DevOps パイプライン全体を通して継続的に伝達、評価し、イテレーションを行うことができます。

完璧なワークフロー

DevOps ツールチェーンは、DevOps ライフサイクル内でシームレスなワークフローを実現するうえで重要な役割を果たします。この短いビデオでは、Unity Plastic SCM の強力なソースコード管理ツールを使用して、DevOps ツールチェーンを戦略的に実行する方法について、Unity Plastic SCM チームが説明します。

類似のリソース

DevOps ツールとプロセスを実装するメリットについて学べるさまざまなリソースが見つかります。

バージョン管理システムとは何ですか?

ソースコードへの変更を追跡および管理することは不可欠です。さまざまなタイプのバージョン管理システムが、コードの整合性を維持するのにどのように役立つかをご覧ください。

DevOps を採用するメリット

DevOps プラクティスを実装すると、開発パイプラインが合理化され、チームとユーザーの満足度を高めることができます。DevOps がどのように役立つかをご確認ください。

DevOps の原則

すべてのゲームスタジオは、クランチ(過重労働)を減らしつつ制作をスピードアップしたいと考えており、DevOps はそれを実現するために最適な方法です。DevOps の方法論の背後にある重要な原則を学ぶことから始めましょう。

DevOps 関連 e ブック

4 つの重要な DevOps のプラクティス

ゲーム開発のための DevOps の基本原則とプロセスを確認し、Unity のソリューションのポートフォリオを活用して成功への道筋を見つけ出したスタジオからお話を伺います。

バージョン管理とプロジェクト整理のベストプラクティス

この e ブックでは、ソフトウェア開発者として成長を遂げ、完全なワークフローを実装することでバージョン管理をマスターする方法について、Plastic SCM チームからインサイトを獲得します。

バグを潰し、エラーをキャッチして、プレイヤーの離脱を防ぐ

Halfbrick がどのように Backtrace と Helpshift を使用して、ゲームが機能しなくなるエラーを問題発生前に検出し、プレイヤーをゲームに留まらせているかをご覧ください。

Unity で DevOps ライフサイクルを最適化

DevOps ライフサイクルは、バージョン管理から始まります。Unity DevOps ソリューションを使用して、継続的インテグレーションと継続的デベロップメントを実装しましょう。

弊社のウェブサイトは最善のユーザー体験をお届けするためにクッキーを使用しています。詳細については、クッキーポリシーのページをご覧ください。

OK