AWS کلاؤڈ کا استعمال کرتے ہوئے توسیع پذیر ایپلیکیشن کیسے تیار کی جائے؟ (ویبھو شرما) پلیٹو بلاک چین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

AWS کلاؤڈ کا استعمال کرتے ہوئے توسیع پذیر ایپلیکیشن کیسے تیار کی جائے؟ (ویبھو شرما)

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

آپ نے اپنی ایپ کا تجربہ کیا ہے اور اسے فعال پایا ہے۔ تو، بالکل کیا ہوا؟

"یہ کوئی بگ نہیں ہے، بلکہ اسکیل ایبلٹی کا مسئلہ ہے۔" آپ کا کلاؤڈ انفراسٹرکچر ٹریفک بڑھنے کے ساتھ ترقی کے لیے نہیں بنایا گیا ہے۔

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

اسکیل ایبلٹی کیا ہے؟

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

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

اسکیل ایبلٹی اہمیت کیوں رکھتی ہے؟

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

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

اسکیل ایبل ایپس، تاہم، تیزی سے توسیع کو ایڈجسٹ کرنے کے لیے بنائی گئی ہیں۔ وہ زیادہ صارف دوست ہیں اور غیر توسیع پذیر پروگراموں پر مسابقتی فائدہ فراہم کرتے ہیں۔ ان کی کارکردگی بہتر ہوئی ہے، زیادہ ROI، اور مطمئن صارفین ہیں۔

AWS کلاؤڈ سروسز کا استعمال کرتے ہوئے توسیع پذیر ایپلیکیشن تیار کرنے کے اقدامات

مرحلہ 1: کلاؤڈ آرکیٹیکچر کی ابتدائی ترتیب

آپ واحد ہیں جو لوکل ہوسٹ پر ایپ استعمال کر رہے ہیں۔ ایک باکس میں ایک درخواست کی تعیناتی سے شروع کرنا ممکن ہے۔ شروع کرنے کے لیے، آپ کو استعمال کرنا چاہیے۔
AWS خدمات ذیل میں درج

● Amazon Machines Images (AMI)

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

● Amazon Virtual Private Cloud (Amazon VPC)

ایمیزون ورچوئل پرائیویٹ کلاؤڈ ورچوئل نیٹ ورک پر AWS وسائل کی تعیناتی کو قابل بناتا ہے۔ یہ ورچوئل نیٹ ورکنگ ماحول پر مکمل کنٹرول فراہم کرتا ہے، بشمول IP ایڈریس رینج کا انتخاب، سب نیٹ فارمیشن، روٹ ٹیبل اور نیٹ ورک گیٹ وے سیٹ اپ۔

● Amazon Elastic Compute Cloud (Amazon EC2)

Amazon Elastic Compute Cloud AWS کلاؤڈ کی توسیع پذیر کمپیوٹنگ کی صلاحیت ہے۔ اس سے سامنے والے ہارڈ ویئر کی ضرورت ختم ہو جاتی ہے، جس سے آپ ایپس کو زیادہ تیزی سے ڈیزائن اور تعینات کر سکتے ہیں۔

● ایمیزون روٹ 53

Amazon Route 53 ایک قابل توسیع اور انتہائی دستیاب کلاؤڈ DNS ویب سروس ہے۔ ایمیزون روٹ 53 صارف کی درخواستوں کو AWS انفراسٹرکچر سے جوڑتا ہے جیسے Amazon EC2 مثالوں، لچکدار لوڈ بیلنسنگ لوڈ بیلنسرز، اور Amazon S3 بالٹی۔

یہاں ایک بڑا باکس درکار ہے۔ بس بڑی مثال کی قسم کو منتخب کریں، جسے عمودی اسکیلنگ کہا جاتا ہے۔ عمودی پیمانہ پہلے تو کافی ہے، لیکن ہم عمودی طور پر لامتناہی پیمانے نہیں کر سکتے۔ آپ آخر کار اینٹوں کی دیوار تک پہنچ جائیں گے۔ اس کے علاوہ، یہ خطاب نہیں کرتا
ناکامی اور فالتو پن۔

مرحلہ 2: متعدد میزبان بنائیں اور ایک ڈیٹا بیس منتخب کریں۔

جیسے جیسے صارفین کی تعداد بڑھتی ہے اور ڈیٹا تیار ہوتا ہے، آپ کو پہلے ڈیٹا بیس کا انتخاب کرنا ہوگا۔ درج ذیل وجوہات کی بنا پر SQL ڈیٹا بیس کا استعمال شروع کرنا بہتر ہے۔

  • ٹیکنالوجی جو اچھی طرح سے قائم اور اچھی طرح سے پہنی ہوئی ہے۔
  • کمیونٹی کی طرف سے تعاون اور تازہ ترین ٹولز
  • ہم اپنے پہلے دس ملین صارفین کے ساتھ ایس کیو ایل ڈیٹابیس کو بکھرنے والے نہیں ہیں۔

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

مرحلہ 3: ڈیٹا بیس کو Amazon Rds پر اسٹور کریں تاکہ کام کو آسان بنایا جاسکے

جب صارفین 100 تک بڑھ جاتے ہیں، ڈیٹا بیس کی تعیناتی پہلی چیز ہوتی ہے جسے کرنے کی ضرورت ہوتی ہے۔ AWS پر ڈیٹا بیس کو تعینات کرنے کے لیے دو عمومی ہدایات ہیں۔ سب سے اہم آپشن ایک منظم ڈیٹا بیس سروس جیسے ایمیزون ریلیشنل ڈیٹا بیس سروس (ایمیزون) کا استعمال کرنا ہے۔
RDS) یا Amazon DynamoDB اور دوسرا مرحلہ Amazon EC2 پر اپنے ڈیٹا بیس سافٹ ویئر کی میزبانی کرنا ہے۔

● Amazon RDS

ایمیزون آر ڈی ایس (ایمیزون ریلیشنل ڈیٹا بیس سروس) کلاؤڈ میں متعلقہ ڈیٹا بیس کو ترتیب دینا، چلانا اور اسکیل کرنا آسان بناتا ہے۔ Amazon RDS چھ معروف ڈیٹا بیس انجنوں کو سپورٹ کرتا ہے، بشمول Amazon Aurora، Oracle، Microsoft SQL Server، PostgreSQL، MySQL، اور
ماریاڈی بی۔

● Amazon DynamoDB

Amazon DynamoDB ایک مکمل طور پر منظم ملکیتی NoSQL ڈیٹا بیس سروس ہے جو Amazon.com کے ذریعے فراہم کی جاتی ہے
ایمیزون ویب سروسز پورٹ فولیو

مرحلہ 4: دستیابی کو بڑھانے کے لیے، دستیابی کے مختلف زونز بنائیں

آپ کو موجودہ فن تعمیر کی بنیاد پر دستیابی کے خدشات کا سامنا کرنا پڑ سکتا ہے۔ اگر آپ کی ویب ایپ کا میزبان ناکام ہو جاتا ہے، تو یہ نیچے جا سکتا ہے۔ لہذا آپ کو RDS کے لیے غلام ڈیٹا بیس کی میزبانی کے لیے مختلف دستیابی زون میں ایک اور ویب مثال کی ضرورت ہوگی۔

  • لچکدار لوڈ بیلنسر (ELB)
  • ملٹی - ایز تعیناتی

مرحلہ 5: کارکردگی کو بہتر بنانے کے لیے، جامد مواد کو آبجیکٹ پر مبنی اسٹوریج میں منتقل کریں

کارکردگی اور کارکردگی کو بڑھانے کے لیے آپ کو RDS میں اضافی پڑھنے والی نقلیں شامل کرنے کی ضرورت ہوگی۔ یہ رائٹ ماسٹر ڈیٹا بیس پر دباؤ کو دور کرتا ہے۔ جامد معلومات کو Amazon S3 اور Amazon CloudFront میں منتقل کرنے سے ویب سرورز پر دباؤ کو کم کرنے میں بھی مدد مل سکتی ہے۔

  • ایمیزون S3
  • ایمیزون ایلسٹی کیچ
  • ایمیزون CloudFront
  • ایمیزون ڈائنومو ڈی بی

مرحلہ 6: شفٹنگ ڈیمانڈ کو خود بخود پورا کرنے کے لیے آٹو اسکیلنگ سیٹ اپ کرنا

اس مقام پر، آپ کا فن تعمیر ایک چھوٹی ٹیم کے لیے برقرار رکھنے کے لیے بہت پیچیدہ ہے، اور مؤثر نگرانی اور تجزیہ کے بغیر، آگے بڑھنا مشکل ہے۔

  • ایمیزون کلاؤڈ واچ
  • AWS کلاؤڈ فارمیشن
  • AWS لچکدار بین اسٹالک
  • AWS OpsWorks
  • AWS CodeDeploy

مرحلہ 7: مزید لچک کے لیے، SOA استعمال کریں۔

بڑے پیمانے پر آن لائن ایپلی کیشنز بناتے وقت، آپ کو ایک ملین سے زیادہ صارفین کی مدد کے لیے سروس اورینٹڈ آرکیٹیکچر (SOA) کو استعمال کرنا چاہیے۔

  • ایمیزون سادہ قطار سروس (SQS)
  • Amazon Simple Notification Service (SNS)
  • او ڈبلیو ایس لامبڈا۔

نتیجہ

اسکیلنگ تک کیسے پہنچنا ہے اس کا فیصلہ وقت سے پہلے کر لینا چاہیے کیونکہ آپ کبھی نہیں جانتے کہ آپ کب مشہور ہوں گے! مزید برآں، صفحات کے کریش ہونے (یا تاخیر سے) آپ کے صارفین کو ناراض کر دیتا ہے اور آپ کی ایپ کو خراب امیج دیتا ہے۔ یہ آخر کار ہوگا
آپ کی آمدنی پر اثر

 توسیع پذیر ویب سائٹس کو ڈیزائن کرنے میں وقت، کوشش اور ایک اہم سرمایہ کاری شامل ہے۔ Exato Softwares ان فرموں کے لیے بہترین حل ہے جن کی ضرورت ہے اور اسے پورا کرنے کے لیے جدوجہد کر رہے ہیں۔ ہم نے لاکھوں کے ساتھ کلائنٹس کے لیے قابل توسیع ویب ایپلیکیشنز بنائے ہیں۔
صارفین مفت مشاورت اور قیمت کوٹیشن کے لیے ہم سے رابطہ کرنے میں سنکوچ نہ کریں۔

ٹائم اسٹیمپ:

سے زیادہ فن ٹیکسٹرا