BT

多すぎるスクリプトは継続的デリバリーをダメにする

| 作者: Manuel Pais フォローする 9 人のフォロワー , 翻訳者 sasai _ フォローする 0 人のフォロワー 投稿日 2018年6月28日. 推定読書時間: 3 分 |

原文(投稿日:2018/06/19)へのリンク

先月のContinuous Lifecycle Londonにて、Electric Cloudでプロダクトマネージャを務めるAvantika Mathur氏が継続的デリバリーパイプラインにおけるスクリプトの増加にまつわるコストについて語った。メンテナンスコストに加えて、もうひとつ大きなコストは、本番環境に変更をデプロイするまでに実際に何が実行されるのか、その可視性と監査可能性が欠けていることだ。多くの組織がこのことに気づいていない。

この問題を解決するには、まず問題を認識し、パイプラインオーケストレーションに対する指針を立案する必要がある。Mathur氏は出発点として、以下の原則を推奨する。

  • デプロイ間の反復可能性と一貫性を保証する
  • アプリケーション定義をデプロイ/実行される環境から分離する
  • 環境間のポータビリティを目指す
  • 特定のツールや技術へのロックインを避ける(別の言葉で言うと、プラクティスはツールではなく作業の指針となるようにする)

スクリプトを膨張させないために、Mathur氏は次のアプローチを提案する。まずスクリプトをパラメータ化した共通関数にリファクタリングし、それから可能なら、同じ作業ができる、あるいはもっとうまくできるツールで置き換えるのだ。

しかし、大量のスクリプトに一度に取り組むのはチャレンジング(技術と人の両方の観点から)かつ非効率(最初に低いROIにフォーカス)だ。Mathur氏はイテレーティブなアプローチをすすめている。まず、バリューストリームマッピングを行い、デリバリーを遅くしている、あるいはデリバリープロセスをわかりにくくしている、直接のボトルネックと依存関係を特定する。これは、どのスクリプトを最初にリファクタリングする必要があるか、優先順位を付けるのに役立つだろう。また彼は、重複したタスクを特定するために、既存のスクリプトを分類(設定、デプロイ、テスト自動化など)すること、見積もりの複雑さの観点から分類すること、潜在的メリットを見積もるためにスクリプトの実行頻度を測定すること、最終的に、コストを最小限にするためにベターな(自家製でない)代替案がないか調べること、などをすすめている。

Mathur氏は、こうした「スクリプトの悪夢」の直接の影響を目の当たりにしてきたという。チームが(発展ではなく)保守にエンジニアリング時間の80%を費やすこと、より高速により安全にデリバリーするためでなく、非効率で遅いプロセスをただ自動化するためのスクリプトなどだ。スクリプトが制御不能になっていることや、パイプラインオーケストレーションのケアが不十分なことを示す典型的な「におい」には、「スクリプトの保守に専念するエンジニア」、「脆いスクリプトを変更することに対する恐れ」、「実行されることの可視性の欠如」、「監査準備に時間がかかるプロセス」などがある。

まとめると、Mathur氏は「パイプラインをプロダクトとして扱い」、パイプラインに対する各変更は「本番投入」(すなわち、エンジニア全員に使えるようにする)前にテストして完全に検査済みにすることをすすめている。これはまた、パイプラインを全員に見えるようにすること、メトリクスとベンチマークによりパフォーマンスを測定し改善すること、できるだけ既存のものを再利用すること、を意味している。

 
 

Rate this Article

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT