درگاه API ابزاری برای مدیریت API است که بین یک سرویسگیرنده و مجموعهای از سرویسهای بکاند قرار میگیرد. یک درگاه API مانند یک پروکسی معکوس عمل میکند تا تمام فراخوانیهای رابط کاربردی برنامهنویسی (API) را بپذیرد، سرویسهای لازم برای انجام آنها را آماده کند و نتیجهی مناسب را برگرداند.
بیشتر APIهای سازمانی از طریق درگاههای API ساماندهی میشوند. چرا که در یک سازمان «دیجیتال» صدها و هزارها API وجود دارند که با اهداف و کارکردهای متفاوتی ایجاد شدهاند و از مبدأهای مختلف، توسط کلاینتهای مختلفی فراخوانی میشوند. از این رو، سازمانها برای مدیریت این APIها نیازمند درگاههای یکپارچه هستند.
چرا باید از درگاه API استفاده کرد؟
در ابتداییترین حالت، یک سرویس مبتنی بر API، درخواستی از راه دور را میپذیرد و پاسخی را برمیگرداند؛ اما، در دنیای واقعی به این سادگیها نیست. به چند نمونه از نگرانیهایی مختلف در زمان میزبانی از APIهای بزرگ توجه کنید:
• شما میخواهید از APIهای خود در برابر استفادهی بیش از حد و سوءاستفاده محافظت کنید، بنابراین از یک سرویس احراز هویت و محدودیت نرخ فراخوانی استفاده میکنید.
• شما میخواهید در جریان نحوهی استفاده افراد از APIهای خود قرار بگیرید؛ بنابراین، از ابزارهای تجزیه و تحلیل و نظارت استفاده میکنید.
• در صورت داشتن APIهای کسب درآمد، مایل هستید که به یک سیستم صدور صورتحساب متصل شوید.
• ممکن است شما از معماری میکروسرویسها استفاده کرده باشید که در این صورت، یک درخواست مستلزم اتصال به دهها برنامهی مجزای دیگر است.
• یا اینکه با گذشت زمان، سرویسهای مبتنی بر API جدیدی را اضافه کرده و برخی دیگر را حذف میکنید؛ اما مشتریان شما همچنان این انتظار را دارند تا بتوانند همهی خدمات شما را به همان شیوهی قبل دریافت کنند.
بزرگترین چالش و دغدغه شما ارائهی یک تجربهی ساده و مطمئن به مشتریانتان در مواجه با این گونه پیچیدگیها است. درگاه API راهی برای جدا کردن واسط کاربری سرویسگیرنده از پیادهسازی بکاند است. زمانی که سرویسگیرنده درخواستی دارد، درگاه API، آن را به چندین درخواست تقسیم میکند و بعد آنها را به مکانهای مناسب هدایت میکند، پاسخی تولید میکند و همهی موارد را ردیابی میکند.
نقش درگاه API در مدیریت API
درگاه API بخشی از سیستم مدیریت API است و درخواستهای ورودی را رهگیری کرده و آنها را از طریق سیستم مدیریت API که موظف به کنترل توابع لازم است، ارسال میکند.
وظایف درگاه API، در پیادهسازیهای گوناگون متفاوت میباشد. برخی از کارکردهای رایج مورد استفاده عبارتند از: احراز هویت، مسیریابی، محدود کردن نرخ فراخوانی، صدور صورتحساب، نظارت، تجزیه و تحلیلها، سیاستها، هشدارها، امنیت و…
چگونه یک درگاه API از DevOps و محیطهای بدون سرور ( serverless) پشتیبانی میکند؟
در سازمانهایی که از یک رویکرد DevOps پیروی میکنند، توسعهدهندگان برای ساخت و استقرار برنامهها به روشی سریع، از میکروسرویسها استفاده میکنند. APIها یکی از رایجترین راههای ارتباطی میکروسرویسها با یکدیگر هستند.
علاوه بر این، در روشهای مدرن توسعهی ابر (همان مدل بدون سرور یا همان serverless)، برای تأمین زیرساختها، وجود APIها ضروری هستند. در واقع میتوانید توابع بدون سرور (serverless functions) را مستقر کرده و آنها را با استفاده از یک درگاه API مدیریت کنید.
به طور کلی، همانطور که اهمیت یکپارچگی و اتصال داخلی افزایش پیدا میکند، APIها نیز از اهمیت بیشتری برخوردار میشوند و با افزایش پیچیدگی و میزان استفاده از APIها، درگاههای API نیز روز به روز ارزشمندتر میشوند.
استفاده از درگاه API بیرونی
سازمانها در مسیر تحول دیجیتال، بالاخره روزی نیازمند یک درگاه API میشوند. اما توسعهی این زیرساخت به صورت اختصاصی، بسیار پرهزینه و زمانبر است و نگهداری از آن، حجم زیادی از توان فنی و پشتیبانی سازمان را درگیر میکند؛ حال آنکه در روزهای نخست ورود به رویکرد API، ممکن است سازمان شما جمعاً کمتر از بیست API نیازمند مدیریت داشته باشد.
به ویژه هنگامی که سازمانها قصد دارند APIهای خود را به بازیگران ثالث ارائه کنند و اصطلاحاً APIهای خود را «باز» کنند، این نگرانیها دوچندان میشود. چرا که دغدغههایی مثل کنترل دسترسی، نرخ فراخوانی، احراز هویت، امنیت، سهولت کاربری، مستندسازی و… اهمیتی دوچندان پیدا میکنند.
از این رو بسیاری از سازمانها به سراغ درگاههای API ثالث میروند. آنها تمام APIهای باز خود را به درگاههای بیرونی متصل میکنند و خود را از دغدغه تعامل با مشتریان و پشتیبانی از آنها رها میکنند. در این صورت، تمام بار عملیاتی بازاریابی، اتصال فنی، پشتیبانی فنی، کنترل دسترسی و… توسط درگاه API بیرونی مدیریت میشود و سازمان تنها بر توسعه و حفظ کیفیت سرویس خود متمرکز میشود.
منبع: