Готовность
Готовность отражает ситуацию отказа системы и его возможных последствий. Отказом системы называется положение, при котором система теряет способность предоставления услуг, заявленных в ее спецификации. Отказ заметен для пользователей системы, в качестве которых могут выступать люди или другие системы. Пример общего сценария готовности приведен на рис. 4.3. Внимание здесь обращено на способ обнаружения отказов системы, частоту их появления, действия, следующие за ними, временной период, в продолжение которого система может быть нефункциональна, ситуации, при которых отказы могут проходить без последствий, способы их предотвращения, а также типы оповещений, следующих после их обнаружения. Отказ (failure) и неисправность (fault) — это не одно и то же. Если неисправность не устранена или не замаскирована, она может перейти в состояние отказа. Пользователь системы может наблюдать ситуацию отказа, однако о неисправности он не имеет никакого представления. Когда неисправность становится обозримой для пользователя, она становится отказом. К примеру, неисправность может возникнуть из-за неверного выбора алгоритма вычислений; из-за этого произойдет ошибка в расчетах, которая в свою очередь приведет систему в состояние отказа. После отказа системы на первый план выходит вопрос о том, сколько времени потребуется на его устранение. Из того, что отказ системы обозрим для пользователей, можно сделать вывод, что период устранения отказа эквивалентен периоду, по истечении которого отказ перестает быть обозримым. Вариантность здесь огромна — от небольшой задержки отклика до перелета в перуанское высокогорье для починки блока горного оборудования (последний пример привел человек, занимающийся обслуживанием программного обеспечения двигателя горных машин). Различие между неисправностями и отказами приводит к мысли о стратегиях автоматического восстановления работоспособности. Ведь если код, в котором наблюдается неисправность, исполняется, а затем система устраняет последствия этой неисправности, не выводя ее на внешний уровень, говорить об отказе не приходится. Готовность системы — это вероятность функционирования системы, когда в этом есть необходимость. Как правило, она выражается формулой: Вычисления по этой формуле дают результат наподобие 99,9 % готовности — или, другими словами, 0,1 % вероятности того, что, когда в использовании системы возникнет необходимость, она окажется нефункциональна. Плановый простой при вычислении готовности обычно не учитывают — предполагается, что в такие периоды система «не нужна» по определению. В результате иногда случается так, что система выходит из строя, пользователи ждут, пока ее починят, но, поскольку простой оказывается запланированным, он никак не влияет на показатели готовности.
|