Команди DevOps та інженери з надійності сайту (SRE) щодня мають справу з кодом. Це вчить їх уважно досліджувати свій світ, робити проникливі спостереження та встановлювати несподівані зв’язки. Зрештою, незважаючи на високу логіку та математичність розробки програмного забезпечення, вона принаймні частково є формою мистецтва.
Вас не переконала ця заява? Розгляньте паралелі між найвидатнішими архітектурними досягненнями історії та сучасною інженерією програмного забезпечення. Це влучне порівняння: так само, як розробка програмного забезпечення, архітектура використовує складні математичні розрахунки, щоб створити щось прекрасне. І в обох дисциплінах легкий прорахунок може призвести до значних наслідків. Цікаво, що багато відомих архітектурних помилок аналогічні проблемам, які ми знаходимо в коді.
Пам’ятайте, що натхнення всюди – якщо ви знаєте, де шукати. Ось кілька уроків, які інженери програмного забезпечення можуть винести з архітектурних прозрінь протягом століть, особливо щодо майбутнього систем самовідновлення.
Урок 1: Граничні випадки завжди використовуватимуть уразливості системи
У 601 році в Нью-Йорку завершили будівництво Citicorp Tower, яка тепер називається 1977 Lexington, і на той час вона була сьомою за висотою будівлею у світі. Ультрасучасний дизайн хмарочоса включав три понад 100-футові палі. Це було дивовижне завершення. Однак невдовзі студент бакалаврату виявив щось жахливе: сильний вітер може поставити під загрозу цілісність будівлі. Зокрема, якщо сильні вітри розквартирування вдарять по кутах Citicorp Tower, конструкція може завалитися – буквально крайовий футляр.
Щороку ймовірність обвалення вежі була одна з 16. Ці шанси можуть спокусити когось, хто сидить за гральним столом, але перспективи були похмурими для архітекторів та інженерів-конструкторів, що стояли за Citicorp Tower. На щастя, технікам вдалося зміцнити болтові з’єднання будівлі. Катастрофи вдалося уникнути.
Інженери-конструктори знали, що Citicorp Tower зрештою зіткнеться з досить сильним вітром, який порушить його орієнтири. Подібним чином досвідчені розробники програмного забезпечення знають, що надійного моніторингу продуктивності додатків (APM) і керування подіями недостатньо для захисту системи від неминучих крайніх випадків. Це тому, що статичні системи без машинне навчання (ML) можливості не можуть впоратися з неочікуваними та незапланованими новими ситуаціями, такими як розквартирування вітру. Якщо покладатися виключно на інструменти моніторингу, адміністратор-людина повинен розшифрувати помилки та посилити процес управління інцидентами.
Щоб скоротити середній час відновлення (MTTR)/середній час виявлення (MTTD), команди DevOps повинні прийняти високу ймовірність крайових випадків і працювати над розгортанням рішень із самонавчанням. Цей урок має велике значення, оскільки передбачення має вирішальне значення в інженерній справі.
Урок 2: «Створення літака під час польоту» створює нескінченний цикл
Трагічні події позбавили кількох найважливіші уроки історії авіації. Коли в 1954 році літак зазнав сильної декомпресії під час польоту і розбився, інженери переконалися, що квадратні пасажирські вікна були непотрібним місцем навантаження. Відтепер літаки оснащувалися закругленими вікнами. Пожежі на борту призвели до нового розташування місць для сидіння, надавши пріоритет легкості евакуації. Ці зміни врятували незліченну кількість життів.
У багатьох галузях промисловості, включаючи авіацію, немає способу провести вичерпне стрес-тестування продукту. Як згадувалося раніше, крайових випадків не уникнути. Найбільший висновок тут полягає в тому, що розробники програмного забезпечення повинні звертати увагу на вразливі місця своєї системи, коли вони представляють себе. Звідти вони повинні адресувати їх оперативно. Для цього потрібні дві речі: (1) визначення та відстеження правильних ключових показників ефективності (KPI) і (2) інвестування часу та ресурсів у вдосконалення систем на основі відповідних показників.
Середня команда інженерів інвестує від 16 до 40 інструментів моніторингу, але вони часто пропускають оцінку того, які показники демонструють успіх. Менше 15% команд відстежують MTTD, тому вони пропускають 66% життєвого циклу інцидентів. І четверта частина команд звітує відсутність угод про рівень обслуговування (SLA) незважаючи на значні інвестиції у відстеження доступності. Це говорить нам про те, що збір даних потребує ретельного систематичного аналізу, щоб урізати його – точкових рішень уже недостатньо.
Інженери-програмісти, команди DevOps і SRE мають визначити пріоритетність процесів та інструментів, які отримують цінність із величезної кількості інформації про доступність. Замість того, щоб просто спостерігати критичну помилку, вони повинні взяти сторінку з книги авіаційного інженера та швидко прийняти важливі рішення. Секрет цього полягає в ШІ.
Урок 3. ШІ є основним будівельним блоком для систем самовідновлення
Повністю автономна, ідеально функціонуюча система, що самовідновлюється, ідеально підходить для будь-якого програмного інженера. Системи, які виправляються самостійно, сприяють задоволенню клієнтів, оскільки вони усувають дорогі простої споживачів. Крім того, вони неймовірно корисні для функцій управління ІТ-послугами (ITSM), оскільки значно зменшують потребу в стомлювальному управлінні квитками. Створення такої системи вимагає кількох компонентів, багато з яких наразі недоступні. Але ми ближче до реальності самозцілення, ніж деякі можуть уявити.
Відсутність широкого застосування ШІ залишається найбільшою перешкодою, з якою сьогодні стикаються системи самовідновлення. Незважаючи на те, що багато компаній використовують рудиментарні інструменти на основі штучного інтелекту або машинного навчання, цілісність цих інструментів викликає сумніви. Тобто чимало інженерів мають справу штучний інтелект для ІТ-операцій (AIOps) технології, які використовують логіку автоматизації на основі правил замість автономних алгоритмів ШІ. Різниця може здатися незначною, але на практиці це різниця між годинами втрати продуктивності та мільйонними можливими втратами.
Справа в тому, що засновані на правилах інструменти AIOps аналізують взаємодію між розрізненими точковими рішеннями та, ймовірно, можуть ідентифікувати загальні помилки даних. Але системи, засновані на автоматизації, не можуть обробити еволюцію абсолютно нових помилок з часом, а також не можуть передбачити нові несправності в даних. Це тому, що люди-адміністратори, які кодують ці функції, просять систему дотримуватися якщо це, то те логічний шаблон. Справді ефективні інструменти AIOps пом’якшують помилки, які виникають у всіх чотирьох класичних точках телеметрії – від виявлення до вирішення – шляхом класифікації нових і проблемних шаблонів ще до того, як спеціалісти навіть дізнаються про їх існування.
Поки чекаємо неминуча третя хвиля ШІ, ця версія AIOps є найближчою до систем самовідновлення. Буде цікаво відслідковувати, як поточні програми AIOps вливаються в майбутнє ШІ, яке включатиме повністю реалізовану автоматизацію та можливості незалежного мислення. Можливо, тоді інженери-будівельники теж пожинають плоди самовідновлювальної системи на основі ШІ.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: https://www.dataversity.net/what-architecture-can-teach-us-about-self-healing-systems/
- 1
- 15%
- a
- Здатний
- МЕНЮ
- Прийняти
- адреса
- Адміністратори
- прийнята
- Прийняття
- після
- угоди
- AI
- Прийняття ШІ
- AI Ops
- алгоритми
- ВСІ
- хоча
- завжди
- суми
- аналіз
- аналізувати
- та
- додаток
- застосування
- APT
- архітектурний
- архітектура
- Art
- Автоматизація
- автономний
- наявність
- середній
- авіація
- уникати
- чекати
- заснований
- красивий
- оскільки
- перед тим
- за
- корисний
- між
- найбільший
- Блокувати
- книга
- Створюємо
- підприємства
- званий
- не може
- можливості
- випадків
- шанс
- Зміни
- Місто
- classic
- ближче
- код
- Кодування
- колапс
- збір
- загальний
- порівняння
- завершення
- комплекс
- Компоненти
- компроміс
- Зв'язки
- Наслідки
- Вважати
- будівництво
- кути
- Розбився
- створювати
- створює
- критичний
- Поточний
- В даний час
- клієнт
- Задоволеність клієнтів
- Вирізати
- щодня
- дані
- ПЕРЕДАЧА
- угода
- розшифровувати
- рішення
- поставляється
- демонструвати
- розгортання
- дизайн
- Незважаючи на
- Виявлення
- розробка
- DevOps
- різниця
- катастрофа
- відкритий
- розрізнені
- справи
- час простою
- кожен
- Раніше
- край
- ефективний
- усунутий
- працює
- інженер
- Машинобудування
- Інженери
- досить
- повністю
- помилка
- помилки
- особливо
- Навіть
- Event
- Події
- врешті-решт
- еволюція
- Експлуатувати
- витяг
- Особа
- знаменитий
- ШВИДКО
- кілька
- знайти
- пожежі
- стежити
- форма
- від
- повністю
- функціонування
- Функції
- фундаментальний
- майбутнє
- Майбутнє ШІ
- гральний
- йде
- добре
- похмурий
- обробляти
- тут
- Високий
- дуже
- хіт
- ГОДИННИК
- Як
- Однак
- HTML
- HTTPS
- людина
- ідеальний
- ідентифікувати
- ідентифікує
- величезний
- важливо
- поліпшення
- in
- інцидент
- включати
- включені
- неймовірно
- незалежний
- індикатори
- промисловості
- неминучий
- інформація
- натхнення
- замість
- цілісність
- Інтелект
- Взаємодії
- цікавий
- інвестування
- інвестиції
- Інвестує
- питання
- IT
- IT service
- Піддають небезпеці
- ключ
- Знати
- відсутність
- вести
- УЧИТЬСЯ
- вивчення
- Led
- урок
- Уроки
- рівень
- Життєвий цикл
- Ймовірно
- Місце проживання
- логічний
- Довго
- довше
- подивитися
- втрати
- зробити
- несправності
- управління
- багато
- позначити
- чудо
- математичний
- згаданий
- Метрика
- мільйони
- хвилин
- помилки
- Пом'якшити
- ML
- сучасний
- моніторинг
- найбільш
- природа
- Необхідність
- потреби
- Нові
- Нью-Йорк
- Нью-Йорк
- роман
- Шанси
- Onboard
- прогноз
- Паралелі
- частина
- пластир
- Викрійки
- моделі
- продуктивність
- plato
- Інформація про дані Платона
- PlatoData
- точка
- точок
- можливостей
- це можливо
- потужний
- практика
- передбачати
- представити
- Пріоритетність
- визначення пріоритетів
- ймовірність
- процес
- процеси
- Product
- продуктивність
- захист
- досягати
- Реальність
- реалізувати
- зрозумів,
- Відновлювати
- зменшити
- про
- зміцнювати
- доречний
- надійність
- залишається
- чудовий
- звітом
- Вимагається
- дозвіл
- ресурси
- Нагороди
- міцний
- задоволення
- витриманий
- секрет
- обслуговування
- кілька
- значний
- істотно
- Аналогічно
- просто
- сайт
- Сидячий
- ситуацій
- Шифер
- So
- Софтвер
- розробка програмного забезпечення
- Інженер-програміст
- розробка програмного забезпечення
- Рішення
- деякі
- Хтось
- що в сім'ї щось
- Скоро
- конкретно
- площа
- впроваджений
- Заява
- стрес
- сильний
- структурний
- структура
- студент
- тема
- успіх
- такі
- система
- Systems
- таблиця
- Приймати
- команда
- команди
- Технології
- розповідає
- Команда
- Майбутнє
- світ
- їх
- самі
- річ
- речі
- третій
- думка
- три
- через
- квиток
- час
- до
- сьогодні
- занадто
- інструменти
- Башта
- трек
- Відстеження
- Unexpected
- us
- значення
- версія
- Уразливості
- хвиля
- Що
- який
- повністю
- широко поширений
- волі
- вітер
- windows
- вітри
- Work
- світ
- б
- рік
- зефірнет