۵ نکته برای انتخاب ابزار مدیریت ایپیآی (۵ Tips for Choosing an API Management Tool)
امروزه APIها در همه جا حضور دارند. آنها برنامههایی که روزانه استفاده میکنیم را تأمین میکنند، ارتباط بین برخی از بزرگترین سرویسهای جهان را ممکن میسازند و کسبوکارهای کاملی حول آنها شکل گرفته است. طبق گزارش State of the Internet 2018 توسط Akamai، حدود ۸۳٪ ترافیک وب از درخواستهای API تشکیل شده است.
دنیا عملاً روی APIها کار میکند، که خبر خوبی برای ما در این حوزه است. اما این همچنین بدان معناست که مدیریت و تأمین امنیت APIها به طور مؤثر، بدون قربانی کردن قابلیت استفاده، مهمتر از همیشه است. هرجا که API شما شکست بخورد، ممکن است API مشابهی وجود داشته باشد که کار را بهطور مؤثرتری انجام دهد.
در Austin API Summit 2024، Sudeep Goswami از Traefik Labs در مورد ویژگیهای راهکارهای مدرن مدیریت API، زمان مناسب برای پیادهسازی چنین راهکاری و برخی از اشتباهات رایج مدیریت API صحبت کرد.
او پنج ستون حیاتی مدیریت API را معرفی میکند و نکات کلیدی را که هنگام بررسی ابزارهای مدیریت API باید در نظر گرفت، بیان میکند. در ادامه نکاتی برای بررسی هنگام انتخاب ابزار مدیریت API آمده است.
۱. آزادی انتخاب
Goswami پیشنهاد میکند که آزادی انتخاب «در تمام لایهها اهمیت دارد و این از توانایی پشتیبانی از پروتکلهای متعدد شروع میشود.» مثالهایی شامل REST، GraphQL، gRPC و غیره است. همچنین نباید مجبور باشید از دروازه یا کنترلکننده ingress خاصی استفاده کنید. او میگوید: «معماری شما باید ماژولار باشد.»
این امکان را میدهد تا بهترین محصولات از ارائهدهندگان مختلف را ترکیب و استفاده کنید. به گفته او: «اگر عاشق Postman هستید، نباید مجبور شوید از ابزار طراحی یک فروشنده استفاده کنید که سعی دارد کل راهکار مدیریت API را به شما بفروشد.»
باید بتوانید راهکار را در هر محیط ابری یا Kubernetes پیادهسازی کنید، چه در لبه (Edge) و چه در محل (On-premise). او نتیجه میگیرد که آزادی انتخاب اغلب با پذیرش استانداردهای باز مانند OpenAPI و OpenTelemetry به دست میآید و باید همواره در ارزیابی شما لحاظ شود.
۲. ذهنیت امنیتمحور
Goswami یادآوری میکند که «امنیت نباید بعداً در نظر گرفته شود.» این موضوع نه تنها هنگام بررسی راهکارهای مدیریت API بلکه در طراحی، توسعه و پیادهسازی هر محصول API اهمیت دارد.
سطح اول امنیت ممکن است شامل استفاده از API Gateway برای احراز هویت و مجوزدهی یا سایر روشها باشد. اما همانطور که محصول پیشرفت میکند، داستان به اینجا ختم نمیشود.
او بر اهمیت انتخاب بهترین راهکارها تأکید میکند. ترکیب کنترل دسترسی مبتنی بر نقش و یک ابزار مدیریت هویت و دسترسی مناسب، به ویژه مهم است.
Goswami توصیه میکند که ۱۰ مورد برتر OWASP برای APIها را در نظر داشته باشید. نکته اصلی این است که باید رویکردی پیشگیرانه در امنیت API اتخاذ کرد. او میگوید: «نمیتوانید انتظار داشته باشید یک فروشنده مدیریت API هم فروشنده امنیت شما باشد.»
۳. ذهنیت DevOps-محور
علاوه بر امنیت، راهکارهای مدیریت API باید ذهنیت DevOps-محور نیز داشته باشند. او میگوید: «همه چیز باید بهعنوان کد بیان شود و این باید یکی از اولین معیارها در بررسی یک راهکار مدیریت API باشد.»
مثلاً آیا میتوان آن را در CI/CD خود ادغام کرد؟ آیا میتوان GitOps را با آن انجام داد؟ او ادامه میدهد: «مدیریت API بهعنوان کد باید انتخابی طراحیشده باشد که فروشنده آن را ایجاد کرده باشد.»
وجود linters، امکان Infrastructure as Code (IaC) با Terraform و خودکارسازی بیشتر استقرار با ابزارهایی مانند Flux و ArgoCD، نشاندهنده آمادگی فروشنده است. احتمالاً باید از راهکارهایی که شما را به گردشکارهای محدود و سخت گیر میکنند، دوری کنید.
۴. بومی بودن در Kubernetes
در سال ۲۰۲۴، ویژگیهای Kubernetes-native در مدیریت API ضروری است. این به شما امکان میدهد فرآیندها سبک باقی بمانند و دوبارهکاری نکنید.
Goswami توضیح میدهد: «باید کاملاً با Kubernetes یکپارچه باشد، بتواند با API آن صحبت کند و تمام اطلاعات آن را به دست آورد.»
مزایا شامل کشف خودکار و حذف مفهوم خدمات شبحوار است و شما از ابتدا دید کاملی خواهید داشت. بومی بودن در Kubernetes به معنای آن است که «همه چیز بهعنوان کد و در نهایت YAML بیان میشود.»
۵. زمان سریع برای ایجاد ارزش
Goswami میگوید: «هدف این است که بتوانیم ارزش را سریع ارائه کنیم.» او به مدل دوگانه اشاره میکند: «امکان پیکربندی از طریق UI برای شروع سریع، سپس رفتن به کد برای توسعه و استقرار در مقیاس.»
به عبارت دیگر، شروع ساده بدون محدود کردن انعطاف برای کاربران پیشرفته. سپس میتوان از توانایی اسکریپتنویسی و اتوماسیون استفاده کرد زیرا همه چیز بهعنوان کد بیان شده است.
آیا زمان استفاده از پلتفرم مدیریت API است؟
قبل از انتخاب راهکار مدیریت API، خوب است ابتدا به پایهها نگاه کنید، که نوع پلتفرم مورد نیاز را تعیین میکنند. Goswami مسیر چرخه عمر API را شرح میدهد و برخی راهکارهایی که توسعهدهندگان ممکن است پس از راهاندازی محصول cloud-native به آنها مراجعه کنند:
-
Application proxy: سادهسازی و خودکارسازی کشف، مسیردهی و load balancing برای میکروسرویسها و ماشینهای مجازی.
-
API Gateway: با اولویتبندی امنیت و کنترل مرکزی، تیمها به API Gateway ارتقا میدهند.
-
API Management: زمانی که مدیریت چرخه عمر API اولویت میشود، تیمها به قابلیتهای بیشتری نیاز دارند که فراتر از API Gateway است.
چند سؤال برای شناسایی نیاز به مدیریت API:
-
آیا APIها را بهعنوان محصول میفروشید؟
-
آیا نرخ تغییر APIها بالا است؟
-
آیا چندین ذینفع API دارید؟ (مثلاً توسعهدهندگان داخلی، مشتریان خارجی)
پاسخ مثبت نشاندهنده نیاز به قابلیتهای کلیدی مدیریت API است: حاکمیت API، امنیت، نظارت و مشاهدهپذیری.
مدیریت API باید کمک کند، نه مانع شود
Goswami معتقد است که مدل همهکاره امروزی شکست خورده است. این راهکارها اغلب دارای ویژگیهای زیر هستند:
-
سیستمهای بزرگ و مالکیتی: با ذهنیت «همه یا هیچ» و استک فناوری سنگین.
-
ناسازگار با مدل DevOps: هنوز عمدتاً point-and-click با اسکریپت محدود.
-
انعطافپذیری استقرار محدود: وابسته به محیطها و بهینهنشده برای Hybrid، MC و Edge.
همه این موارد با هزینه کل مالکیت بالا (TCO) مشترک هستند. این شرایط میتواند اشتیاق تیم را برای پیادهسازی مدیریت API کاهش دهد.
انتخاب راهکار مناسب ترکیبی از ویژگیها و مدل عملیاتی است. Goswami میگوید: «ترکیب این دو ستون، تفکر ما را شکل داده است.»
انتخاب ابزار مدیریت API که ممکن است ماهها یا سالها به آن وابسته باشید، آسان نیست. اما بررسی گزینهها بر اساس این ستونها میتواند به شما کمک کند ارائهدهندگانی که مناسب نیازتان نیستند را حذف کنید.
