2023年4月22日

効率化

CI/CDの効率を向上させる上位4つのデプロイパターン

このブログでは、本番環境で開発者の効率を最大化するための主要なデプロイパターンの概要を簡単に説明します。

Developer Efficiency.png現代のソフトウェア環境において、開発効率は非常に重要ですが、それは組織にとっての最重要課題の1つでもあります。多くのチームでは、変更のリードタイム(コードコミットが本番に入るまでの期間)は、手作業によるプロセスのために数週間かかることがあります。標準的なソフトウェアデリバリーライフサイクル(SDLC)プロセスは、もろく、遅く、信頼性が低く、コストがかかります。また、次のデプロイのための再現性はほとんどありません。しかし、開発者がコードを書くことに大半の時間を費やしているわけではないことを知ると、驚かれるかもしれません。

 

Harness のCEOであるJyoti BansalLinkedInで実施した最近の調査では回答者の80%が1日のコーディングに費やす時間が4時間未満であると回答しています。また、ActiveState社が行った生産性に関する調査によると、開発者はしばしば、会議、手動テスト、本番でのバグ探しなど、さまざまなタスクに時間を奪われていることに気付くといいます。このような作業によって、開発者は、ビジネス目標をサポートするために革新を起こすという、開発者の本来の仕事から遠ざかってしまうのです。

 

Developer Efficiency 2.png

効率化のため、多くのチームが新しいデプロイパターンを採用し、開発のリードタイムを増加させる不必要で反復的な作業を排除しています。ソフトウェアデリバリーでは、変更を本番に反映させるための安全、迅速、かつ反復可能な方法を持つことが重要であり、デプロイパターンを持つことがその助けとなります。これらのパターンを採用する組織は、生産までの時間を99%短縮、数週間かかっていたリードタイムをわずか 1 時間に短縮できています。しかし、どのパターンがあなたの組織に最も適しているのでしょうか?

今年3月、HarnessはTop Deployment Patterns for Modernizing and Driving Efficiencyウェビナーを開催し、ソフトウェアデリバリーライフサイクル(SDLC)の効率化を図る際に開発者が直面する課題と、それを支援するトップデプロイパターンについて議論しました。このブログでは、それぞれのデプロイパターンの簡単な概要について説明します。それらの利点と、実装の際にチームが直面する可能性のある課題の詳細については、ウェビナーの全文をご確認いただくか、電子書籍をダウンロードしてください

Demand Webinar.png

開発者の効率を高める4つのデプロイパターン

1.継続的デプロイメント(CD)

継続的デプロイメント(CD)は、本番環境へのコード変更のデプロイを自動化する戦略です。具体的には、コードの変更をビルド、テスト、デプロイするプロセスを自動化することです。コードは、事前に定義された自動テストと、開発チームによって設定された承認に合格した後にのみデプロイされ、リスクを低減し、市場投入までの時間を改善します。CDにより、チームはアプリのアップデートを迅速かつ確実にデプロイでき、顧客からのフィードバックや市場の変化に迅速に対応できます。

2.プルリクエスト環境

プルリクエスト(PR)環境は、メインコードベースにマージされる前にコード変更をデプロイできる、一時的に隔離された環境のことです。変更は、本番環境によく似た環境にデプロイされ、顧客に影響を与えることなく潜在的な問題をテストします。エフェメラル環境とも呼ばれ、プルリクエストにリンクを追加することで、開発チームによるレビューのために変更を公開でき、迅速なイテレーションを可能にします。これらの環境は、一般的にCI/CDソリューションによって作られます。

3.GitOps

GitOpsは、クラウドネイティブなアプリのデプロイを簡素化したい企業向けのアプローチです。開発チームのGitリポジトリーは、インフラを自動化するための信頼できる唯一の情報源となります。GitOpsは、システムの望ましい状態を実現しながら、新しいソフトウェア機能やサービスを作成し、デプロイするためのツールを開発者に提供します。GitOpsの基礎となる要素には、宣言型インフラ、バージョン管理、自動変更承認、ソフトウェアエージェントが含まれます。

4.マルチサービス環境

マルチサービス環境、またはマルチサービスデプロイは、複数の環境にまたがって、同じインフラ上に複数のサービスまたはアプリをデプロイするプロセスです。このタイプのデプロイでは、コンテナ化、オーケストレーション、自動化などのさまざまな技術を使って、共有インフラ上に複数のサービスをデプロイします。マルチサービス環境では、開発者はダウンタイムやサービスの中断なしに、新しいアプリを迅速にデプロイしたり、既存のアプリに変更を加えたりできます。

デプロイパターンについてもっと詳しく知るには

このブログは、参加者の皆さんと共有したインサイトのスナップショットに過ぎません。これらのデプロイメントパターンについて、その長所と短所、そして開発効率を向上させる方法について詳しく知りたいですか?ウェビナー全編を見るか、電子書籍を今すぐダウンロードしてください!


この記事はHarness社のウェブサイトで公開されているものをDigital Stacksが日本語に訳したものです。無断複製を禁じます。原文はこちらです。

Harnessに関するお問い合わせはお気軽にお寄せください。

お問い合わせ