چگونه زوماتو با Go و Chromium، اسپرسو دم می‌کند

همچنین، زوماتو در نهایت در حال تبدیل شدن به یک شرکت هوش مصنوعی است.

منبع: وبلاگ زوماتو

زوماتو به آرامی در حال تبدیل شدن به یک شرکت فناوری است و صرفاً به عنوان یک برنامه تحویل غذا باقی نمی‌ماند. از تغییر نام خود به Eternal و انتشار پلتفرم هوش مصنوعی Nugget، این شرکت به طور فزاینده‌ای در مورد فناوری خود صحبت می‌کند و بازی را در صنعت تغییر می‌دهد.

ماه گذشته، تیم مهندسی Espresso را منتشر کرد، یک ابزار تولید PDF متن‌باز و با کارایی بالا که به منظور برآورده کردن خواسته‌های رو به افزایش، از جمله رسید سفارش و فاکتورها تا گزارش‌های عملیاتی در مقیاس بزرگ، ساخته شده است.

این شرکت در وبلاگ رسمی خود گفت: "در راستای یک رویکرد متناسب‌تر و کارآمدتر، تصمیم گرفتیم راه حل تولید PDF داخلی خود را توسعه دهیم."

Espresso همچنین در GitHub تحت مجوز MIT در دسترس است.

برای اینکه Espresso برای همه قابل استفاده باشد، زوماتو یک ابزار فرانت‌اند سبک وزن ساخت. این رابط به تیم‌های داخلی اجازه می‌دهد تا الگوهای PDF را با بازخورد بصری بی‌درنگ تغییر دهند یا ایجاد کنند، که باعث تسریع تکرار و کاهش وابستگی به توسعه‌دهندگان می‌شود.

Go، Chromium بدون رابط کاربری و الگوهای HTML

برای رسیدن به اهداف، تیم به فناوری‌هایی تکیه کرد که می‌دانست مقیاس‌پذیر خواهند بود. Go به دلیل ماهیت هم‌روندپسند و عملکرد خام خود انتخاب شد، و به خوبی با Rod، یک کتابخانه Go که برای تعامل با مرورگرهای Chromium بدون رابط کاربری طراحی شده است، جفت شد.

این به زوماتو کنترل کامل بر رندر HTML به PDF، همراه با انعطاف‌پذیری برای مدیریت طرح‌بندی و استایل مستقیماً از الگوهای HTML را داد.

برای امضای دیجیتال، تیم کتابخانه digitorus/pdf را ادغام کرد و امکان امضای رمزنگاری را به صورت بومی در Go فراهم کرد.

برای نشان دادن اینکه امنیت یک فکر بعدی نبوده است، زوماتو امضای گواهی دیجیتال را با استفاده از گواهی‌های سفارشی پیاده‌سازی کرد و از یکپارچگی و اعتبار هر سند اطمینان حاصل کرد. به ویژه برای PDFهایی که حاوی داده‌های حساس هستند، این لایه اعتماد حیاتی بود.

Espresso با سرعت بالایی پیش رفت. چندین تصمیم مهندسی به دستیابی به این امر کمک کرد. یکی از آنها رفتن به رندر از پیش رنگ شده بود، جایی که PDFها قبل از اینکه Chromium مرحله رنگ آمیزی خود را تکمیل کند، تولید می‌شوند و میلی‌ثانیه‌های حیاتی را کاهش می‌دهند.

عملکرد با تغییر رفتار راه‌اندازی Chromium بیشتر بهینه شد. همچنین، تصاویر از الگوهای HTML از قبل بارگذاری و به عنوان dataURIs رمزگذاری شدند و از واکشی‌های غیرضروری مرورگر در طول رندر جلوگیری شد.

با ترکیب رندر و امضا در یک برنامه Go واحد، Espresso از نوشتن فایل‌های موقت، کاهش I/O دیسک و تسریع فرآیند جلوگیری می‌کند.

معیارها چه می‌گویند؟

Espresso هر PDF را در کمتر از 200 میلی‌ثانیه رندر و به صورت دیجیتالی امضا می‌کند، و آن را حتی در زیر بارهای سنگین بسیار پاسخگو می‌کند.

Espresso که با هم‌روندی در هسته خود طراحی شده است، می‌تواند اوج بارهای تا 120000 درخواست در دقیقه را بدون هیچ مشکلی مدیریت کند. این قابلیت آن را به راه‌حل اصلی برای عملیات‌های با حجم بالای زوماتو تبدیل کرده است، جایی که عملکرد بی‌درنگ حیاتی است.

برای زوماتو، از رسید سفارش و فاکتورها گرفته تا گزارش‌های عملیاتی، PDFها بسیاری از تعاملات روزانه و سیستم‌های پشتیبان شرکت را تامین می‌کنند. با این حال، با مقیاس‌بندی کسب‌وکار، خط لوله PDF قدیمی آنها، که بر اساس یک کتابخانه مبتنی بر PHP ساخته شده بود، تحت فشار شروع به خم شدن کرد.

اسناد پیچیده و چند صفحه‌ای با عناصر گرافیکی سنگین باعث ایجاد مشکلات تاخیر، به ویژه در طول افزایش ترافیک شد. ابزار اصلی PDF مبتنی بر PHP زوماتو کاربردی بود اما به طور فزاینده‌ای کند شده بود.

در یکی از سخت‌ترین موارد استفاده، Espresso 1.6 میلیون PDF را تنها در 19 دقیقه پردازش و امضا کرد—به طور میانگین حدود 1400 PDF در ثانیه. این امر با مقیاس‌بندی سرویس به 100 کانتینر در حال اجرا بر روی AWS ECS، با هر کانتینر که با چهار vCPU و 4 گیگابایت حافظه پیکربندی شده بود، به دست آمد.

به ویژه، سیستم جدید به طور چشمگیری الزامات زیرساخت را کاهش داد. در مقایسه با تنظیمات قدیمی، Espresso هزینه‌های سرور را 90٪ کاهش داد، در حالی که به طور همزمان کیفیت خروجی و قابلیت اطمینان را بهبود بخشید.

با تشدید استفاده و پیچیده‌تر شدن اسناد، نیاز به یک راه حل قوی و با تاخیر کم غیرقابل چشم پوشی شد. تیم مهندسی با یک دستور روشن شروع به کار کرد: چیزی بسازید که بتواند PDFها را سریعتر، مطمئن‌تر و با حداقل هزینه سربار زیرساخت تولید و امضا کند.

و آنها این کار را انجام دادند.

زوماتو در نهایت در حال تبدیل شدن به یک شرکت هوش مصنوعی است

اما نه فقط سازندگان PDF. زوماتو، یا Eternal، در چند ماه گذشته به طور فزاینده‌ای هوش مصنوعی را پذیرفته است. در فوریه، دیپیندر گویال، مدیر عامل زوماتو، از راه‌اندازی Nugget، یک پلتفرم پشتیبانی مشتری بومی هوش مصنوعی و بدون کد که برای کمک به کسب‌وکارها در مقیاس‌بندی کارآمد عملیات پشتیبانی خود طراحی شده است، خبر داد.

Nugget که طی سه سال به عنوان یک ابزار داخلی توسعه یافته است، بیش از 15 میلیون تعامل پشتیبانی ماهانه را برای زوماتو، Blinkit و Hyperpure مدیریت می‌کند. این پلتفرم که اکنون برای کسب‌وکارها در سراسر جهان باز است، دارای نرخ پذیرش 90 درصدی در بین شرکت‌هایی است که آن را آزمایش کرده‌اند.

همه اینها پس از اکراه قبلی گویال نسبت به هوش مصنوعی مولد است. در آگوست 2024، این شرکت ممنوعیت استفاده از تصاویر تولید شده توسط هوش مصنوعی از منوهای رستوران را برای ایجاد اعتماد مصرف کننده به پلتفرم اعلام کرد. این ابتکار با واکنش مثبت مصرف کنندگان آنلاین روبرو شد.

از سوی دیگر، Swiggy، رقیب زوماتو، رویکرد متفاوتی در هنگام پذیرش هوش مصنوعی داشت. این شرکت یک ویژگی عکاسی با هوش مصنوعی رایگان راه‌اندازی کرد که به رستوران‌ها کمک می‌کند تا تصاویر واقعی از غذاها را مشابه یک عکس حرفه‌ای ثبت کنند.

در مصاحبه‌ای در سال 2022 با AIM، زوماتو تایید کرده بود که این شرکت به شدت در هوش مصنوعی و تجزیه و تحلیل سرمایه‌گذاری می‌کند تا تجربه‌ای سفارشی برای مصرف کنندگان و شرکای خود ارائه دهد. زوماتو Vaibhav Bhutani را برای رهبری ابتکارات هوش مصنوعی مولد خود در دسامبر 2022 منصوب کرده بود.

او سپس تیمی را در Eternal ساخت که منجر به انتشار Zomato AI Buddy خود در سپتامبر 2023 شد. Zomato AI Buddy با فراتر رفتن از محدودیت‌های چت‌بات‌های سنتی، به عنوان یک همراه غذاخوری هوشمند و شهودی، اختصاص داده شده به درک و برآورده کردن ترجیحات همیشه در حال تغییر، نیازهای غذایی و حتی حالات فعلی کاربران است.

اما سپس Bhutani رفت و به عنوان معاون محصول به Zepto پیوست.

حتی اگر زوماتو هنوز اجازه استفاده از تصاویر تولید شده توسط هوش مصنوعی در منوی خود را نمی‌دهد، فشار به سمت هوش مصنوعی اکنون به وضوح قابل مشاهده است، حداقل در چت‌بات‌ها، دستیارها و کمک‌خلبان‌ها.