۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

بهترین شیوه‌ها برای قابلیت مشاهده

قابلیت مشاهده را در حوزه‌های استراتژیک چرخه عمر توسعه نرم‌افزار، به‌ویژه با میکروسرویس‌های پیچیده و برنامه‌های بومی ابری، پیاده‌سازی کنید.

قابلیت مشاهده را در حوزه‌های استراتژیک چرخه عمر توسعه نرم‌افزار، به‌ویژه با میکروسرویس‌های پیچیده و برنامه‌های بومی ابری، پیاده‌سازی کنید.

اولین پست وبلاگ من در سال ۲۰۰۵ درباره گزارش برنامه بود، و من ۱۰ روشی را به اشتراک گذاشتم که امیدوار بودم تیم توسعه من از آنها پیروی کند. پیاده‌سازی‌های devops امروزی پیرامون قابلیت مشاهده، پیچیده‌تر و مقیاس‌پذیرتر هستند، اما چندین توصیه من، به‌ویژه ثبت شناسه‌های جلسه، مشخص کردن جزئیات مکان کد، و اطمینان از عاری بودن گزارش‌ها از داده‌های مربوط به امنیت و حریم خصوصی، همچنان مرتبط هستند.

ایجاد بهترین روش‌های مشاهده‌پذیری در چرخه عمر توسعه نرم‌افزار امروزه بسیار مهم است زیرا برنامه‌های بیشتری تجربیات مشتری و کارمندان را ارائه می‌دهند. تیم‌های Devops نباید فقط نگران میانگین زمان سریع‌تر برای حل و فصل حوادث بزرگ باشند. آنها باید اطمینان حاصل کنند که برنامه‌ها و سرویس‌ها قابل مشاهده هستند تا به طور مداوم استحکام، قابلیت اطمینان و سهولت استفاده را بهبود بخشند.

Arvind Jha، معاون ارشد توسعه نرم‌افزار در Newgen. «با سرعت بخشیدن به گردش کار دیجیتال و گزینه‌های سلف سرویس برای مشتریان، کارمندان و شرکای شرکت‌ها، متخصصان فناوری اطلاعات در مدیریت، نگهداری، ایمن کردن و سازگاری هزاران برنامه به چالش کشیده می‌شوند.»

برنامه‌ها و میکروسرویس‌های پیچیده بومی ابری را با قابلیت مشاهده رام کنید

برنامه‌های کاربردی ابری امروزی پیچیده‌تر از معماری‌های برنامه‌های دو و سه لایه نسل گذشته هستند که در مراکز داده اجرا می‌شوند. یک تراکنش ممکن است از چندین میکروسرویس عبور کند، چندین پایگاه داده را پرس و جو کند، با نرم افزار شخص ثالث به عنوان یک سرویس تعامل داشته باشد و بر روی چندین ابر اجرا شود. زمانی که خطاهای برنامه، عملکرد ضعیف و مشکلات داده بر تجربیات کاربر تأثیر می‌گذارد، داشتن اطلاعات متمرکز و معنی‌دار برای کشف دلایل اصلی، کلید حل سریع‌تر مشکلات و رفع نقص است.

از چه مواردی استفاده می‌شود که شیوه‌های مشاهده‌پذیری قوی می‌تواند بر عملیات تأثیر بگذارد؟

  • تشخیص اینکه کدام میکروسرویس ها و APIها باعث ایجاد گلوگاه عملکرد می شوند
  • بررسی ورودی های کاربر که باعث خطای برنامه می شود
  • ردیابی از طریق سفر مشتری برای شناسایی جایی که کاربران با مشکل مواجه هستند
  • تشخیص زمانی که نقض امنیتی وجود دارد و جمع آوری پزشکی قانونی
  • مشخص کردن منبع مشکلات داده که باید با اعتبار سنجی بهبودیافته داده برطرف شوند
بهترین ویژگی‌های جدید در Angular 17: Angular مهربان‌تر و سریع‌تر

در اینجا چهار روش برتر مشاهده‌پذیری برای تیم‌های توسعه‌دهنده ایجاد و پشتیبانی از برنامه‌ها، میکروسرویس‌ها و پایگاه‌های داده آورده شده است.

برای بهینه سازی جمع آوری داده ها به دنبال همکاری تجاری باشید

ثبت هر بار JSON بین همه برنامه‌ها و سرویس‌ها ممکن است ایده خوبی به نظر برسد. اما داشتن داده‌های بیش از حد می‌تواند حل مشکلات را کند کند، یافتن دلایل ریشه‌ای را پیچیده کند، یا به تلاش‌های گران‌قیمت علم داده برای شناسایی حوزه‌های مشکل نیاز داشته باشد.

تیم‌های توسعه‌دهنده چگونه باید تصمیم بگیرند که چه داده‌هایی جمع‌آوری شوند و چه مدت باید آن‌ها را حفظ کنند؟

آنانت آدیا، معاون اجرایی در Infosys Cobalt، پیشنهاد می‌کند، “Agile تیم های توسعه باید از نزدیک با گروه های توسعه دهنده و ذینفعان هنگام مدیریت ابزارهای مشاهده پذیری توسعه دهند تا از همسویی با اهداف اطمینان حاصل کنند. این به تیم‌ها کمک می‌کند تا از جمع‌آوری و ارزیابی داده‌هایی که هدف خاصی را دنبال نمی‌کنند یا نتیجه خاصی ندارند، اجتناب کنند.»

مکالمه با سهامداران کسب‌وکار می‌تواند به ایجاد یک استراتژی و شناسایی فعالیت‌های کاربر به اهداف سطح خدمات بالاتر کمک کند. برنامه‌نویسان همچنین باید بدانند چه داده‌هایی حساس هستند و قبل از آن، پوشاندن داده‌ها را کنار بگذارند یا اجرا کنند. گرفتن آن در گزارش‌ها، پایگاه‌های داده یا ابزارهای مشاهده‌پذیری.

آناند کریشنان، رئیس جهانی پیش فروش و راه حل ها در Systems Persistent، توصیه می کند، “در قابلیت مشاهده، این موضوع در مورد چه چیزی باید ثبت شود، نه فقط زمان و مکان. این مهم است که آثار مختلف سفر مشتری از طریق سیستم‌ها و برنامه‌های مختلف را به هم بچسبانید و آن‌ها را در یک مخزن مرکزی جمع‌آوری کنید.»

متمرکز کردن داده‌های مشاهده‌پذیری می‌تواند برای سازمان‌های توسعه‌دهنده بزرگ دلهره‌آور باشد. آنها ممکن است از ابزارهای مدیریت عملکرد برنامه (APM) و سکوهای AIops مانند BigPanda، Datadog، Dynatrace، Moogsoft، New Relic، OpsRamp یا Splunk برای متمرکز کردن داده ها، مرتبط کردن هشدارها و نظارت بر عملکرد.

پراشانت سامودرالا، معاون موفقیت مشتری در AutoRabit، چندین نقطه تصمیم گیری را در مورد سهامداران تجاری و رهبران فنی به اشتراک می گذارد. می تواند ورودی ارزشمندی در مورد ابزارها و داده های مشاهده پذیری ارائه دهد. او می‌گوید: «بهترین شیوه‌ها شامل تعریف دقیق معیارها و اهداف با محوریت کیفیت و بهره‌وری کلی، انجام اسکن‌های مکرر برای بدهی فنی برای درک مشکلات کلیدی، و منعطف کردن عضله حل مشکل تیم برای یادگیری و بهبود مستمر است.»

هدف MongoDB شروع سریع توسعه برنامه هوش مصنوعی با MAAP است

از حل و فصل حوادث تولید فراتر بروید

مهندسین قابلیت اطمینان سایت (SRE)، مراکز عملیات شبکه (NOC) و تیم‌های توسعه‌دهنده از گزارش‌های برنامه، هشدارهای زیرساخت و سایر داده های تله متری برای مدیریت حادثه. آنها ممکن است از ابزارهای APM، پلتفرم‌های مدیریت خدمات فناوری اطلاعات (ITSM)، قابلیت‌های اتوماسیون و راه‌حل‌های AIops برای حل و فصل حوادث و انجام تجزیه و تحلیل علت اصلی استفاده کنند.

اما تیم‌های SRE و توسعه دهندگان باید فعال باشند و از داده‌ها و ابزارهای مشاهده‌پذیری برای بهبود برنامه‌ها در حین توسعه و آزمایش آنها استفاده کنند. توماس کراتکی، موسس و مدیر عامل مانتا، می‌گوید، “مشاهده‌پذیری بخشی از تضمین کیفیت است – آخرین مایل مورد نیاز برای بهبود حادثه شناسایی و وضوح آن را ساده کنید.”

من توصیه می کنم کاربران و مشتریان را برای داده ها و ابزارهای مشاهده پذیری شناسایی کنید. تیم های خودسازماندهی باید اعلام کنند که کدام توسعه دهندگان، مهندسان QA، SREها و مدیران حوادث در استفاده از ابزارها متخصص خواهند شد، به تیم های توسعه دهنده بازخورد ارائه می کنند و بیشترین مسئولیت را در بهبود کیفیت در هنگام توسعه و آزمایش نرم افزار خواهند داشت. بهبود قابلیت مشاهده باید یک فعالیت کلیدی در استراتژی آزمایش مداوم باشد.

یکی دیگر از بهترین روش ها از کریس کونی، مدافع توسعه دهنده در Coralogix می آید. او می‌گوید: «یکی از رویکردهای مشاهده‌پذیری که در میان تیم‌های با عملکرد بالا همه‌جا وجود دارد، مشاهده‌پذیری تمام پشته است که به تیم‌ها امکان می‌دهد از سیلو داده‌ها اجتناب کنند. تیم‌ها به‌جای اکتفا به داده‌های مشاهده‌پذیری متفاوت، با گزارش‌ها در یک سیستم، معیارها در سیستم دیگر، و ردیابی‌ها در سیستم سوم، همه چیز را با هم ارائه می‌کنند.

با قابلیت مشاهده، بهبود مستمر را هدایت کنید

یک گروه منتخب از مهندسان ممکن است مسئولیت‌های اصلی را در مورد کیفیت نرم‌افزار بر عهده داشته باشند، اما برای ایجاد بهبود مستمر به تیم کامل توسعه‌دهنده نیاز دارند. دیوید بن شابات، معاون تحقیق و توسعه در Quali، توصیه می‌کند، «سازمان‌ها باید تلاش کنند چیزی را ایجاد کنند که من آن را می‌نامم. دیده شدن به عنوان یک استاندارد.» این به تیم شما اجازه می‌دهد فرهنگ مسئولیت‌پذیری سرتاسر را بپذیرد و بر بهبود مستمر محصول شما تمرکز کند.»

ساخت جداول در React: با react-table شروع کنید

یکی از راه‌های رسیدگی به مسئولیت، ایجاد و پیروی از یک طبقه‌بندی استاندارد و قالب پیام برای گزارش‌ها و سایر داده‌های قابل مشاهده است. تیم‌های توسعه چابک باید یک هم تیمی را برای بررسی گزارش‌ها در هر اسپرینت و اضافه کردن هشدار برای شرایط خطای جدید تعیین کنند.

بن شابات اضافه می‌کند، «همچنین، در حین استفاده از گزارش‌ها و معیارها به‌عنوان معیاری برای عملکرد موفقیت‌آمیز، تا آنجا که ممکن است فرآیندها را خودکار کنید.»

Ashwin Rajeev، یکی از بنیانگذاران و CTO Acceldata، موافق است که اتوماسیون کلید هدایت برنامه‌ها و خدمات قابل مشاهده است. او می‌گوید: «راه‌حل‌های مشاهده‌پذیری توسعه‌دهنده مدرن با ابزارهای CI/CD ادغام می‌شوند، همه منابع داده مرتبط را تجزیه و تحلیل می‌کنند، از اتوماسیون برای ارائه بینش‌های عملی و ارائه توصیه‌های بلادرنگ استفاده می‌کنند.

روشهای نظارت و مشاهده پذیری را هماهنگ کنید

از لحاظ تاریخی، ابزارهای نظارت بیشتر به احتمال زیاد توسط NOC ها یا ITSM و سایر تیم‌های عملیات فناوری اطلاعات مورد استفاده قرار می‌گرفتند، در حالی که شیوه‌های مشاهده‌پذیری از توسعه‌دهندگانی نشأت می‌گرفت که به دنبال متمرکز کردن فایل‌های گزارش برنامه و استفاده از آنها برای رفع نقص و رفع مشکلات عملکرد بودند. امروزه، تیم‌های توسعه‌دهنده این قابلیت‌ها را گرد هم می‌آورند و رویکردی جامع برای مشاهده و نظارت بر سفرهای مشتری و تجربیات کارکنان ایجاد می‌کنند.

کریشنان می گوید که یکپارچه سازی هشدارها و نظارت یک گام مهم است. «پیش از این، می‌توانستید با ارسال یک ایمیل یا انجام یک آزمایش هسته‌ای، یک مهندس را در مورد مشکل سیستم آگاه کنید. امروز در مورد ادغام آن در اکوسیستم توسعه‌دهنده و سیستم‌های پشتیبانی تولید است.

تیم‌های Devops می‌خواهند مکرراً منتشر شوند و مشکلات تولید را به سرعت حل کنند. سرمایه‌گذاری در قابلیت مشاهده به یافتن مشکلات قبل از رسیدن به تولید کمک می‌کند و پزشکی قانونی را برای کشف مشکلات دشوار فراهم می‌کند.