Cloud Telemetry Simulation

सॉफ़्टवेयर-डिफ़ाइंड व्हीकल (एसडीवी) टेलीमेट्री क्लाउड सिम्युलेशन प्लैटफ़ॉर्म, Google Cloud पर वाहन टेलीमेट्री सिम्युलेशन चलाने के लिए, ज़रूरत के हिसाब से स्केल किया जा सकने वाला इंफ़्रास्ट्रक्चर उपलब्ध कराता है.

इस सिस्टम की मदद से, वर्चुअल Android Automotive एनवायरमेंट (Cuttlefish) से टेलीमेट्री कैंपेन सिम्युलेट किए जा सकते हैं. इसके लिए, फ़िज़िकल हार्डवेयर की ज़रूरत नहीं होती. यह सिस्टम, अनुरोध पाने, Compute Engine की अस्थायी वर्चुअल मशीनें (वीएम) बनाने, Docker कंटेनर में सिम्युलेशन चलाने, Cloud Storage में नतीजे इकट्ठा करके अपलोड करने, और रिसॉर्स मिटाने की प्रोसेस के ज़रिए, सिम्युलेशन के लाइफ़साइकल को मैनेज करता है.

इस तरीके से, टेलीमेट्री पाइपलाइन की जांच करने के लिए, लागत के हिसाब से सही और ज़्यादा स्केल किया जा सकने वाला प्लैटफ़ॉर्म मिलता है. ऐसा इसलिए, क्योंकि सिम्युलेशन के दौरान ही रिसॉर्स का इस्तेमाल किया जाता है.

मकसद और क्षमताएं

यह सिस्टम, सिम्युलेशन के लाइफ़साइकल को मैनेज करता है और इसके लिए, बुनियादी इंफ़्रास्ट्रक्चर के मैनेजमेंट को ऐब्स्ट्रैक्ट करता है.

  • ज़रूरत के हिसाब से स्केल करने की सुविधा: यह सिस्टम, सिम्युलेशन की अवधि के लिए ही रिसॉर्स (Compute Engine की वीएम) बनाता है, ताकि इस्तेमाल के हिसाब से लागत तय की जा सके.
  • कॉन्करेंसी मैनेजमेंट: यह सिस्टम, एक साथ चलने वाले सिम्युलेशन की संख्या पर, कॉन्फ़िगर की जा सकने वाली सीमा लागू करता है. उदाहरण के लिए, डिफ़ॉल्ट रूप से पांच सिम्युलेशन. यह, तय सीमा से ज़्यादा के अनुरोधों को कतार में रखता है और स्लॉट उपलब्ध होने पर, उन्हें अपने-आप शेड्यूल कर देता है.
  • इवेंट-ड्रिवन आर्किटेक्चर: यह सिस्टम, अलग-अलग और मज़बूत वर्कफ़्लो ऑर्केस्ट्रेशन के लिए Cloud Functions और Pub/Sub का इस्तेमाल करता है. इसमें अनुरोधों को मैनेज करना, शेड्यूल करना, फ़ाइनल करना, और साफ़-सफ़ाई करना शामिल है.
  • इंटिग्रेटेड स्टेट मैनेजमेंट: यह सिस्टम, हर सिम्युलेशन की लाइव स्थिति और कॉन्फ़िगरेशन को ट्रैक करने के लिए, Firestore डेटाबेस का इस्तेमाल करता है. उदाहरण के लिए, PENDING, RUNNING, COMPLETED, या FAILED.
  • आर्टफ़ैक्ट मैनेजमेंट: यह सिस्टम, ज़रूरी इनपुट फ़ाइलों को डाउनलोड करने और सभी सिम्युलेशन आउटपुट (उदाहरण के लिए, रिपोर्ट, लॉग, गड़बड़ी की रिपोर्ट, और Logcat फ़ाइलें) को Cloud Storage में अपलोड करने की प्रोसेस को अपने-आप मैनेज करता है.
  • रिसॉर्स की साफ़-सफ़ाई: Cloud Scheduler का एक ऑटोमेटेड जॉब, अनाथ वीएम या डेटाबेस एंट्री को साफ़ करके, रिसॉर्स लीक होने से बचाता है.

वास्तुकला

यह सिस्टम, Google Cloud की कई सेवाओं के साथ, सर्वरलेस और इवेंट-ड्रिवन आर्किटेक्चर का इस्तेमाल करता है. वेब यूज़र इंटरफ़ेस (यूआई) या REST API का इस्तेमाल करके, इस सिस्टम के साथ इंटरैक्ट किया जा सकता है.

  • उपयोगकर्ता का इंटरैक्शन: इसके लिए, दिए गए वेब डेमो, कस्टम ऐप्लिकेशन का इस्तेमाल किया जा सकता है या सीधे एपीआई एंडपॉइंट के साथ इंटरैक्ट किया जा सकता है.
  • ऑर्केस्ट्रेशन लेयर:
    • read-simulation: इस फ़ंक्शन की मदद से, सिम्युलेशन, चालू वीएम की संख्या, और एक साथ चलने वाली वीएम की ज़्यादा से ज़्यादा कॉन्फ़िगर की गई संख्या के बारे में क्वेरी की जा सकती है.
    • receive-request: यह सिस्टम, इमेज फ़िंगरप्रिंट की सख्त तौर पर अनुमति वाली सूची के हिसाब से अनुरोधों की पुष्टि करता है और उन्हें Pub/Sub पर पब्लिश करता है.
    • schedule-simulation: Eventarc, Pub/Sub मैसेज या Firestore में हुए बदलावों के आधार पर, इस फ़ंक्शन को ट्रिगर करता है. यह, एक साथ चलने वाले सिम्युलेशन की संख्या की सीमा की जांच करता है और वीएम उपलब्ध कराता है.
    • finish-simulation: एजेंट, स्टेटस अपडेट करने और साफ़-सफ़ाई की प्रोसेस को ट्रिगर करने के लिए, सिम्युलेशन के खत्म होने पर इस फ़ंक्शन को कॉल करता है.
    • delete-simulation: यह फ़ंक्शन, मैन्युअल तरीके से रद्द करने और रिसॉर्स की साफ़-सफ़ाई की प्रोसेस को मैनेज करता है.
  • स्टेट मैनेजमेंट (Firestore): Firestore डेटाबेस, हर सिम्युलेशन की स्थिति (उदाहरण के लिए, PENDING, RUNNING, COMPLETED, या FAILED) और कॉन्फ़िगरेशन को ट्रैक करता है. इस डेटाबेस में, सिम्युलेशन के सभी एक्ज़ीक्यूशन डेटा को सेव किया जाता है.
  • डेटा स्टोरेज (Cloud Storage): यह सिस्टम, सिम्युलेशन से जुड़ी सभी फ़ाइलों को Cloud Storage बकेट में सेव करता है. इसमें, इनपुट कॉन्फ़िगरेशन फ़ाइलें, आउटपुट रिपोर्ट, Cuttlefish डिवाइस के लॉग, गड़बड़ी की रिपोर्ट, और Logcat फ़ाइलें शामिल हैं.
  • एक्ज़ीक्यूशन लेयर (Compute Engine):
    • schedule-simulation फ़ंक्शन, हर सिम्युलेशन के लिए Compute Engine की वीएम बनाता है. वीएम, simulation-agent Docker कंटेनर चलाती है.
    • simulation-agent, Cloud Storage से इनपुट फ़ाइलें पुल करता है, एसडीवी इंस्टेंस शुरू करता है, और टेलीमेट्री सिम्युलेटर को चलाने और नतीजों के तौर पर मिले डेटा को वापस पाने के लिए, Cuttlefish वर्चुअल डिवाइस के साथ इंटरैक्शन को मैनेज करता है.
  • रखरखाव (Cloud Scheduler): शेड्यूल किया गया एक जॉब, अनाथ रिसॉर्स (उदाहरण के लिए, फ़ेल हुई वीएम या पुराने डेटाबेस एंट्री) को साफ़ करने के लिए समय-समय पर चलता है, ताकि रिसॉर्स लीक होने से बचाया जा सके.

अगले चरण

Cloud Telemetry Simulation का इस्तेमाल शुरू करने के लिए, ये गाइड देखें:

  • डिप्लॉयमेंट गाइड: इंफ़्रास्ट्रक्चर सेट अप करने और सिम्युलेशन एजेंट बनाने का तरीका जानें.
  • उपयोगकर्ता गाइड: वेब डेमो या REST API का इस्तेमाल करके, सिम्युलेशन चलाने का तरीका जानें.