迅速な変更を遅くし、規模を拡大しないテクノロジープラットフォームは、あらゆる小さな事柄が重要な場合に激しい競争に直面してEコマースをクラッシュさせる可能性があり、それにより販売コンバージョンを10分の1パーセント増加させるか、広告コストを少なくともわずかに削減するか、サービス。
Fortune 500企業に1日あたり数万人が参加する国際Eコマースプロジェクトの実装における10年以上の経験から、Eコマースのプラットフォームを変更する主な理由は次のとおりです。
- 技術スタックの変更。
- コンピテンシーの喪失(開発チームの出発)-特に、自作の社内システムに典型的です。
- 変更を加えることの難しさ。
- スケーリングが困難または不可能。
- クラウドへの移行の現在の傾向。
そして、結果として-上記のビジネス上の問題につながる競合他社と比較して技術的な遅れの出現。
私たちのブログはどうなるのでしょうか?
このブログは、E-Commerceでの経験を表しています。これは、時間が経つにつれてVirtoCommerceプロジェクトに成長しました。これは、B2BまたはB2C Enterprise E-Commerceソリューションを作成するためのアーキテクチャと基本ブロックを含む.NetおよびMS Azureに基づくオープンソースプラットフォームです。
プラットフォーム自体だけでなく、大規模なeコマース向けのプロジェクトを作成することで、以下に関する独自の見解を獲得しました。
- アジャイル開発プロセス。
- 製品の品質管理;
- DevOpsプロセスの自動化(プラットフォーム自体の開発中およびクライアントプロジェクトの両方);
- 企業の負荷の高いEコマースソリューションに必要な最新のクラウドITインフラストラクチャの構築。
ブログでは、次のトピックに関する情報を見つけることができます。
- アジャイル開発プロセスのビジョン。
- 開発中に使用するチーム構造とプロセス。
- JenkinsでPipelineを起動して60以上のモジュールのアセンブリを自動化するための手順と開発。
- 品質管理のための自動E2Eテストの使用。
- クライアントプロジェクトで得られた結果と大規模展開のケース。
- さまざまなタスクにAzureサービスを使用した経験。
- eコマースプロジェクトを.NET Coreプラットフォームに移行するプロセス。
危険にさらされているものを理解してこれらの出版物を読むために、Virto Commerceプラットフォームの使用方法と使用方法について少し説明します。
エンタープライズeコマースの顧客は誰ですか?
エンタープライズEコマースは、中小規模のオンラインストアとは大きく異なります。 1日あたり10件または100件の注文で機能するビジネスプロセスは、1日あたり1,000件以上の注文では機能しません。 注文の量だけでなく、他の問題によっても生じる違いがあります。
- さまざまなメーカーのカタログおよびそれらの価格設定モデルの多数のカタログのサポートを必要とするB2Bオンライン販売。
- いくつかの国で営業しているB2Cストアは、注文、支払い方法、およびさまざまな会社を介したさまざまなページへの配信のすべての付随機能を備えています。
- たとえば、オンラインのボリュームに応じて、販売される商品のコストを調整するなど、独自のビジネスプロセスを持つ店舗。
- 開発された流通システム、フランチャイズなどのB2Bプロジェクト
私たちは定期的にそのようなクライアントに出会い、私たちのプラットフォームの主な機能が最初に書かれたのは彼らの下ででした。 もちろん、エンタープライズは特別な機能であるだけでなく、特別な負荷でもあります。 弊社のお客様の中には、ブラックフライデープロモーションが開催される米国からの多くの大規模なオンラインストアがあり、トラフィックが1日に10回以上増える可能性があります。 これにより、このようなプロジェクトのプラットフォームの復元力に対する要求が高まり、お客様にも提供しています。
プラットフォームについて少し
私たちは、製品をできるだけオープンで透明にすることを目指しています。これにより、その使用のリスクが軽減されます。 プラットフォームとそのモジュールのすべてのコード、および開発プロセスは、 GitHubのパブリックドメインで利用できます 。
コード品質評価の結果は、 SonarQubeのクリアテキストでも入手できます。
プラットフォームは、Microsoftの最新のテクノロジースタック(.NET Framework、.NET Core、Entity Framework、ASP.NET)上に構築されています。
エンタープライズeコマースのパフォーマンスに特に注意を払い、これに基づいてテクノロジーを選択します。 インタラクティブなユーザーインタラクションには、Angularが使用されます。Angularはオープンで、有名で、大きなコミュニティを持っています。 そのモジュール性、膨大な数の既成ソリューションの存在、MVCアーキテクチャの使用、適切なアプローチにより、開発の速度が向上します。 フルテキストカタログをすばやく検索するために、ElasticSearchが使用されます。これはペタバイトのデータにスケーリングし、非正規化を使用して検索品質を向上させ、Wikipedia、GitHub、StackOverflowなどの大規模プロジェクトで使用されます
このプラットフォームは、マルチチャネルおよびマルチ言語ソリューションの作成をサポートしています。 前述したように、エンタープライズeコマースプロジェクトは一度に複数の国で販売されることが多いため、こうした機能のサポートは絶対に必要です。
企業でよく見られるB2Bコマースで作業するために、物理ディレクトリおよび仮想ディレクトリで作業することができます。これにより、製造業者またはサプライヤのカタログからメインカタログを自動的に編集したり、特別な価格設定メカニズムを導入したりできます。
プラットフォームの主な利点の1つは、私たちの意見では、そのモジュール性です。これにより、開発速度が速くなり、スケーリングが容易になり、フォールトトレランスが向上します。 「すぐに使える」クライアントアプリケーション(Webアプリ、モバイルアプリなど)とサーバー側は分離されています。 システムのすべての要素は、カタログ、価格設定、バスケット、注文など、個別の独立したモジュールとして表示されます。...ソリューションを構築するときに、使用するモジュールと使用しないモジュールを決定できます。 そして、もちろん、欠落している機能を実装するために、独自のモジュールを作成できます。
プラットフォームはさまざまな構成で展開できるという事実にもかかわらず、クラウドで作業する場合に最大の利点が得られます。 Microsoft Azureを選択したことがあります。 この場合、Azureサービスを使用してソリューション全体の有効性を高めることが可能になります。
- 自動スケーリング
- 監視ツールとしてのApp Insights
- 統合用のロジックアプリ(BizTalk Cloud Edition)
- リソースを保存するためのBlob Storage + CDN
Azureの機能は、リエンジニアリングを除く信頼性とスケーラビリティを備えた多くの潜在的な問題を既に解決しています。 ネイティブコロケーションと比較しても、システムパフォーマンスは同等であり、アクセスポイントをクライアントに近いサーバーに配置すると、レイテンシが改善されます。
ブログでは、クラウドホスティングの助けを借りて、米国のブラックフライデー/サイバーマンデーの間に1日に10回トラフィックが増加するなどの深刻な負荷にどのように耐えることができたかに関する情報を見つけることができます。
おわりに
エンタープライズEコマースプロジェクトは、開発プラットフォームに特別な条件と要件を課します。 迅速に開発し、安価に保守し、簡単に変更し、高い耐障害性を備えていることは、特に顧客から高く評価されています。 今後の記事では、Virto Commerceプラットフォームを使用してエンタープライズeコマースプロジェクトを実装する方法、直面する課題、およびそれらを克服する方法について説明します。
以下は、ブログで近々取り上げる予定のトピックの短いリストです。
- アジャイル開発プロセスの実際のビジョン
- 開発で実践するチーム構造とプロセス。
- 多数のモジュールのGitHubコードストレージ、およびクラウド展開環境での独自のCI、CDプロセスの説明。
- 品質管理のための自動E2Eテストの使用。
- クライアントプロジェクトで得られた結果と大規模展開のケース。
- さまざまなタスクにAzureサービスを使用した経験。
- eコマースプロジェクトを.NET Coreプラットフォームに移行するプロセス。