در قسمت اول از بررسی Application Management به دلالیل استفاده از آن و همچنین چالش های پیش روی APM پرداخته شد و در این مقاله که قسمت دوم (پایانی) می باشد به بررسی دقیق تر آن و ارائه یک مثال کاربردی از استفاده ی مدیریت برنامه های کاربردی می پردازیم.
ارزیابی و عیبیابی در سطحی بالاتر از Application
سازمانهایی که دارای برنامههای کاربردی میباشند، باید از شالودهی برنامههای خود مطلع باشند. با توجه به این موضوع، یک رویکرد مبتنی بر پلتفرم، برای مدیریت برنامههای کاربردی ضرورت یافته که با کمک آن، کاربران از قابلیتهای زیر برخوردار خواهند شد:
• قابلیت برتری یافتن نسبت به Siloها: جمعآوری، فهرستبندی و تجزیه و تحلیل شاخصها، Logها و تمامی دادهها در پشتهی برنامه کاربردی (Application Stack) و همچنین پشتیبانی از زیرساخت
• قابلیت دستیابی به پاسخ سوالات از طریق بررسی دادهها: دستیابی به اطلاعات موردی برای پشتیبانی بهتر از فرآیند عیبیابی و ارائه تجزیه و تحلیل بصورت Real-Time به منظور اتخاذ تصمیمات بهتر
• تجزیه و تحلیل دادهها: تحلیل دادهها به صورت بلادرنگ و ارائه آن به طیف وسیعی از ذینفعان (شامل کاربران کسبوکار، Developerها، مهندسین و IT)
قابلیت برتری یافتن نسبت به Siloها
با توجه به نیاز IT به ابزار مدیریتی، برای توصیف و توضیح عملکرد و دسترسپذیری کلی سرویس، مدیران برنامههای کاربردی به پلتفرمی نیاز دارند که نسبت به Siloها برتری داشته باشد؛ به عبارتی ادغام و تجزیه و تحلیل دادهها از منابع مختلف، میتواند بر عملکرد و دسترسپذیری نیز تاثیرگذار باشد (جدول 1). برای انجام این کار، این پلتفرم باید دادهها را جمعآوری، فهرستبندی، ذخیره و آنالیز نماید، تا قادر به تمرکز بر توالی رویدادها یا حتی نقاط مُجزای داده باشد. این رویکرد میتواند دید کاملی را نسبت به Applicationها ایجاد نماید که قابلیت مانیتور نمودن عملکردِ برنامههای کاربردی، عیبیابی مشکلات و تحلیل برنامهها را امکانپذیر ساخته و موجب بهبود نسخههای عرضه شده در آینده میگردد.
Logها، ابزارها و شاخصهای برنامه کاربردی | دادههای مربوط به کد Applicationهای سفارشی و بستهی برنامههای کاربردی، Log ها و شاخصها.
این بخش شامل اجرای برنامه کاربردی و سروری است که این Applicationها را فعال مینمایند. |
ابزارهای APM و PaaS، Containerها و ابزارهای مرتبط با حوزههای دیگر | شاخصها، رویدادها، عملکرد برنامههای کاربردی توپولوژی، کاربرد منابع، تغییرات، خطاها، دسترسپذیری و موارد دیگر |
APIها | رویدادها، کاربرد و عملکرد APIها، زیرا این موارد اغلب به عنوان KPI جهت ارزیابی صحت کارکرد برنامه، در معماریهای مبتنی بر API درنظر گرفته میشوند. |
Wire Data | شبکه به عنوان یک منبع اطلاعات برای عملکرد برنامههای کاربردی و زیرساختها، قابل استفاده و دسترسپذیر میباشد؛ که این مورد شامل اطلاعات و دید هفت لایهای مانند HTTP، تراکنشهای Oracle TNS و سایر اطلاعات میگردد. |
Endpoint | اطلاعاتی که تجربه کاربر نهایی را منعکس مینماید.
گاهی اوقات مانیتورینگ ترکیبی تراکنشها را میتوان به عنوان یک نماینده استفاده نمود اما این فرآیند با مانیتورینگ خارج از Endpoint تکمیل میگردد. |
Business Data | دادههای مختص کسبوکار، که میتواند محتوای تراکنشها باشد و یا سایر اطلاعات مربوط به شرایط و ساختار کسبوکار را توضیح دهند. |
جدول 1 : پلتفرمهای Application Management باید طیفی از منابع داده را تجزیه و تحلیل نمایند.
با توجه به اینکه شاخصها، Logها و دادههای حاصل از سایر ابزارها برای مانیتورینگ، ارزشمند هستند، فایلهای Log در هنگام اجرای فرآیند عیبیابی و آنالیز ریشه علت، به معتبرترین منبع داده تبدیل میشوند و در واقع هر مورد از مشکلات به صورت Log جمعآوری شده و Logها برای ارائه جزییات بیشتر در مورد منبع اصلی مشکل، قابل طراحی میباشند. فرآیند تجزیه و تحلیل موثر دربرگیرنده درک موارد زیر میباشد:
• آیا مشکلات به صورت متناوب بروز میکنند یا مداوم
• آیا مشکلات مبتنی بر زمان هستند یا رویدادی خاص باعث بروز آنها میشوند.
• آیا این مشکلات با وجود محرکهای کوچک تکرار میشوند یا به تدریج بدتر میشوند.
برخی از این الگوها را میتوان از ابزارهای مختلف APM مشاهده نمود که هر یک دیدگاه قابل توجهی را نسبت به این مشکلات ارائه مینمایند. اما برای برخی زیرساختها مانند Load Balancerها، فایروالها یا سرورها، ممکن است Log Data تنها دادههای در دسترس باشند.
با استفاده از دادههای حاصل از سایر منابع APM، میتوان از سرمایهگذاریهای صورت گرفته از این ابزارها بهره گرفت و دادهها را برای ارائه اطلاعات بیشتر در مورد تراکنشها، منابع برنامههای کاربردی و اجرای Applicationها فراهم نمود. نقش پلتفرم در واقع جمعآوری دادهها، مرتبط ساختن آنها به صورت معنادار و ارائه آن به شیوهای است که مشاهده تمامی Siloها یا بررسی دقیق محدوده خاصی از Applicationها و یا زیرساخت امکانپذیر گردد (شکل زیر).
طرح هرگونه سوال از دادهها
در صورت توجه به مقولهی سرعت، دستیابی سریع به اطلاعات نیز اهمیت مییابد. Applicationهای پیچیدهی مانیتورینگ مستلزم جمعآوری دادهها از منابع بیشمار و ارائه آن به صورتی است که به درک بهتر عملکرد در سطح سرویس و کشف مشکلات کمک مینماید. بهرحال تغییر موضع از فرآیند مانیتورینگ (مشکلی وجود دارد یا خیر؟) به عیبیابی (دقیقا مشکل کجاست؟) مستلزم آن است که بتوان هر سوالی را در مورد دادهها مطرح نمود. برای این کار، پلتفرمی مورد نیاز است که قابلیت جمعآوری، فهرستبندی و نگهداری دادههای خام را برای مدت طولانی داشته باشد.
در واقع مفهوم قابلیت طرح هر گونه سوال از دادهها آن است که با ایجاد توانایی برای مشاهده سراسر محیط پیچیده شامل شبکهها، سیستمها، Containerها و ماشینهای مجازی، Tierهای برنامه، APIها، میکروسرویسها، پایگاههای داده، Load Balancerها، سرویسهای Cloud، فایروالها، Power، HVAC و ذخیرهساز بتوان مشکلات و ناهنجاریها در برنامه را شناسایی نمود.
در فرآیند مدیریت برنامه باید رویدادها به لحاظ زمان، کاربران، منابع داده، موقعیت و تراکنشها، مرتبط گردند و قابلیت کشف دادههای بیشتر در مورد مدیریت برنامه شامل شود.
تجزیه و تحلیل دادهها
ارائه سریع سرویسهای جدید IT به معنای دارا بودن قابلیت ایجاد فرصت برای مشارکت ذینفعان و ارائه اطلاعات مورد نیاز به آنها جهت اتخاذ تصمیمات سریع و مطمئن میباشد. با در نظر گرفتن رویکرد مبتنی بر پلتفرم برای Application Management میتوان به مجموعه بزرگتری از ذینفعان دسترسی یافت. بدین ترتیب دیگر لازم نیست برای کسب اطلاعات و پیدا کردن دید نسبت به عملکرد جستجوی پایگاه داده، حتما یک Oracle DBA باشید. در ضمن نیازی به داشتن تخصص یک کارشناس IT برای افزودن ساختار کسبوکار به برنامه IT و دادههای عملیاتی نیز وجود نخواهد داشت. علاوه بر آن، Developerها میتوانند نسبت به شاخصها و Logهای تولید، دید پیدا نموده و در نتیجه برنامههای بهتری را ارائه نمایند و در عین حال تعداد افرادی که دارای دسترسی مستقیم به سیستم تولید میباشند را به حداقل برسانند.
دستیابی به اهداف نهایی در مدیریت برنامههای کاربردی
همانگونه که وضعیت یک راننده در مسابقات فرمول یک با به حداکثر رساندن سرعت ماشین به گونهای موثر همراه با دقت و توجه لازم در این زمینه تعیین میشود، موفقیت کسبوکار نیز با به حداکثر رساندن سرعت برنامهها در یک محیط پیچیده IT مرتبط خواهد بود. ابزارهای APM قطعا به انجام این امر کمک میکنند اما یک رویکرد مبتنی بر پلتفرم میتواند دید کاملی را نسبت به مسیر، ماشین مسابقه و بخشهای مجزای آن ارائه نماید.
با محو شدن مرزهای بین برنامهها و زیرساخت، شرایط لازم برای Application Management با رویکرد مبتنی بر پلتفرم ارائه میشود. این موضوع، نرمافزارهایی مانند Splunk را برای به چالش کشیدن Applicationهای امروزی ایدهال میسازد.
کاربرد عملی Application Management در سازمانهای بزرگ
Ubisoft، ارائه دهنده، منتشر کننده و توزیعکنندهی پیشروی سرویسها و خدمات تعاملی همراه با ترکیبی قدرتمند از برندهای مشهور جهانی مانند Assassin’s Creed میباشد.
تیمهای تولید، توسعه و مدیریت Online Technology ، همگی از داشبوردهای Splunk Enterprise به عنوان بخشی از ابتکار عمل سازمان، جهت بهینهسازی سرویسهای آنلاین خود استفاده مینمایند. Developerهای Ubisoft از Splunk Enterprise برای پیدا کردن دید نسبت به چرخه توسعه و همچنین تحلیل و بهینهسازی کاربرد API برای سرویسهای آنلاین استفاده مینمایند.
این تکنولوژی به طور مداوم صحت کارکرد سرویسهای آنلاین، عملکرد و الگوهای کاربرد API را مانیتور مینماید. همچنین سازمان هشدارهای پیشبینی کننده را ارائه مینماید تا تضمین نماید که این جریان همواره فعال بوده و به تیمها برای آمادهسازی جهت شروع بازی و اوج مصرف در تعطیلات کمک نماید.
ــــــــــــــــــــــــــــــ