نرخ تغییر در حوزه IT به طور خاص در زیرساختها و پلتفرمهای مختلف اصلا شبیه به گذشته نیست و سرعت تغییرات بسیار افزایش یافته است. سازمانها با حجم عظیمی از دادههای جمعآوری شده توسط سامانههای مانیتورینگ، پیچیدگی فزاینده سیستمهای فناوری اطلاعات و نیاز به ارائه خدمات سریع و قابل اعتماد به کاربران روبهرو هستند. بسیاری از این خدمات به صورت سرویسهای برخطی ارائه میشوند که دسترسپذیری (availability) این سرویسها اهمیت بسیار زیادی دارد. همچنین اهمیت کیفیت سرویسی که به کاربران ارائه میشود تحت عنوان Service level agreement (SLA) بر افراد این حوزه پوشیده نیست. با پیچیدگی روزافزون سرویسها، خدمات و همچنین زیرساختهای فناوری اطلاعات محقق ساختن SLA نیازمند مجموعهای از خدمات و عملیات است که با توجه به پیچیدگی زیرساختها، انجام دستی و انسانی این عملیات میتواند چالشهای فراوانی داشته باشد. موارد مطرحشده در واقع نشان دهنده چالشهای متعددی در حوزه مدیریت و بهینهسازی عملیات خدمات فناوری اطلاعات میباشد. به عنوان نمونه برخی از این عملیات نگهداری و مدیریت زیرساخت عبارتند از: مدیریت مصرف منابع، مدیریت خطاهای سامانهها، مدیریت هشدارها و اعلانها، تشخیص خودکار رویدادهای نامطلوب در زیرساخت. لذا اهمیت وجود ابزارها و فرآیندهایی که بتوان مدیریت سیستمها و خدمات پیچیده را خودکار نمود بیش از پیش احساس میشود. در همین راستا مفهوم AIOps معرفی شده است. در ادامه با AIOps و کاربردهای آن بیشتر آشنا خواهیم شد.
AIOps اختصاری برای واژه Artificial Intelligence for IT Operations میباشد. اولین بار این مفهوم توسط موسسه گارتنر در سال 2016 ارائه شد. طبق تعریفی که توسط موسسه گارتنر ارائه شده است، AIOps ترکیبی از big data وmachine learning به منظور خودکارسازی فرآیندهای مرتبط با حوزه فناوری اطلاعات میباشد. تکنولوژیهای مرتبط با AIOps از روشهای یادگیری ماشین، پردازش زبان طبیعی و سایر روشهای پیشرفته هوش مصنوعی استفاده میکنند تا عملکرد عملیات مختلفی مانند مانیتورینگ، تعیین همبستگی بین رخدادها، تشخیص ناهنجاری، آنالیز تعیین ریشه خطا و ... را در حوزه فناوری اطلاعات خودکار سازند. در واقع میتوان از AIOps به عنوان یک تفکر سیستماتیک برای استفاده بهینه از روشهای هوش مصنوعی به منظور کاهش دخالت نیروی انسانی در سامانهها و عملیات حوزه فناوری اطلاعات نام برد.
یک پلتفرم مبتنی بر AIOps از تکنولوژیها و روشهای پیچیده مختلفی پشتیبانی میکند که در قالب معماری AIOps به صورت یک چارچوب ارائه میشود. طبق چارچوب پیشنهادی معماری پلتفرمهای مبتنی بر AIOps شامل سه هسته اصلی به نامهای مانیتورینگ (Observe)، مدیریت سرویسهای IT (IT Service Management) و خودکارسازی (Act) است. در شکل زیر سه هسته اصلی نام برده شده قابل مشاهده است.
اولین بخش از معماری AIOps را بخش مربوط به مانیتورینگ تشکیل میدهد. هدف این بخش جمعآوری داده و اجرای تحلیلهای مختلف بر روی دادهها به منظور تعیین رویدادهای نامطلوب در سامانه است. سامانههای مانیتورینگ یکی از منابع اصلی دادهها برای AIOps است. میتوان از انواع دادههایی مانند شاخصها، لاگها، trace ها در این مرحله استفاده نمود. پردازشهای مناسب را بر روی آنها انجام داد و سپس تحلیلهای مختلفی را بر روی آنها اجرا نمود. برای انجام تحلیلهای مختلف معمولا از روشهای مبتنی بر یادگیری ماشین استفاده میشود. برخی از مهمترین تحلیلهایی که میتوان در رویکرد AIOps انجام داد عبارتند از:
دومین بخش از معماری AIOps را اصطلاحا Engage مینامند که این بخش مرتبط با عملیات مدیریت سرویس یا IT service Management میباشد. پس از اینکه در بخش اول Observe بر مبنای تحلیل دادهها incident های سامانه تولید شدند، لازم است فرآیندهایی به منظور مدیریت incident ها توسط راهبران خدمات انجام شود. هدف بخش دوم در معماری AIOps این است که عملیات و خدماتی که معمولا توسط نیروی انسانی انجام میشده است را خودکار نماید. برخی از مهمترین فرآیندهای این هسته معماری AIOps عبارتند از:
هر یک از موارد ذکر شده قابل توضیح و تفصیل بیشتر است که در مقالههای آتی به آنها خواهیم پرداخت.
در هسته اول از معماری AIOps که مانیتورینگ است، با مشاهده پارامترهای مختلف در سامانه و با بهرهگیری از روشهای مبتنی بر هوش مصنوعی و یادگیری ماشین، حوادث و رویدادهای نامطلوب در سامانه شناسایی میشود. یک رویداد نامطلوب میتواند کمبود حافظه در SQL Server باشد (این مقاله مطالعه شود) که منجر به کاهش performance آن میشود. یا از کار افتادن منابع تغذیه در سرورهای HPE (این مقاله مطالعه شود) میتواند نوع دیگری از رویداد نامطلوب باشد. سپس به ازای هر یک از این رویدادهای نامطلوب در سامانه لازم است یک incident ایجاد شود و عملیاتی را برای رفع آن رویداد نامطلوب یا کاهش اثرات آن انجام داد. در تفکر AIOps، حالت ایدهآل این است که این عملیات که از آنها به عنوان Remediation Action نام برده میشود به صورت خودکار انجام گیرد تا سامانه را به حالت نرمال بازگرداند.
در بخشهای Observe و Engage بیشتر عملیات مرتبط با تشخیص، تحلیل و مدیریت رویدادهای نامطلوب انجام میگیرد. بخش سوم یعنی Act مزایای استفاده از تفکر AIOps را برای یک سازمان به حداکثر میرساند. به این صورت که سازمانها علاوه بر این که قادر به تشخیص خطاهای سامانه و یافتن علت اصلی آن خواهند بود، میتوانند برای رفع آنها به صورت خودکار و بدون دخالت نیروی انسانی نیز مکانیزمهایی داشته باشند. یکی از مهمترین فرآیندهایی که در این هسته از معماری AIOps به آن اشاره میشود رفع incident ها به صورت خودکار است. برای محقق شدن این هدف میتوان راهکارهای مختلفی را اتخاذ نمود. برای مثال اجرای Script های خودکار در PowerShell یا Shell Script برای reboot یا restart کردن سرویسها یکی از سادهترین عملیات خودکاری است که میتوان در این راستا انجام داد.
در قسمت قبل یکی از چارچوبهای پیشنهادی برای AIOps معرفی شد. در ادامه یکی از دستهبندیهای پیشنهادی مرتبط با روشهای به کار رفته در AIOps را بررسی خواهیم نمود. در این دستهبندی رویکردهایی که در سالهای اخیر بیشتر مورد توجه پژوهشگران حوزه AIOps بوده است عمدتا در دو دسته: 1- مدیریت خطا (Failure Management) و 2- مدیریت منابع (Resource Provisioning) قرار میگیرد. در این دستهبندی در حوزه مدیریت خطا به روشهای مختلفی در حوزه جلوگیری از خطا، پیشبینی خطا، تشخیص خطا و تحلیل دلایل ریشهای خطا اشاره می شود. در دسته دوم یعنی مدیریت منابع نیز به روشهای مختلفی در حوزه تخصیص منابع، زمانبندی مصرف منابع، پیشبینی بارکاری اشاره میشود. هر کدام از این دستهها از روشهای مختلفی استفاده میشود که در مقالههای آتی مورد بررسی قرار خواهند گرفت.
در این مقاله مفهوم AIOps معرفی شد و به ضرورت داشتن تفکر مبتنی بر آن در سازمانهای مختلف اشاره شد. همچنین بخشهای مختلف یک چارچوب پیشنهادی برای AIOps معرفی شدند. سه هسته اصلی یک معماری پیشنهادی برای AIOps عبارتند از: Observe، Engage و Act که هر یک از این بخشها اهداف متفاوتی دارند و فرایندهای مختلفی را در چرخه عمر یک پلتفرم مبتنی بر AIOps پوشش می دهند. با توجه به پیچیدگی زیرساختها و خدمات فناوری اطلاعات از یک طرف و همچنین رشد استفاده از روشهای مبتنی بر هوش مصنوعی از طرف دیگر، انتظار میرود تفکری مانند AIOps با گذشت زمان بیش از پیش در حوزه خدمات فناوری اطلاعات و ابزارهای مانیتورینگ نفوذ کرده و سازمانها و شرکتهای بیشتری به سمت خودکار سازی فرآیندهای خود با رویکرد AIOps بروند.
[2] Notaro, Paolo, Jorge Cardoso, and Michael Gerndt. "A survey of aiops methods for failure management." ACM Transactions on Intelligent Systems and Technology (TIST) 12.6 (2021): 1-45.