Azure DevOps یکی از سرویسهای مایکروسافت و پلتفرمی است که فرایند ساخت و توسعۀ اپلیکیشنها را برای کسبوکارها (مخصوصاً آنهایی که از سرویسهای مایکروسافت استفاده میکنند)، راحتتر کرده است.
اگر فکر میکنید باید درک بهتری از ماهیت DevOps به دست بیاورید، مقالۀ «دواپس چیست؟ همهچیز دربار Devops به زبان ساده ساده!» را بخوانید؛ اگرنه که بیایید برویم سراغ اصل مطلب و ببینیم azure devops چیست.
Azure DevOps چیست؟
آژور دواپس یک نرمافزار مبتنیبر سرویس (یا همان SaaS) است که مایکروسافت آن را طراحی کرده و از ابزارهایی برخوردار است که دست کاربران را در تمام قسمتهای چرخۀ ساخت و توسعۀ یک نرمافزار، میگیرند و به کمک او میآیند.
مثل انواع دواپسها، این سرویس هم همکاری بین تیمهای برنامهنویسی و عملیاتی را تسهیل میکند.
دولوپرهایی که روی کدهای برنامه کار میکنند، میتوانند از Azure DevOps مثل یک دستیار کمک بگیرند؛ چراکه با وجود بهرهمندی از کلی سرویس بهدردبخور، این پلتفرم میتواند با برخی ابزارهای بیرونی هم یکپارچه شود و قابلیتهایش را افزایش دهد. به این ترتیب، امکان سفارشیسازی عملکرد آن برای نیازها و شرایط خاص هم (تا حد قابل قبولی) فراهم است.
نکته: مثل بیشتر محصولات مایکروسافت، Azure DevOps هم در اصل برای استفاده در محیطهای برنامهنویسی اختصاصی مایکروسافت (مثل Microsoft Visual Studio و Eclipse) طراحی شده است؛ ولی با این وجود، امکان استفاده از آن بهعنوان بکاند دیگر IDEهای شناختهشده هم وجود دارد.
⭐ محتوای مرتبط: تلنت (telnet) چیست و چه کاربردهایی دارد؟ |
Azure DevOps چه کاربردی دارد؟
متخصصان میگویند Azure DevOps پلتفرمی است مختص توسعۀ نرمافزارها که بهصورت کاملاً end-to-end، تمام مراحل ساخت و توسعۀ نرمافزارها را، از اولین قدمها تا عرضۀ نهایی پوشش میدهد.
کاربردهای برجستۀ این محصول مایکروسافت عبارتند از:
- مدیریت تمام لازمهها برای ساخت و توسعۀ اپلیکیشنها؛
- مدیریت پروژه (هم برای توسعۀ نرمافزار با استفاده از ساختار چابک یا Agile، هم برای تیمهایی که از ساختار آبشاری یا Waterfall پیروی میکنند)؛
- ذخیرهسازی کدها و اعمال تغییرات صورتگرفته برای همۀ اعضای تیمها (در حین انجام کار)، یا با استفاده از TFVC (مخفف Team Foundation Version Control)، یا با استفاده از Git؛
- خودکارسازی فرایندهای مختلف در چرخه؛
- ارائۀ گزارشهای جامع و کاربردی، شامل نتایج تستها، میزان پیشرفت مرتبط با هر پارامتر و زمان احتمالی پایان پروژه؛
- مدیریت انواع تستها و عرضۀ نسخۀ نهایی به بازار.
خوب است با انواع مختلف این پلتفرم هم آشنا شوید.
ویژه کسبوکارهای بزرگ
آژور دواپس در چند نوع ارائه میشود؟
دو نوع:
- Azure DevOps Services (نسخه مبتنی بر ابر)
- سرور Azure DevOps
اولی با عنوان Azure DevOps Services شناخته میشود که نسخۀ مبتنیبر ابر آن به حساب میآید و میزبانیاش بر عهدۀ مایکروسافت است.
دومی Azure DevOps Server نام دارد و یک نسخۀ On-premises محسوب میشود؛ یعنی در محل شرکت، روی سرورهای اختصاصی نصب میشود و مایکروسافت در میزبانی آن دخالتی ندارد.
استفادۀ از اولی، یعنی Azure DevOps Services راحتتر است؛ چون آسانتر راهاندازی میشود، همیشه بهروز است و از هر جایی (که اتصال اینترنت برقرار باشد)، میتوان به آن متصل شد.
با این اوصاف، نسخۀ مبتنیبر ابر برای تیمهای کوچکتر که نیازمند توسعهپذیری و مقیاسپذیری DevOps هستند، ولی نمیخواهند درگیر کارهای اداره کردن Azure شوند، ایدئال خواهد بود.
از آن طرف ماجرا، نسخۀ Azure DevOps Server بیشتر مناسب کمپانیهای بزرگی است که مشکلی از بابت منابع ندارند و میخواهند روی همهچیز، مخصوصاً دادههایشان، کنترل کامل داشته باشند.
در بخش بعدی میبینیم قابلیتهای azure devops چیست.
⭐ محتوای مرتبط: بوت استرپ چیست و چه کاربردهایی دارد؟ |
سرویسهای اصلی Azure DevOps
۵ سرویس اصلی و مفید درون Azure DevOps وجود دارند که اینجا با آنها آشنا خواهیم شد.
۱. Azure Repos (سیستم کنترل نسخه)
با استفاده از Azure Repos به رپوزیتوریهای Git دسترسی خواهید داشت تا بتوانید بهشکلی راحتتر، تمام کدهای تشکیلدهندۀ نرمافزارها را مدیریت کنید.
به بیان سادهتر، Azure Repos شامل مجموعهای از ابزارهای Version Control میشود که برای مدیریت و رصد تمام تغییرات اعمالشده روی کدها در گذر زمان، کاربرد دارند.
نکته: Version Control یک راهکار خیلی خوب برای ذخیرهسازی فعالیتها و البته ایجاد هماهنگی بعد از اعمال تغییرات روی کدها، در بین همۀ تیمهای دخیل در فرایند ساخت و توسعۀ نرمافزار است.
⭐ محتوای مرتبط: سرویس ابری saas چیست و چه کاربردهایی دارد؟ |
۲. Azure Pipelines (استقرار و اتوماسیون CI/CD)
CI/CD یک سازوکار نوین برای بهروزرسانی و اعمال تغییر روی نرمافزارها، بهشکلی سریعتر و بهینهتر است. قبلاً در مقالۀ «ci/cd چیست؟ به زبان خیلی ساده» راجعبه این سیستم صحبت کردهایم.
Azure Pipelines که یکی از سرویسهای این SaaS است، تمام کارهای مرتبط با ساخت، تست و پیادهسازی اپلیکیشنها را بهصورت خودکار انجام میدهند و اینطوری، تحویل سریع و بهشکلی مطمئن را ممکن میکنند.
Azure DevOps آنقدر در این زمینه خوب عمل میکند که خیلی از SaaSهای دیگر برای روغنکاری سازوکار اجرایی CI/CD خود سراغ این پلتفرم رفته و از سرویس بهخصوص Azure Pipelines کمک میگیرند.
پلتفرم دواپس اختصاصی مایکروسافت، با زبانهای برنامهنویسی متنوعی سازگاری دارد که در این زیر، بخشی از آنها را میبینید:
- Python
- Ruby
- Java
- PHP
- Android
- IOS
- Go
- #C
- ++C
⭐ محتوای مرتبط: کوبرنتیز چیست؟ به زبان ساده |
۳. Azure Boards (مدیریت پروژه و وظایف)
این سرویس (Azure Boards) با استفاده از تکنیکهای Scrum و چابک (Agile)، امکان ایجاد هماهنگی بین اعضای مختلف تیمهای دخیل در کار را به وجود میآورد و به سرپرست تیم اجازه میدهد پروژه را بهشکلی حرفهایتر مدیریت کند.
قابلیتهای مثل Kanban Boards، بکلاگها و داشبوردها، به عیبیابی کل فرایند، مدیریت وظایف و دریافت گزارشها کمک میکنند و به این ترتیب، همکاری بهینهتری بین افراد شکل میگیرد؛ همکاری بهینهتری که در نهایت نوآوری و راندمان را افزایش میدهد.
۴. Azure Artifacts (مدیریت پکیجها و وابستگیها)
دولوپرها و تیمها میتوانند با استفاده از Azure Artifacts کدها را پکیج کرده و به اشتراک بگذارند. این قابلیت به برنامهنویسها اجازه میدهد پکیجهای ساختهشده را به یک فید مشترک (عمومی یا اختصاصی) بفرستند تا دیگر تیمها هم بتوانند از آنها استفاده کنند.
بهعلاوه، دسترسی به پکیجهای دیگر (که بهصورت عمومی منشتر شدهاند) در فیدهای دیگر و استفاده از آنها هم ممکن است. اگر میپرسید پکیجهای تحت پوشش azure dedvops چیست، باید بگوییم:
- .NuGet
- .Npm
- .Python
- .Maven
- .Universal Packages
⭐ محتوای مرتبط: داکر (Docker) چیست و چه کاربردی دارد؟ |
۵. Azure Test Plans (مدیریت تست نرمافزار)
Azure Test Plans، مجموعهای از ابزارها هستند که به دولوپرها اجازه میدهند کیفیت کدهای نوشتهشده را بهبود ببخشند و به این ترتیب، همکاری مؤثرتر بین تمام تیمها، در فرایند توسعۀ نرمافزار را تقویت کنند.
ابزارهای Azure Test Plans با فراهم آوردن امکان تست بهصورت دستی در کنار انجام تستهای خودکار، به کمک تیم برنامهنویسها میآیند تا آنها بتوانند هر مشکلی را در نطفه خفه کنند. با این بهینهسازی مداوم و لحظهای، خیالتان راحت خواهد بود که در نهایت، خروجی کار عاری از هر ایرادی خواهد بود.
اگر موافق باشید، ببینیم در مقایسه با دیگر پلتفرمهایی که خدمات مشابهی ارائه میدهند، نقاط قوت azure devops چیست.
مزایای Azure DevOps
همانطور که میدانید، این فقط Azure DevOps نیست که برای پیادهسازی سیستم دواپس کاربرد دارد! ولی خب مزایایی که همراه با این پلتفرم حاصل میشوند، آن را به یکی از بهترین انتخابها برای کمپانیهای مختلف (با هر اندازهای) تبدیل کردهاند.
مزیتهایی مثل:
یکپارچگی بالا
تمام سرویسهای تشکیلدهندۀ این پلتفرم که کمی قبلتر آنها را بررسی کردیم، بهشکلی بینقص با یکدیگر یکپارچه میشوند و تجربهای خارقالعاده برای کاربر رقم میزنند؛ بهعلاوه، همانطور که توضیح دادیم، Azure DevOps میتواند با طیف وسیعی از ابزارهای خارجی و Third-Party هم یکپارچه شود و به این ترتیب، قابلیتهای خیلی بیشتر و اختصاصیتری از خود نشان دهد.
نکته: در کل منظورمان از یکپارچگی بالا، وجود هماهنگی خیلی خوب بین سرویسهای درونی پلتفرم است.
بهلطف این یکپارچگی بالا، بهرهوری بهبود پیدا کرده و همکاری بین تیمها راحت میشود؛ ضمن اینکه امکان پیش بردن کارها از مرحلهای به مرحلۀ بعدی، بهشکل خیلی نرم و روان هم به وجود میآید. طوری که انگار همهچیز روی غلطکی کاملاً روغنکاریشده حرکت میکند!
⭐ محتوای مرتبط: لود بالانسینگ (Load Balancing) چیست؟ مفاهیم و کاربردها |
سازگاری با GitHub و سایر پلتفرمها
یکپارچگیای که در بخش قبلی به آن اشاره کردیم، بین آژور دواپس و GitHub هم دیده میشود؛ بنابراین، میتوان بهراحتی کامیتها، Pull Requestها و Issueها را مستقیماً به Azure Boards منتقل کرد تا اطلاعات لازم، در اختیار افرادی که باید، قرار بگیرند.
همچنین، میتوان سرویس Azure Pipelines را به رپوزیتوریهای GitHub متصل کرد تا تمام کارهای مرتبط با ساخت انواع قابلیتها، تستها و پیادهسازیها، خودکارسازی شوند و سیستم CI/CD خیلی عالی و بینقص به اجرا دربیاید!
مناسب برای تیمهای کوچک تا بزرگ
مایکروسافت طوری Azure DevOps را طراحی کرده که بسته به اندازۀ سازمان شما، تغییر سایز میدهد! چه یک استارتاپ کوچک داشته باشید، چه مجموعهای بزرگ را اداره کنید، راهکارهای این پلتفرم برای پیادهسازی ساختاری که پیشبرد بهینۀ پروژه را ممکن میکند، به تیمهای مختلف اجازه میدهد در عین تمرکز روی وظایف خودشان، با دیگر تیمها در یک مسیر واحد پیش بروند.
بهعلاوه، دو نوع مختلف این دواپس نشان میدهند که از همان ابتدا، مایکروسافت میخواست سیستمی برای همۀ کسبوکارها بسازد و به همین خاطر، Azure DevOps Server را برای شرکتهای بزرگ طراحی کرد و Azure DevOps Services را برای کسبوکارهای کوچکتر.
⭐ محتوای مرتبط: API چیست؟ هر آنچه باید درباره API بدانید (به زبان ساده) |
امکان سفارشیسازی فرایندها
با Azure DevOps میتوانید همهچیز را بهشکلی میخواهید سفارشیسازی کنید؛ به این ترتیب، امکان همگامسازی هرچیزی با نیازها و روال کار شرکتتان فراهم است.
خیلی راحت، میتوانید ریزترین جزئیات را هم از طریق رابط کاربری تحت وب ابزار دستکاری کنید؛ بدون نیاز به اعمال تغییر روی فایلهای XML.
به بیان بهتر، امکانات Customization آژور دواپس خیالتان را راحت میکنند که میتوانید کل پلتفرم را مثل خمیر، مطابق خواستههایی که دارید، شکل دهید.
پشتیبانی قوی مایکروسافت
مثل همۀ محصولات دیگر مایکروسافت، Azure DevOps هم از پشتیبانی بینقص این اَبَرکمپانی دنیای تکنولوژی بهره میبرد؛ ضمن اینکه متخصصان مایکروسافت با دقت بالا همهچیز مرتبط با این پلتفرم را زیر نظر دارند و با ارائۀ بهروزرسانیهای مداوم، نمیگذارند هیچ مشکل کوچکی به معضل بزرگ برای مشتریانشان تبدیل شود.
بالاتر گفتیم که یکی از مزیتهای Azure DevOps، یکپارچگی خیلی بالایی است که از خود نشان میدهد؛ بنابراین، قابل پیشبینی است که این پلتفرم، با دیگر محصولات مایکروسافت هم سازگاری خیلی خوبی داشته باشد!
بهطور مشخص، Azure DevOps با Azure ،Visual Studio و Microsoft 365 یکپارچه میشود و به این ترتیب، یک اکوسیستم کامل و بینقص برای تیمهای مختلف برنامهنویسی به وجود میآورد.
این را هم بگوییم که بهخاطر تعهد مایکروسافت به تأمین امنیت حداکثری و پیروی از قوانین این حوزه، خیال کاربران را از بابت استانداردی در سطح جهانی راحت است.
در بخش بعدی، میفهمیم فرق Jira و GitHub با azure devops چیست.
⭐ محتوای مرتبط: NAT چیست؟ آشنایی با ناجی شبکه بهزبان ساده |
Azure DevOps چه تفاوتی با GitHub و Jira دارد؟
همانطور که در این مقاله توضیح دادیم، Azure DevOps با بهکارگیری سرویسهایی مثل Azure Boards ،Azure Repos ،Azure Pipelines و…، تمام چرخۀ ساخت و توسعۀ نرمافزارها (اصطلاحاً SDLC) را پوشش میدهد.
این در حالی است که GitHub (که از قضا آن هم محصول مایکروسافت است)، بیشتر تمرکزش را به میزبانی از کدها و ایجاد همکاری بین برنامهنویسها معطوف کرده؛ یعنی نمیتوانیم آن را یک راهکار end-to-end و همهجانبه (مثل Azure DevOps) در نظر بگیریم.
با اینکه Azure DevOps از منظر یکپارچگی نمرۀ قابل قبول را میگیرد، در مقابل GitHub حرف چندانی برای گفتن ندارد! این پلتفرم، در کنار امکان استفاده از تمام ابزارهای ساخت مایکروسافت مثل Visual Studio و امثال اینها، به کاربرانش اجازه میدهد در اقیانوس وسیعی از ابزارهای Third-Party (واسط)، سراغ همان چیزی بروند که واقعاً به نیاز دارند.
بهطور کلی، آژور دواپس بیشتر مناسب کسبوکارهای نسبتاً بزرگی است که به یک پلتفرم همهکاره (شامل ابزارهای لازم برای مدیریت پروژه و انواع استقرارها) نیاز دارند؛ درحالیکه GitHub معمولاً به کار پروژههای متنباز و تیمهای خیلی کوچکتر (مثلاً چند دانشجو که از نظر بودجه در مضیقه هستند) میآید.
و اما Jira، که یک ابزار خیلی خوب برای رصد عملکرد اعضا و مدیریت پروژه بهصورت کاملاً چابک (Agile) است. این پلتفرم به درد مدیریت وظایف هر یک از اعضا، گزارش باگهای احتمالی و پیگیری رفع آنها توسط متخصص مربوطه، بررسی میزان پیشرفت هر تیم در مسیری که برایش تعیین شده است و…، میخورد.
امکانات سفارشیسازی گوناگون و البته بوردهای Scrum و Kanban، در کنار گزارشهای مفصل و پر جزئیات، از جمله دلایلی هستند که کاربران زیادی به سمت این ابزار کشیده شدهاند.
پس اصلیترین فرق بین Azure DevOps و Jira هم در هدف اصلی آنها است؛ Jira امکانات لازم برای مدیریت پروژه و رصد پیشرفت کارها را ارائه میکند؛ اما Azure DevOps علاوهبر مدیریت پروژه، نیازهای تخصصی مرتبط با برنامهنویسی را هم پوشش میدهد.
فرق دیگر اینکه برخلاف آژور دواپس (که گفتیم سرویس Azure Pipelines آن مختص پیادهسازی سازوکار CI/CD است)، Jira برای اجرای این سیستم به پلاگینهای Third-Party جداگانه نیاز دارد.
در نهایت، از نقطه نظر قابلیتهای سفارشیسازی، Jira امکانات بیشتری به کاربرانش ارائه میکند؛ درحالیکه کاستومایز کردن محصول مایکروسافت، داخل اکوسیستم این کمپانی راحت است و اگر بخواهید پا را از این خط فراتر بگذارید، احتمالاً با چالشهایی مواجه خواهید شد.
این جدول مقایسه را هم داشته باشید و بعد از آن، بیایید برویم برای جمعبندی نهایی.
مورد مقایسه | Azure DevOps | GitHub | Jira |
کاربرد اصلی | راهکاری همهجانبه برای مدیریت بخشهای مختلف چرخۀ ساخت و توسعۀ نرمافزارها | میزبانی کدها و فراهم آوردن امکان همکاری بین (فقط) دولوپرها | مدیریت پروژه به سبک Agile و رصد کارها و وظایف |
مناسب برای | مجموعههایی که از ابزارهای ساخت مایکروسافت استفاده میکنند | پروژههای متنباز و تیمهای کوچک برنامهنویسی | تیمهایی که روی اجرای متدهای مختلف مدیریت پروژه به سبک چابک اصرار دارند |
قابلیتهای اجرای CI/CD | بهصورت پیشفرض با Azure Pipelines در دسترس است | GitHub Actions | به پلاگینهای خارجی و Third-Party احتیاج دارد |
قابلیت یکپارچهسازی | علاوهبر ابزارهای ساخت مایکروسافت، سازگاری خوبی با اغلب ابزارهای دیگر دارد | امکان دسترسی به کتابخانۀ بسیار عظیمی از پلاگینهای Third-Party | معمولاً با ابزارهای مختص توسعۀ نرمافزار، بهخوبی یکپارچه میشود |
امکانات سفارشیسازی | قابل قبول، ولی بیشتر محدود به اکوسیستم مایکروسافت | خیلی زیاد | خیلی زیاد |
به اکوسیستم مایکروسافت وابستهاید؟ پس Azure DevOps به دردتان خواهد خورد
در این مقاله توضیح دادیم که azure devops چیست. محصولی از کمپانی مایکروسافت که مثل همۀ دواپسها، بین تیمهای اجرایی و گروه دولوپرها هماهنگی ایجاد میکند. در واقع، Azure DevOps تمام چرخۀ ساخت و توسعۀ اپلیکیشنها، از کدنویسی گرفته تا عرضه را تحت پوشش قرار میدهد.
با وجود تمام مزایا و نکات مثبت این پلتفرم، در نهایت پیشنهاد میکنیم تنها در صورتی سراغ آن بروید که به اکوسیستم مایکروسافت وابستگی دارید؛ وابستگیای که از بهکارگیری ابزارهای این کمپانی (مثلاً هاست ویندوز یا تکنولوژیهای اختصاصی این برند) ناشی میشود؛ چون در غیر اینصورت، با استفاده از دواپسهای دیگر، آزادی عمل خیلی بیشتری را تجربه خواهید کرد.
اگر همچنان ابهامی در این رابطه دارید، مشتاقیم که برای رفع آن کمکتان کنیم.
منابع: TechTarget | bmc
دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید