Затворете го кругот со проверено подобрување
ЗавршеноПретворете ги доказите од продукција во барања, тестови, контролирани промени и измерени исходи. Одредете што може одговорно да значи софтвер што се самоподобрува.
Објавува TaigaКако пишуваме
Проверете го разбирањетоАгент го намалува доцнењето на извозот со изоставување проверки за авторизација. Метриката за брзина се подобрува. Дали системот се подобрил?Направете ја вежбата
Што ќе научите
- Поврзете оперативно набљудување со инженерска промена што може да се провери.
- Одвојте ги обновувањето при работа, подобрувањето на работниот тек и тренирањето модели.
- Мерете тврдено подобрување без да ја ослабнете неговата оцена.
Одредете го кругот што сакате да го затворите
Софтверот создава докази при употреба: грешки, доцнења, барања за поддршка, инциденти, наоди од одржување и повторлива рачна работа. Целосен животен циклус ги враќа тие докази во инженерските одлуки.
Софтвер што се самоподобрува може да значи дека автоматизацијата помага да се идентификуваат, предложат, спроведат и проверат промени. Не мора да значи дека модел сам се тренира. Наведете што се менува: апликациски код, конфигурација, тестови, инструкции, работен тек или параметри на моделот.
Самообновувањето враќа позната работна состојба. Самоподобрувањето го менува системот за да произведе подобар исход во иднина. Второто тврдење бара споредба и заштита од регресии.
Следете едно набљудување низ животниот циклус
Следниот редослед е предложен инженерски метод. Не е тврдење дека некој производ самостојно го извршува секој чекор.
| Фаза | Потребен резултат | Измислен пример за извоз |
|---|---|---|
| Набљудувајте | Верзионирани докази со опфат и неизвесност | Меморијата на извршувачот расте при големи извози |
| Дијагностицирајте | Причина што може да се тестира и конкурентни објаснувања | Задржани бафери за редови може да го објаснат растот на меморијата |
| Специфицирајте | Посакуван исход и ограничувања | Пренесувајте ги редовите како тек (streaming), без промени на дозволите или излезот |
| Репродуцирајте | Тест што го открива првичниот неуспех | Репрезентативен голем синтетички извоз го надминува ограничувањето |
| Изменете | Поправка што може да се прегледа | Ослободете ги баферите на завршените редови при преносот како тек (streaming) |
| Оценете | Стариот неуспех е поправен; другите барања се зачувани | Успешни се тестот за меморија, споредбата на излезот и проверките на авторизација и повторни обиди |
| Издајте | Контролирана изложеност со критериуми за обновување | Ограничено воведување на идентификуван артефакт |
| Проверете | Споредливи докази од продукција и одговорно лице | Меморијата се стабилизира, а исправноста и доцнењето остануваат прифатливи |
Задржете ги врските меѓу овие резултати. Дејство од анализа по инцидент што вели „подобрете го надзорот“ тешко се проверува. Определен сигнал, одговорно лице, праг и тестиран одговор го прават завршувањето видливо.
Оцената нека биде независна од предлогот
Агент може да создаде закрпа и да предложи тестови. Тимот сè уште мора да испита дали тие тестови го откриваат првичниот проблем. Зачувајте верзиониран сет за оцена што промената не може тивко да го ослабне.
За измисленото истекување меморија, споредете еквивалентни оптоварувања и верзии. Вклучете големи извози, откажување, повторен обид и случаи на одбиен пристап. Користете синтетички податоци што ги претставуваат релевантните структури без да изложуваат записи за клиенти.
Одбијте побрз извоз ако изоставува записи, ја заобиколува авторизацијата или го надминува дозволениот трошок. Одредете ги овие ограничувања пред оптимизацијата. Во спротивно, системот може да ја подобри избраната метрика додека ја влошува услугата.
Ако ги менувате инструкциите или моделот на агент, оценете го неговото однесување на репрезентативни задачи и познати неуспеси. Задржете ја претходната верзија достапна. Ажурирање инструкции не е доказ дека основниот модел научил од инцидент.
Издајте ја промената и измерете го резултатот
Canary издавање изложува ограничена група корисници на кандидат-верзија. Споредете ги сигналите од кандидатот и контролната група и одредете кога да го проширите или запрете воведувањето. Мал сообраќај или различни оптоварувања може да ја остават споредбата без јасен заклучок. Насоки за canary издавање.
Измислениот тим бележи почетна состојба од фиксно синтетичко оптоварување. Ја тестира поправката, ја издава во одобрена граница и проверува споредливи продукциски периоди. Ако доказите остануваат недоволни, ја бележи неизвесноста наместо да прогласи подобрување.
Мерете ја и повторливата рачна работа. Автоматизацијата може да ја намали, но и самата бара одржување и справување со неуспеси. Вклучете ги овие трошоци кога го оценувате резултатот. Насоки за повторлива рачна работа.
Направете го записот за повратни информации употреблив
Користете ги овие полиња за вежбата: набљудување и верзија; почетна состојба; предложена причина; критериуми за прифаќање; регресиски проверки; промена и преглед; граница на издавање; измерен резултат; одговорно лице и следен преглед.
Taiga Maintaining ги поврзува наодите од репозиториумот со задачите за поправка. Иницијативите ја поврзуваат намерата за промена со планирањето и испораката. Тие обезбедуваат делови од синџир на докази. Одговорниот за вашата услуга сè уште мора да ги провери распоредувањето и оперативниот резултат. Maintaining, Initiatives.
Зрела фабрика за софтвер ја поврзува оваа работа низ производите. Правата за одлучување и критериумите за оцена нека останат видливи додека се зголемува автоматизацијата. Конечниот доказ е подобра проверена услуга, а не поголем број генерирани промени.
Направете ја вежбата
Пополнете го записот за повратни информации од оваа лекција за измисленото истекување меморија. Одредете почетна состојба, тест за прифаќање, регресиски проверки, граница на издавање, мерење во продукција и одговорно лице. Додајте правило за одбивање побрз, но помалку точен извоз.
Преземи работен лист (Markdown)Поништување на овој избор го брише целиот напредок зачуван во овој прелистувач.
Напредокот останува во овој прелистувач. Без сметка и следење.
Извори и дополнително читање
- Google SRE: Postmortem Culture ↗
- Google SRE: Canarying Releases ↗
- Google SRE: Eliminating Toil ↗
- Taiga docs: Maintaining ↗
- Taiga docs: Initiatives ↗