自動車産業向けAPI Gatewayソリューション
November 2, 2022
デジタル化と知能化の波の下で、製造業と自動車産業は前例のない機会と課題に直面しています。自動車はもはや移動のためのメカトロニクス製品ではなく、家庭や会社に次ぐ第三の空間となっています。自動車は、深いソフトウェアとハードウェアの統合により、よりインテリジェントに進化しています。
消費者視点では、操作性と安全性は自動車の標準装備となりました。100年以上存在する工業製品である自動車に対して、誰もがより高い要求を持っています。それはインテリジェントな自動車であり、ドライバーアシストだけでなく、OTA(Over-the-air)プログラミング、音声制御、タッチスクリーン中央制御装置などにも反映されています。これにより、自動車ソフトウェアのリアルタイムデータ処理、計算能力、製品イテレーションに対する要求が高まっています。
ビジネスアプリケーションの視点では、IoV(Internet of Vehicles)と上流・下流のデータがますます複雑化しています。その結果、情報のサイロを打破し、異なるシステム間のデータを開放し、ビジネスイノベーションを加速することが、製造業と自動車企業の課題となっています。
技術変革の視点では、クラウドネイティブとオープンソースソフトウェアが、製造業と自動車企業のデジタルトランスフォーメーションを加速する技術的サポートを提供しています。これらの企業は、クラウドネイティブ技術を活用することで、変革の機会を掴むことができます。
今日、ドライバーアシスト機能を備えた電気自動車には5,000以上のチップが搭載され、数億行のコードが実行されています。「ソフトウェア定義自動車(SDV)」の新時代が徐々に到来しています。
Apache APISIXオープンソースコミュニティの統計と研究を分析した結果、Apache APISIXが第四次産業革命において広く使用されていることがわかりました。デジタル工場、スマートカー、AIチップ、自動運転、自動車企業のマイクロサービス管理、自動車金融、自動車B2B販売、中古車B2C販売などの分野をカバーしています。
以下にいくつかの例を示します:
- デジタル工場: European Factory Platform
- 自動車企業: Geely Auto, XPeng Motors, Lotus Cars, Li Auto, BeyonCa Autos
- AI & 自動運転: Horizon Robotics, Momenta
- 自動車金融: BMW Financial Services
- 音声認識: AiSpeech
クラウドネイティブAPIゲートウェイとして、Apache APISIXは、自動車、IoTデバイス、モバイルアプリなど、さまざまな端末からのAPIリクエストを処理する基本的なコンポーネントです。Apache APISIXが自動車関連産業で広く使用されていることは、オープンソースプロジェクトがより多くの企業ユーザーのニーズを満たすために進化する原動力となっています。
API7 EnterpriseとAPI7 Cloudを通じて、蓄積された業界ソリューションを提供します。お問い合わせはこちらから:https://api7.ai/contact。
以下では、APIゲートウェイとApache APISIXが企業ユーザーの実践的な問題を解決するための典型的なユースケースをいくつか紹介します。
European Factory PlatformがAPISIXをセキュリティゲートウェイとして使用
EFPF(European Factory Platform)は、欧州委員会のHorizon 2020プログラムによって資金提供されたデジタル製造プラットフォーム(DMP)の連合体です。この連合には、シーメンス、エアバスSE、研究機関や大学など、10の欧州諸国から30の企業や組織が参加しています。Industry 4.0、IoT、人工知能、ビッグデータ、デジタル製造からの革新的なソリューションを提供しています。
EFPFは、さまざまなツールやサービスを提供しており、その多くは他のツールやサービスが使用できる1つ以上のAPIを提供しています。EFPFプラットフォームは、APIゲートウェイを使用してAPIの使用状況を監視、制御、分析することができます。さらに、APIゲートウェイは、プラットフォーム内の異なる企業が公開するAPIとユーザーがどのようにやり取りするかを定義するポリシーを可能にします。
EFPFプラットフォームで使用されるAPI管理ツールまたはAPIセキュリティゲートウェイ(ASG)は、Data Spineのコンポーネントです。ASGは、すべてのAPI呼び出しの境界ゲートウェイであり、EFPFエコシステム内で利用可能な外部公開サービスを提供します。プロキシサービスとして機能する一方で、進行中のサービス呼び出しにセキュリティポリシーを適用します。EFPFでは、ASGはApache APISIXを使用して実装されています。
Apache APISIXを選択した理由は以下の通りです:
- 速度: ASGはData Spineからの呼び出しをエコシステム内の他のプラットフォームにプロキシするため、呼び出しの遅延が最小限に抑えられます。
- カスタムプラグイン: ASGは、カスタムセキュリティプラグインを開発するために最小限のコード/設定に依存する必要があります。
- ライセンス: ASGの実装には、寛容なライセンス(Apache / MIT)が好まれます。
- MQTTのサポート。
これに加えて、API管理に関する以下の問題も解決されています:
- APIの設定、ライフサイクル管理、サービスディスカバリー
- API仕様の統一性と完全性
- サービスプロバイダーと消費者間のインターフェース契約管理
EFPFが提供するAPIゲートウェイを通じて、連合に参加する30の企業は、APIを通じてさまざまな種類のデータを提供、取得、交換し、その上でAPIの権限管理とセキュリティ制御を行うことができます。
XPeng MotorsがAPISIXを使用してスマートコックピットを構築
XPeng Motorsは、中国の新興自動車メーカーの中でもベンチマークとなる企業です。設立以来、「スマートカー」の独立した研究開発に力を入れており、研究開発に20%を投資しています。これは、Li Auto Inc.やNio Inc.と比較しても最も高い割合です。
自動車のソフトウェアとハードウェアを自動車メーカーが独自に開発する必要があるかどうかは議論の的となっています。多くの人は、自動車メーカーは統合に集中するだけで良いと考えています。なぜなら、自己開発に多額の資金と時間を投資することはコストパフォーマンスが低いからです。しかし、別の視点から見ると、ソフトウェアとハードウェアの自己開発は、製品の統一された完璧なユーザー体験を実現し、経験を積んだ後のイテレーションで優位な立場を維持することができます。
XPeng Motorsが特徴とする「スマートコックピット」を例に、Apache APISIXの役割を紹介します。
XPeng Motorsのタッチスクリーン中央制御装置では、ユーザーはインターネットに接続してすべての機能を操作し、使用する必要があります。これには、音声認識と制御、地図とナビゲーション、音楽、映画などが含まれます。これらの背後にあるAPIは、Apache APISIXを通じて処理されます。
IoVのアプリケーションとサービスでは、WeiboやWeChatなどのインターネット製品のような高い同時接続数や大量のトラフィックは発生しません。そのため、安定性と低遅延がより重視されます。音声認識やナビゲーションなどの重要なサービスが停止したり遅延したりすると、ユーザーはそれをXPeng Motorsの問題と見なし、ユーザー満足度と体験が大幅に低下します。
さらに、XPeng Motorsは、クラウドの「脳」と自動車の「脳」を接続するために、より多くのデータ伝送と分析を開発する必要があります:
-
運転をより安全に: 運転習慣、速度、バッテリー寿命、バッテリーパワー、タイヤ圧などの基本的な自動車データと、温度、天気、道路の混雑状況などのリアルタイムデータを組み合わせることで、自動車の運転の安全性を向上させることができます。
-
運転をより快適に: アシストドライビング、OTA、自動駐車などの機能は、リアルタイムデータの処理とバックグラウンドで蓄積されたビッグデータの分析なしには実現できません。
上記の機能をより完璧に提示するためには、技術レベルでサービスの可用性と低遅延を確保する必要があります。これは、スマートカーが現在取り組んでいる課題です。
Apache APISIXを使用する前、XPeng Motorsのスマートコックピット機能の下では、車載機器から発行されたAPIの実行順序は、Client API -> Alibaba Cloud SLB(Server Load Balancer)(レイヤー4)-> NGINX(レイヤー7)-> Zuul -> Serviceでした。
上記の図の左端は、XPeng Motorsのクライアント側を表しています。クライアントリクエストの主なソースは3つあります:通常の車載クライアント、インターネットからのウェブページやブラウザ、XPeng公式アプリやその他のアプリやミニプログラムです。
その後、収集されたトラフィックは最終的にオペレーターモジュールを通過し、内部の自社建てデータセンターのSLBに送られ、標準的な4層プロトコル転送が行われます。これをトラフィックデータの受信ポートと見なし、トラフィックを最初のNGINX、2番目のNGINX、そして最後にZuulに転送して処理します。
このアーキテクチャはすぐに問題に直面しました:
-
APIリクエストは2つのAPIゲートウェイ、NGINXとZuulを通過するため、API伝送プロセスで1回のジャンプ時間が増加します。しかし、各調整はサービスの可用性と遅延性能に影響を与えます。
-
この機能を二次開発して会社の内部システムと接続する場合、NGINXはCモジュールを使用して開発する必要があり、ZuulはJavaで開発されます。この言語の違いは、開発サイクルとメンテナンス後の増分コストを増加させます。
-
ルートとSSL証明書を更新した後、NGINXを再起動する必要があります。さらに、サービスが利用できないギャップ期間が発生し、サービスの提示にある程度影響を与えます。
さらに、基本的なコンポーネントとして、APIゲートウェイはXPeng Motorsのインフラストラクチャチームがメンテナンスする必要があるコンポーネントの1つでもあります。現在の機能レベルの課題を考慮して、XPeng Motorsは、活発なコミュニティ、長期的なイテレーション、健全な開発を持つプロジェクトを見つけ、アーキテクチャレベルで自社ビジネスの使用とメンテナンスコストを削減したいと考えています。
APISIXを使用した後、彼らのアーキテクチャは以下のように調整されました。
APISIXを使用した後、シーンの処理フローが変更されたことがわかります。車載機器から発行されたAPIの実行順序は、Client API -> Alibaba Cloud SLB(レイヤー4)-> APISIX(レイヤー7)-> Serviceに変更されました。
実行順序の変更からわかるように、以前の処理フローの2番目のNGINXとZuulがAPISIXに置き換えられたため、リンクは4つのコンポーネントを通過するだけで処理されます。
APISIX-DPは、新しいアーキテクチャで2つの役割を果たします。1つ目の役割は、K8s Ingressとしてトラフィックの出入り口として機能することです。2つ目の役割は、マイクロサービスゲートウェイとして機能することです。では、なぜ新しいプロセスでNGINXを保持しているのでしょうか?主に、関連するトラフィックを分散し、対応するマイクロサービスAPIゲートウェイを識別し、Serviceに送信するために使用されます。
XPeng Motorsの実践レベルでは、新しいプロセスはAPISIXを通じてさまざまなコンポーネントを開放するのに役立ちます。これを行う利点は、ゲートウェイ製品に対してより高い要求を提起することです。ゲートウェイ製品は、強力な安定性だけでなく、内部のすべてのマイクロサービスシステムをサポートする必要があります。さらに、ユーザーレベルでは、この接続により、サービス内でより統一されたトラフィック管理が可能になり、全体的な通信リンクを短縮しながら遅延を削減します。
したがって、APISIXを採用することは、XPeng Motorsのインフラストラクチャに技術レベルでより多くの可能性をもたらします:
- Apache APISIXは、より多くの登録とサービスディスカバリーコンポーネントに接続できるため、複数の内部システムの移行とアーキテクチャの柔軟な調整が可能です。
- APISIXには、IoT端末からのリクエストを処理できるMQTTプラグインがあります。
- APISIXのアーキテクチャとエコシステムはよりクラウドネイティブであり、将来的なマルチクラウドとハイブリッドクラウドアーキテクチャにより適しており、会社の技術進化の長期的な計画に沿っています。
将来的には、Apache APISIXは、XPeng Motorsが南北APIトラフィックを処理するだけでなく、IoTデバイス、K8s Ingress、サービスメッシュなどのより多くのトラフィックを処理し、インフラストラクチャの複雑さとメンテナンスコストを削減することができます。
Geely AutoがApache APISIXに基づいてグローバルトラフィック管理を調整
Geely Autoは、1996年に設立された民間所有の自動車メーカーで、主な事業は自動車および自動車部品の製造と販売です。Geely Autoは、Apache APISIXがオープンソース化されてから約1年後に、本番環境でAPISIXの使用を開始しました。
Geelyの使用シナリオでは、APISIXは主にマイクロサービスゲートウェイシナリオでいくつかのビジネスを実装するために使用されています。以下の図に示すように、Geelyが内部で開発および使用しているいくつかの関連機能があります。
Geelyの現在のAPISIXの適用は、主に会社内のトラフィック管理に焦点を当てており、マイクロサービスのAPIゲートウェイに重点を置いています。
APISIXを使用することで、Geelyは内部APIを市場化し、プロデューサーとコンシューマー間のサービスの分離と相互購読を実現し、その統一された監視または管理を行う必要があります。
ビジネスの種類と規模が徐々に増加するにつれて、Geelyのグローバルな分布が広がりました。その結果、グローバルなトラフィック処理やDCデータセンター間のリクエストが発生し始めました。
この場合、APISIXはどのような役割を果たすのでしょうか?
外部から見ると、ユーザーのリクエストは最初にパブリックネットワークに到達し、最も近いノード(例:Cluster A)にアクセスします。しかし、例えば、ノードが利用できない場合やデータ主権に関連する問題が発生した場合、Cluster Aがユーザーの現在のリクエストを処理できないことがわかります。上記の2つの状況に基づいて、Geelyは内部で多層ネットワークを実装しました。これは、上記の図に示されています。
この多層ネットワークアーキテクチャは、グローバルなトラフィックガバナンスを実現し、クロスクラスタースケジューリングを実行するために使用され、カナリアリリースや多国間データ主権またはクロスマシンルームシナリオの高可用性を実現します。
Horizon RoboticsがAPISIXに基づいてマルチクラウドサービス呼び出しと認証を実装
北京Horizon Robotics Technology R&D Co., Ltd.は、主にエッジAIチップの研究開発に従事しており、人工知能アルゴリズムとチップ設計能力においてリーダーシップを発揮しています。
自動車グレードの人工知能チップを量産した唯一の企業として、Horizon Roboticsは、基盤技術の強化を通じて自動車産業の革新と発展を推進することに尽力しています。
急成長中のAI企業にとって、ビジネス管理の親しみやすさと安定した運用を確保することが重要です。ゲートウェイはその第一のチェックポイントとして立ちます。
以前のゲートウェイで解決できない問題があったため、Horizonはゲートウェイを再選択し、最終的にApache APISIX Ingress Controllerを会社のトラフィックゲートウェイとして選択し、統一されたサービスを提供することにしました。
APISIX Ingressの選択は、主に以下の点に基づいています:
-
豊富なプラグイン: Apache APISIXは優れたプラグインエコシステムを持っています。APISIXがサポートするすべてのプラグインは、
apisix-ingress-controller
を使用して宣言的に設定でき、ApisixRoute
の下の単一のbackend
に対してカスタムプラグインを作成できます。 -
視覚的な設定: APISIX Dashboardを使用して、各
apisix route
を確認できます。同じドメイン名が複数のnamespace
または複数のyaml
ファイルで設定されている場合、競合が発生したときにAPISIX Dashboardでpath
のプレフィックスを検索して迅速に特定できます。 -
細かい検証: APISIX Ingress Controllerは、管理するCRDによって宣言されたリソースを検証します。CRDで存在しないServiceが宣言されている場合、エラーメッセージは
ApisixRoute
のevent
に保存されます。誤った操作は有効にならず、誤操作による問題をある程度軽減します。 -
豊富な機能: APISIXはホットリロードとホットプラグイン、プロキシリクエストの書き換え、多要素認証、多言語プラグイン開発などをサポートしています。詳細な機能については、APISIXの機能を参照してください。
-
活発なコミュニティ: 他のコミュニティと比較して、APISIXには多くの活発な開発者がおり、GitHub Issuesへの迅速な対応があります。
-
高性能: 以下の図からわかるように、Envoyとのストレステスト比較では、APISIXの性能はEnvoyの約120%です。コア数が増えるほど、QPSの差が大きくなります。
アーキテクチャの適用
以下のアーキテクチャ図からわかるように、APISIX Ingressはフルトラフィックの入口として機能します。
つまり、データ管理システム、問題分析システム、コマンドラインツール、Web、SaaSプラットフォーム、またはOpenAPIなど、すべてのアクセストラフィックはAPISIX Ingressを介して上流(ビジネスサービス)に入ります。
会社には特別な認証サービスがあるため、Apache APISIXのforward-auth
プラグインを直接使用して外部認証を実現しています。
ゲートウェイ層では、すべてのトラフィックがアクセスドメイン名を介して入ります。この時、トラフィックはまずLVS(Linux Virtual Server)を通過し、その後LVSがバックエンドのAPISIXノードに転送します。最後に、APISIXはルーティングルールに従ってトラフィックを分散し、対応するPodに配信します。
LVSがAPISIX Ingressを直接指すようにするために、APISIX Ingressのデフォルトポートを9180から80に変更しました。これにより、トラフィックの転送と処理がより簡単になります。
実践的な適用
マルチクラウド環境でのサービス呼び出しでは、一部のビジネストラフィックは最初にローカルのIDC(Internet Data Center)に到達し、その後APISIX Ingressを介してPodに到達します。さらに、一部のサービスはドメイン名を介してAlibaba Cloudサービスにアクセスし、一部のシナリオではサービス間の呼び出しに関連するサービスがあります。
主にマルチクラウドトレーニングに関連しています。ユーザーはIDCをエントリーポイントとして使用し、クラスタを選択した後、対応するクラウドクラスタにタスクを送信できます。
Horizon Roboticsが最初にApache APISIX Ingressを使用し始めたとき、Apache APISIXはforward-auth
プラグインをサポートしていませんでした。そのため、Horizonはapisix-go-plugin-runner
に基づいてカスタムプラグインを作成しました。
しかし、これによりgRPC呼び出しが1層追加され、多くのログが見えないためデバッグがより困難になりました。今年の初めに、Apache APISIXがforward-auth
プラグインをサポートしました。その後、Horizon Roboticsはカスタムプラグインを公式プラグインに置き換え、gRPC呼び出しを1層削減し、監視がより便利になりました。
まとめ
「ソフトウェア定義自動車」の文脈において、API7.aiは、XPeng Motors、Geely Auto、Horizon Roboticsなどの自動車企業が、インターネットオブビークル(IoV)の接続とデータをより良く管理し、顧客に安定したサービスと迅速な製品イテレーションを提供するのを支援します。
同様のニーズがある場合は、当社のウェブサイトhttps://api7.ai/contactをご覧ください。