ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقا

ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقاLOST by sophiagworld

ھي آرٽيڪل ڪجھ عام نمونن تي مشتمل آھي جيڪي انجنيئرن کي وڏي پئماني تي خدمتن سان ڪم ڪرڻ ۾ مدد ڏيڻ لاءِ جيڪي لکين استعمال ڪندڙن تائين پھچن ٿيون. 

ليکڪ جي تجربي ۾، هي هڪ مڪمل فهرست نه آهي، پر حقيقت ۾ مؤثر صلاح. سو، اچو ته شروع ڪريون.

سپورٽ سان ترجمو ڪيو ويو Mail.ru ڪلائوڊ حل.

پهرين ليول

ھيٺ ڏنل قدمن تي عمل ڪرڻ لاءِ نسبتاً سادو آھي پر ان جو وڏو اثر آھي. جيڪڏھن توھان انھن کي اڳي ئي نه آزمايو آھي، توھان حيران ٿي ويندا اھم سڌارن تي.

بنيادي ڍانچي جي طور تي ڪوڊ

مشوري جو پهريون حصو بنيادي ڍانچي کي ڪوڊ طور لاڳو ڪرڻ آهي. ان جو مطلب اهو آهي ته توهان وٽ لازمي طور تي هڪ پروگرامي طريقو هوندو جيڪو پوري انفراسٽرڪچر کي ترتيب ڏيڻ لاءِ. اهو پيچيده آواز آهي، پر اسان اصل ۾ هيٺ ڏنل ڪوڊ بابت ڳالهائي رهيا آهيون:

100 ورچوئل مشينن جي مقرري

  • Ubuntu سان
  • 2 GB رام هر هڪ
  • انهن وٽ هيٺيون ڪوڊ هوندو
  • انهن معيارن سان

توھان پنھنجي انفراسٽرڪچر ۾ تبديلين کي ٽريڪ ڪري سگھو ٿا ۽ ورزن ڪنٽرول استعمال ڪندي انھن ڏانھن جلدي واپس ڪري سگھو ٿا.

مون ۾ ماڊرنسٽ چوي ٿو ته توهان ڪبرنيٽس / ڊڪر استعمال ڪري سگهو ٿا مٿين سڀني کي ڪرڻ لاءِ ، ۽ هو صحيح آهي.

اضافي طور تي، توهان شيف، پپٽ يا ٽيرافارم استعمال ڪندي خودڪار مهيا ڪري سگهو ٿا.

مسلسل انضمام ۽ پهچائڻ

هڪ اسپيبلبل سروس ٺاهڻ لاء، اهو ضروري آهي ته هر پل جي درخواست لاء هڪ تعمير ۽ جانچ پائپ لائن هجي. جيتوڻيڪ امتحان تمام سادو آهي، اهو گهٽ ۾ گهٽ يقيني بڻائيندو ته ڪوڊ جيڪو توهان ترتيب ڏيو ٿا مرتب ڪيو.

هر دفعي هن اسٽيج تي توهان سوال جو جواب ڏيو ٿا: ڇا منهنجي اسيمبلي گڏ ڪندي ۽ ٽيسٽ پاس ڪندي، ڇا اهو صحيح آهي؟ اهو شايد گهٽ بار وانگر لڳي ٿو، پر اهو ڪيترن ئي مسئلن کي حل ڪري ٿو.

ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقا
انهن ٽڪن کي ڏسڻ کان وڌيڪ ٻيو ڪجهه به نه آهي

هن ٽيڪنالاجي لاءِ توهان اندازو ڪري سگهو ٿا Github، CircleCI يا Jenkins.

لوڊ بيلنسرز

تنهن ڪري، اسان ٽريفڪ کي ريڊائريڪٽ ڪرڻ لاءِ لوڊ بيلنس هلائڻ چاهيون ٿا ۽ سڀني نوڊس تي برابر لوڊ کي يقيني بڻايو وڃي يا ناڪامي جي صورت ۾ خدمت جاري رهي:

ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقا
هڪ لوڊ بيلنس عام طور تي ٽرئفڪ کي ورهائڻ جو سٺو ڪم ڪندو آهي. بهترين عمل اوور بيلنس ڪرڻ آهي ته جيئن توهان وٽ ناڪامي جو هڪ نقطو نه هجي.

عام طور تي، لوڊ بيلنس ترتيب ڏنل بادل ۾ توهان استعمال ڪندا آهيو.

RayID، رابطي جي ID يا درخواستن لاءِ UUID

ڇا توهان ڪڏهن هن طرح جي پيغام سان ايپليڪيشن جي غلطي سان منهن ڪيو آهي: ”ڪجهه غلط ٿيو. هن آئي ڊي کي محفوظ ڪريو ۽ ان کي اسان جي سپورٽ ٽيم ڏانهن موڪليو“?

ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقا
هڪ منفرد سڃاڻپ ڪندڙ، رابطي واري ID، RayID، يا ڪنهن به قسم جي تبديلي، هڪ منفرد سڃاڻپ ڪندڙ آهي جيڪو توهان کي اجازت ڏئي ٿو ته درخواست کي ان جي سڄي زندگي ۾ ٽريڪ ڪرڻ جي. هي توهان کي لاگ ان ۾ پوري درخواست جي رستي کي ٽريڪ ڪرڻ جي اجازت ڏئي ٿو.

ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقا
صارف سسٽم A کي درخواست ڪري ٿو، پوء A رابطو B، جيڪو C سان رابطو ڪري ٿو، ان کي X ۾ ذخيرو ڪري ٿو، ۽ پوء درخواست A ڏانهن واپس ڪئي وئي آهي.

جيڪڏهن توهان دور دراز سان ورچوئل مشينن سان ڳنڍڻ چاهيندا هئا ۽ درخواست جي رستي کي ٽريڪ ڪرڻ جي ڪوشش ڪندا هئا (۽ دستي طور تي رابطو ڪريو جيڪي ڪالون ڪيون وينديون آهن)، توهان چريو ٿي ويندا. هڪ منفرد سڃاڻپ ڪندڙ هجڻ زندگي کي تمام آسان بڻائي ٿو. هي هڪ آسان ترين شين مان آهي جيڪو توهان ڪري سگهو ٿا وقت بچائڻ لاءِ جيئن توهان جي خدمت وڌي ٿي.

وچولي سطح

هتي جي صلاح اڳين کان وڌيڪ پيچيده آهي، پر صحيح اوزار ڪم کي آسان بڻائي ٿو، سيڙپڪاري تي واپسي فراهم ڪري ٿو جيتوڻيڪ ننڍن ۽ وچولي سائيز جي ڪمپنين لاء.

مرڪزي لاگنگ

مبارڪون! توهان 100 ورچوئل مشينون لڳايون آهن. ٻئي ڏينهن، سي اي او اچي ٿو ۽ خدمت جي جاچ دوران حاصل ڪيل غلطي بابت شڪايت ڪري ٿو. اهو لاڳاپيل ID جي رپورٽ ڪري ٿو جنهن بابت اسان مٿي ڳالهايو آهي، پر توهان کي 100 مشينن جي لاگز ذريعي ڏسڻو پوندو ته اهو ڳولڻ لاء جيڪو حادثي جو سبب بڻيو. ۽ اهو سڀاڻي جي پيشڪش کان اڳ ڳولڻ جي ضرورت آهي.

جڏهن ته اهو آواز هڪ مزيدار ايڊونچر وانگر آهي، اهو بهترين آهي پڪ ڪرڻ لاءِ ته توهان وٽ سڀني رسالن کي هڪ جڳهه تي ڳولڻ جي صلاحيت آهي. مون ELK اسٽيڪ جي تعمير ٿيل ڪارڪردگي استعمال ڪندي لاگز کي مرڪزي ڪرڻ جو مسئلو حل ڪيو: اهو ڳولا لائق لاگ گڏ ڪرڻ جي حمايت ڪري ٿو. اهو واقعي هڪ مخصوص جرنل ڳولڻ جي مسئلي کي حل ڪرڻ ۾ مدد ڪندو. بونس طور، توھان ٺاھي سگھوٿا چارٽ ۽ ٻيون مزيدار شيون جھڙوڪ.

ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقا
ELK اسٽيڪ ڪارڪردگي

مانيٽرنگ ايجنٽ

هاڻي ته توهان جي خدمت مٿي ۽ هلندڙ آهي، توهان کي پڪ ڪرڻ جي ضرورت آهي ته اهو آساني سان هلندو آهي. اهو ڪرڻ جو بهترين طريقو ڪيترن ئي هلائڻ آهي ايجنٽ، جيڪو متوازي ۾ ڪم ڪري ٿو ۽ چيڪ ڪريو ته اهو ڪم ڪري ٿو ۽ بنيادي آپريشن ڪيا ويا آهن.

هن نقطي تي توهان چيڪ ڪريو هلندڙ تعمير سٺو محسوس ٿئي ٿو ۽ ٺيڪ ڪم ڪري ٿو.

ننڍي کان وچولي درجي جي منصوبن لاءِ، مان سفارش ڪريان ٿو پوسٽمن لاءِ نگراني ۽ دستاويز ڪرڻ APIs. پر عام طور تي، توهان صرف اهو پڪ ڪرڻ چاهيو ٿا ته توهان وٽ اهو ڄاڻڻ جو هڪ طريقو آهي جڏهن هڪ بند ٿي وئي آهي ۽ بروقت طريقي سان اطلاع ڏنو وڃي.

لوڊ تي منحصر خودڪار اسڪيلنگ

اهو تمام سادو آهي. جيڪڏهن توهان وٽ VM سروسنگ درخواستون آهن ۽ اهو 80٪ ميموري استعمال جي ويجهو اچي رهيو آهي، توهان يا ته ان جا وسيلا وڌائي سگهو ٿا يا ڪلستر ۾ وڌيڪ VM شامل ڪري سگهو ٿا. انهن عملن جي خودڪار عملدرآمد لوڊ هيٺ لچڪدار طاقت جي تبديلين لاء بهترين آهي. پر توهان کي هميشه محتاط رهڻ گهرجي ته توهان ڪيترو پئسا خرچ ڪيو ۽ مناسب حدون مقرر ڪريو.

ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقا
گھڻن ڪلائوڊ سروسز سان، توھان ان کي ترتيب ڏئي سگھوٿا آٽو اسڪيل تي وڌيڪ سرور يا وڌيڪ طاقتور سرور استعمال ڪندي.

تجرباتي نظام

محفوظ طريقي سان تازه ڪاري ڪرڻ جو هڪ سٺو طريقو آهي 1٪ صارفين لاءِ هڪ ڪلاڪ لاءِ ڪجهه ٽيسٽ ڪرڻ جي قابل. توهان، يقينا، عمل ۾ اهڙي ميڪانيزم ڏٺو آهي. مثال طور، فيس بوڪ سامعين جا حصا مختلف رنگ ڏيکاري ٿو يا فونٽ جي سائيز کي تبديل ڪري ٿو ڏسڻ لاءِ ته صارفين تبديلين کي ڪيئن ٿا سمجهن. ھن کي A/B جاچ چئبو آھي.

ايستائين جو هڪ نئين خصوصيت کي جاري ڪرڻ هڪ تجربي جي طور تي شروع ڪري سگهجي ٿو ۽ پوءِ طئي ڪيو وڃي ٿو ته ان کي ڪيئن ڇڏڻو آهي. توهان کي "ياد رکڻ" جي صلاحيت پڻ حاصل آهي يا اڏام تي ترتيب کي تبديل ڪرڻ جي فنڪشن جي بنياد تي جيڪو توهان جي خدمت ۾ تباهي جو سبب بڻيل آهي.

اعليٰ ليول

هتي ٽوٽڪا آهن جن تي عمل ڪرڻ ڪافي ڏکيو آهي. توھان کي شايد ٿورڙي وڌيڪ وسيلن جي ضرورت پوندي، تنھنڪري ھڪڙي ننڍڙي يا وچولي سائيز واري ڪمپني کي ھن کي منظم ڪرڻ ۾ مشڪل وقت ھوندو.

نيري-سائي تعیناتي

اهو ئي آهي جنهن کي مان "ارلنگ" سڏيو ويندو آهي ظاهر ڪرڻ جو طريقو. جڏهن ٽيليفون ڪمپنيون ظاهر ٿيو ته Erlang وڏي پيماني تي استعمال ڪيو ويو. ٽيليفون ڪالن کي روٽ ڪرڻ لاءِ سافٽ سوئچ استعمال ٿيڻ شروع ٿيا. انهن سوئچز تي سافٽ ويئر جو بنيادي مقصد سسٽم اپ گريڊ دوران ڪالز نه ڇڏڻ هو. Erlang هڪ نئون ماڊل لوڊ ڪرڻ جو هڪ سٺو طريقو آهي بغير اڳوڻي هڪ حادثي جي.

اهو قدم لوڊ بيلنس جي موجودگي تي منحصر آهي. اچو ته تصور ڪريو ته توهان وٽ توهان جي سافٽ ويئر جو ورجن N آهي، ۽ پوءِ توهان ورزن N+1 کي ترتيب ڏيڻ چاهيو ٿا. 

توهان اسان ڪري سگهون ٿا بس سروس کي روڪيو ۽ ايندڙ ورزن کي رول آئوٽ ڪريو ان وقت جيڪو توهان جي استعمال ڪندڙن لاءِ ڪم ڪري ۽ ڪجهه دير جو وقت حاصل ڪريو. پر فرض ڪريو توهان وٽ آهي حقيقت آهي سخت SLA شرطون. تنهن ڪري، SLA 99,99٪ جو مطلب آهي ته توهان آف لائن ٿي سگهو ٿا صرف 52 منٽ في سال.

جيڪڏهن توهان واقعي چاهيو ٿا ته اهڙن اشارن کي حاصل ڪريو، توهان کي هڪ ئي وقت ۾ ٻه ترتيب ڏيڻ جي ضرورت آهي: 

  • جيڪو هن وقت آهي (N)؛
  • ايندڙ نسخو (N+1). 

توهان لوڊ بيلنسر کي چئو ٿا ته ٽرئفڪ جي فيصد کي نئين ورزن (N+1) ڏانهن ريڊائريڪٽ ڪريو جڏهن توهان فعال طور تي رجعت جي نگراني ڪندا آهيو.

ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقا
هتي اسان وٽ هڪ سائي N جي جوڙجڪ آهي جيڪا ٺيڪ ڪم ڪري ٿي. اسان ڪوشش ڪري رهيا آهيون ته هن ترتيب جي ايندڙ ورزن ڏانهن

پهرين اسان هڪ ننڍڙو امتحان موڪليندا آهيون اهو ڏسڻ لاءِ ته ڇا اسان جي N+1 جي تعیناتي ٿوري ٽرئفڪ سان ڪم ڪري ٿي:

ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقا
آخرڪار، اسان وٽ خودڪار چيڪن جو هڪ سيٽ آهي جيڪو اسان آخرڪار هلون ٿا جيستائين اسان جي تعیناتي مڪمل ٿي وڃي. جيڪڏهن اوهان تمام گهڻو محتاط رھو، توھان پڻ محفوظ ڪري سگھوٿا پنھنجي N جي تعیناتي کي ھميشه لاءِ جلدي رولبڪ لاءِ خراب رجعت جي صورت ۾:

ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقا
جيڪڏهن توهان چاهيو ٿا ته اڃا به وڌيڪ ترقي يافته سطح تي، هر شيء کي نيري-سائي جي ترتيب ۾ خودڪار طريقي سان هلائڻ ڏيو.

انمولي ڳولڻ ۽ خودڪار گھٽائڻ

ڏنو ويو آهي ته توهان وٽ مرڪزي لاگنگ ۽ سٺو لاگ گڏ ڪرڻ آهي، توهان اڳ ۾ ئي اعلي مقصد مقرر ڪري سگهو ٿا. مثال طور، فعال طور تي ناڪامين جي اڳڪٿي ڪريو. افعال مانيٽر ۽ لاگس ۾ ٽريڪ ٿيل آهن ۽ مختلف ڊراگرام ٺهيل آهن - ۽ توهان اڳ ۾ ئي اڳڪٿي ڪري سگهو ٿا ته ڇا غلط ٿيندو:

ڪيئن آرام سان سمهڻ لاءِ جڏهن توهان وٽ ڪلائوڊ سروس آهي: بنيادي تعميراتي طريقا
هڪ دفعو غير معموليات معلوم ٿي ويا آهن، توهان شروع ڪيو ته ڪجھ اشارا جيڪي خدمت مهيا ڪن ٿا. مثال طور، سي پي يو لوڊ ۾ هڪ اسپائڪ ظاهر ڪري سگھي ٿو ته هارڊ ڊرائيو ناڪام ٿي رهي آهي، جڏهن ته درخواستن ۾ هڪ اسپيڪ ظاهر ڪري سگھي ٿو ته توهان کي ماپ ڪرڻ جي ضرورت آهي. هن قسم جي شمارياتي ڊيٽا توهان کي خدمت کي فعال بڻائڻ جي اجازت ڏئي ٿي.

انهن بصيرت سان، توهان ڪنهن به طول و عرض ۾ ماپ ڪري سگهو ٿا ۽ مشين، ڊيٽابيس، ڪنيڪشن ۽ ٻين وسيلن جي خاصيتن کي فعال ۽ رد عمل سان تبديل ڪري سگهو ٿا.

اهو ئي سڀ ڪجهه آهي!

ترجيحن جي هي فهرست توهان کي تمام گهڻيون مشڪلاتون بچائي سگهندي جيڪڏهن توهان ڪلائوڊ سروس کي وڌائي رهيا آهيو.

اصل مضمون جو مصنف پڙهندڙن کي دعوت ڏئي ٿو ته اهي پنهنجا تبصرا ڇڏي ۽ تبديليون ڪن. آرٽيڪل اوپن سورس طور ورهايو ويو آهي، ليکڪ طرفان درخواستون ڪڍو Github تي قبول ڪري ٿو.

موضوع تي ٻيو ڇا پڙهو:

  1. وڃو ۽ سي پي يو ڪيش
  2. قزاق جي روح ۾ ڪبرنيٽس عملدرآمد لاءِ ٽيمپليٽ سان
  3. اسان جو چينل Around Kubernetes ٽيليگرام ۾

جو ذريعو: www.habr.com

تبصرو شامل ڪريو