کلاؤڈ فنکشنز بمقابلہ کبرنیٹس انجن

اگست 2019 کو اپ ڈیٹ ہوا۔

گوگل کا کمپیوٹ لائن بہت سارے بہترین انتخاب پیش کرتا ہے۔ جی سی پی پر دو بہترین ٹیکنالوجیز ہیں کبرنیٹس انجن اور کلاؤڈ فنکشنز۔ دونوں ہی طاقت ور ہیں اور ایک ڈویلپر کی حیثیت سے کلاؤڈ فنکشنز پر ڈیفالٹ کرنا آسان ہے کیونکہ اس میں میرے ہاتھ سے بہت سارے انتظامی کام کی ضرورت ہے۔ یہ انتظامی کام ، اگرچہ اعلاناتی یامل فائلیں ، کبرنیٹس انجن کو تشکیل دینے کا ایک اہم پہلو ہیں۔

اس مضمون کی اصل بنیاد ایک ڈویلپر نے صرف مجھ سے پوچھا ، "آپ کلاؤڈ فنکشنز پر کبیرنیٹس کا انتخاب کب کریں گے؟"۔ یہ ایک ایسا سوال ہے جس کے بعد میں نے ان دونوں کے ساتھ کام کرنے کے بعد خود پر بہت غور کیا ہے ، اور اس لئے میں سمجھتا ہوں کہ اس کو نپٹانے کا بہترین طریقہ کلاؤڈ فنکشنز کو ڈیفالٹ کرنا ہے اور ان مثالوں کی وضاحت کرنا ہے جہاں کبرنیٹس انجن بہتر انتخاب ہوگا۔ اگرچہ میں ہر وجوہ کی فہرست نہیں دیتا ہوں ، لیکن یہاں سرفہرست کئی ہیں جو کبرنیٹس کا انتخاب کرتے ہیں۔

3 زبانیں اسے کاٹنے والی نہیں ہیں

جب اس وقت کلاؤڈ فنکشنز کا استعمال کرتے ہو تو آپ کے پاس انتخاب کے ل only صرف تین ترقیاتی ماحول ہوتے ہیں اور وہ ہے نوڈ ڈاٹ جے ایس ، ازگر اور گو۔ یہ ایک ناقابل یقین ٹیکنالوجی ہے اور یہ طاقتور ہے۔

کبرنیٹس انجن آپ کو آزادی کی پیش کش کرتا ہے کیونکہ آپ جو پوڈ تیار کر رہے ہیں وہ الگ تھلگ ماحول ہیں جو کسی بھی زبان اور رن ٹائم کو چلا سکتے ہیں۔ آپ کو ایک NET شاپ ہوسکتی ہے اور اسے C # حاصل کرنے کی ضرورت ہے۔ میں نے ایپل کی جانب سے کور فاؤنڈیشن کی لائبریریوں کو کسی خدمت میں استعمال کرنے کا خیال پیش کیا ہے۔ اس سروس کو سوئفٹ میں لکھنے کی ضرورت ہوگی۔ یہ صرف کچھ معاملات ہیں جن میں ایک مختلف زبان اور فریم ورک کے سیٹ کا استعمال شامل ہوسکتا ہے۔ مستقبل میں ، کلاؤڈ فنکشنز ان میں سے زیادہ تر ٹکنالوجیوں کی حمایت کریں گے ، لیکن اس کی تیاری میں کچھ سال پہلے لگیں گے۔

سپیڈ

سپیڈ ، اور میرا مطلب ابھی ہے ، 200 ایم ایس میں نہیں۔ یہ ایک بنیادی فرق ہے۔ ایسی مثالیں موجود ہیں جب آپ صرف ڈیٹا حاصل کرنا چاہتے ہیں اور کہیں اسے دھکا دینا چاہتے ہیں۔ اگر کسی کلاؤڈ فنکشن کو کچھ دیر کے لئے استعمال نہیں کیا جاتا ہے تو پھر اس فنکشن کی تمام مثالیں بند ہوجاتی ہیں۔ یہ ایک اچھی چیز ہے ، اگر آپ اسے استعمال نہیں کررہے ہیں تو آپ کچھ بھی ادا نہیں کررہے ہیں۔ تاہم ، ایسی مثالیں موجود ہوسکتی ہیں جہاں آپ ابھی سرد آغاز کے اس وقت کا انتظار نہیں کرنا چاہتے ہیں۔ اگر یہ آپشن نہیں ہے تو پھر کبرنیٹس کی کمر آپ کے پاس ہوگی ، آپ پہلے ہی کلسٹر ہیں اور جب ضرورت محسوس ہوتی ہے تو آپ اس مخصوص خدمت کو چلانے کے لئے تیار ہوسکتے ہیں۔

بھاری پروسیسنگ اور بڑے کام کا بوجھ

مختلف خدمات کو ایک ساتھ مربوط کرنے کے لئے افعال بہت عمدہ ہیں۔ تاہم ، ان کا مقصد بھاری یا طویل کام کے لئے نہیں ہے۔ وہ کمپیوٹ ، کبرنیٹس اور ایپ انجن کے مقابلے سی پی یو اور میموری پر مختصر ہیں۔ ان کے پاس 5 منٹ پر بہت تیز ٹائم آؤٹ ٹائم ہوتا ہے جس کا مطلب ہے کہ کام کو تیزی سے کرنے کی ضرورت ہے اور آپ کو جلدی سے فنکشن سے واپس آنے کی ضرورت ہے۔

اس کے علاوہ ، یہ بھاری بوجھ کو اچھی طرح سے نہیں سنبھالتا ہے۔ اگر آپ کلاؤڈ فنکشن پر بہت ساری پروسیسنگ یا بڑی ڈیٹا تجزیہ کرنے جارہے ہیں تو آپ پریشانی میں پڑجائیں گے۔ کبرنیٹ انجن کے ذریعہ آپ کو مختلف پیرامیٹرز جیسے اعلی سی پی یو ، میموری وغیرہ کی بنیاد پر پھلی پیمانے کی صلاحیت ہے کہ آپ کلاؤڈ فنکشنز کے ساتھ سی پی یو کو منتخب کرنے کی صلاحیت نہیں رکھتے ہیں اور دیگر کمپیوٹ خدمات کے مقابلے میں میموری کی رقم مختص ہے۔

انوکیشن جنون

آپ کتنی بار تقریب میں داخل ہو رہے ہیں؟ کیا یہ ایک دن میں ایک لاکھ یا ایک لاکھ بار ہے؟ اگر آپ کا کلاؤڈ فنکشن فائر بیس ڈیٹا بیس ٹرگر پر انحصار کررہا ہے تو یہ مختلف ہے ، اس وقت کلاؤڈ فنکشن کے لئے طے کرنا مناسب ہے۔ تاہم ، اگر آپ کسی ایسی خدمت کی تعمیر کرنے کی کوشش کر رہے ہیں جو ای میلز کی توثیق کرنے یا اعداد و شمار کی ایک بڑی مقدار میں آسانی سے گھور رہی ہو تو یہ بات کبیرنیٹس پر غور کرنے کے قابل ہے۔ سب سے پہلے ، آپ ہمیشہ کچھ پھلی چل سکتے ہیں تاکہ آپ خدمت پر کسی قسم کی تاخیر کم کریں۔ دوسرا ، کلاؤڈ فنکشن کے ساتھ قیمت کا ایک حصہ یہ ہے کہ فنکشن کو کتنی بار طلب کیا جاتا ہے۔ کبرنیٹس کے ذریعہ آپ چوٹی کے اوقات میں زیادہ پیمانے پر پیمانے کے قابل ہوجاتے ہیں اس سے پہلے کہ اسکیل بیک ہو جائے۔ اس سے کوئی فرق نہیں پڑتا ہے کہ کیا آپ کی خدمت کو دس ہزار بار طلب کیا گیا ہے ، اس وقت آپ اپنے چلانے والے نوڈس اور پوڈوں کی تعداد ادا کر رہے ہیں جو آپ کے مجموعی اخراجات کو کم کردے گا۔

مائکروسروائس مواصلات

آخر کار ، ہمارے پاس خدمت سے خدمت تک پہنچنے والا مواصلت ہے۔ کلاؤڈ فنکشنز میں فائربیس اور جی سی پی دونوں کے لئے کچھ واقعی طاقتور محرکات ہیں۔ مثال کے طور پر ، آپ کلاؤڈ پب / سب ٹرگر سیٹ اپ کرسکتے ہیں یا کلاؤڈ اسٹوریج میں فائلیں اپ لوڈ کرکے کسی اور فنکشن کو ٹرگر کرسکتے ہیں۔ اس کے علاوہ ، ہمارے پاس HTTP ٹرگرز ہیں جو ویب ہکس بنانے میں مددگار ہیں۔

تاہم ، کیا ہوگا اگر آپ کے پاس متعدد خدمات ہیں جن کو متحرک کرنے کی ضرورت نہیں ہے ، لیکن آپ صرف یہ چاہتے ہیں کہ وہ آپس میں بات کریں؟ اس وقت خدمات کے مابین بات چیت اور بات چیت کرنا کلاؤڈ فنکشنز کا استعمال کرتے وقت کوئی موثر نقطہ نظر نہیں ہے۔ تنہا تعی .ن کے عمل کے بارے میں سوچئے۔ کلاؤڈ افعال کے ساتھ یہ بوجھل ہے جب آپ گوگل کلاؤڈ پر خدمات کے ایک گروپ کو اپ ڈیٹ کرنا شروع کرتے ہیں۔ دریں اثنا ، کبرنیٹس کے ساتھ آپ آسانی سے اپنی تشکیلات اپ لوڈ کر رہے ہیں اور کبرنیٹس اس بات کو یقینی بنارہا ہے کہ ماحول آپ کے لئے مناسب طریقے سے چل رہا ہے۔ ہاں یام فائلوں کو بنانے کے لئے اور بھی بہت کام کرنا ہے ، لیکن پھر اس انفراسٹرکچر کو قائم رکھنا اور چلتا رہنا بہت آسان ہے۔

آخر کار ، اس پر منحصر ہے کہ آپ کیا تعمیر کررہے ہیں اور آپ کی ضروریات کیا ہیں ، لیکن اگر آپ اپنے کلاؤڈ افعال میں ایک کال پر مبنی ایک سے زیادہ HTTP فنکشن کو کال کرنے کے خیال سے جہل کررہے ہیں تو آپ کو پیچھے ہٹنا چاہئے اور اپنے آپ سے پوچھنا چاہئے کہ کیا کبرنیٹس ایک بہتر آپشن ہے؟ واقع ہونے والے 90٪ انٹر کمیونیکیشن کیلئے۔

یہ فہرست مکمل نہیں ہے اور یہ یقینی طور پر تشریح کے لئے کھلا ہے۔ ایک بار پھر ، یہ ایک کمپنی اور تنظیم کی حیثیت سے آپ کی ضروریات پر مبنی ہے۔ کبرنیٹس اب بھی تیز رفتار سے ترقی کر رہا ہے اور ہر ایک کے پاس ڈویلپر / ٹیم موجود نہیں ہے جو ان کے لئے کبرنیٹ انجن پروجیکٹ کا انتظام کرسکے۔ دوسری طرف ، ہوسکتا ہے کہ آپ کے پاس NET کور سروسز ہیں جو آپ تعینات کرنا چاہتے ہیں اور کلاؤڈ فنکشنز ابھی اس میں کمی نہیں کریں گے کیونکہ آپ کو Node.js ، ازگر یا گو کو استعمال کرنے کی ضرورت ہے۔ یہ ایک قدم پیچھے ہٹنا اور کھیل میں مختلف ٹکنالوجیوں کے بارے میں سوچنا ہمیشہ ہی قابل قدر ہے اور ہم انھیں ممکنہ حد تک نتیجہ خیز ثابت کرنے میں کس طرح فائدہ اٹھاسکتے ہیں۔

جیمز ولسن گو اور گوگل کلاؤڈ کا استعمال کرکے ڈویلپر بلڈنگ تقسیم شدہ نظام ہیں۔ وہ ایک Pluralsight مصنف بھی ہیں اور آپ ان کے نصاب کو یہاں دیکھ سکتے ہیں۔