ケーススタディ: クラウドに依存しない製品を迅速に構築して提供する方法

ケーススタディ: クラウドに依存しない製品を迅速に構築して提供する方法

2 年前、オブジェクトおよびグラフ データベースのプロバイダーである Objectivity は、クライアントのために新しいデジタル エコシステムの構築に取り組んでいました。クライアントは大きな市場シェアを持っていましたが、技術的に革新的でもデジタルに精通していませんでした。これを解決するため、彼らはポートフォリオを管理するためのソフトウェア プラットフォームを構築する計画を立てました。

[[325346]]

このクライアントの利点は、デジタル資産に近くなり、デジタル エコシステムを最新の状態に保つのが容易になり、より高度なエンドユーザー機能の開発が可能になることです。さらに、ソリューションはサードパーティのシステムや IoT センサーと統合して、より多くのデータを処理してユーザーに提供する必要があります。ビジネスの観点から見ると、これらはすべて「データが新たな金」である理由として最適ですが、時間と予算には限りがあります。

この顧客との話し合いの後、Objectivity は 3 か月後に最小限の実行可能な製品 (MVP) を納品しました。この間、Objectivity はチームを編成し、ビジネス ドメインを理解し、製品ビジョンを作成し、アーキテクチャを定義し、商業化に間に合うように実用的な最小限の実行可能な製品 (MVP) を提供しました。

Objectivity は短期間で非常に多くのことを行う必要があったため、適切な優先順位を設定し、許容できる制限について合意することが重要でした。結果は単なるプロトタイプ以上のものになりました。 Objectivity は、製品の商業的な実証後に潜在顧客がその製品を購入したいと希望する場合、はるかに短い期間で製品を発売できるはずだと予想しています。さらに、プロジェクトをさらに困難にしたのは、製品がクラウドに依存せず、簡単に拡張でき、マルチテナントに対応できる必要があったことです。技術者にとって、これは重要な疑問を提起します。この目標を達成するには、どのような技術的なトレードオフを行う必要があるのでしょうか?

技術的な考慮事項

ソフトウェア側では、ソリューションは、一部のコンポーネントをあまり手間をかけずに変更できるように設計する必要があります。顧客はこれらのオプションを使用する場合(電子商取引の支払いプロバイダーを変更する場合など)もあれば、使用しない場合もあります。データベース エンジンの変更に備えていた古き良き時代を覚えている人も多いかもしれませんが、それ以降、ほとんど変更はありません。

懐疑論者は「ベンダーロックインのリスクはどれほど大きいのか」と疑問に思うかもしれません。また、Google が 2018 年に Maps API の価格を 14 倍 (場合によっては) に値上げしたことを覚えている人もいるかもしれません。これは、脅威が現実であることを証明しています。

では、これはクラウド非依存にどのように当てはまるのでしょうか?クラウドの独立性は簡素化できますか? 「クラウドに依存しないアーキテクチャは誤解である」または「クラウド コンピューティング (およびその速度) を信じるなら、クラウドに依存しないアーキテクチャを信じることはできない」と言う人もいます。次の画像は、利用可能なオプションの範囲を示しています。


この文脈では、クラウド ネイティブとは、特定のクラウド コンピューティング プロバイダーの強み (つまり、パフォーマンスの向上、スケーラビリティの向上、コストの削減) を活用できることを意味します。

一般的に、企業が非依存アーキテクチャに先行投資するほど、クラウド コンピューティング サービスへの切り替えコストは低くなります。しかし同時に、より複雑で非依存的な設計は生産性を低下させ、配信プロセスを遅くします。建築家は、制約にとらわれず、合意された時間と予算の制約を遵守する、満足のいく最適なソリューションを見つけるという課題に直面しています。それで、どうやってそれを行うのですか?たとえば、AWS のエンタープライズ戦略家である Mark Schwartz 氏が提案した切り替えコストを考えてみましょう。彼は企業に以下の点を考慮するよう勧めています。

  • クラウドプロバイダーを離れるコスト。
  • 上記が起こる可能性。
  • クラウド切り替えリスクのコストを軽減します。

さらに、ソリューションの次のような複数の側面を考慮する必要があります。

  • 展開方法;
  • ホスティング モデル。
  • ストレージ;
  • プログラミング言語。

物語は続く

クラウドに依存しないソリューションは、幸運にも災いにもなり得ます。ビジネスの将来の成功につながることもあれば、実現を遅らせることもあります。したがって、資産管理プログラムでは次の側面が重要です。

  • クラウド プラットフォームを切り替えるコスト。企業は、何らかのクラウド プロバイダーの出口戦略を採用しなくても、Microsoft Azure と IBM Cloud の両方でソリューションを実行し、どちらの方法でも意味を成すことができます。
  • 小規模から中規模の先行投資。顧客は多額の先行技術投資を避けたいと考えており、新製品を定義する際には機能実験のための余地を残しておく必要があることを理解する必要があります。
  • 不可能ではありますが、企業はオンプレミスでデータセンターを運用する準備をする必要があります。当時、新製品の潜在的な企業顧客がクラウド プラットフォームのインストールにそのような制限を課す可能性があると想定されていました。

アプリケーション アーキテクチャとそのバリエーションを評価する 1 つの方法は、適応性機能を使用することです。このコンセプトは、進化計算のアイデアを利用して、特定の設計が特定のプロジェクトの重要な目標セットの達成にどれだけ近いかを計算します。

したがって、次のシナリオを想定します。

アーキテクチャの適合性 = 生産性 - 初期投資 - 切り替えコスト + 社内サポート

これを念頭に置いて、次のオプションを検討してください。

解決

すべての要件を満たすため、ハイブリッド アプローチが選択されました。さらに、新しいプロジェクトでのコンテナ化に関しては、企業がベンダーロックインを回避しようとしている場合、考えるまでもないことです。ソリューションの大部分は、管理された Kubernetes クラスターで実行される一連のサービスとワーカーとして .NET Core に実装されています。永続ストレージの設定に時間を無駄にしないために、マネージド PostgreSQL をすべてのコンポーネントの共通データ ストアとして使用します。 Postgres は、複数のクラウド プラットフォームでマネージド サービスとして利用できるオープン ソース データベースです。また、プラットフォームのもう 1 つの重要な側面である JSON ドキュメントもサポートしています。

IoT 統合に関しては、クラウド ネイティブ実装 (Azure IoT Hub など) が選択されました。よりスケーラブルなアプローチを採用するだけでなく、実装もはるかに高速になります。また、必要に応じて、別のクラウド プラットフォームで動作するように簡単に書き換えることができます。コンテナホスト型 IoT ハブの調査結果から、特にセンサーとの双方向通信のサポートに関しては、単一のソリューションでは期待に応えられないことがわかりました。切り替えコストをさらに削減するために、IoT イベントに対して標準メッセージ形式が定義され、メッセージの変換は Kubernetes クラスターの外部 (Azure 関数など) で行われ、残りのすべての処理はクラスター内で行われるようになっています。


最終結果

Objectivity は、Azure クラウド プラットフォーム上で実行されるソリューションを、顧客への商用デモに間に合うように提供しました。データ ストレージのトレードオフは、長年にわたり実証されてきました。 Objectivity は自社製品の一部を Azure および IBM Cloud プラットフォームにインストールしており、すべての機能が正常に動作しています。 Kubernetes もうまく機能します。ただし、プロバイダーごとに微妙な違いがあることを覚えておくことが重要です。たとえば、Ingress コントローラーは IBM Cloud Platform では自動的にインストールされますが、Azure Cloud Platform では自分でインストールする必要があります。さらに、Kubernetes にはクラウド プロバイダーごとに異なるストレージ クラスがあります。

プレゼンテーションの数か月後、Objectivity は IoT Watson を使用して 2 番目の IoT インスタンスも開発し、クラウド ネイティブ アプローチが適切なトレードオフであることを証明しました。ただし、さまざまなキューの実装間の違いに注意することが重要です。特に .NET の経験がある場合、Azure Service Bus を使用して新しい機能を提供するのは非常に簡単です。ただし、RabbitMq に切り替えた後、特定のキューイング機能がサポートされていないことに気付く場合があります。この段階では、顧客がコードにそれらを実装する必要があり、不必要な複雑さが生じます。これらの課題を回避するには、高速配信のために既に知られているものを選択するのではなく、最初からキューに依存しない実装に固執してください。

<<:  VMware のブリッジ ネットワークと NAT ネットワーク モードを理解する方法

>>:  マルチクラウド アーキテクチャにおける 3 つの一般的なパフォーマンスの課題と解決策

推薦する

k8s に最適な PaaS ソリューションを見つけるにはどうすればよいでしょうか?

[[325295]]近年、Kubernetes は多くの人々の注目を集めるようになりました。現実には...

5G 時代において、通信事業者はどのようにして「クラウド」の空に到達できるのでしょうか?

近年、国内の事業者はクラウドコンピューティング市場の開拓に多大な努力を払い、クラウド分野で独自の領域...

hawkhost をおすすめします - 仮想ホストが 25% オフ、VPS が 50% オフ (softlayer Singapore)、Alipay が利用可能

Hawkhostは本日午後2時から24時間の特別プロモーションを実施しており、仮想ホスト、再販業者、...

トラフィック詐欺は業界の評判を脅かします。広告費用の無駄を防ぐにはどうすればよいでしょうか?

データの改ざんはおそらく業界では公然の秘密だ。蔡旭坤のWeibo投稿が1億回以上転送されて以来、偽ト...

Virpus レビュー

数日前、virpus が SSD CACHE ハードディスクを搭載した新しい Xen VPS をリリ...

年間KVM-256Mメモリ/KVM/年間10ドル/その他の構成

annualkvmはshardhost傘下の新しいブランドです。設立されたばかりで、主に年間払いのK...

kvmla-シンガポールVPS、日本VPS、香港VPS、米国VPS、すべて20%オフ

– LLC の kvmla は 9 月に大規模なプロモーションを開始しました。シンガポール VPS、...

トラフィックの少ないウェブサイトでは無料のプロモーション方法は効果的でしょうか?

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますほとんどの...

事例+データ | 教育産業への投資効果は低いのか?それは正しいチャンネルを選択しなかったからです。

毎年7月から9月にかけて夏休みが来ると、学生たちはさらに2か月間の自由時間を持つことになります。これ...

ウェブサイト最適化のヒント: ウェブサイトリンクの最適化テクニック

情報ネットワーク時代において、電子商取引の成熟度が高まり、オンラインショッピングが徐々に普及するにつ...

ゲーム情報フロー広告のクリック率を上げるには?

ゲームの広告はなぜこんなにも混乱しているのでしょうか? 01パソコン上で最も人気のある広告は、かつて...

ウェブマスターネットワークからの毎日のレポート:Twitter の電子商取引企業への転換は、価格戦争の早期終結につながる可能性がある

1. 草の根は儲かる、新浪は損をする、微博は2つの異なる状況に直面中国国際放送、北京、8月20日。経...

Vaicdn: バックアップ CDN は不要、帯域幅が広く、防御力が高く、アジア太平洋地域のノードが多数あり、攻撃によるレイテンシへの影響がない

プロフェッショナルな CDN プロバイダーである Vaicdn は、常に大きな帯域幅、高い防御力、低...

クラスターのネームスペースを削除できないのはなぜですか?

背景今日議論する問題は、K8s クラスターの名前空間に関連しています。名前空間は、K8s クラスター...