نقطه پایانی چرخه عمر اهمیت بیشتری دارد (The Endpoint Lifecycle Matters More)
اگر در حال ساخت API هستید، بزرگترین هزینه شما احتمالاً زمان توسعهدهندگانتان است. اما ابزارهای فعلی API شما چه کاری برای بهینهسازی این منبع محدود انجام میدهند؟ اگر به توصیههای رایج در زمینه مدیریت چرخه عمر API توجه کرده باشید، پاسخ احتمالاً «خیلی کم» است.
شما نمیتوانید با مدیریت وارد یک API شوید باید آن را توسعه دهید. این به معنی ساخت ابزارها و روشهایی است که از نحوه کار توسعهدهندگان شما پشتیبانی میکند: یک نقطه پایانی در هر بار.
مدیریت API بیش از حد و در عین حال ناکافی است
اکثر ابزارهای API موجود بر اساس مدیریت چرخه عمر API طراحی شدهاند، که نوعی تطبیق از مدیریت چرخه عمر محصول (PLM) است. PLM از دهه ۱۹۳۰ وجود داشته و کاربرد آن در APIها همزمان با رشد متدولوژیهای Agile و افزایش نقش مدیران پروژه در سازمانهای مهندسی شکل گرفت.
مراحل زیاد، جلسات زیاد، ابزارهای زیاد
مدیریت چرخه عمر API چیست؟
مجموعهای از روشهاست که با طراحی API شروع میشود اما در شرکتهای مختلف مسیر متفاوتی میگیرد. ممکن است پنج مرحله، شش مرحله یا بیشتر باشد. حتی بدون توافق گسترده بر مراحل، اکثر روشهای مدیریت پروژه نیازمند حضور مهندسان در جلسات و مرور مستندات در هر مرحله هستند.
ابزارهای مدیریت API نیز همین مسیر را دنبال میکنند، ممکن است برای هر مرحله ابزار جداگانهای وجود داشته باشد یا یک ابزار سنگین که تلاش میکند همه چیز را پوشش دهد. مدیریت فرآیندها و ابزارها اغلب بیشتر از نوشتن کد API زمان میبرد.
هیچکس نمیخواهد کدی ناهماهنگ و تکراری بنویسد، اما وقتی تیمها و ابزارها از دیدگاه سطح محصول به API نگاه میکنند، این اتفاق بیشتر از حد معمول رخ میدهد.
پشتیبانی عملی ناکافی
همزمان، این ابزارها و روشهای پیچیده ویژگیهای مورد نیاز مهندسان را ارائه نمیدهند و مطمئناً با کارایی مناسب نیستند. هیچکس با نگاه کردن به خانهای ساخته شده نمیتواند چکش بهتری بسازد، اما هر نجاری میداند ابزار با کیفیت تفاوت بزرگی در محصول نهایی ایجاد میکند.
ساخت نقاط پایانی مانند کارهای پایهای نجاری API است. اگر به API از دیدگاه سطح محصول نگاه کنید، به راحتی روزمرگیهای ایجاد آن را از دست میدهید.
برای ساخت چکشی که نجاران دوست دارند، ابتدا باید عملکرد آنها را مشاهده کنید. روی کاهش خستگی و بهبود ارگونومی هر ضربه چکش تمرکز کنید. مواد مقاوم و راحت انتخاب کنید و تنظیمات کوچک در زاویهها و خمها اعمال کنید، چون هزاران ضربه چکش برای ساخت خانه لازم است.
برای ساخت APIهای بهتر، باید به توسعهدهندگان و نحوه کار آنها توجه کنید. برای توسعهدهندگان API، واحد کار نقطه پایانی است. شما نیاز به ابزارهایی دارید که خستگی را کاهش داده و کارایی را در طول چرخه عمر نقطه پایانی افزایش دهد — فرآیندی که توسعهدهندگان شما صدها یا هزاران بار در حین ساخت API تکرار میکنند.
ماژولار بودن، ویژگی اصلی API
وقتی یک ابزار با کاربر و واحد پایهای کار همخوانی داشته باشد، برای طیف وسیعی از پروژهها کارآمد است. یک چکش خوب برای ساخت عرشه، نصب کابینت یا میخکوبی تابلو «برای فروش» مفید است، بدون اینکه برای فرآیند یا طراحی محصول خاصی ساخته شده باشد.
تمام APIها از نقاط پایانی تشکیل شدهاند، چه میکروسرویسهای کوچک خصوصی و چه محصولات سازمانی. این معماری، APIها را بسیار ماژولار و قابل تطبیق میکند. مصرفکنندگان API میتوانند از تعداد کمی نقطه پایانی یا صدها نقطه پایانی استفاده کنند. نقاط پایانی باید قابل بازیابی و کشف آسان باشند تا این امر امکانپذیر شود.
همین موضوع در مورد ابزارهای API نیز صدق میکند — آنها باید ماژولار و قابل استفاده مجدد باشند. با کاهش سربار ابزارها، میتوانید روی ارزش و هدف API تمرکز کنید نه فرآیندی سنگین و پیچیده. این یعنی کنار گذاشتن مدیریت چرخه عمر API و تمرکز بر چرخه عمر نقطه پایانی.
نقاط پایانی چگونه ساخته میشوند؟
هدف، یافتن یا ایجاد ابزارهایی است که به توسعهدهندگان اجازه میدهد بر چرخه عمر نقطه پایانی تمرکز کنند. چرخه عمر نقطه پایانی معمولاً شامل مراحل زیر است:
-
جمعآوری نیازمندیها
-
توصیف عملکرد مورد نیاز در API Spec
-
بررسی دادهها برای فهم ساختار شیءی که نقطه پایانی با آن تعامل دارد
-
نوشتن کد: کد پایه و کد سفارشی برای عملکرد نقطه پایانی، مدیریت خطا
-
دیباگ و تست کد
-
اجرای تستهای ساده، بررسی و حل تداخلها
-
استقرار
-
جمعآوری دادهها و بروزرسانی کد در صورت نیاز
این فرآیند ساده است اما صدها یا هزاران بار در حین ساخت API تکرار میشود. هر بهبود کارایی در این چرخه، ارزش زیادی ایجاد میکند.
مدیریت چرخه عمر نقطه پایانی، یک سازش نیست
تمرکز بر چرخه عمر نقطه پایانی به معنای کنار گذاشتن حاکمیت یا کیفیت کد نیست. این یک انتخاب برای جدا کردن توسعهدهندگان از محصولات یا کاربران نیست و هرگز به معنای کمارزش جلوه دادن کار تیمهای محصول و طراحی نیست. برعکس، این تمرکز، همه را توانمند میکند.
توسعهدهندگان میتوانند روی کیفیت کد، قابلیت تکرار و قابلیت کشف تمرکز کنند. طراحان انرژی خود را روی محصولاتی صرف میکنند که بیشترین نیاز به تخصص آنها دارند. صرفهجویی در هزینه و بهبود کیفیت، منجر به نتایج بهتر و منابع بیشتر برای نوآوری میشود.
مدیریت چرخه عمر API زمانی داشت. صنعت API از آن زمان رشد و تحول یافته است، اما آن رویکرد از زمان خود گذشته است. تیمهای API باید تمرکز خود را از سطح محصول بردارند و روی چرخه عمر نقطه پایانی تمرکز کنند تا توسعهدهندگان بتوانند با ابزارهایی که نیازهایشان را در اولویت قرار میدهد، بهترین کار خود را انجام دهند.
