۳۰ آذر ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

چگونه با API های GraphQL موفق شویم

زبان پرس و جو منبع باز GraphQL آینده APIها است، اما برای رسیدن به هوم (و در مقیاس) آن نیاز به استراتژی دارد. این چیزی است که ما یاد گرفته ایم.

زبان پرس و جو منبع باز GraphQL آینده APIها است، اما برای رسیدن به هوم (و در مقیاس) آن نیاز به استراتژی دارد. این چیزی است که ما یاد گرفته ایم.

از آنجایی که کسب‌وکار مبتنی بر نرم‌افزار ما به اکوسیستم GraphQL API عمیق‌تر شده است، ما در این راه بهترین روش‌های ارزشمند را انتخاب کرده‌ایم. زبان پرس و جو منبع باز آینده API ها است، اما برای رسیدن به هوم (و زمزمه در مقیاس) نیاز به استراتژی دارد.

در کنار فناوری REST API قدیمی، GraphQL با توانمندسازی برنامه‌ها برای جمع‌آوری، مزیت‌های دگرگونی را ارائه می‌کند. تمام داده های لازم از طریق یک درخواست API واحد، و برای کنترل مستقیم آن داده ها به جای اتکا به اتصال سرور.

این تفاوت‌های کلیدی به تیم‌های توسعه اجازه می‌دهد تا برنامه‌های با ثبات‌تری را ارائه دهند و این کار را سریع‌تر و با مشکلات کمتری انجام دهند. سازمان‌هایی که از GraphQL استفاده می‌کنند می‌توانند کیفیت برنامه‌های کاربردی و تجربه توسعه‌دهنده‌شان را بسیار بهبود بخشند (همانطور که توسعه‌دهندگان خودمان می‌توانند تأیید کنند).

اما پذیرش GraphQL شامل چند دام است که می‌تواند باعث شود پیاده‌سازی‌ها به اهداف خود نرسند. یعنی مقیاس پذیری، دید و امنیت GraphQL داده نشده است. آن‌ها به استراتژی‌های اندیشیده‌شده‌ای نیاز دارند که با بهترین شیوه‌های فعلی همسو باشد.

در اینجا چیزی است که ما یاد گرفته ایم. این استراتژی‌ها باید به شما کمک کنند تا سفر مدرن‌سازی API GraphQL شما روان‌تر شود.

از همان ابتدا از مقیاس پذیری GraphQL پشتیبانی کنید

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

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

نحوه استفاده از پاندا برای تجزیه و تحلیل داده ها در پایتون

وقتی استفاده از GraphQL از آستانه‌ای که آن استراتژیست‌ها در ذهن دارند عبور می‌کند، و زمان آن فرا رسیده است که استقرار GraphQL را با بهترین روش‌ها مطابقت دهیم، تیم‌ها متوجه می‌شوند که لغو این تصمیمات بنیادی ضعیف مانند چیدن کشمش از یک کیک کاملاً پخته است. در یک مثال بسیار رایج، توسعه دهندگانی که بدون آینده نگری کار می کنند، اغلب بدون نیاز به راحتی، دسترسی با کد سخت را به سرورهای GraphQL و حل کننده ها کنترل می کنند. انجام این کار عملکرد و امنیت در مقیاس را مختل می کند، تا زمانی که تیم ها به عقب برگردند و با زحمت آن کد را حذف کنند.

استراتژی به مراتب بهتر این است که به طور کامل به GraphQL متعهد شوید و از همان ابتدا آن را به درستی پیاده سازی کنید. معرفی یک محیط گرین فیلد GraphQL مبتنی بر بهترین شیوه ها، هدیه ای به سازمان آینده شماست. کار کردن و ایمن کردن آن هم اکنون و هم در آینده آسان‌تر است، فوراً سود حاصل از تلاش را به همراه دارد، و مقیاس‌بندی و رسیدن به اهداف نقشه راه را بسیار آسان‌تر و سریع‌تر می‌کند.

از GraphQL با تجزیه و تحلیل عمیق پشتیبانی کنید

سازمان‌ها وقتی نظارت سنتی را با GraphQL ترکیب می‌کنند، اشتباه می‌کنند: رویکردهای استاندارد، بینش‌های ارزشمند پرس و جو و هوش تجاری را از دست می‌دهند. ابزارهای منطبق بر رفتارهای خاص GraphQL برای جمع آوری تجزیه و تحلیل عمیق و بینش عمیق به همان اندازه در مورد سلامت سرور و مسائلی که در سطح پرس و جو ایجاد می شوند ضروری هستند.

JFrog از سرویس توزیع نرم افزار رونمایی کرد

اگر سازمان شما GraphQL را پذیرفته است اما هنوز ابزارهای دید موثر را در محل خود قرار نداده است، قبل از اینکه پیاده سازی خود را برای تکیه بر یک نمودار فدرال مقیاس بندی کنید، در رقابت با زمان هستید تا این کار را انجام دهید. با یک نمودار فدرال، APIها یک نمودار داده واحد را نشان می دهند که چندین زیرگراف را ترکیب می کند (و مبهم می کند).

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

یک استراتژی امنیتی مخصوص GraphQL داشته باشید

GraphQL یک نمایه امنیتی خاص خود را دارد و به یک رویکرد امنیتی نیاز دارد که بتواند تهدیدهایی را که به طور خاص برای سوء استفاده از آسیب‌پذیری‌های GraphQL طراحی شده‌اند، خنثی کند. سازمان‌هایی که به API سنتی و دروازه‌های برنامه وب متکی هستند، نمی‌توانند به طور موثر کد API را ایمن کنند، ناهنجاری‌های ترافیکی را که ممکن است نشان دهنده فعالیت تهدید باشند، شناسایی کنند، یا کنترل‌های دسترسی ایمن و کارآمد را برپا کنند. برای ایمن سازی GraphQL، سازمان ها باید به جای آن از روش های مدرنی استفاده کنند که قادر به کشف ترافیک GraphQL و ارائه دید عمیق است که پاسخ های امنیتی بلادرنگ را ممکن می سازد.

من نمونه‌ای از یک حادثه امنیتی را که اخیراً تجربه کرده‌ایم، می‌آورم. در یک آخر هفته اخیر، هشداری دریافت کردیم مبنی بر اینکه حجم بالایی از درخواست‌ها از طریق لایه GraphQL ما ارسال می‌شود. خوشبختانه، قبل از این حادثه، پلتفرم مدیریت Inigo GraphQL را برای محافظت از سرورهای GraphQL تولیدی خود مستقر کرده بودیم. ما از معیارهای نظارت بر عملکرد برنامه (APM) خود برای شناسایی محدوده زمانی و رفع سرویس به بار مورد نظر استفاده کردیم. با ابزارهای امنیتی و تحلیلی Inigo، می‌توانیم کاربر و فضای کاری را که باعث ترافیک می‌شوند شناسایی کنیم.

5 نکته برای انتخاب پایگاه داده مناسب

“تهدید” یک کاربر قانونی بود که به همه ما یک نفس راحتی بخشید. این رویداد همچنین برای کشف بخشی از برنامه ما که نیاز به بهینه سازی داشت، ارزشمند بود. با این حال، بدون استراتژی امنیتی مخصوص GraphQL ما نمی‌توانستیم درک کنیم که کدام کاربر تحت تأثیر این مشکل قرار گرفته است، یا اینکه چگونه آن را تا این حد قاطعانه حل کنیم.

مطمئن شوید که همه در یک صفحه هستند

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

پشتیبانی از پیاده‌سازی جدید GraphQL با استراتژی‌ها و بهترین شیوه‌های مناسب، پتانسیل فوق‌العاده‌ای را برای کارایی عملیاتی بیشتر و تجربه توسعه‌دهنده پیشرو باز می‌کند. دستورالعمل موفقیت نوسازی API، معرفی مدیریت سفارشی، تجزیه و تحلیل و امنیت در کنار استقرار GraphQL است.

Will Guedes یکی از بنیانگذاران و CTO در Yottled است ، که ابزارهای نرم افزاری را برای رزرو مشتری، CRM، پرداخت ها و موارد دیگر به مشاغل کوچک و مبتنی بر خدمات ارائه می دهد.

New Tech Forum مکانی برای کاوش و بحث در مورد فناوری سازمانی نوظهور در عمق و وسعت بی سابقه ای فراهم می کند. انتخاب ذهنی است، بر اساس انتخاب ما از فناوری هایی که معتقدیم مهم هستند و برای خوانندگان InfoWorld بیشترین علاقه را دارند. InfoWorld وثیقه بازاریابی را برای انتشار نمی پذیرد و حق ویرایش تمام محتوای ارائه شده را برای خود محفوظ می دارد. همه سوالات را به newtechforum@infoworld.com ارسال کنید.