理論上、スピードアップは危険を伴う。近道の誘惑に駆られ、間違いが増えるリスクもある。だがソフトウェア開発に関する限り、必ずしもそうはならない。
特注ソフトウェア開発とITアウトソーシングを手掛けるCiklumのDevOps担当責任者、ウラジスラフ・グラム氏は言う。「直感には反するかもしれないが、品質がスピードに由来することもある。開発とデプロイを高速化するほど品質は高まる。比較的小さなまとまりのコードでデプロイできるため、テストが容易になるからだ。一方で、開発者は本番環境からのフィードバックをすぐに得ることができる」
高速展開
グラム氏が継続的インテグレーション/継続的デリバリー(CI/CD)に取り組み始めたのは2016年だった。DevOpsの理念の一要素として、CI/CDはコードをできるだけ早く本番環境に持ち込むことに重点を置く。大きなまとまりのコードを長期間かけて開発し、テストには時間がかかるが確実性は低下するウオーターフォール方式を含む、それまでのソフトウェア開発のアプローチとは対照的だ。
「もしもテスターのための大規模なレグレッション計画があるとして、相互に依存する100万もの機能がある場合、それがどのコンポーネントに依存するかを予測するのは難しい。だが小さな機能を1つだけデプロイするのであれば、テストを行って依存関係を簡単に予測できる」とグラム氏は話す。
そのメリットは非常に大きい。Ciklumは欧州の小売業者Metroと組んで電子商取引プラットフォームを構築した。このプロジェクトでは、本番環境の変更にかかるデプロイリリーススケジュールを、標準的な3カ月から1時間に短縮した。
「その違いは絶大だ。ただし3カ月間でリリースするのと同じ量の変更を1時間ごとにデプロイしているわけではない。開発者は3カ月のリリーススケジュールよりもずっと早く、ユーザーと本番環境からのフィードバックを得ることができる」(グラム氏)
機能デリバリーの高速化
カリフォルニア大学バークリー校講師でDevOps Research and Assessment(DORA)共同創業者のジェズ・ハンブル氏は、2010年にCI/CDに関する著書を執筆した。同氏はCI/CDを次のように定義する。「新機能、設定の変更、バグ修正、実験を含むあらゆる種類の変更を、安全かつスピーディーに持続的な形で本番環境あるいはユーザーの手に届けられること」
ソフトウェアのテストを手掛けるMablが500人を対象に実施した調査によると、回答者の53%がCIを使っていて、25%は導入を計画していた。一方、CDを使っているという回答は38%、導入の計画があるという回答は30%だった。
DORAが開発者3000人を対象に実施した調査結果報告書「2019 Accelerate State of DevOps」によると、エリートグループと実績の悪いグループを比較した結果、前者がコードをデプロイする頻度は208倍、コードの受注からデプロイまでのリードタイムは106倍、インシデントからの復旧スピードは2604倍だった。
クラウドへの競争
DevOpsとCI/CDは関係しているものの、この両者を混同してはならないとKPMG Internationalの筆頭DevOpsエンジニア、アリアン・ガッド氏は言う。「DevOpsはどちらかというと、企業文化や思考、働き方に関係している。CI/CDはツールと自動化が主導するオーケストレーションのアプローチだ。組織はCI/CDを使ってDevOps的なやり方で技術プロジェクトを遂行する。CI/CDなしでDevOpsはできない」
遅く初めてそこから構築
CI/CDの導入には問題もある。
続きを読むには、[続きを読む]ボタンを押して
ください(PDFをダウンロードします)。
関連記事
"条件" - Google ニュース
April 30, 2020 at 06:00AM
https://ift.tt/2YeDglL
CI/CDによる高速化で品質も向上――ただし条件付き - TechTargetジャパン
"条件" - Google ニュース
https://ift.tt/2uCTl8l
Shoes Man Tutorial
Pos News Update
Meme Update
Korean Entertainment News
Japan News Update
No comments:
Post a Comment