クラウドネイティブコンピューティングは技術的負債を排除できますか?

クラウドネイティブコンピューティングは技術的負債を排除できますか?

[[415169]]

[51CTO.com クイック翻訳]クラウド ネイティブ コンピューティングは、業界主導の設計、GitOps、その他の最新のソフトウェアのベスト プラクティスを統合することができ、企業が適切に実装すれば技術的負債を削減できます。

クラウド ネイティブ コンピューティングは、アプリケーション開発からソフトウェア アーキテクチャ、そしてすべての稼働を維持する基盤となるインフラストラクチャまで、現代のテクノロジーのあらゆる側面に関係するエンタープライズ IT の新しいパラダイムです。

クラウド ネイティブは、企業に技術的負債を解消する機会を提供します。たとえば、Kubernetes のような「ほうき」を使用すると、既存のテクノロジーのほこりっぽい隅々まで掃除することができます。したがって、クラウド ネイティブによって、長年にわたって蓄積された技術的負債が最終的に解消されると考えるのは理にかなっています。

これは論理的かもしれませんが、現実的ではありません。技術的負債は長期間にわたって存続することがよく知られています。さらに、どの CIO も、前任者が残した混乱を一掃するために IT 予算を無駄にするよりも、新しいテクノロジーや新しいものに IT 予算を費やしたいと考えています。

しかし、クラウド ネイティブに期待できる理由もあります。クラウド ネイティブは魔法のほうきではありませんが、その中核となるプラクティスは、企業が技術的負債を削減し、少なくとも以前ほど負債を増やすことなく新しいソフトウェア機能を提供するのに役立ちます。

新たな負債が発生しないようにビジネスで技術的負債を解消することは確かにパズルの一部ですが、より差し迫った問題は、既存のレガシー技術的負債をどのように返済するかということです。

長年にわたり、私たちのインフラストラクチャには、便利なショートカット、扱いにくいコーディング、さまざまなインターフェースが絡み合った混乱が形成されてきました。この困難な問題に対しては、「迅速かつ断固とした」対策を講じる必要があるかもしれない。

クラウド ネイティブ コンピューティングは、ドメイン駆動設計に基づくアーキテクチャの再構築という、非常に鋭いナイフです。ドメイン駆動設計では、複雑なエンタープライズ ソフトウェアの課題を、それぞれが「境界付けられたコンテキスト」を持つ個別のビジネス ドメインに分割する必要があります。

境界付けられたコンテキストは、ビジネス ニーズに基づいて「顧客」や「請求書」などのビジネス上の問題を解決するためにコンテキストを制限できます。たとえば、大企業の異なる部門では、顧客の概念が異なっている(重複している可能性もある)場合があります。それぞれが別個の境界付けられたコンテキストを表します。

マイクロサービス アーキテクチャの初期の調査により、相互接続されたマイクロサービスが急増しましたが、その複雑さがスケーラビリティの制限としてすぐに明らかになりました。境界付けられたコンテキストを通じてそれらを整理することが、この複雑さを管理し、マイクロサービス ベースのソリューションを大規模に提供するための鍵となります。

したがって、ドメイン駆動設計はクラウド ネイティブ コンピューティングの一部となり、さらに、この新しいパラダイムに従ってレガシー資産をどのように最新化する必要があるかを示します。

技術的負債の多いレガシー ソフトウェアの課題に対処するための最初のステップは、アーキテクチャのリファクタリングを適用して、レガシー アーキテクチャを境界付けられたコンテキストを持つモジュール要素に変換することです。言い換えれば、企業は技術的負債を削減するための道筋を導くために、ビジネス主導の境界付けられたコンテキストに従ってモジュール性を導入する必要があります。

そして、悪魔は細部に潜んでいます。組織が直面しているビジネス ニーズと従来の課題に応じて、この再構築をいくつかの方法で活用できます。

  • 境界付けられたコンテキスト内の既存のコードが、現在の要件を満たしていないことに気付く場合があります。この場合、コードをマイクロサービスとして書き直すことができます。
  • 従来のビジネス ロジックにまだ価値がある場合は、それをマイクロサービスに移行します。
  • レガシー モジュールは、既に便利な API を備えているか、レガシー コードが更新されて API 経由で公開されるため、API として公開できます。
  • ロボティック プロセス オートメーション (RPA) プログラムを使用して、レガシー モジュールと対話するスクリプトを作成できます。

レガシー ソフトウェアは以前に再編成され、境界付けられたコンテキストにモジュール化されているため、上記の 4 つのアプローチはそれぞれ他のアプローチよりもシンプルであることに注意することが重要です。

さらに、技術的負債を分割する「分割統治」アプローチにより、必要に応じて将来のリファクタリングがより簡単になります。たとえば、企業にとっては、1 つの大きな技術的負債を返済するよりも、4 つの小さな技術的負債を時間をかけて返済する方が簡単な場合があります。

このアプローチは、RPA の脆弱性を軽減する最良の方法の 1 つでもあります。境界付けられたコンテキストに基づくアーキテクチャのリファクタリングがなければ、アプリケーション環境のどこかで何かが変更されると、そのようなボットは機能しなくなります。適切に区分化することで、このような障害はより管理しやすくなり、修正も容易になります。

新たな技術的負債の防止

新たな技術的負債を防ぐことは、部屋をきれいに保つように頼むようなものです。しばらくはきれいな状態を保てるかもしれませんが、最終的には乱雑になってしまいます。

必要なのは、さらなる構造ですよね?少なくともクラウドネイティブの場合には、その構造は役立ちます。

クラウド ネイティブ コンピューティングは、ソフトウェアの構築、インフラストラクチャの構成、アプリケーションの作成と展開、運用環境におけるすべての管理を最適に行う方法を説明する幅広いベスト プラクティスを提供します。

もちろん、このアドバイスをすべて実行すれば、新たな技術的負債が発生する可能性は低くなります。少なくとも、発生する速度は遅くなります。

「Infrastructure as Code」(IaC) の原則が重要な例です。 IaC の原則では、作業者は運用中のサーバーを操作してはならないと規定されています。 IaC の原則は、運用上の問題を解決するための積極的なアプローチを提供するため、運用における追加の技術的負債を確実に制限できます。ただ 1 つ問題があります。それは、IaC だけでは不十分だということです。

IaC の問題は、さまざまなプログラムを記述する必要があることです。これらのプログラムは、他のプログラムと同様にテスト、管理、バージョン管理する必要があります。つまり、他のソフトウェアと同様に技術的負債が発生する可能性があります。

幸いなことに、クラウド ネイティブ コンピューティングは IaC を超えて進化しており、各ステップで前のステップよりも改善されています。

  • 最初のステップは、宣言的な構成を通じてインフラストラクチャを表現することです。宣言的な構成では、インフラストラクチャを構成する方法を指定しますが、その構成を実現する方法を指定しません。

IaC と比較すると、宣言型アプローチではショートカットの余地が少ないため技術的負債が軽減されますが、これらの表現 (通常は YAML ファイルまたはその他の JSON ベースの形式) は、特に複雑で動的なインフラストラクチャ構成の場合、依然としてコードと非常によく似ています。

  • ステップ 2: GitOps。 GitOps は、Git 中心のプラクティスとプロセスをソフトウェアのリリースと管理に導入します。

GitOps はソフトウェアのデプロイメントに宣言的なアプローチを採用しているため、インフラストラクチャ構成に対する宣言的なアプローチをさまざまな方法で補完します。 GitOps は、プロセスにさらなる構造を提供することでさらに一歩進んでおり、構造が強化されるほど、技術的負債が発生する可能性が低くなります。

  • 3 番目のステップは、現在の最先端技術であるインテント ベース コンピューティングです。

インテントベース コンピューティングは、次の 3 つの部分で構成されます。

  • 技術戦略の形式での関連ソフトウェア (インフラストラクチャ、アプリケーション コードなど) の宣言的表現。
  • ビジネス ポリシーなどの技術ポリシーのこの抽象化は、基礎となる構成のビジネス上の意図を表現します。
  • 基盤となるソフトウェアがこのビジネス目的に準拠していることを保証し、ポリシーの適用におけるポリシーのドリフトを排除するメカニズム。

言い換えれば、インテントベース コンピューティングは宣言型の構成アプローチと GitOps を採用し、追加の構造を追加することで、基本的にクラウド ネイティブ環境全体が時間の経過とともにビジネス インテントと一致することを保証します。

この種のコンプライアンスは、技術的負債の混乱を切り抜ける最良の手段です。

記事タイトル: クラウドネイティブコンピューティングは技術的負債を解消できるか?、著者: Jason Bloomberg

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  Hightouch は、ウェアハウスと SaaS アプリケーション間でデータを同期するために「リバース ETL」をどのように使用しますか?

>>:  雲が増えればパワーも増える?マルチクラウド アーキテクチャに隠された 11 の秘密をご存知ですか?

推薦する

成功するウェブサイトは宣伝によって作られ、活動の宣伝の詳細

数日前、Web サイトの構築には、ビジネスを運営するのと同じように宣伝が必要であることをお伝えしまし...

推奨: CorgiTech の VMware ベースの VPS (ネットワーク対応)

この生涯 50% 割引コード: CORGI50オプションのオペレーティング システム: Linux ...

地域の伝統的な中小企業のネットワークマーケティングに関する私の意見

昨年、SEO としてこの中小企業に入社して以来、私は地元の伝統的なビジネスの発展を徐々に理解するよう...

ゲーミフィケーションのユーザー成長戦略に関する最も包括的なガイド

01. 「AARRR」の理論的定義オンラインインターネットトラフィックの浸透がますます集中するにつれ...

usdedicated - $45/E3-1270/8G メモリ/1T ハードディスク/1Gbps/無制限トラフィック/ロサンゼルスを含む 6 つのデータセンター

usdedicated は突然、大規模なプロモーションを開始し、6 つのデータセンターに同時に特別な...

ロングテールキーワードをうまく活用すれば、Baiduの重みを簡単に得ることができます。

以前、ある男性が朱偉坤に友好リンクの交換を依頼しました。私はどのウェブサイトかと尋ねました。彼は小説...

ウェブサイトを「改善し続ける」ための複数のアプローチ

筆者はこれまで5~6のウェブサイトを運営してきました。最近、自分が手がけたいくつかのウェブサイトを分...

SEOにおけるウェブサイト構造の大きな役割を分析する

ウェブサイトの構造は、その性質に応じて論理構造と物理構造に分けられ、ウェブサイト内のページ間の階層関...

#BlackWeek5# 中小規模の VPS 販売業者向けのプロモーション コレクション、1 つの投稿ですべて読む

まず最初に警告しておきます。この投稿は非常に長くなる可能性があります。すべての VPS 販売業者につ...

Kazila - 年間 38 ドル / Xen / 256 MB メモリ / 5 GB SSD / 200 GB トラフィック / G ポート / ダラス

老舗でもあるカジラが、メモリが少ない特別版VPSをリリースしました。256MメモリのVPSが販売され...

ベテランウェブマスターが語る: SEO 担当者の将来はどこにあるのでしょうか?

実は、SEOerの育成や将来という話題は、多くの人から言及されています。私が今日このような話題を繰り...

インターネット製品の位置付けは盲目的に決めるべきではない

製品をどのようにポジショニングするか?製品の特徴とターゲット顧客に基づいて、製品を直接ポジショニング...

Suiningのローカル求人ウェブサイトでは、テレマーケティングを簡単にマスターする方法を教えています

テレマーケティングは、1980 年代に米国で登場した比較的新しい概念です。消費者志向の市場の形成と電...

ペットサイト運営の収益化方法の分析

著者の理解によれば、2000 年初頭から、海外では新しいペット ウェブサイト、特にコミュニティ ペッ...