
ソフトウェアはデプロイされます。かつては、ソフトウェアは開発ライフサイクルを通じて様々な開発手法を経て、最終的にフロッピーディスクやCD-ROMに収められていました。「ショップ」と呼ばれるソフトウェアアプリケーション開発チームの中には、ウォーターフォールモデルを用いてプロジェクトを段階的に段階的に分割するチームもありました。また、「早期かつ頻繁なリリース」を目的としたアジャイルアプローチを採用するチームもあれば、ラピッド、リーン、フィーチャードリブン、エクストリームといった選択肢を選ぶチームもありました。
どのようなアプローチをとったとしても、ソフトウェア アプリケーション コードは最終的にはアルファ フェーズとベータ フェーズを経て、一般公開フェーズへの道を開く「リリース候補」として登場することになります。
永続的な循環感覚
多くのソフトウェアは今でもそのように構築されていますが、クラウドと Web の時代では、より動的なリズムが生まれ、ソフトウェアは継続的に永続的に展開されるようになりました。
スマートフォンのアプリは 1 日に複数回更新して展開する必要がある場合があるため、継続的インテグレーションと継続的デリバリー (CI/CD) の概念が DevOps (開発と運用) と結びつき、ソフトウェア展開の実際の意味に対するまったく新しい理解が得られるようになりました。
参照: DevOps エンジニアを採用する方法 (TechRepublic Premium)
ソフトウェア配信プラットフォームのスペシャリストであるCloudBeesは、このダイナミズムをエンドツーエンドのリリースオーケストレーションと呼んでいます。これは、ローコード自動化の高速化の利点を活用したソフトウェアデプロイメント(現在ではクラウドネイティブコンピューティング環境において多く採用されています)です。これらの自動化により、CD-ROM時代、あるいはそれよりも近年では考えられなかった、ソフトウェアアプリケーションの動作状態に関する高度な可視性が提供されます。
前述の通り、これはDevOpsによって強化されたソフトウェアエンジニアリングです。これは、方法論や明確なワークフローシステムではなく、文化的なアプローチであり、クラウドネイティブ化が進むプログラマーが運用チーム(データベース管理者、システム管理者、テスター)の責任をより深く理解することを可能にします。ひいては、運用部門が開発者の要件をより深く理解することを可能にします。
CloudBeesはさらに一歩進んで、セキュリティエンジニアリングチームの機能を中央に追加します。これにより、現在広く称賛されているDevSecOpsが誕生しました。
クラウドソフトウェアのリリースにおける高度なスキルを習得し、ソフトウェアベンダーがリリースオーケストレーションを活用できるレベルにまで引き上げることは、決して容易なことではありません。CloudBeesは、2022年にReleaseIQを買収し、いわば自社のエンジニアリングを精密に構築することで、DevSecOps機能の拡充を図りました。これは、ローコードでエンドツーエンドのリリースオーケストレーションと可視化ソリューションをお客様に提供するための、企業戦略です。
CloudBees の新しい SaaS (Software-as-a-Service) ベースの製品は、ReleaseIQ をスタックに統合しており、DevOps 組織がクラウド開発者のワークフローを迅速に構成および分析し、移行や置き換えなしで、ソフトウェアの構築、テスト、および展開プロセスを支援するオープンソースの自動化サーバー サービスである Jenkins を含む CI および CD テクノロジの任意の組み合わせをオーケストレーションできるようになると主張しています。
ツールの選択と強制的なツールセット
CloudBees社は、ReleaseIQ社の買収決定は、同社の3つの中核的な信念、「選択肢」、「可視性」、「継続的な価値」に基づいていると述べています。同社はまず第一に、企業は開発者にツールセットを強制するのではなく、ツールの選択肢を提供することで、開発者を支援する必要があると主張しています。第二に、DevSecOpsが成熟するにつれて、ソフトウェアデリバリーエコシステムに対する限定的な視点を持つことはもはや許容されなくなっています。価値に関する3つ目の柱は、おそらく避けられないでしょう。顧客への成果物、成果、そして価値について語る際に、常に存在するイノベーションを念頭に置かないエンタープライズソフトウェアベンダーはいるでしょうか?
今日のDevOpsチームは、CI/CDパイプラインの一貫性がなく分断されていることが原因で、開発の複雑さ、非効率性、そしてコスト増大に直面することがしばしばあります。単一のパイプラインの限定的な視点では、情報ギャップや非効率的なプロセスが生じます。CloudBeesは、この新機能により、チーム、アプリケーション、環境を横断した一貫性のある効果的なデプロイメントとリリースの調整が可能になると発表しました。また、ソフトウェアデリバリーの実践状況を包括的に可視化することで、パフォーマンス向上に貢献します。
参照: 2022 年のベスト DevOps ツールとソリューション (TechRepublic)
CEOカプール:ソフトウェア哲学
この時点で私たちが認識すべきことは、クラウドコンピューティングがソフトウェアと、ソフトウェアアプリケーションの開発・提供方法を変えたということです。また、組織がITインフラストラクチャと運用層について考える方法も変えました。
「ここ数十年にわたって事業を展開してきた企業は、必然的に最新のクラウド技術とある程度のレガシー技術を融合させています」と、CloudBeesの社長兼CEOであるAnuj Kapur氏は述べています。「Dockerはまだ誕生して9年しか経っておらず、AWSがコンテナを採用したのはわずか4、5年前です。記憶はすぐに薄れてしまうのです。」
「現在(上位層で)使用しているテクノロジーは、その下の実装運用層と一致しているとよく考えられますが、明らかに必ずしもそうとは限りません。」
クラウドコンピューティングの現状をエンジニアリングの観点から見ると、カプール氏は、現在統合されている異種混合のテクノロジー層において、クラウドコンピューティングがいかに多様で多様であるかを説明しています。多様なアプリケーション、異なる専門スキルセットを持つ多様なチーム、多様なソフトウェアツール、そしてコードが動作する必要がある多様な実行環境が存在します。
「企業がソフトウェアの『消費者』から自社アプリケーションの『プロデューサー』へと移行し始めている中で、こうした状況が起こっているのであれば(そして実際、そうなのだが)、IT運用の基盤を根本から見直す必要がある」とカプール氏は断言する。「今日、クラウドネイティブ環境をはじめとする様々な環境でDevOpsを適用する際には、正しく理解しなければならない繊細なポイントがいくつかある」
カプール氏が言及しているのは人的要因です。開発者の中には、DevOpsはアプリケーションの動作をより詳細に制御する機会となると考える人もいます。昨今、クラウドネイティブ開発への移行が進む中で、これは彼らにとってプラスに働きます。一方、DevOpsは管理上の責任であり、引き受けたくないと考える人もいます。つまり、ただコードを書きたいだけのプログラマーです。
標準化されたルーブリックがない
DevSecOpsの世界でも、セキュリティにおける摩擦は同様です。企業で利用されているオープンソースソフトウェアが膨大にあるため、コード生成パイプラインを詳細に調査する必要があるのは明らかです。DevSecOpsとそのセキュリティIPの自動化機能を歓迎するソフトウェアチームもあれば、煩わしく感じ、手間をかけずに必要なオープンソースコンポーネントを選択したいと考えるチームもいます。
「環境や、使用されているツール、チーム、アプリケーション、クラウドサービスの組み合わせがどのようなものであっても、DevSecOpsの適用において、あらゆる業界に適用できる標準化された基準は存在しません」とカプール氏は主張する。「そのような基準に従おうとするのは困難であり、場合によっては危険です。」
クラウドコンピューティングの近い将来を構築しようと努力する今、半世紀前の私たちの歩みを振り返ってみるのは良いことです。ソフトウェアがCD-ROMや3.5インチフロッピーディスク、さらにそれ以前はカセットテープ、さらには印刷物といったより原始的な形式で提供されていた時代を覚えている私たちにとって、現代のソフトウェアのスピードは、まるで新しい宇宙をワープスピードで旅しているかのようです。
しかし、私たちは立ち止まってそのように考えることはできません。このリズムは Z 世代にとって第二の性質であり、彼らは現在、ソフトウェア業界の成長の次の段階を推進している人々なのです。
1980年代には、雑誌広告の商品を購入するには、銀行小切手か支払命令書をどこかの郵便局に郵送し、入金を待ってから1~2週間、郵便局員が荷物を届けてくれるまで辛抱強く待つのが常でした。Amazon、Netflix、Uberの時代では、そんなのは馬鹿げているように聞こえます。ソフトウェア自体も今では同様に高速化しており、リリースオーケストレーションの登場はまさに歓迎すべきことです。