DevOps (ترکیبی از کلمات Development به معنای توسعه و تولید و Operations به معنای عملیات) از مفاهیم نوین در حوزه مهندسی نرمافزار و مدیریت فناوری اطلاعات و ارتباطات است که امروزه جایگاه ویژهای میان شرکتهای فناورانه پیشرو بینالمللی پیدا کرده است. فلسفه اصلی نهان در DevOps افزایش همکاری و ارتباطات میان تیمهای تولید نرمافزار و تیمهای پشتیبانی و نگهداری از داراییهای فناوری اطلاعات سازمان است، به صورتی که بخش عمدهای از فرآیند تحویل نرمافزار و تغییرات زیرساختی به صورت خودکار و با پشتیبانی ابزارهای نوین انجام شود.
در دنیای امروز که پیچیدگی نرمافزارهای تولیدی افزایش یافته و فناوریهای دگرگونکننده مانند رایانش ابری و اینترنت اشیاء روالها و روشگانهای کلاسیک تولید نرمافزار را به چالش کشیدهاند، DevOps میتواند سازمانهای پیشرو را در مواجهه با اینگونه چالشها توانمند ساخته و کیفیت خدمات ارائهشده توسط واحدهای فاوا در سازمانهای بزرگ را از دید راهبردی و تاکتیکی افزایش دهد. DevOps با تکمیل منافع حاصل از استفاده از فرآیندهای چابک تولید نرمافزار و بهرهمندی از مفاهیم جدید مانند یکپارچهسازی مستمر (Continues Integration) و تولید مستمر (Continues Development) باید در جعبهابزار هر مدیر و کارشناس حوزه مهندسی نرمافزار و فناوری ارتباطات و اطلاعات قرار گیرد.
یکی از چالشهای بزرگ در صنعت نرمافزار هزینههای تحمیلشده به جهت رفع ایرادات کیفی و نگهداری نرمافزار پس از تولید آن است. چراکه هزینه اصلی مربوط به یک نرمافزار عملاً پس از توسعه اولیه آن تحمیل میشود. بر اساس بررسیهای صورت گرفته توسط موسسه گارتنر در سال 2010، میانگین هزینه رفع ایرادات کیفی هر خط کد 3.61 دلار بوده که هزینه بسیار بالایی محسوب میشود. شایان ذکر است که 52 درصد زمان عیبیابی نرمافزار فقط صرف یافتن 8 درصد خطاها میشود که این موارد را خطاهای پیچیده مینامند. راهحل چالش ذکرشده، توسعه نرمافزار باکیفیت و قابل نگهداری است. بنابر بررسیهای صورت گرفته فرآیند بهبود و رفع ایرادات نرمافزار باکیفیت، 66 درصد سریعتر صورت میپذیرد. در نتیجه قابلیت نگهداری در یک نرمافزار به جهت کاهش هزینهها و افزایش کیفیت نرمافزار ضروری به نظر میرسد. در صورتی که بتوان سطح دانش فنی تیمهای توسعه را افزایش داد تا این افراد قادر به استفاده از بهروشهای توسعه سامانههای باکیفیت در حین توسعه باشند، میتوان از کاهش کیفیت نرمافزار حین فرآیند توسعه جلوگیری کرد. بدین مقصود بهتر است از یک فرآیند آموزشی معتبر و تصدیقشده به جهت انتقال این دانش به افراد سازمان بهره برد.
دوره آموزشی توسعه نرمافزار قابل نگهداری ارائهشده توسط سازمان Software Improvement Group (SIG) و با همکاری شرکت PoepleCert فرصت مناسبی را برای افزایش سطح دانش مورد نیاز تیمهای توسعه به جهت توسعه سامانههای باکیفیت فراهم میکند. این دوره بر اساس نیازهای صنعت روز دنیا و پس از تحلیل میلیاردها خط کد توسط SIG و کشف ایرادات متداول توسعهدهندگان که قابلیت نگهداری نرمافزار را دچار چالش میکند، شکل گرفته است. در حقیقت این دوره توسط توسعهدهندگان و برای توسعهدهندگان فراهم شده است.
آشنایی با مفهوم قابلیت نگهداری در سیستمهای نرمافزاری و تفسیرهای متنوع از آن
تشریح انواع سنجههای سطح کد به منظور یاری رساندن در نوشتن نرمافزارهای قابلنگهداری
آموزش الگوهای بازآرایی کد به منظور افزایش قابلیتنگهداری سامانههای موجود
تشریح بهروشهای سطح معماری و سطح کد برای توسعه نرمافزارهای باکیفیت
ارائه مثالهای کاربردی از دنیای واقعی در خلال معرفی مفاهیم به جهت درک بهتر مطالب
ارائه دوره آموزشی برای دو زبان Java و C#
افزایش رقابتپذیری سازمان از طریقه نوشتن کد باکیفیتتر و ارزانتر
بهبود سطح پایداری سازمان بهوسیله نرمافزار منعطف و قابل تطبیق با شرایط مختلف
افزایش سطح مهارت توسعهدهندگان، مهندسین نرمافزار و معماران سازمان
ارتقای سطح رضایت مشتریان از کیفیت نرمافزارها
کاهش زمان ارائه به بازار محصولات و هزینههای تولید
تسهیل فرایند مدیریت تغییر و نگهداری محصولات نرمافزاری
فراهمسازی بستری مناسب به جهت تحقق دیگر خصیصههای کیفی (مانند امنیت، کارایی، قابلیت اتکا و غیره) از طریق کد قابل تغییر و منعطف
امروزه دامنه کاربرد فناوری اطلاعات در حوزههای مختلف بر همگان آشکار است. سازمانها و شرکتهای مختلف با حوزههای کاری متفاوت سعی در استفاده بهینه از فناوری اطلاعات در جهت افزایش کارایی، کاهش هزینهها و همگام شدن با تغییرات و بازار رقابتی امروز را دارند. برای این منظور در بسیاری از مواد، ITIL (یا کتابخانه زیرساخت فناوری اطلاعات) بهعنوان معروفترین و قابل قبولترین بهروش مدیریت خدمت معرفی میشود که متشکل از مجموعهای از بهترین تجربیات ارائهدهندگان خدمات فناوری اطلاعات میباشد و نگرشی نظاممند به کیفیت خدمات فناوری اطلاعات را داراست.
تا کنون سه نسخه از ITIL منتشر شده است که آخرین نسخه آن تحت عنوان ITIL V3 2011 میباشد. در نسخه سوم ITIL مفهوم چرخه حیات خدمت معرفی شده است که شامل 5 فاز اصلی استراتژی خدمت، طراحی خدمت، انتقال خدمت، عملیات خدمت و بهبود مستمر خدمت میباشد. با استفاده از ITIL تا حد بسیاری در هزینه و زمان پاسخگویی به مشتریان صرفهجویی شده و میزان بازدهی و سود دهی ایشان افزایش مییابد.
استاندارد ISO/IEC 20000 نخستین استاندارد جهانی در حوزه مدیریت خدمات فناوری اطلاعات است که در دسامبر 2005 توسط سازمان بینالمللی استاندارد (ISO) بر اساس استاندارد پیشین این حوزه BS 15000 ایجاد و در سال 2011 آخرین نسخه از آن منتشر شد. این استاندارد شامل پنج بخش است که الزامات و ملاحظات لازم برای پیادهسازی چارچوب مدیریت خدمات را با هدف بهبود فعالیتهای فناوری اطلاعات و دستیابی به گواهینامه ISO/IEC 20000 ارائه میدهد. این پنج بخش شامل موارد ذیل میباشد:
بخش اول که شامل الزامات استاندارد بینالمللی ISO/IEC 20000 است مشتمل بر طراحی، انتقال، تحویل و بهبود خدماتی است که الزامات مرتبط با خدمات را برآورده ساخته و برای مشتری و ارائهدهنده خدمات، ارزش میآفریند. این استاندارد، نیازمند رویکرد فرآیندی یکپارچهای از جانب ارائهدهنده خدمات در طراحی، استقرار، پیادهسازی، بهرهبرداری، پایش، بازنگری، نگهداشت و بهبود سامانه مدیریت خدمات میباشد.
روند رو به رشد تکنولوژی، گسترش سیستمهای اطلاعاتی و در دسترس عموم قرار گرفتن این سیستمها منجر به پیچیدگی روشهای مقابله با مخاطرات در سیستمهای الکترونیکی شده است. بنابراین کنترلهایی که در سیستمهای اطلاعاتی جدید به کار میروند، باید با دانش گسترده و کاملی نسبت به جدیدترین تکنولوژیها، طراحی شده باشند.
راهکار نظام مدیریت امنیت اطلاعات یک راهکار جامع و مناسب برای امنسازی سیستمهای اطلاعاتی یک سازمان است و برای انجام آن نیاز است تمامی سیستمهای اطلاعاتی، مدیریتی و عملیاتی سازمان مورد بررسی دقیق قرار گیرند.
طرح جامع راهبردی فناوری اطلاعات طرحی پویا است که منابع فناوری اطلاعات یک سازمان مانند زیرساختها، منابع سیستمهای اطلاعاتی، منابع انسانی و مالی را در راستای حمایت و پیشبرد اهداف، ماموریتها، استراتژیها، خط مشیها و برنامههای آن سازمان بسیج میکند. این طرح با شناخت درست نیازمندیهای سازمان و بررسی راهحلهای مختلف، بهترین روش را برای گسترش نظاممند فناوری اطلاعات در سازمان طراحی و توصیه میکند. بهرهمندی از یک طرح جامع راهبردی فناوری اطلاعات این اجازه را به سازمان میدهد که در عین بکارگیری فراگیر و یکپارچه سیستمهای اطلاعاتی و برخورداری از مزایای آن، از همسو بودن تکنولوژی اطلاعات با اهداف کلان خود اطمینان حاصل کند و در عین حال رشد متوازن زیرساختهای فناوری اطلاعات را با توسعه ساختار و فرآیندهای خود ضمانت کند.