۲۹ شهریور ۱۴۰۳

Techboy

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

توسعه API ها و برنامه های کاربردی آماده اکوسیستم

اکوسیستم آماده فقط به مهندسی قوی، امنیت، و شیوه های عملیاتی نیست. در اینجا چیزی است که تیم توسعه دهنده شما باید بداند.

اکوسیستم آماده فقط به مهندسی قوی، امنیت، و شیوه های عملیاتی نیست. در اینجا چیزی است که تیم توسعه دهنده شما باید بداند.

بنابراین شما سرویس‌های میکرو بومی ابری را توسعه داده‌اید، فرآیندی برای مدیریت کلیدهای API دارید و گزینه‌های یکپارچه‌سازی را مستند کرده‌اید. تیم devops شما فکر می‌کند که آماده انتشار APIها و پشتیبانی از یکپارچه‌سازی برنامه‌ها است. اما آیا APIها و برنامه های کاربردی شما برای اکوسیستم آماده هستند؟

نرم‌افزار به‌عنوان یک سرویس (SaaS) شرکت‌های پلت‌فرم اهمیت استراتژیک ادغام در اکوسیستم‌های پلتفرم را تشخیص می‌دهند و اطمینان می‌دهند که فناوری آنها بیش از API و افزونه‌ها را ارائه می‌دهد. فناوری آنها نمی تواند در یک جزیره زندگی کند و باید با سکوهای IFTTT مانند Microsoft Power Automate یکپارچه شود. ، Zapier، و Zoho و پلتفرم های ادغام مانند Boomi، MuleSoft و SnapLogic.

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

رفتن از API-first به استراتژی‌های آماده برای اکوسیستم، نوار الزامات فنی را برای تیم‌های devops افزایش می‌دهد، حتی زمانی که کسب‌وکارها فقط بر روی اکوسیستم‌های تولید داخلی تمرکز می‌کنند. توسعه یک API، سرویس یا برنامه آماده برای اکوسیستم به چندین طرف اجازه می دهد از رابط ها، داده ها و عملکرد خود استفاده کنند. پیامدها، چه در یک توافقنامه سطح خدمات (SLA) بیان شده باشند یا نه، سطحی از استحکام، قابلیت اطمینان و امنیت مورد انتظار خدمات و برنامه های مصرف کننده است.

آماده بودن برای اکوسیستم به چه معناست؟

مارکو آناستاسوف، یکی از بنیانگذاران Semaphore CI/CD، این تعریف پایه از یک برنامه کاربردی آماده برای اکوسیستم را به اشتراک می گذارد. او می‌گوید: «یک برنامه‌ی آماده برای اکوسیستم، طراحی مدولار، APIهای ایمن و کاملاً تعریف‌شده، و ابزارهای نظارت و عملکرد قوی را در اولویت قرار می‌دهد. “این باید به طور یکپارچه با سیستم های موجود از طریق استانداردهای باز ادغام شود و در عین حال از انتشار ایمن از طریق تست های مداوم و استراتژی های استقرار اطمینان حاصل کند. اجزای حیاتی شامل اقدامات امنیتی قوی، نظارت بر سیستم در زمان واقعی، و راه‌حل‌های مقیاس‌پذیری مانند کانتینرسازی و میکروسرویس‌ها می‌شود.»

بیایید این را کمی باز کنیم:

  • طراحی مدولار به این معنی است که برنامه ها را می توان به راحتی پشتیبانی و ارتقا داد.
  • APIهای تعریف شده به این معنی است که مستند شده و موارد استفاده مشخصی دارند.
  • نظارت قوی و AIops اطمینان حاصل می کند که مشتریان می دانند API یا سرویس به طور مداوم کار می کند.
  • آزمایش مداوم با داده‌های قوی به کاهش خطرات خرابی سرویس‌های پایین دستی کمک می‌کند.

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

فراتر از این اصول اولیه، Ecosystem-ready نشان می‌دهد که تیم devops از بهترین شیوه‌ها در مورد آزمایش، مدیریت داده و هویت پیروی می‌کند. تیم همچنین باید وابستگی‌ها، از جمله سرویس‌های شخص ثالث، APIها، منابع داده، چارچوب‌ها و کتابخانه‌ها را ردیابی کند.

Dennen Monks، مهندس سیستم اصلی در بیونیک. «مثال‌ها عبارتند از داشتن موجودی قوی از همه APIهای در معرض دید و مصرف در همه سرویس‌ها، اعتبارسنجی سرویس‌های واسطه داده با اجرای صحیح فروشگاه‌های مخفی، قابلیت‌های احراز هویت و مجوز، و ردیابی وابستگی‌ها به اشخاص ثالث که ریسک امنیتی و عملیاتی را معرفی می‌کنند. >

از الزامات امنیتی و آزمایش استقبال کنید

فراتر از این اصول اولیه، اجزای آماده برای اکوسیستم به پیاده سازی های امنیتی قوی نیاز دارند تا از انتشار رویدادها و حوادث امنیتی به سرویس ها و برنامه های کاربردی جلوگیری شود.

فیلیپ ورلوی، مدیر ارشد فناوری در Noname Security. «سازمان‌ها باید بر ارائه کد امن از طریق آزمایش امنیت API و اسناد استاندارد یکپارچه‌سازی API تمرکز کنند.»

الزامات امنیتی چطور؟ برایان کافریلی، مدیر بازاریابی محصول در Quickbase، خاطرنشان می کند که اسکن های امنیتی شخص ثالث و انکار سرویس توزیع شده داخلی ( حفاظت از DDoS ضروری است. “سپس، مجوزها را در سطح سلولی گرانول تنظیم کنید تا مطمئن شوید کاربران فقط آنچه را که باید ببینند می بینند.”

چندلر هویزینگتون، مدیر ارشد محصول در EDB، اضافه می‌کند، “ایجاد APIهای آماده برای اکوسیستم نیازمند سیستم‌های بنیادی محکمی است که قابل اعتماد، به خوبی مستند شده و به راحتی نگهداری می شود. به عنوان مثال، PostgreSQL به دلیل امنیت قوی خود که در معماری آن گنجانده شده است، از جمله رمزگذاری، احراز هویت، و مجوز برای اطمینان از ایمن بودن پایگاه داده ها شناخته شده است.”

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

همراستا با استانداردهای باز

داشتن یک جزء آماده برای اکوسیستم از درون زمانی ارزشمندتر است که شرکا، مشتریان و سایر توسعه دهندگان شواهدی از بهترین شیوه های اساسی را از بیرون مشاهده کنند. یکی از راه های نشان دادن بهترین شیوه های داخلی، تعهد به استانداردهای باز است که باعث می شود ارزیابی برای معماران و ادغام برای توسعه دهندگان آسان تر است.

یک مکان خوب برای شروع، مدیریت هویت است، زیرا بسیاری از برنامه های کاربردی آماده برای اکوسیستم باید از مجوزها و حقوق پشتیبانی کنند. Rishi Bhargava، یکی از بنیانگذاران دسکوپ. “این جریان امن و ثابت هویت های کاربر را در سراسر اکوسیستم تضمین می کند و مانع ورود هر شریکی را که به دنبال ادغام با برنامه است کاهش می دهد.”

توصیه دوم این است که چگونه اجزای آماده برای اکوسیستم، مشاهده پذیری را نه فقط برای تشخیص داخلی، بلکه برای فعال کردن برنامه‌ها و سرویس‌های مصرف‌کننده برای ردیابی مشکلات در زنجیره خدمات خود، اجرا می‌کنند. جورج میراندا، رئیس اکوسیستم در Honeycomb می‌گوید: «برای نظارت و عملکرد، استفاده از OpenTelemetry (OTel) یکی از نیازهای غیرقابل مذاکره است. . یکی از مزایایی که اغلب نادیده گرفته می شود استفاده از OTel برای برنامه های کاربردی آماده اکوسیستم، سهولت و قابلیت استفاده مجدد ادغام محصول است. اگر یک فرصت شراکت مستلزم کار سفارشی برای دریافت داده ها در قالب اختصاصی باشد، این یک مانع است.”

ساده سازی ادغام های پایین دست

مستند کردن APIها، سرویس‌ها و برنامه‌های کاربردی آماده اکوسیستم فقط اصول اولیه است و کسب‌وکارها باید نحوه ادغام را برای توسعه‌دهندگان پایین دستی آسان‌تر کنند.

دیپاک آنوپالی، یکی از بنیانگذاران و CTO WaveMaker می‌گوید: «فقط مستندسازی APIها برای تقویت اکوسیستم توسعه‌دهنده کافی نیست. . “باید یک محیط sandbox ایجاد شود که در آن توسعه دهندگان بتوانند به راحتی نحوه استفاده از APIها و ادغام آنها را در منابع داده موجود برای اجرای نوآوری های منحصر به فرد درک کنند.”

Anupalli  اضافه می‌کند، «چرخه‌های طراحی، توسعه، آزمایش، استقرار می‌توانند در یک اکوسیستم مکرر و خسته‌کننده شوند. با این حال، با ابزارهای توسعه بصری و انتزاعات UI ساخته شده بر روی APIهایی مانند آنچه که توسط پلتفرم های کم کد ارائه می شود، تکرارها می توانند سریعتر و کارآمدتر باشند.”

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

آماده شدن برای اکوسیستم های مولد هوش مصنوعی

در نهایت، سازمان‌ها باید موارد استفاده از هوش مصنوعی مولد را در نظر بگیرند، از جمله فرصت‌هایی برای توسعه و ادغام با یک اکوسیستم هوش مصنوعی در حال ظهور. برای مثال، یک شرکت ممکن است به دنبال ساخت یک مدل زبان بزرگ سازگار با اکوسیستم باشد که از جاسازی LLM و درخواست توسط برنامه های شخص ثالث.

Kjell Carlsson، رئیس استراتژی علم داده می‌گوید: «برای استفاده از هوش مصنوعی، شرکت‌ها باید SDLC را با چرخه عمر توسعه مدل AI هماهنگ کنند و از یک اکوسیستم در حال گسترش چشمگیر منابع داده، زیرساخت‌ها، مدل‌ها و چارچوب‌های جدید برای هوش مصنوعی حمایت کنند. و تبشیر در دومینو. «موفق‌ترین شرکت‌ها پلتفرم‌های توسعه و استقرار باز، انعطاف‌پذیر و ترکیبی را پیاده‌سازی کرده‌اند و در مدیریت و نظارت سرتاسر به‌طور خاص برای هوش مصنوعی سرمایه‌گذاری کرده‌اند.»

نتیجه گیری

Ecosystem-ready فقط مربوط به مهندسی، امنیت، و شیوه های عملیاتی قوی نیست. آماده بودن برای اکوسیستم همچنین به معنای سهولت استفاده برای کاربران پایین دستی و آمادگی آینده برای حمایت از موارد تجاری نوظهور است. وقتی تیم‌های توسعه‌دهنده به این اهداف دست پیدا می‌کنند، احتمال اینکه اجزای آماده برای اکوسیستم آن‌ها تأثیر تجاری بیشتری داشته باشند بسیار بیشتر است.