
Новости компаний
17:00, 21 мая
Что происходит за секунду, пока открывается сайт или мобильное приложение: объясняет ИТ-эксперт Нурсултан Нуртазаулы
Новости компаний

ИТ-эксперт Нурсултан Нуртазаулы объяснил, что происходит внутри цифровых сервисов.
Сегодня практически любое действие - оплата коммунальных услуг, запись к врачу, заказ такси или просто чтение новостей - начинается с одного и того же действия: мы открываем сайт или запускаем приложение на телефоне. Это стало настолько привычным, что мы совершенно перестали задумываться, что стоит за этим простым действием. А между тем всего за одну секунду успевает произойти целая цепочка технических процессов, без слаженной работы которых ни один цифровой сервис попросту не смог бы существовать. Мы попросили ИТ-эксперта Нурсултана Нуртазаулы разложить эту секунду по шагам и объяснить, что происходит внутри современных цифровых сервисов.
Кажется, что сайт открывается мгновенно. На самом деле за одну секунду устройство успевает найти нужный сервер, выбрать маршрут через интернет, установить защищённое соединение, обратиться сразу к нескольким компонентам инфраструктуры и получить ответ. За время, пока вы успеваете моргнуть, между вашим устройством и инфраструктурой сервиса могут произойти десятки сетевых обменов. Большинство этих процессов занимает считанные миллисекунды и остаётся совершенно незаметным для пользователя.
Как устройство находит нужный сервер
Когда пользователь набирает адрес сайта или открывает приложение, устройство ещё не знает, где именно находится нужный сервер, - оно знает только понятное для человека имя, а не настоящий сетевой адрес сервера. Чтобы превратить это имя в реальный адрес, устройство обращается к системе доменных имён - своего рода справочной службе интернета. Если ответ уже недавно запрашивался и сохранён поблизости, он приходит почти мгновенно; если нет - происходит короткая цепочка запросов к нескольким справочным серверам подряд. В большинстве случаев весь этот процесс укладывается в десятки миллисекунд.

Почему данные не идут по прямой
Получив адрес, устройство устанавливает соединение с сервером, и, если используется защищённое соединение - а сегодня это практически всегда так, - дополнительно происходит обмен ключами шифрования. Данные проходят по цепочке сетевых узлов, и чем короче и стабильнее этот путь, тем быстрее приходит ответ. Свет способен облететь земной шар по экватору примерно семь раз за секунду - и всё же путь сигнала до сервера и обратно занимает заметное время, потому что данные движутся не по прямой, а через десятки промежуточных узлов. Именно поэтому крупные цифровые сервисы стараются размещать свою инфраструктуру ближе к пользователям - это заметно сокращает время ожидания.
Почему один сервер не справился бы в одиночку
Запрос редко попадает напрямую на какой-то один сервер. Как правило, на входе стоит специальный узел - балансировщик нагрузки, - который распределяет поступающие запросы между несколькими серверами, чтобы ни один из них не оказался перегружен. Балансировщик постоянно отслеживает состояние каждого сервера: если один из них отвечает медленно или вышел из строя, запросы просто перенаправляются на остальные - незаметно для пользователя.

Как один физический сервер превращается в десятки независимых
Дальше запрос попадает на один из серверов, где выполняется основная логика приложения. Сегодня такие серверы чаще всего представляют собой виртуальные машины. Виртуализация позволила отказаться от модели «одно приложение - один физический сервер»: теперь на одном мощном сервере могут безопасно работать десятки независимых виртуальных машин, каждая со своей операционной системой и приложениями. Это позволяет эффективнее использовать оборудование, быстрее запускать новые сервисы и упрощает обслуживание инфраструктуры. Кроме того, такие виртуальные среды можно гибко наращивать при росте нагрузки и так же быстро сокращать, когда наплыв запросов спадает, - без необходимости закупать дополнительное оборудование под каждый пик активности. Ещё десять-пятнадцать лет назад для этого потребовались бы недели на закупку и настройку нового оборудования. Сегодня во многих современных инфраструктурах для этого достаточно нескольких минут, а иногда и секунд - ресурсы можно выделить на уже существующей платформе без установки нового оборудования.
Именно виртуализация стала одной из ключевых технологий, сделавших возможным развитие современных облачных платформ. Поверх неё появились средства автоматизации, самообслуживания и управления ресурсами, благодаря которым вычислительные мощности можно получать по запросу. Для пользователя это означает более стабильную работу сервисов даже при резком росте числа обращений.
Где хранятся данные и как их находят за доли секунды
Если для ответа нужны конкретные данные - профиль пользователя, история операций, содержимое каталога, - сервер обращается к базе данных. Скорость здесь напрямую зависит от того, насколько грамотно организовано хранение информации: правильно настроенные индексы позволяют находить нужную запись почти мгновенно, а не перебирать всю таблицу. Кроме того, крупные системы обычно используют сразу несколько копий базы данных - основную, куда записываются изменения, и дополнительные, предназначенные для чтения, - что снижает риск перегрузки и повышает отказоустойчивость.
Почему повторный запрос выполняется быстрее
Один из самых эффективных приёмов во всей этой цепочке - не выполнять одну и ту же работу повторно. Если какие-то данные запрашивались недавно и вряд ли успели измениться, значительно быстрее взять уже готовый ответ из памяти, чем заново обращаться к базе данных или пересчитывать что-то с нуля. Такой механизм - кэширование - обычно применяется сразу на нескольких уровнях: в самом устройстве пользователя, в промежуточных узлах сети и внутри инфраструктуры сервиса. Благодаря этому до самой базы данных нередко доходит лишь небольшая часть запросов - остальные обслуживаются кэшем ещё раньше. Именно это чаще всего превращает операцию, которая могла бы занять заметное время, в то, что пользователь просто не успевает почувствовать.

Почему цифровые сервисы становятся всё быстрее
За последние годы можно заметить, что требования пользователей к скорости работы цифровых сервисов значительно выросли. Если раньше задержка в несколько секунд воспринималась как обычное явление, то сегодня даже небольшое ожидание может восприниматься как признак неисправности. Именно поэтому архитектура современных систем всё чаще строится вокруг минимизации задержек на каждом этапе обработки запроса.
По мере того как цифровые сервисы во всём мире становятся всё более требовательными к скорости отклика - будь то государственные онлайн-услуги, банковские приложения или сервисы доставки, - растёт и значимость инфраструктуры, обеспечивающей эту скорость. Развитие сетей нового поколения и рост вычислительных мощностей ближе к конечному пользователю позволяют дополнительно сокращать время, необходимое на обработку запроса. Можно ожидать, что в перспективе граница между «мгновенно» и «почти мгновенно» будет становиться всё менее заметной - за счёт более умного распределения нагрузки, более продуманного кэширования и постепенного переноса части вычислений ближе к пользователю.
Что остаётся незаметным для пользователя
За одну секунду, пока открывается страница или приложение, успевает произойти целая последовательность технических процессов: определение адреса сервера, путь запроса по сети, распределение нагрузки, обработка на стороне сервера, обращение к базе данных и - почти на каждом этапе - попытка ускорить процесс за счёт кэширования. Устойчивость всей этой конструкции обеспечивается за счёт резервирования на каждом уровне: нескольких справочных серверов, нескольких маршрутов, нескольких серверов за балансировщиком, нескольких копий базы данных.
Чем быстрее работают цифровые сервисы, тем легче забыть, насколько сложная инфраструктура скрывается за привычным интерфейсом. Именно поэтому успех современной ИТ-инфраструктуры измеряется не количеством серверов или скоростью каналов связи, а тем, что пользователь просто не замечает её существования.
Если вы заметили ошибку, выделите необходимый текст и нажмите Ctrl+Enter, чтобы сообщить об этом редакции
Последние новости
Объявления
00:32, Сегодня
17:19, 5 августа
104
11:18, 1 июня