クラウドネイティブ テクノロジーは、アプリケーションの構築と実行の方法を変えています。クラウドは動的で、拡張性と回復力に優れており、デジタルファーストの世界で迅速に競争するために必要なすべてのツールを企業に提供するため、企業はこのアプローチを選択しています。
クラウド ソフトウェアと従来のアプリケーションを比較する場合、違いを理解する最も簡単な方法の 1 つは、丘を転がる雪玉を想像することです。従来のアプリケーションは成長するにつれて、負担が大きくなり、変更が難しくなり、レガシー プロセスによって動きが取れなくなる可能性があります。ビジネスのニーズを満たすのに苦労し、技術的負債がどんどん膨らんでいきます。一方、クラウド ネイティブ テクノロジーは、アプリケーションの構築方法と実行方法を根本的に変え、スケーラビリティを向上させます。雪玉を作るのではなく、氷の彫刻家のように、アプリケーションを正確かつ適応的に形作り、現代のビジネス環境の絶えず変化する要求にシームレスに対応するソリューションを作成します。
クラウドネイティブ 「クラウドが登場する前は、物理インフラストラクチャ上のソフトウェア開発プロセスは異なっていました」と、Veeam Software のシステム エンジニアリング マネージャーである Ian Engelbrecht 氏は言います。「開発プロセスから QA [品質保証] に、そして本番環境に何かを引き継ぐ場合、ワークロード全体を維持する必要がありました。DevOps パイプラインの開発タイムラインは、OS 全体を移行および移動し、OS に対してコードを設計、開発、テストする必要があったため、はるかに長くなりました。
「しかし、オペレーティング システムに依存しなくなると、仮想化テクノロジやハードウェアにも依存しなくなります。これらのワークロードをクラウドに移行することがはるかに簡単になります。」
エンゲルブレヒト氏は、クラウド ネイティブという用語の由来はここにあると説明しています。インフラストラクチャやオペレーティング システムに依存しないアプリケーションを設計するということは、オンプレミスのコードを、そのソフトウェアに最適なハイパースケーラーに移動できることを意味します。「Amazon Web Services (AWS) や Microsoft Azure などのハイパースケーラーを使用できるため、インフラストラクチャを用意する必要はありません。そのため、非常にシンプルになります」と同氏は言います。
クラウドが開発プロセスにもたらしたもう 1 つの変化は、開発者がハイパースケーラー マーケットプレイスの as-a-service 製品を活用できることです。これにより、開発者は基盤となるインフラストラクチャを自分で管理することなく、データベース、分析、AI/ML などのサービスを利用できます。これらのサービスは、アプリケーションや開発パイプラインに迅速かつオンデマンドで統合できるため、インフラストラクチャのメンテナンスのオーバーヘッドがなくなり、開発サイクルが加速します。「これにより、企業はシームレスに、はるかに簡単に開発および研究開発サイクルを加速できます」と Engelbrecht 氏は述べ、AI を as-a-service として利用できることは、クラウド ソフトウェア開発にとってゲームチェンジャーであると付け加えています。「Azure の Copilot のような会話モデルや大規模言語モデルを使用すると、そのテクノロジを開発パイプラインに接続できるため、開発者はコードの開発が簡単になります。」
クラウド マーケットプレイスで提供されている AI サービスは、ログを分析することでデバッグ中に問題を絞り込むのに役立ちます。「開発者は AI を使用することで、すべてのコードが適切で、適切に動作し、バグや潜在的なセキュリティ リスクがないことを保証できます。マイクロソフトは基本的に、開発パイプラインに組み込むことができる AI サービスを貸し出しているのです」とエンゲルブレヒトは言います。
クラウド ネイティブ アプリケーションの構築は、考慮すべきさまざまなコンポーネントとレイヤーがあるため、複雑になる可能性があります。適切に管理されない場合、企業のセキュリティ リスクが増大し、クラウド ネイティブ ソフトウェア開発ライフサイクル内でデータ侵害、不正アクセス、コンプライアンス違反の問題が発生するリスクが生じます。
Dariel の CTO オフィスのソリューション アーキテクトである Dirk Ras 氏は、開発者はアプリケーションのセキュリティを意識する必要があると述べています。「標準的な防御プログラミング対策を適用する必要があります。これは実行する必要があるソフトウェアの一部であり、たまたまクラウドで実行されているだけです。」彼は、ソフトウェア セキュリティの基本はクラウドでも従来の開発と同じであると付け加えています。「SQL インジェクションやクロスサイト スクリプティングなど、これらの攻撃ベクトルはすべてなくなるわけではありません。依然として考慮する必要があり、軽減する必要があります。」ハイパースケーラーの多くは、クラウド アプリケーションを特定の地域、ユーザー、さらには特定の仮想プライベート ネットワークに制限できるきめ細かい権限を提供しています。「開発者は、資格情報を非公開にすることに特に注意する必要があります」と、Flow Communications の CTO である Richard Frank 氏は言います。「API キーを公開するのは非常に簡単ですが、悪意のある人物は数秒でそれを検出し、何百万ものスパム メールを送信したり、サーバー フリートでビットコイン マイニング ソフトウェアを実行したりするために使用します。」
「API キーを公開するのは非常に簡単です。悪意のある人物はそれを数秒で検出し、何百万通ものスパムメールを送信したり、サーバー群でビットコイン採掘ソフトウェアを実行したりするために使用します。」
クラウドには追加のセキュリティ対策が必要です。たとえば、セキュリティ構成は不可欠です。「セキュリティ グループの構成は最も重要です。クラウド アプリケーションへの侵入があった場合、通常はこれが原因です」と Ras 氏は警告します。「セキュリティ グループが適切に構成されておらず、アプリケーション スタック全体に広く開かれたアクセスが許可されている場合、それは重大なセキュリティ上の欠陥です。クラウド ストレージ ソリューションについても同じことが言えます。アクセス制御が正しく実装されていない場合、完全に無防備な状態になる可能性があります。」Ras 氏は、AWS の Identity and Access Management (IAM) Access Analyzer や Google の Cloud Security Scanner など、さまざまなクラウド プロバイダーが提供するセキュリティ アナライザーの使用を提案しています。「すべてのクラウド プロバイダーには、使用できるセキュリティ アナライザーがあり、それらを継続的にメンテナンスする必要があります」と Ras 氏は言います。
クラウド セキュリティに関しては、パブリック、プライベート、ハイブリッドのセットアップを区別することがソフトウェア開発にとって重要です。クラウド セットアップによってセキュリティへの影響と要件が異なるためです。「プライベート クラウドはリソースを他者と共有しないためセキュリティが優れているという認識がありますが、コストとメンテナンスの責任が高くなります」と、Microsoft 南アフリカの CTO 兼コマーシャル ソリューション エリア ディレクターの Colin Baumgart 氏は言います。「プライベート クラウドの方がはるかに安全だという考えもありますが、私たちが目にした攻撃のほとんどはオンプレミスで発生しています。」ハイブリッドとマルチクラウドは今日のビジネス環境の現実であり、セキュリティを簡素化する方法を見つけることが重要です。「Microsoft Defender for Cloud は、企業がソフトウェア開発プロセスの早い段階で優れたセキュリティ プラクティスを組み込むのに役立ちます」と Baumgart 氏は言います。「コード管理環境とコード パイプラインを保護し、開発環境のセキュリティ体制を 1 か所から把握できます。」Microsoft Defender for Cloud に加えて、Baumgart 氏は、新規および既存のハードウェア、仮想化および Kubernetes プラットフォーム、IoT デバイス、統合システムの両方で実行される Microsoft のマルチクラウド管理ソリューションである Azure Arc について言及しています。 「これにより、お客様は一貫した開発、運用、セキュリティ モデルを使用してクラウド ネイティブ アプリケーションを開発し、既存の投資を活用してクラウド ネイティブ ソリューションで最新化することができます」と彼は言います。Kubernetes 内のデータ保護 (マイクロサービス、コンテナー、永続データ) は、セキュリティと災害復旧に不可欠です。ソフトウェア開発の文脈では、これら 3 つが侵害された場合、Veeam のようなサービスを使用すると、コードを簡単にリフト、シフト、および復元して必要なプラットフォームに復元できるため、開発者は作業を継続できると Engelbrecht は言います。「Azure がダウンした場合は、AWS でデータを取得して、作業を続行できます。元に戻すかどうかは選択できます…または元に戻さないか」と Engelbrecht は述べ、ビジネス継続性はコードを誤って削除しないように保護することも意味すると付け加えています。「企業がオンプレミスからクラウド全体にワークロードを移動できるようにする保護されたデータ レイヤーを持つことが、データの自由です。」
クラウド テクノロジーを導入すると、組織はこれまでにない俊敏性、拡張性、回復力を獲得できます。クラウド開発は、従来のソフトウェア開発手法に内在する複雑さと非効率性の雪だるま効果に対する障壁となります。このアジャイルな開発アプローチにより、技術的負債の蓄積が最小限に抑えられ、変化する市場動向に対するアプリケーションの適応性と応答性が確保されます。
* この記事は brainstorm.itweb.co.za に最初に掲載されました
ITWeb は、南アフリカ報道評議会の「FAIR」スタンプを誇らしげに掲げています。これは、当社の報道が真実、正確、公正であることを規定する印刷およびオンライン メディアの倫理規定を順守するという当社のコミットメントを示しています。当社のニュース報道について苦情を申し立てたい場合は、報道評議会の Web サイト www.presscouncil.org.za で苦情を申し立てるか、苦情を enquiries@ombudsman.org.za に電子メールで送信してください。報道評議会へのお問い合わせは、011 4843612 まで。
元記事: https://www.itweb.co.za/article/coding-in-the-cloud/KzQenvjyEo4qZd2r