مهندسی پلتفرم یک روش جدیدتر برای انجام deops است که از ابزارها و داده های متمرکز استفاده می کند تا توسعه دهندگان را در مرکز عمل قرار دهد. در اینجا نحوه کار آن آمده است.
- Devops در مقابل مهندسی پلت فرم
- نقش در حال تغییر توسعه دهنده
- ظهور پورتال های توسعه دهندگان
- نمونه پلت فرم: Backstage.io
- آینده مهندسی پلتفرم
مهندسی پلتفرم ایده جدیدتری است که هدف آن قرار دادن درسهای دنیای واقعی به شکل ملموستر و قابل تکرار است. Devops یک گرایش قدرتمند در توسعه نرم افزار است زیرا به شکستن موانع در چرخه عمر توسعه نرم افزار کمک می کند. مهندسی پلتفرم میتواند با بهبود کیفیت، تجربه توسعهدهنده و زمان مشتری برای ارزشگذاری برای سازمانهای نرمافزار مفید باشد. با پرداختن به ویژگیهای فناوری و فرآیند، مهندسی پلتفرم بیانی عینی از devops است و میتواند به تعادل نیازهای متضاد برای کنترل متمرکز در مقابل استقلال تیم کمک کند.
گارتنر مهندسی پلتفرم را به عنوان یکی از روندهای کلیدی در توسعه شناسایی می کند. برای سال ۲۰۲۳. بیایید نگاهی به چیستی و نحوه استفاده از آن بیندازیم.
Devops در مقابل مهندسی پلت فرم
Devops به دیدن چرخه عمر توسعه نرم افزار به روشی جامع برای درک و مدیریت بهتر آن اختصاص دارد. Devops از ما می خواهد که توسعه و عملیات را به عنوان دو بخش از یک فرآیند در نظر بگیریم. هدف آن این است که افراد درگیر در ساخت و ساز را در استقرار درگیر نگه دارد، در نتیجه حلقه بازخورد را ببندد و روند توسعه نرم افزار را به طور کلی بهبود بخشد.
بسیاری بر این باورند که مهندسی پلتفرم یک تکامل عملی از ایدهآل devops است. مهندسی پلتفرم رشته مهندسی نرم افزار است که بر ارائه ابزارهای متمرکز و پشتیبانی برای مدیریت پیچیدگی چرخه های عمر توسعه متمرکز است. این یک مفهوم نوظهور است، بنابراین تعریف تا حدودی بی شکل است و در معرض تغییر است.
اگرچه این حس در صنعت وجود دارد که مهندسی پلتفرم جایگزین devop می شود، اما واقعاً اینطور نیست. به عنوان مت گووی، مدیر عامل Masterpoint.io می گوید:
نقش در حال تغییر توسعه دهنده
“شما آن را می سازید، شما آن را اجرا می کنید” شعاری برای devops شده است. ایده این است که اطمینان حاصل شود کسانی که اهرمها را در دست دارند و بینشی نسبت به آنچه کار میکند، میتوانند فرآیند را مدیریت کنند. مشکل در devops در دنیای واقعی این است که چگونه این مفهوم را به طور موثر پیاده سازی کنیم. فقط پیچیده ترین و دارای بودجه خوب می توانند منابع و توجه کافی را به یک تیم توسعه دهنده مستقل اختصاص دهند. در نتیجه، اصطلاح devops اغلب به معنای تکلیف به توسعهدهندگان با توسعه و عملیات است: یک تغییر اساسی از معنای توسعهدهنده بودن.
این روش devops، نقش توسعهدهنده را در کل چرخه زندگی متصور است. مهندسی پلتفرم تکاملی از توسعهها است که تمرکز بر توسعهدهنده را به عنوان یک نقش متقاطع واضحتر میکند.
ظهور پورتال های توسعه دهندگان
پرتال توسعه دهنده مکانیسم و بیان اصلی مهندسی پلتفرم است. هدف اصلی آن گردآوری ابزار، اسناد و تعامل سازنده در یک مکان است. این یک نوع جلویی برای زیرساخت توسعهدهنده سازمان است.
پرتالهای توسعهدهنده (با نام مستعار پلتفرمهای توسعهدهنده داخلی) از چندین نیاز و روند تکامل یافتهاند. این پرایمر در پورتال های برنامه نویس این ابزارها را به سه نوع تقسیم می کند: جهانی کاتالوگ خدمات، کاتالوگ API متصل به دروازه API، و کاتالوگ میکروسرویس ها.
چه چیزی در داخل پورتال توسعه دهنده وجود دارد
APIها در مهندسی پلتفرم بزرگ هستند زیرا جذب معماری میکروسرویس ها باعث افزایش پیچیدگی زیادی برای تیم های نرم افزاری مدرن شده است. سازماندهی ریز سرویس ها در یک سازمان بزرگ می تواند بسیار چالش برانگیز باشد. درک اینکه چه میکروسرویس هایی در یک مورد استفاده معین دخیل هستند می تواند دشوار باشد. یک پورتال توسعهدهنده یک نمای یکپارچه به کل وب میکروسرویسها ارائه میدهد.
یکی دیگر از جنبه های پورتال توسعه دهنده، ارائه یک چارچوب استاندارد برای ترکیب ابزارهای مورد استفاده توسط سازمان است. این به تیمها امکان میدهد تا بهکارگیری ابزار را خود مدیریت کنند، اما به روشی که توسط سازمان قابل تکرار و ردیابی باشد.
در نهایت، پورتال توسعه دهنده می تواند برای میزبانی اسناد در نوعی ویکی توسعه دهنده جهانی استفاده شود. جستجوی متن کامل اغلب بخشی از پورتال است که امکان دسترسی جهانی و بین سازمانی به اطلاعات را فراهم می کند. همچنین می تواند به عنوان یک سیستم هشدار و فروش بلیط عمل کند.
به طور کلی، ایده این است که تا حد امکان در مورد کار تیم توسعه در پورتال تمرکز کنید. به این ترتیب، هنگامی که نیازی پیش می آید، پورتال اولین و محتمل ترین مکان برای یافتن راه حل است. اطلاعات و ابزارها به جای مکالمات نه چندان رسمی در پورتال جمع آوری می شوند، جایی که به راحتی می توانند بخشی از دانش ضمنی نانوشته شوند.
مهندسین و رهبری ارشد می توانند با استفاده از پورتال توسعه دهنده راهنمایی کنند. این بهعنوان مرکزی عمل میکند که در آن سازمان میتواند خطمشیها و بهترین شیوهها را جمعآوری و پخش کند و در عین حال بر استقلال توسعهدهنده تا حد ممکن تأثیر بگذارد.
مهندسی پلتفرم مستلزم ایجاد پورتال توسعهدهنده داخلی و زنجیرههای ابزار و گردشهای کاری مرتبط با آن است. بنابراین، مهندس پلتفرم مسئول پشتیبانی از استقلال توسعهدهنده است و در عین حال مکانی مرکزی برای توسعهدهندگان فراهم میکند تا با پشتیبانی و رهبری متمرکز تعامل داشته باشند.
نمونه پلتفرم: Backstage.io
Backstage.io یک پلتفرم توسعهدهنده منبع باز از Spotify است. این یک مدل مفید برای درک، به روشی دقیق تر، مفهوم مهندسی پلت فرم است. Backstage یک برنامه وب است که یک چارچوب قابل اتصال و توسعه برای انواع ابزارها، APIها و سرویس های مورد استفاده در توسعه ارائه می دهد.
بیانیه ماموریت Backstage میگوید: «در Spotify، ما همیشه به سرعت و نبوغ ناشی از داشتن تیمهای توسعه مستقل اعتقاد داشتهایم. اما همانطور که از نزدیک یاد گرفتیم، هرچه سریعتر رشد کنید، اکوسیستم نرم افزاری شما پراکنده تر و پیچیده تر می شود. و سپس همه چیز دوباره کند می شود.”
پشت صحنه راه حلی است که خودتان را بسازید، شبیه به جنکینز در دنیای CI/CD. با ورود بازیکنان بیشتر به این فضا، پلتفرمهای نرمافزار بهعنوان سرویس (SaaS) بیشتری با قابلیتهای مشابه خواهیم دید.
Backstage دارای چهار ویژگی اصلی برای دستیابی به اهداف مهندسی پلتفرم است:
- یک کاتالوگ نرم افزار برای کنترل ابزارهایی مانند میکروسرویس ها، کتابخانه ها، خطوط لوله داده، وب سایت ها ، و بیشتر از یک مکان مرکزی.
- الگوهای نرم افزار برای تعریف و اجرای بهترین شیوه ها و الگوها برای پروژه های جدید.< /li>
- TechDocs، یک مخزن مرکزی و استاندارد برای اسناد (Backstage این را “اسنادی مانند کد” رویکرد).
- افزونهها که امکان گسترش عملکرد پلتفرم اصلی را فراهم میکنند.
با بازی کردن با نمایش زنده آن، میتوانید احساسی نسبت به Backstage داشته باشید.
کاتالوگ نرم افزار
در قلب Backstage و سایر پورتال های توسعه دهندگان، کاتالوگ نرم افزار قرار دارد. در اینجا، API های مورد استفاده برای ایجاد ریزسرویس ها، چه داخلی و چه شخص ثالث، می توانند به طور خودکار کشف، مدیریت و مصرف شوند، اما در قالبی ثابت. APIها بهعنوان شبکهای از وابستگیها مدلسازی میشوند تا دریافت نمای داشبورد از همه سرویسهای یک سازمان، تیمهایی که مالک آنها هستند و نحوه تعامل آنها آسانتر شود.
علاوه بر APIها، طیف وسیعی از ابزارها را می توان در پورتال آورده و در آنجا هماهنگ کرد، در رابطه با APIهایی که آنها پشتیبانی می کنند. پلتفرمهای CI/CD مانند CircleCI و مخازن کد مانند GitHub میتوانند با پروژههایی که به آنها مرتبط هستند مرتبط شوند. ایده این است که چشم انداز فناوری سازمان را به پورتال بیاوریم تا هم برای تیم هایی که از آن به صورت سلف سرویس استفاده می کنند و هم برای رهبرانی که وظیفه مدیریت تیم هایشان را بر عهده دارند، در دسترس باشد.
با پیکربندی مناسب، یک پورتال توسعهدهنده میتواند نمایی از وضعیت و سلامت معماری میکروسرویسهای پیچیده و گسترده ارائه دهد، حتی زمانی که در پشتههای همگن (مانند ترکیبی از Kubernetes، بدون سرور، و ماشینهای مجازی) و در سراسر ابر مستقر شوند. ارائه دهندگان.
آینده مهندسی پلت فرم
ایده اصلی مهندسی پلتفرم – راهی استاندارد شده برای متمرکز کردن و مدیریت چرخه عمر کلی توسعه – همچنان اهمیت دارد. هنوز نوپا است، اما کاربردی بودن مهندسی پلتفرم کمک می کند تا چشم انداز توسعه را برای سازمان های بیشتری به واقعیت دست یافتنی تر تبدیل کند.
پست های مرتبط
مهندسی پلتفرم چیست؟ در حال تکامل توسعه می دهد
مهندسی پلتفرم چیست؟ در حال تکامل توسعه می دهد
مهندسی پلتفرم چیست؟ در حال تکامل توسعه می دهد