API Gateway

در این پست می‌خواهیم در مورد API Gateway نکاتی را مطرح کنیم. ابتدا تعاریف مربوط به API، API Gateway را عنوان کرده و در ادامه درباره کاربردهای API Gateway و نحوه کار آن صحبت می‌کنیم و در انتها هم در مورد ابزارهای متن باز و شرکت‌های ایرانی ارائه دهنده مدیریت API مطالبی را مطرح می‌کنیم.در صورتی که به مطالب مربوط به API علاقه‌مند هستید و در عین حال زمان زیادی را نمیخواهید صرف کنید این پست می‌تواند به منظور آشنایی با کلیات برای شما مفید باشد. در پایان منابع دکر شده است که در صورت تمایل به کسب اطلاعات بیشتر می‌توانید به آن‌ها مراجعه کنید. رابط برنامه نویسی برنامه (API) چیست؟در ابتدا لازم است با مفهوم API آشنا شویم اما از آنجایی که امروزه اکثر افراد فعال در حوزه نرم‌افزار با آن آشنا هستند، صرفا یک تعریف مختصر از آن را بیان می‌کنیم. رابط برنامه نویسی برنامه (API)، مکانیسمی است که دو جزء نرم‌افزاری را قادر می‌سازد که طبق یک سری استاندارد و پروتکل بدون آن که از جزییات پیاده‌سازی هم اطلاع داشته باشند با یکدیگر ارتباط برقرار کنند. این رابط یک قرارداد سرویس است بین دو برنامه کاربردی است که نحوه ارتباط از طریق پرسش‌ها و پاسخ‌ها را تعریف میکند.رابط برنامه‌نویسی برنامه یا API مزایای بسیاری دارد. احتمالا مهمترین مزیت آن این است که شرکت‌ها را قادر می‌سازد تا داده‌ها و عملکرد برنامه‌های خود را برای توسعه‌دهندگان شخص ثالث خارجی، شرکای تجاری و بخش‌های داخلی شرکت‌شان باز کنند. به این ترتیب خدمات و محصولات با یکدیگر ارتباط برقرار کرده و از طریق یک رابط مستند از داده‌ها و عملکرد یکدیگر استفاده کنند. توسعه دهندگان نیازی به دانستن نحوه پیاده سازی یک API ندارند. آنها به سادگی از رابط برای ارتباط با سایر محصولات و خدمات استفاده می کنند. استفاده از API در دهه گذشته افزایش یافته است، به حدی که امروزه بسیاری از محبوب‌ترین برنامه‌های وب بدون API امکان‌پذیر نیستند.هیچ اپلیکیشنی جزیره نیست یعنی هیچ برنامه‌ای به تنهایی برای طولانی مدت ارزش تجاری را ارائه نمی‌کند. برنامه‌ها باید به سرمایه‌گذاری‌های فناوری موجود و آینده شما متصل شوند تا ارزش مستمری ارائه دهند و در واقع به عنوان بخشی از تجارت شما وجود داشته باشند. API ها روشی استاندارد برای ادغام اجزای نرم افزاری در اختیار شما قرار می دهند، بدون آنکه نیاز باشد با به روزرسانی یک بخش یا معرفی بخش‌های جدید دیگر بخش‌ها را بازسازی کنید. رابط برنامه نویسی برنامه چگونه کار می‌کند؟API Gateway چیست؟API Gateway یک ابزار مدیریت API و واسطی بین کلاینت و سرویس‌های backend می‌باشد. در واقع یک API Gateway مانند یک پروکسی معکوس عمل می‌کند و همه فراخوانی‌های API را می پذیرد سپس سرویس‌های مورد نیاز آن‌ها را جمع‌آوری کرده و نتیجه مناسب را برمی‌گرداند. یک API Gateway علاوه بر دریافت درخواست کاربر، هدایت آن درخواست به سرویس‌های پشتیبان، جمع‌آوری داده‌های مورد نیاز و تحویل یک بسته ترکیبی به عنوان پاسخ، در زمینه تجزیه و تحلیل، خدمات امنیتی و جلوگیری از تهدید را نیز فراهم می‌آورد.API Gatewayدر شکل زیر نمونه‌ای دیگر از یک API Gateway به همراه میکروسرویس‌هایی که در یک شرکت تجارت الکترونیک وجود دارد آورده شده است:API Gatewayچرا از API Gateway استفاده کنیم؟اکثر API های سازمانی از طریق API Gateway مستقر می شوند. یکی از وظایف رایج API Gatewayها این است که کارهایی مانند احراز هویت کاربر، محدود کردن نرخ و آمار را که در بین سرویس‌های API یک سیستم مشترک هستند، انجام دهند.در حالت بسیار ساده، یک سرویس API یک درخواست از راه دور را می پذیرد و یک پاسخ را برمی گرداند. اما واقعیت این است که دنیای حقیقی هرگز به این سادگی نیست و نگرانی‌های مختلفی در زمان میزبانی از APIهای مقیاس بزرگ وجود داردو در ادامه برخی از این نگرانی‌ها را مطرح می‌کنیم.شما می خواهید از API های خود در برابر استفاده بیش از حد و سوء استفاده محافظت کنید، بنابراین از یک سرویس احراز هویت و محدودیت نرخ استفاده می کنید.شما می خواهید بدانید که مردم چگونه از API های شما استفاده می کنند، بنابراین ابزارهای تجزیه و تحلیل و نظارت را اضافه کرده اید.اگر APIهای کسب درآمد دارید، می‌خواهید به یک سیستم صورت‌حساب متصل شوید.شما ممکن است یک معماری میکروسرویس را اتخاذ کرده باشید، در این صورت یک درخواست می تواند به تماس با ده ها برنامه متمایز نیاز داشته باشد.با گذشت زمان، برخی از سرویس‌های API جدید را اضافه می‌کنید و برخی دیگر را بازنشسته می‌کنید، اما مشتریان شما همچنان می‌خواهند همه سرویس‌های شما را در همان مکان پیدا کنند.چالش شما ارائه یک تجربه ساده و قابل اعتماد در برابر این همه پیچیدگی به مشتریان خود است. یک API Gateway راهی برای جدا کردن رابط مشتری از پیاده سازی backend شما است. هنگامی که یک کلاینت درخواستی می دهد، API Gateway آن را به چندین درخواست تقسیم می کند، آنها را به مکان های مناسب هدایت می کند، پاسخی را تولید می کند و همه چیز را پیگیری می کند.نقش API Gateway در مدیریت APIAPI Gateway بخشی از سیستم مدیریت API است. API Gateway تمام درخواست های دریافتی را رهگیری و آنها را از طریق سیستم مدیریت API ارسال کرده که انواع توابع ضروری را مدیریت می کند.کارهایی که API Gateway انجام می‌دهد می‌تواند از یک پیاده‌سازی به پیاده‌سازی دیگر متفاوت است. برخی از عملکردهای رایج عبارتند از احراز هویت، مسیریابی، محدود کردن نرخ، صورتحساب، نظارت، تجزیه و تحلیل، خط‌مشی‌ها، هشدارها و امنیت.ارزش API Gatewayیک API Gateway یک نقطه ورودی واحد فراهم می‌کند که برای همه فراخوانی‌های API که به یک برنامه وارد می‌شوند، چه برنامه در یک مرکز داده داخلی یا در فضای ابری میزبانی شود. درخواست هایی که از راه دور وارد می شوند را می پذیرد و داده های درخواستی را برمی گرداند.به عنوان مثال، برنامه وب یک رستوران را در نظر بگیرید. با استفاده از لپ‌تاپ یا تلفن همراه، کاربر می‌تواند یک درخواست را وارد کند و به راحتی به منوی رستوران، عکس‌ها و نظرات رستوران‌ها، خدمات پرداخت آن و نقشه‌ای برای بررسی موقعیت مکانی آن دسترسی داشته باشد، علی‌رغم همه این اطلاعات که از میکروسرویس‌های مختلف یا APIهای پشتیبان جمع‌آوری و تحویل می‌شود. درخواست آنها توسط یک API Gateway دریافت و اجرا می شود.با این حال، فراتر از سرویس دهی به درخواست ها، یک API Gateway نیز با در دسترس قرار دادن داده ها به روشی مناسب برای فناوری درخواست کننده، ارزشی را فراهم می کند. به عنوان مثال، شخصی که با استفاده از یک مرورگر وب، اطلاعات یک فروشگاه خرده فروشی را درخواست می کند، اطلاعات بسیار بیشتری نسبت به کسی که داده های همان فروشگاه را در تلفن همراه درخواست کرده و مشاهده می کند، نشان داده می شود. API Gatewayها همچنین می‌توانند ارتباط بی‌درنگ بین frontend و backend برنامه را فعال کنند، به عنوان مثال، در چت وب، سیستم‌های معاملات سهام و بازی‌های آنلاین.پشتیبانی API Gateway از DevOps و محیط های بدون سرور در سازمان‌هایی که از رویکرد DevOps پیروی می‌کنند، توسعه‌دهندگان از میکروسرویس‌ها برای ساخت و استقرار برنامه‌ها به روشی سریع و تکراری استفاده می‌کنند. API ها یکی از رایج ترین راه های ارتباط میکروسرویس ها هستند.علاوه بر این، توسعه ابر مدرن، از جمله مدل بدون سرور، به APIها برای تامین زیرساخت بستگی دارد. شما می‌توانید توابع بدون سرور را مستقر کرده و آنها را با استفاده از یک API Gateway مدیریت کنید.به طور کلی، همانطور که یکپارچگی و اتصال به یکدیگر مهم تر می شوند، API ها نیز اهمیت بیشتری پیدا می‌کنند و با افزایش پیچیدگی API و افزایش استفاده، ارزش API Gateway نیز افزایش می یابد.نحوه کار API Gatewayیک API Gateway بین یک کاربر و مجموعه‌ای از میکروسرویس‌ها قرار می گیرد و سه سرویس کلیدی را ارائه می‌دهد:1. درخواست مسیریابی: یک API Gateway یک درخواست API جدید دریافت می کند، آن را به چندین درخواست تبدیل کرده، یک نقشه مسیریابی را بررسی می‌کند که نشان می دهد هر درخواست باید کجا ارسال شود و درخواست ها را به میکروسرویس داخلی یا میکروسرویس مناسب ارسال می کند.2. ترکیب API Gateway :API هماهنگی جریان کار را فراهم می کند زیرا اطلاعات درخواستی را از چندین میکروسرویس جمع کرده، داده‌ها را بسته بندی می کند و آن را به صورت ترکیبی به درخواست کننده برمی گرداند.3. ترجمه پروتکل: API Gatewayها می‌دانند که درخواست‌های API از طریق دستگاه‌هایی وارد می‌شوند که از پروتکل‌های API مختلف استفاده می‌کنند و به درخواست‌های مشتری و میکروسرویس‌ها کمک می‌کنند تا با ترجمه آن پروتکل‌ها با یکدیگر ارتباط برقرار کنند. این gateway، پروتکل‌های API را از آنچه دستگاه کاربر نهایی استفاده می‌کند - اعم از مرورگر وب، تلفن همراه یا نقطه پایانی دیگر - به پروتکل‌های میکروسرویس ترجمه می‌کند. به عنوان مثال، یک شبکه گسترده (WAN) و شبکه محلی (LAN)، عملکرد متفاوتی دارند و نیازهای API متفاوتی دارند. هنگامی که اطلاعات برمی گردد، Gateway آن را تغییر می دهد و به گونه ای که می توانند آن را مشاهده کنند، برای درخواست کنندگان ارسال می کند. به عنوان مثال، اگر یک میکروسرویس پاسخی را در XML ارائه کند، اما درخواست با استفاده از JSON وارد شود، دروازه به طور خودکار آن ترجمه را انجام می دهد. REST API از پروتکل HTTP برای درخواست خدمات API استفاده می کند.APIها به برنامه های کاربردی جداگانه اجازه می دهند با یکدیگر ارتباط برقرار کنند و داده ها را در داخل و خارج از یک کسب و کار تبادل کنند. دروازه API یک نقطه کانونی و رابط استاندارد برای انجام این فعالیت ها فراهم می کند. درخواست‌هایی را از منابع داخلی و خارجی دریافت می‌کند که «فراخوانی‌های API» نامیده می‌شوند و درخواست‌های متعدد را بسته‌بندی می‌کند، آنها را به API یا APIهای مناسب هدایت می‌کند، و پاسخ‌ها را به کاربر یا دستگاهی که درخواست کرده است، دریافت و تحویل می‌دهد.API Gatewayها همچنین کلید معماری مبتنی بر میکروسرویس‌ها هستند، که در آن درخواست‌های داده، برنامه‌ها و سرویس‌های متعددی را فراخوانی می‌کنند که از چندین API متفاوت استفاده می‌کنند. در اینجا نقش API Gateway مشابه است: یک نقطه ورود واحد برای یک گروه تعریف شده از ریزسرویس ها ارائه کنید و سیاست هایی را برای تعیین در دسترس بودن و رفتار آنها اعمال کنید.API Gateway اغلب سایر عملکردهای مرتبط با API ها و میکروسرویس ها را انجام می دهند:ترجمه پروتکلکشف خدماتمنطق اولیه کسب و کاراحراز هویت و اجرای سیاست های امنیتیتثبیت و تعادل بارمدیریت کشنظارت، ثبت و تجزیه و تحلیلAPI Gateway در مقابل پروکسی API. جایگزینی برای API Gateway یک پروکسی API است که اساساً زیر مجموعه ای از دروازه API است که حداقل پردازش را برای درخواست های API ارائه می دهد. پروکسی API ارتباطات، از جمله ترجمه پروتکل، بین پلتفرم های نرم افزاری خاص، مانند نقطه پایانی پروکسی و API هدف را مدیریت می کند. همچنین می تواند جریان ترافیک بین نقاط ارسال و دریافت را کنترل کند. با این حال، API Gatewayها معمولاً دارای قابلیت‌های تحلیل عملکرد و نظارت بهتری هستند.API Gatewayها و میکروسرویس‌هاAPI Gatewayها، که گاهی اوقات «میکروسرویس‌های لبه» نامیده می‌شوند، اغلب در برنامه‌هایی که با معماری میکروسرویس‌های مدرن و بومی ابری ایجاد می‌شوند، استفاده می‌شوند. این برنامه‌ها معمولاً از بسیاری از مؤلفه‌های مستقل، مستقل و تک عملکردی (یا میکروسرویس‌ها) تشکیل شده‌اند که هر کدام توسط تیم DevOps کوچک و مستقل خود مدیریت می‌شوند. میکروسرویس‌ها به‌طور آزاد متصل هستند، به پایگاه داده‌های خود متصل می‌شوند و می‌توانند به طور مستقل مستقر، نگهداری و آزمایش شوند.هنگامی که درخواست اطلاعات به یک برنامه کاربردی با میکروسرویس ها وارد می شود، یک API Gateway یک رویکرد ساده برای بازیابی و بازگرداندن داده ها ارائه می دهد. علاوه بر کنترل دسترسی، امکان تحویل سریع و قابل اعتماد را در برنامه های بزرگ و پیچیده فراهم می کند.از آنجایی که میکروسرویس‌ها در محیط‌های مستقل خود اجرا می‌شوند، می‌توان آن‌ها را اضافه کرد، ارتقا داد، جابه‌جا کرد و تغییر داد بدون اینکه بر برنامه کلی تأثیر بگذارد. API Gatewayها، افزایش مقیاس برنامه‌های خود را برای شرکت‌ها آسان‌تر می‌کنند. بعلاوه، آنها می توانند ویژگی های جدید را سریعتر توسعه دهند، که امکان نوآوری بیشتر و زمان ورود سریعتر به بازار را فراهم می کند.API Gatewayها و برنامه های یکپارچه (monolithic)قبل از اینکه میکروسرویس ها وجود داشته باشند، برنامه های کاربردی یکپارچه وجود داشت. این برنامه ها بر خدماتی متکی هستند که بخشی از یک معماری همه کاره هستند که به یک پایگاه داده واحد متصل هستند. همه اجزا به یکدیگر وابسته هستند و به عنوان یک واحد عمل می کنند. تغییر هر جنبه ای از یک برنامه یکپارچه به معنای تغییر کدی است که کل معماری را اجرا می کند.بسیاری از برنامه های کاربردی یکپارچه هنوز در حال استفاده هستند. آنها عمدتاً از API Gatewayها برای ارتباط با اشخاص ثالث خارجی، کاربران داخلی یا شرکا استفاده می‌کنند و در عین حال همان امنیت، مقیاس‌پذیری و سایر مزایایی را که برای میکروسرویس‌ها اعمال می‌شود، ارائه می‌کنند.مزایاافزودن یک یا چند API Gateway به برنامه های میکروسرویس شما مزایای بسیاری را به همراه دارد:امنیت میکروسرویس ها: یک API Gateway مانعی در مقابل backend برنامه قرار می دهد و آن را ایمن تر می کند. به این معنی است که نقاط پایانی (endpoints) برنامه در معرض دید قرار نمی گیرند. بنابراین، خطر حمله کمتری وجود دارد. یک شرکت همچنین می تواند از HTTPS برای امنیت بیشتر یا HTTP رمزگذاری شده با SSL استفاده کند که عملکرد را بهبود می بخشد.احراز هویت API: یک API Gateway لایه امنیتی دیگری را فراهم می کند که با احراز هویت فراخوانی های API از اشتباهات، هک ها و نقض داده ها محافظت می کند. احراز هویت و مجوز می تواند شامل اسکن آنتی ویروس، رمزگشایی و رمزگذاری، ترجمه توکن، اعتبارسنجی و سایر عملکردهای امنیتی باشد.اعتبار سنجی ورودی: اعتبار سنجی ورودی تضمین می کند که درخواست API تمام اطلاعات لازم را در قالب صحیح قبل از اینکه gateway آن را به یک میکروسرویس ارسال کند، دارد. اگر چیزی کم یا اشتباه باشد، gateway درخواست را رد می کند. وقتی درست بودن آن تأیید شد، gateway درخواست را ارسال می کند.زمان پاسخ سریعتر: از آنجایی که یک API Gateway درخواست ها را مستقیماً به سرویس های مناسب ارسال می کند، رفت و برگشت کمتر و ترافیک کمتر، تأخیر کمتر و عملکرد بهتر به طور کلی وجود دارد، که به این معنی است که یک برنامه یک تجربه کاربری بهبود یافته را ارائه می دهد.متعادل‌سازی بار میکروسرویس‌ها: یک API Gateway درخواست‌های ارسال شده به میکروسرویس‌های مختلف را پیگیری می‌کند، بار بین گره‌ها را برای کارایی متعادل می‌کند و اطمینان می‌دهد که برنامه در دسترس باقی می‌ماند. این متعادل‌سازی بار زمانی که سطح ترافیک بالایی انتظار می‌رود - مانند هنگام فروش جمعه سیاه یا عرضه محصول جدید - برای جلوگیری از جهش‌ها یا رویدادهای انکار سرویس، حیاتی است.محدود کردن نرخ: محدودیت نرخ به این معنی است که یک API Gateway ترافیک ورودی از همه منابع را نظارت می کند و تعداد درخواست های API را که یک کلاینت (یا ربات مخرب) می تواند در یک بازه زمانی خاص - در هر ثانیه، یا در روز، هفته یا ماه – داشته باشد، برای محافظت از سیستم از پر شدن درخواست ها و احتمالاً خراب شدن سیستم، محدود می کند.صورت‌حساب برای سرویس‌های خرد: برخی از کسب‌وکارها با ارائه خدمات به مصرف‌کنندگان یا شرکت‌های دیگر، از برخی از APIهای خود درآمد کسب می‌کنند. API Gateway ترافیک را کنترل می کند، استفاده از محصولات یا خدمات خاص را نظارت می کند و اطلاعات قیمت را به یک سیستم صورتحساب متصل ارسال می کند. انواع مختلفی از کسب درآمد مستقیم وجود دارد، از جمله کاربرانی که هنگام دسترسی به یک سرویس یا منبع، برای تعداد معینی از خدمات یا از طریق سطوح (جایی که خدمات مختلف در سطوح مختلف ارائه می شود) هزینه پرداخت می کنند. سایر APIها از طریق سهم درآمد تبلیغات، بازاریابی وابسته یا اعتبار به صورت حساب مصرف کننده، درآمد را با مصرف کنندگان به اشتراک می گذارند.ذخیره‌سازی میکروسرویس‌ها: API Gatewayها می‌توانند به بهینه‌سازی فراخوانی‌های API، مانند ذخیره‌سازی میکروسرویس‌ها، کمک کنند. ذخیره پاسخ‌ها به فراخوانی‌های API می‌تواند به جلوگیری از بار غیرضروری در سرویس‌های باطن کمک کند. پاسخ‌های ذخیره‌شده را می‌توان زمانی که درخواست‌های مشابه دریافت کرد، استفاده کرد که باعث بهبود عملکرد و کاهش هزینه می‌شود.نظارت و ردیابی تجزیه و تحلیل برنامه‌ها: از آنجایی که یک دروازه API تمام ترافیک ورودی برنامه را کنترل می‌کند، نظارت بر نرم‌افزار و ارائه گزارش‌هایی درباره قابلیت مشاهده، روندها و سایر بینش‌ها در مورد استفاده از API ساده است. نرم‌افزار دروازه همچنین می‌تواند گزارش‌های ترافیکی ایجاد کند که به ارائه‌دهنده API کمک می‌کند تا مشکلات زیرساخت را درک و رفع کند.گسترش برنامه‌های قدیمی: کسب‌وکارها همچنان از برنامه‌های قدیمی استفاده می‌کنند که حاوی داده‌های ضروری هستند، عملکردهای مهمی را انجام می‌دهند و ارزش ارائه می‌دهند، اما برنامه‌ها برای API نوشته نشده‌اند. چنین فناوری قدیمی‌تری می‌تواند در رسیدگی به تعداد فزاینده فراخوانی‌ها از فناوری‌های جدیدتر، مانند برنامه‌های موبایل، SaaS یا IoT مشکل داشته باشد. دسترسی به آنها نیز ممکن است سخت باشد. یک تیم DevOps می‌تواند به جای انجام یک مهاجرت پیچیده ابری، عملکرد API را اضافه کند - از جمله مزایایی مانند محدود کردن نرخ و کاهش سرعت - برای کمک به مدرن‌سازی و گسترش عملکرد یک برنامه قدیمی.چالش های API Gatewayهادر حالی که افزودن API Gateway مزایای زیادی دارد، چالش‌هایی نیز می تواند وجود داشته باشد:زمان پاسخگویی: در حالی که تاخیر و زمان پاسخ اغلب به دلیل کارآمدتر شدن درخواست‌ها کاهش می‌یابد، مرحله اضافی درخواست از طریق API Gateway می‌تواند به طور بالقوه به زمان پاسخ اضافه کند.وابستگی ها: هر زمان که یک کسب و کار میکروسرویس را اضافه، تغییر یا حذف کند، باید API Gateway خود را به روز کند. این می‌تواند چالش‌برانگیز باشد با برنامه‌ای که از داشتن تنها چند میکروسرویس به تعداد زیادی از آنها تبدیل شده است. با این حال، ایجاد قوانین طراحی API می تواند به این امر کمک کند.پیچیدگی: منطق مسیریابی می تواند ارتباط با میکروسرویس ها را پیچیده تر کند. API Gateway سیستم دیگری است که باید توسعه، مستقر و نگهداری شود.امنیت: از آنجایی که یک API Gateway مناطق بسیاری از سیستم های یک شرکت را لمس می کند، به خطر افتادن آن می تواند به طور جدی بر ایمنی برنامه تأثیر بگذارد.قابلیت اطمینان: اگر فقط یک API Gateway وجود داشته باشد و down شود، کل برنامه از دسترس خارج می شود. ایجاد چندین API Gateway و استفاده از متعادل کننده های بار می تواند به جلوگیری از این وضعیت کمک کند.API Gateway منبع بازیک API Gateway منبع باز به تیم های DevOps اجازه می دهد بدون نوشتن کد، منابع API جدید ایجاد کنند. برخی از مزایای یک API Gateway منبع باز شامل اجازه دادن به یک شرکت کوچک شروع و گسترش سریع است و اجازه انعطاف پذیری برای نوآوری و تغییر سریع و ایجاد شفافیت برای کاربران را می دهد.ابزارهای متن باز API Gatewayابزار Red Hat: این ابزار راه‌حل‌های ماژولار، سبک و جامع مدیریت API را به کسب و کار شما ارائه می دهد که منبع باز هستند، بر اساس استانداردهای باز ساخته شده اند و در محل یا در فضای ابری در دسترس هستند. Red Hat به تیم شما کمک می‌کند تا همه چیز (برنامه ها و داده ‌ها از قدیمی تا جدید) را حتی با رشد شما به یکدیگر متصل نگه میدارد.ابزار Amazon API Gateway: یک سرویس AWS برای ایجاد، انتشار، نگهداری، نظارت و ایمن سازی API های REST، HTTP و WebSocket در هر مقیاسی است. توسعه دهندگان API می توانند API هایی ایجاد کنند که به AWS یا سایر سرویس های وب و همچنین داده های ذخیره شده در AWS Cloud دسترسی دارند. به عنوان یک توسعه‌دهنده API Gateway، می‌توانید APIهایی را برای استفاده در برنامه‌های کلاینت خود ایجاد کنید. یا می توانید API های خود را در دسترس توسعه دهندگان برنامه های شخص ثالث قرار دهید.ابزار IBM: با کار با IBM، به قابلیت‌های اتوماسیون مبتنی بر هوش مصنوعی، از جمله گردش‌های کاری از پیش ساخته شده، دسترسی خواهید داشت تا با هوشمندتر کردن هر فرآیند، به سرعت بخشیدن به نوآوری کمک کنید.شرکت‌های ایرانی ارائه دهنده API Managementدر ایران یک سری شرکت‌ها وجود دارند که خدمات و ابزارهایی به منظور مدیریت API یا همان API Management ارائه می‌دهند اما شرکتی که به طور خاص به API Gateway بپردازد و در این حوزه ابزار تخصصی ارائه دهد در جستجو‌های من یافت نشد. در ادامه به معرفی برخی از این شرکت‌ها می‌پردازیم:شرکت وصل - پلتفرم سورنا: پلتفرم مدیریت API سورنا توسعه‌دهندگان را قادر می‌سازد تا برنامه‌هایی مرتبط با سامانه‌های داخلی سازمان/سرویس‌دهنده طراحی و پیاده‌سازی نمایند. همچنین APIها در تکنولوژی‌های مختلف نظیر اینترنت اشیا، رایانش ابری و داده‌های حجیم نقشی کلیدی را ایفا می‌نماید. پلتفرم مدیریت API سورنا پایداری، امنیت و پشتیبانی ویژهای ارائه می‌کند تا شرکت‌های طرف ثالث، همکاران، شرکا و حتی توسعه‌دهندگان آزاد بتوانند با آسودگی خیال و اطمینان از آنها استفاده نمایند.شرکت پلتکو:این شرکت پلتفرم مدیریت وب سرویس ارائه می‌دهد. یکی از ابزارهایی که ارائه می‌دهد API Manager می‌باشد. API Manager یک راه حل مدیریتی و انعطاف پذیر است که یکپارچه سازی زیر ساخت وب سرویس‌های سازمان را انجام می‌دهد و به شما کمک می کند تا بدانید دقیقاً چه کسی ، چه زمانی و چگونه به وب سرویس‌های شما دسترسی پیدا می‌کند. API Manager ابزارهای کاربردی و جذابی در اختیار مدیران و اپراتورها قرار می‌دهد که باعث بالا رفتن کارایی کل سرویس‌های سازمان می‌شود و از خطاها و اتلاف زمان به طرز چشمگیری جلوگیری می‌کند. علاوه بر این موراد میزان توسعه پذیری کل وب سرویس‌ها بالا می‌رود و به سازمان امکان استفاده از وب سرویس‌های قدیمی را بدون کد نویسی می‌دهد.شرکت متفا (شرکت مهندسی توسعه فضای تبادل اطلاعات): این شرکت در زمینه‌های زیر فعالیت می‌کند: - راهکارهای یکپارچه فناوری اطلاعات و ارتباطات - نسل بعدی فناوری های اطلاعات و ارتباطات - تحول دیجیتال و هوشمند سازی​​​​ - امنیت فضای تولید و تبادل اطلاعات​​​​​​​ یکی از محصولات این شرکت آورند است که پلتفرم مدیریت API میباشد. (API Management Platform)«این مطلب، بخشی از تمرین‌های درس معماری نرم‌افزار در دانشگاه شهیدبهشتی است.»منابع https://www.redhat.com/en/topics/api/what-does-an-api-gateway-do#:~:text=An%20API%20gateway%20is%20an,and%20return%20the%20appropriate%20result. https://aws.amazon.com/what-is/api/ https://www.ibm.com/cloud/blog/api-gateway https://www.altexsoft.com/blog/engineering/what-is-api-definition-types-specifications-documentation/ https://www.ibm.com/topics/api https://www.techtarget.com/whatis/definition/API-gateway-application-programming-interface-gateway