Точки отказа в реальности и фантастике
Автор: wayerrОбычно говорят, что достаточно не ложить яйца в одну корзину, однако, мало кто говорит, что чем больше корзин тем больше шансов разбить хотя бы часть. То бишь, если нужно чтобы уцелели именно все яйца, то лучше всё же держать их в одной корзине.
Для более реального примера взглянем на современное веб-приложение (сайт иными словами).
Лет 10-15 назад простенький сайт выглядел так: вебсервер на котором скрипты да "картинки" и база данных на той же машине. Чтобы он "упал" достаточно было "уронить" машину и всё. Это точка отказа. Всего одна, условно (там много нюансов на деле).
Нынче современный "вебсайт" (это не про АТ, как устроен АТ я не знаю). Он всё также рассчитан на полтора анонимуса включая гуглобота, но состоит из: сервера фронтэнда (отдаёт картинки), сервера бэкенда (скрипты), сервера задач (который с базой данных напрямую работает), база данных. Обычно, туда добавляется ещё сервер с каким-нибудь кешем, и ещё один сервер-утилита (подробности опустим). Это суммарно 5 серверов, вместо одного. Они работают в виртуальных машинах, которые работают на виртуальной машине хостера (которая в облаке).
Это все не нужно понимать. Просто у нас вместо одной условной "корзины" уже шесть (это всё "точки отказа"), и отказ каждой из них, превращает сайт в тыкву с улыбкой: "сайт не работает".
Хрен с ними с сайтами, фокус в том, что усложнение систем существует во многих вещах. Если условный автомобиль раньше состоял из механики, то постепенно он улучшался модернизировался и теперь изрядно усложнён. Там есть компьютер, а порой и не один, а в нём есть ошибки. Для примера можно вспомнить "легендарное" тойтовское залипание педали газа (известно как Accelerator Pedal Recall, есть в гугле). Да, в механике могла быть ошибка, но в простых системах и ошибки проще, а здесь проблема ещё и в том, что её долго не могли выявить.
Внедрение систем автоматического управления, тоже, по сути, усложнение. Как это работает можно посмотреть на примере одного из блэкаутов:
- Из-за ошибки в компьютерной системе, а также из-за нехватки персонала, другие центры управления не были извещены.
- Произошло каскадное отключение около 100 других электростанций.
Скорее всего система управления успешно предотвращает большинство аварий (мы о них, скорее всего не знаем, просто потому что пишут лишь о громких событиях, а не успешно подавленных), но в при неудачном стечении обстоятельств, возможно такое развитие ситуации, которое было бы просто не случилось без этой системы управления.
На фоне всего этого (усложнения, автоматизации и увеличения точек отказа) авторам можно фантазировать на тему глобальной автоматической системы управления и того, что может случиться если в ней произойдёт сбой.
Кажется это всё несколько натянуто. Думаю, все в курсе про "облачные технологии", "умный дом" и прочие вещи. Нетрудно совместить это всё и посмотреть, что будет, в случае отключения интернета. Вы скажете, что разработчики же должны всё это предусмотреть. Ну да, должны 8). Мы, как разработчики, недавно интегрировались с чуждым сервисом, по сути совершенно не нужным нашему приложению, но в результате попали в полную зависимость — если сервис перестанет работать (или пропадёт связь с ним), то наше приложение тоже перестанет работать (ага, "каскадное отключение"). Автономная работа просто не предусмотрена техническим заданием. Но наш сервис не особо кому-то нужен.
Однако, есть такая штука как Chromebook. Если сохранять его исходную идею, то без интернета, он превращается в малополезную кучу железа. К слову, у вас есть резервное подключение к интернету? Скорее всего есть, в виде мобильного. Поэтому всё это не страшно. Пока есть интернет. И пока работает гугль, к которому всё это привязано.
По сути, достаточно сделать дом умным, поставить туда умную "колонку", купить хромбук, а потом отключить интернет и всё — вот оно тёмное будущее.
ps. К слову, у меня дорогой "выключатель" на люстре с регулятором (не "умный", просто регулятор), и он умеет зависать (и даже рубильник не помогает). Недавно, я обнаружил, что тупые наручные часы, достаточно умны, чтобы зависать. Осталось всё это объединить в единую глючную систему.