00:00:00- مرحباً، صباح الخير للجميع.
00:00:02شكراً جزيلاً لانضمامكم إلينا اليوم.
00:00:03أنا متحمس جداً لما نحن على وشك مشاركته.
00:00:06منذ عقد من الزمان، كانت الأكواد البرمجية التي تعمل على Vercel
00:00:10تُبنى بشكل أساسي لطلبات الويب الفورية.
00:00:14لكن البرمجيات الأكثر إثارة للاهتمام التي ينشئها عملاؤنا اليوم
00:00:17لم تعد تناسب هذا النموذج.
00:00:20وعدد هذه المشاريع الجديدة ينفجر.
00:00:23فقط في الأشهر القليلة الماضية،
00:00:25تضاعفت عمليات النشر الأسبوعية في Vercel.
00:00:28وثلث عمليات النشر الجديدة تلك تأتي من وكلاء البرمجة،
00:00:31وهو رقم ارتفع بنسبة ألف بالمائة
00:00:34في غضون ستة أشهر فقط.
00:00:35لكن الجزء الأكثر إثارة للاهتمام بالنسبة لي
00:00:38ليس كمية ما ننشره، بل ماهية ما ننشره.
00:00:41هؤلاء الوكلاء يقومون بشحن وكلاء آخرين.
00:00:44والوكلاء الذين يبنيهم عملاؤنا،
00:00:48لا يستجيبون مرة واحدة وينتظرون فحسب.
00:00:50إنهم بحاجة إلى التفكير، واستدعاء الأدوات، وانتظار البشر،
00:00:53ثم القيام بكل ذلك مرة أخرى.
00:00:55وكل من سير العمل تلك يحتاج إلى خلفية تقنية يمكنها المواكبة.
00:00:58لذا، ما رأيته في Vercel
00:01:02هو أن الفرق التي تشحن بأسرع وتيرة حالياً،
00:01:05لا تعيد بناء البنية التحتية
00:01:07وبرمجة قوائم الانتظار بأنفسهم،
00:01:08أو كتابة منطق إعادة المحاولة من الصفر،
00:01:11أو حتى توصيل أدوات المراقبة.
00:01:13لقد تم إنجاز هذه الأمور بالفعل.
00:01:15لذا فهم يستخدمون أساسيات البنية التحتية لدينا،
00:01:17تلك التي قضينا العقد الماضي في بنائها،
00:01:20ليتمكنوا من تركيز كل اهتمامهم على منتجاتهم.
00:01:24وهذه هي بالضبط المشكلة التي بنينا "سير العمل" (Workflows) لحلها.
00:01:27لقد أطلقناها في النسخة التجريبية قبل ستة أشهر،
00:01:30وكانت الاستجابة مذهلة.
00:01:33والآن، وبعد مائة مليون عملية تشغيل،
00:01:36نحن متحمسون جداً للإعلان عن توفر Workflows للجميع اليوم.
00:01:41دعوني أريكم كيف يعمل.
00:01:43التطبيق الذي سأعرضه لكم
00:01:44هو مولد بطاقات أعياد ميلاد قمت ببنائه.
00:01:47الآن، يمكن أن يكون أي شيء حقاً،
00:01:49لكن هذا يغطي كل الأشياء التي تحدثنا عنها للتو.
00:01:51إنه لا يتناسب مع طلب واحد،
00:01:54فهو ينتظر البشر، ويعيد المحاولة عند الفشل،
00:01:57ويبث التقدم في الوقت الفعلي للمستخدم.
00:02:00إليك كيف يعمل.
00:02:02سأرسل لنفسي بطاقة،
00:02:04وسأبدأ بإدخال بريدي الإلكتروني.
00:02:05بعد ذلك، سأختار تاريخاً،
00:02:09وسأختار الثالث والعشرين من أبريل.
00:02:11أنا أحب إقامة حفلات الشواء في عيد ميلادي،
00:02:14لذا سأختار حفل شواء في أوشن بيتش،
00:02:17وسأرسله لنفسي فقط، من أجل Pernet.
00:02:21وسأدخل بريدي الإلكتروني هنا فقط لتسهيل العرض التوضيحي.
00:02:24لذا، سأقوم بتأكيد الحضور لعيد ميلادي بنفسي.
00:02:27رائع، سأضغط الآن على "إنشاء وإرسال"،
00:02:30وسأرى بطاقة عيد الميلاد تبدأ في الإنشاء.
00:02:34سأنتقل إلى لوحة تحكم Vercel
00:02:35حيث يمكنني رؤية هذا التشغيل الذي وصل للتو.
00:02:37دعوني أنقر للدخول.
00:02:39ويمكنني رؤية هذا في الوقت الفعلي بينما يتم إنشاء المطالبات،
00:02:42ثم يتم إنشاء الرسالة،
00:02:43وإنشاء صورة أيضاً.
00:02:45هذه هي أدوات المراقبة التي كنا نتحدث عنها.
00:02:48كل خطوة مرئية هنا تماماً.
00:02:50يمكنك رؤية ما يتم تشغيله بالضبط،
00:02:52وما اكتمل، وما هو قيد الانتظار.
00:02:54على جانب المستخدم،
00:02:57أستطيع أن أرى أنه تم إنشاء البطاقة،
00:02:58وتم إرسال رسائل البريد الإلكتروني لتأكيد الحضور.
00:03:01في هذه المرحلة، يتم تعليق سير العمل.
00:03:04لا توجد عمليات حوسبة تحدث فعلياً.
00:03:07إنه ينتظر استجابة من البشر،
00:03:09ويمكنني الذهاب إلى بريدي الإلكتروني والرد الآن،
00:03:12أو حتى الانتظار لبضع ساعات أو أيام ثم الرد.
00:03:15سيستمر هذا في تتبع التقدم.
00:03:18الآن، قبل أن أريكم البريد الإلكتروني،
00:03:20أريد في الواقع أن أريكم واجهة السطر البرمجي (CLI).
00:03:22يأتي Workflows مع CLI منذ اليوم الأول
00:03:25يتيح لك فحص كل ما هو متاح
00:03:27على لوحة تحكم المراقبة.
00:03:29هذا يعني أنك أنت ووكلاؤك
00:03:32لديكما وصول إلى الصورة الكاملة
00:03:35عندما تحاولان استكشاف خطأ ما وإصلاحه.
00:03:37حسناً، ننتقل إلى بريدي الإلكتروني.
00:03:40يجب أن أرى البريد الإلكتروني يصل الآن.
00:03:43ها هو ذا.
00:03:44ويمكنني، إنه يطلب مني فقط تأكيد الحضور.
00:03:46سأضغط على "نعم"، وسيكون ذلك هناك.
00:03:49بالعودة إلى لوحة التحكم، أرى أن الروابط قد استؤنفت،
00:03:53ويجب أن ينتقل سير العمل إلى حالة السكون.
00:03:55بالعودة إلى لوحة تحكم المستخدم، سأرى الشيء نفسه.
00:03:58لم نعد ننتظر تأكيدات الحضور،
00:04:00والآن نحن ننتظر فقط يوم 23،
00:04:01حتى نتمكن من إرسال عيد الميلاد.
00:04:03الآن، لا أريد أن أجعلكم تنتظرون لمدة أسبوعين،
00:04:05لذا سأعود إلى لوحة التحكم
00:04:06وأقوم بإنهاء حالة السكون هنا.
00:04:09يجب أن يؤدي ذلك إلى استئناف سير العمل فوراً،
00:04:12وسنرى سير العمل يكتمل.
00:04:14دعوني أعود إلى لوحة تحكم المستخدم.
00:04:17تم إرسال البطاقة البريدية.
00:04:18وفي بريدي الإلكتروني، يجب أن أتلقى بطاقة عيد ميلاد
00:04:22مع تأكيد الحضور أيضاً.
00:04:23رائع.
00:04:24الآن، أريد أن أريكم الكود،
00:04:26وتذكروا ما قلناه سابقاً.
00:04:29الفرق التي تشحن بأسرع وتيرة اليوم لا تتعامل مع قوائم الانتظار
00:04:32وإدارة الحالة والبنية التحتية.
00:04:34تلك هي الطريقة القديمة.
00:04:35في Workflow، كل ما رأيناه اليوم
00:04:38هو دالة واحدة،
00:04:40وتبدأ بهذا التوجيه، useWorkflow.
00:04:43هذا التوجيه الواحد هو ما يسمح لهذه الدالة بالعمل لأيام،
00:04:48والتوقف بين الخطوات، والاستئناف من حيث توقفت تماماً.
00:04:52لذا عندما يستدعي سير العمل خطوة،
00:04:53مثل إنشاء مطالبات أو إنشاء صورة،
00:04:56يقوم سير العمل بتعليق الدالة،
00:04:58ويضع العمل في قائمة الانتظار في الخلفية.
00:05:00حتى أنه سيعيد المحاولة إذا فشلت،
00:05:02ثم يستأنف سير العمل عندما تنتهي.
00:05:05طوال الوقت، أحصل على إمكانية مراقبة كاملة
00:05:07على لوحة تحكم Vercel لكل خطوة في الطريق.
00:05:11يمكنني حتى النقر على أحد هذه الخطوات،
00:05:13وبشكل افتراضي، كل شيء مشفر على Vercel،
00:05:16لكنني سأفك تشفير البيانات حتى تتمكنوا من رؤية المدخلات.
00:05:19نعم، هذا متاح في كل من لوحة التحكم والـ CLI.
00:05:22تأتي Workflows أيضاً مع ميزة البث المدمجة.
00:05:24هذه هي الطريقة التي أرسلت بها تحديثات فورية للعميل
00:05:29لتتبع التقدم مباشرة.
00:05:31لم أضطر إلى جلب نوع من قواعد البيانات
00:05:33فقط لتحقيق ذلك.
00:05:34يمكن للعميل حتى قطع الاتصال وإعادة الاتصال بشكل جيد.
00:05:37هذا بث مستمر.
00:05:39حسناً، وإليكم الجزء الهام.
00:05:42لكل تأكيد حضور، أقوم بإنشاء رابط webhook مؤقت
00:05:46بشكل سريع، ثم أرسله في رسالة بريد إلكتروني،
00:05:50وبعد ذلك يمكنني ببساطة انتظاره هنا.
00:05:52يتوقف سير العمل مؤقتاً هنا
00:05:56حتى ينقر كل شخص على الرابط الخاص به.
00:05:59لا توجد قاعدة بيانات متضمنة،
00:06:01والنتائج تعيش فقط في متغيرات JavaScript محلية.
00:06:05سير العمل يحتفظ بكل حالته الخاصة.
00:06:08هذه هي آليات الأنظمة الموزعة
00:06:11التي قلنا إنها اختفت.
00:06:12لم يعد عليك التفكير في هذه الأشياء بعد الآن.
00:06:14حسناً، أخيراً، لنجعل النظام يسكن في النهاية
00:06:17لحين حلول عيد ميلادي.
00:06:18إنه هنا.
00:06:19هذا السكون يمكن أن يكون لبضع ثوانٍ،
00:06:21أو أيام أو حتى أسابيع كما فعلنا للتو.
00:06:24وبينما هو ساكن، يتم تعليق سير العمل ببساطة
00:06:27دون تشغيل أي عمليات حوسبة.
00:06:29عندما يستيقظ، يواصل بالضبط من حيث توقف،
00:06:33مع الحفاظ على الحالة طوال الوقت.
00:06:34وهذا هو الأمر برمته.
00:06:37إنها دالة واحدة يمكنك قراءتها من الأعلى إلى الأسفل
00:06:40وفهم منطقها من البداية إلى النهاية.
00:06:43كل خطوة مدعومة بقائمة انتظار،
00:06:45وتتم إعادة محاولتها تلقائياً،
00:06:47وتعمل على دالة serverless خاصة بها.
00:06:49لا توجد حدود لمهلة الانتظار،
00:06:51لذا يمكن لسير العمل أن يستمر للمدة التي يحتاجها.
00:06:54هذا ما نعنيه
00:06:56عندما نقول إن Vercel تتعامل مع كل شيء في الخلفية.
00:06:59يمكنك فقط كتابة المنطق ونحن نتولى الباقي.
00:07:02الآن، في هذا العرض التوضيحي، أظهرت لكم حالة استخدام بسيطة،
00:07:07لكن عملاءنا يستخدمون Workflows
00:07:09لتشغيل وكلاء في بيئات الإنتاج بنطاق هائل.
00:07:12تستخدم Mux سير العمل لضمان أن خطوط إنشاء الفيديو
00:07:17تعمل بموثوقية في كل مرة.
00:07:19وتقوم Flora بتنسيق وكلاء مبدعين متوازيين
00:07:23عبر 50 نموذجاً لإنشاء الصور، وكل ذلك باستخدام Workflow.
00:07:27Durable هو فريق صغير
00:07:30يستضيف 3 ملايين موقع لعملائه،
00:07:33وهم يستخدمون Workflows لشحن وكلاء جدد
00:07:35لمستخدميهم كل يوم.
00:07:38الآن، لقد بدأت هذا العرض التوضيحي
00:07:40بقول إن البرمجيات الأكثر إثارة للاهتمام
00:07:42التي يبنيها عملاؤنا لم تعد تناسب طلباً واحداً.
00:07:46ونحن نرى المزيد والمزيد من التطبيقات كهذه
00:07:50يتم نشرها كل يوم.
00:07:51الوكلاء يشحنون وكلاء،
00:07:54والفرق التي تبنيهم لا تفكر في قوائم الانتظار،
00:07:58بل تركز على حل مشكلات عملائها.
00:08:01وهذا التحول لا يحدث داخل Vercel فقط.
00:08:05عمليات نشر عملائنا تتضاعف،
00:08:07ومهندسون أقل من أي وقت مضى يبنون البنية التحتية يدوياً.
00:08:11لذا أياً كان التطبيق أو الوكيل الذي تريد بناءه،
00:08:16فإن Workflows ستجعله موثوقاً،
00:08:18وطويل الأمد، ودائماً، وقابلاً للمراقبة.
00:08:22من حاسوبك المحمول إلى مليون مستخدم
00:08:25كل ذلك بنفس كود التطبيق.
00:08:27Workflows متاحة للجميع اليوم،
00:08:31لذا اذهب وانشر شيئاً يعمل ببراعة.
00:08:37[صمت]