Shopifyのテックスタックとは何ですか

公開: 2023-06-08

序章

Shopify は、175 か国以上の 200 万人の e コマース起業家に知られている名前です。 eコマース ビジネスを始めた人なら誰でも、このサブスクリプション ベースのプラットフォームとストアフロント ビルダーについて聞いたことがあるでしょう。

Shopify が絶大な人気を誇るのは、その見事な UI と最新の技術スタックの組み合わせによるものです。 オンライン ビジネスをゼロから構築、サポート、カスタマイズ、拡張するためのツールとコーディング言語の完全なセットを提供します。

そのリポジトリには、店頭テンプレート、支払いゲートウェイ、POS ソフトウェア、ショッピング カート、マーケティング ツール、購入ボタンなどが含まれています。 この記事では、利用可能なツール、対応するコーディング言語のサポート、新しい開発など、Shopify の技術スタックについて説明します。

テクノロジースタックの意味

テクノロジー スタック (別名テクノロジー スタック) は、SaaS 製品を構築するために必要なツール、アプリケーション、ソフトウェア、コーディング言語をまとめたものです。 言い換えれば、技術スタックは、Web アプリケーションとビジネス エコシステムを作成、実行、管理、拡張するために必要なインフラストラクチャです。

技術スタックによって、構築される新しいアプリの種類、行われるカスタマイズのレベル、プラットフォームの効率的な機能が決まります。 これには、フロントエンドとバックエンドという 2 つの主要コンポーネントで構成されるテクノロジーが含まれます。 一般的な技術スタックには、Web ブラウザ、プログラミング言語、フレームワーク、データベース、Web サーバー、オペレーティング システムが含まれます。

Shopify テクノロジースタックの基本

Shopify は、技術に熟達した起業家と初心者の起業家の両方にとって、便利で使いやすく、スケーラブルなプラットフォームです。 ストアフロント ビルダーは、包括的で柔軟なソフトウェア開発キット (SDK) のおかげで最小限のコーディングで済みます。

新人の技術者は、あらゆる Web サイトのテーマ、カスタマイズ可能な Web サイト テンプレート、ドラッグ アンド ドロップのデザイン ツール、簡単なコーディング言語を試すことができます。 ただし、Web およびアプリケーション開発者は、Shopify のヘッドレス API のコンポーザブル スタック、ホスティング サービス、および React ベースのソフトウェア フレームワークを完全に利用して、新しいアプリを構築し、Shopify ストアをカスタマイズできます。

現在、Shopify の App Store には、約 50 のネイティブ アプリと 4000 以上のサードパーティ アプリケーションがあります。 平均 API 応答時間は 100 ミリ秒未満です。 各店舗で 1 分間に 40,000 件のチェックアウトを簡単に処理できます。 同時に、 QR コードジェネレーターや利益率計算ツールなどの無料の組み込みツールやウィジェットがいくつかあり、ビジネスを簡単にセットアップできます。

これらはすべて、Shopify の広範な技術スタックのおかげで可能です。 Shopify の技術スタックの歴史と最新の追加機能をまとめたものは次のとおりです。

Shopify とそのアプリを構築したテクノロジー

Shopify の優れたデータ遅延記録は、Ruby on Rails フレームワークの強固な基盤の結果です。 Shopify の創設者 Tobi Lutke は、Ruby on Rails の最初のバージョンを使用してプラットフォームを構築し、Shopify を既存の Rails アプリの中で最も古いものの 1 つにしました。

Shopify コア アプリは Rails モノリスであり、ドメイン固有のアプリのほとんどはこのフルスタック フレームワークで書かれています。 いくつかの例には、 Shopify Shipping 、Identity およびその App Store が含まれます。 Shopify は、Ruby on Rails の従来のコードを維持することに加えて、最新の追加として Node.js を備えた JavaScript などの他のフレームワークも歓迎しています。

Shopify データベースに使用されるテクノロジー

Shopify のデータベースの歴史は、コードベースよりも多くの変更を受けています。 その取り組みは、リレーショナル データベースとして MySQL から始まりました。 しかし 2014 年には、膨大なデータをすべて MySQL に保存することがますます困難になってきました。 そこで、データをより小さな部分に分割し、複数のデータベースに保存し始めました。 このフェーズはシャーディングと呼ばれていました。

シャーディングのために、Shopify は Memcached (メモリ キャッシュを保存するため) や Redis (キーと値とキューを保存するため) などのデータベースを使用しました。 このソリューションで問題は解決されたように見えましたが、それでも大規模なシステム中断を引き起こしました。

このため、現在、Shopify はポッドを使用して、独自のデータストアを持つ Shopify プログラムのインスタンスを作成しています。 これは、サービス停止の問題の解決に役立ちました。 Shopify のデータベース技術スタックは、Kubernetes、Docker、Google Kubernetes Engine を組み合わせたものを使用しています。 ロードバランサーには Nginx、Lua、OpenResty が使用されます。

Shopify の管理者を構成するテクノロジー

Shopify は、販売者や開発者に利便性の層を追加するクライアント側の管理スタックに関して、その技術スタック製品を多用途に備えています。 それは、ランディング ページや商品リスト ページの作成などのフロントエンド アプリケーション用の HTML および jQuery テンプレートから始まりました。

しばらくの間、Batman.js とシングル ページ アプリケーション フレームワークに移行しました。 現在、Shopify は基本的な HTML と JavaScript に戻りました。 これらに加えて、React や Typescript などの JavaScript フレームワークの最新バージョンも組み込まれています。

Shopify の技術スタックのアーキテクチャの内訳

1) フロントエンド

Shopify には、フロントエンド開発者がカスタム ストアフロントを作成できる直感的なフロントエンド技術スタックがあります。 最新の開発の一環として、Shopify はフロントエンドとバックエンドを区別することでヘッドレス コマースを推進しています。 これは主に、ヘッドレスコマース用の組み込みツールキットである Hydrogen を通じて行われます。

Shopify のインタラクティブなクライアント側ツールには、ショッピング カート、国際価格計算ツール、販売時点情報管理、ランディング ページ UI などが含まれます。その技術スタックは、React、Typescript などの JavaScript ライブラリに加え、ページ レイアウト、ナビゲーションを設計するための HTML、CSS と互換性があります。メニューなど

Shopify の最新の取り組みには、Liquid (カスタム Shopify ストア テーマとテンプレートを作成するためのテンプレート言語)、Shopify CLI (アプリを構築するためのコマンド イン ライン インターフェイス ツール)、および Polaris (管理者用のデザイン システム) が含まれます。

2) バックエンド

Shopify には、アプリの背後、つまりバックエンドの操作とタスクを強化するための強力なテクノロジーのコレクションがあります。 そのスケーラブルで信頼性の高いインフラストラクチャには、プリミティブ、API、SDK、その他のツールが含まれています。 これらは、店舗の所有者や開発者が、チェックアウト フロー、在庫と注文の管理、販売処理などのためのカスタマイズ可能で完全装備の店舗容量を作成するのに役立ちます。

2022 年、Shopify は Ruby とともに Rust を正式に採用し、高性能システム プログラミングを可能にしました。 これまで、Shopify のバックエンド開発者は、Ruby スタックと互換性のある C や Go などの言語に依存していました。 現在、彼らは WeAssembly のような次世代 Web プラットフォームとの統合を可能にする Rust の柔軟性を優先することに移行しました。

もう 1 つの注目すべき動きとして、Shopify は、Shopify Functions を使用して、すべての開発者向けにバックエンド インターフェイスを民主化しました。 これにより、Shopify のバックエンド ロジックのカスタム コードを作成できるようになり、Shopify がオープンソース プラットフォームになります。

3) データベースとクラウドサービス

Shopify は従来、データのスケーラビリティ、耐久性、セキュリティを確保するために MySQL や RDBMS などのリレーショナル データベースを使用してきました。 しかし、グローバルなコンピテンシー、ネットワーク中断ゼロ、速度の向上に対するニーズを再評価した後、Shopify は「ポッド」を採用しました。

ポッドはデータストアの自律的な小さなパケットを作成し、それぞれが独自のプロセスを実行します。 Shopify はこれに Kubernetes と Docker を使用しました。 最近、Shopify は認知負荷を軽減し、ホスト コンテナとアプリケーション コンテナ間の境界をなくすためにクラウドネイティブになることを決定しました。 このケースは、コード開発プラットフォームの最適化に特有のものです。

4) アプリケーション プログラミング インターフェイス (API)

Shopify は、高性能な API を備えた強力な API です。 API を使用して複数のバックエンドとフロントエンドのユースケースを拡張し、店舗オーナーが複数のプラットフォームと相互運用できるようにします。 Shopify の API は、GraphQL および REST フレームワークで構築されており、Node.js、PHP、Python、Ruby、Curl などの複数のクライアント ライブラリをサポートしています。

Shopify の API は、マーケットプレイス、管理機能、支払い、メッセージング、ストアフロントなどの特定のカテゴリに大まかに分類されます。これらは、支払いの認証、カートへの商品の追加、スムーズなチェックアウトの実現、割引の提供、通知の送信などの e コマース機能をトリガーします。

Shopify は、カスタマイズされたストア テーマの作成、コンテンツの動的更新、ヘッドレス コマース向けの構築のための特定の API を開発しました。 これらの API は、Ajax API (REST エンドポイントを使用)、セクション レンダリング API (HTML マークアップ)、および Hydrogen (Remix 上に構築) です。

5) Shopify アプリストア

Shopify App Store には、約 8000 のネイティブ アプリケーションとサードパーティ アプリケーションを含む、壮大なアプリ コレクションの本拠地があります。 2018年、Shopifyはアプリストアを刷新し、まったく新しいテーマと、ホストするアプリをきちんと分類しました。 6 つの主要なカテゴリがあります。

  • 製品を検索するためのアプリ (特にドロップシッピング、プリント オン デマンド サービス用)
  • 製品を販売するためのアプリ (ターゲット販売、ロイヤルティ、サブスクリプション用)
  • 注文と発送のためのアプリ (フルフィルメント、在庫、注文追跡などの処理用)
  • ストアデザイン用アプリ(カスタマイズページ、通貨換算ツール、ポップアップ用)
  • 店舗管理用アプリ(カスタマーサポート、ヘルプデスク、FAQ)
  • マーケティングとコンバージョンのためのアプリ (ターゲットを絞った電子メール マーケティング、割引)

Shopify には、開発者によるアプリの構築、ホスティング、起動を支援する包括的な技術スタックがあります。 Shopify は主に、コードベースを記述するための Ruby および Node スクリプトを提供します。 迅速なアプリ開発を支援する Shopify CLI ツールと、その公式デザイン システムおよび UI キットである Polaris。 アプリビルダーは、Shopify の GraphQL Admin API を使用して製品に請求できます。

ストアを最適化するにはShopify Tech Stackにアプリを含める必要があります

店舗の販売、物流、顧客エンゲージメントを最適化できるサードパーティのテクノロジー アプリケーションをいくつか紹介します。

1) 返品管理について - クリックポスト返品プラス

ClickPost Returns Plus は、 Shopify に特化した返品管理ソリューションです。 このアプリは、自動化の力で収益を最適化することで、ブランドが顧客ロイヤルティを向上させ、解約率を削減するのに役立ちます。

このアプリを使用すると、ブランドは、返品ポリシーに合わせて構成可能な、カスタマイズ可能でモバイル対応のブランド返品ポータルを作成できます。 これに加えて、複数言語のセルフサービス返品ポータル、自動電子メール更新、詳細な分析レポートを利用できます。

2) パーソナライズされた電子メール マーケティングの場合 - Klaviyo

Klaviyo は、電子メールや SMS を介した顧客コミュニケーションへのパーソナライズされたアプローチで知られるオムニチャネル マーケティング ツールです。 視聴者を洞察するためのデータ分析や電子メールを最適化するための A/B テストなど、堅牢なデータ駆動型ツールを備えています。 キャンペーンを自動化し、顧客のコンバージョンを早めるためにカスタマイズされたメッセージを作成できます。

3) カスタマーサポートの場合 - Zendesk

Zendesk は、顧客サービスとサポートのニーズに応えるよく知られたアプリケーションです。 ガイド付き会話、セルフサービス サポート、AI ボットなどのツールを使用して、自動化されたカスタマー サポートを提供します。 Zendesk を使用すると、店舗オーナーはカスタマイズされた顧客メッセージングをトリガーでき、IVRS は有意義な顧客サポートを求めることができます。

4) 顧客変換の場合 - Justuno

Justuno は、電子メールのキャプチャとポップアップを使用して顧客を変換するために特別に設計された顧客エンゲージメント ツールです。 バナー広告、Web サイトのメッセージング、ページ内プロモーション、カウントダウン タイマーなどの強力なマーキングおよびリード獲得ツールを備えています。 Justuno は、放棄されたカートを回収し、平均注文額を増やすのに最適です。

結論

技術スタックは、あらゆるビジネス アプリケーションと SaaS プラットフォームの基礎を決定します。 Rails が浸透した Shopify の技術スタックが、米国の商取引の 10% を支えている非常に効率的で堅牢なビジネス インフラストラクチャの秘密です。 この記事が、フルスタックの開発者やブランドが Shopify のテクノロジーについて最新の理解を得るのに役立つことを願っています。

よくある質問

1) Shopify はどのようなテクノロジーで構築されていますか?

Shopify は、フロントエンドおよびバックエンド開発のための完全な Web アプリ フレームワークである Ruby on Rails で構築されています。 Shopify は Ruby の伝統を継承していますが、ここ数年で Node.js や Rust との連携も開始しました。

2) ブランドは Shopify の技術スタックをどのように監査できますか?

Shopify 技術スタックの監査は、ビジネス プロセスとそれに関連するアプリケーションや API を理解することから始まります。 まず、関連するビジネス アプリケーションに使用されているすべてのアプリケーションとテクノロジをリストします。 完了したら、アプリとツールを説明するためにリストをチームの残りのメンバーに送信します。