3/5 - (2 голоса)

Специалисты Microsoft планируют открыть исходный код Open Network Emulator, системы, которая имитирует всю сеть, обеспечива­ющую функционирование гипермасштабной «облачной» платформы компании. Microsoft использовала ее примерно в течение года для тестиро­вания изменений, вносимых в сеть, прежде чем развернуть их в производстве.

Исследователи утверждают, что в предложенных изменениях удалось обнаружить сотни ошибок и предотвратить серьезные аварии. Вычислительные сети сложны и потому уязвимы. Чем больше сеть, тем больший ущерб может нанести един­ственная ошибка.

Проработав более года с системой, имитирующей всю глобальную сеть, обслуживающую «облако» Azure, компания Microsoft решила открыть исходный код эмулятора. Система Open Network Emulator (ONE) имитирует все аппаратные и программные устройства, составляющие сеть, и их межсоединения. Она выполняется в контейнерах Docker и на виртуальных машинах и предназначена для тестирования изменений, вносимых инженерами в сеть, перед их развертыванием в действующей сети.

«Передача технологии в общий доступ поможет крупным компаниям повысить время доступности сети и одновре­менно у исследователей появится инструмент для модели­рования гипермасштабных сетей, подобных построенным Microsoft, Google и Amazon, и их совершенствования без соприкосновения с реальными сетями», —объясняет Виктор Баль, директор подразделения Microsoft Research по мобильности и сетевым технологиям.

Кроме того, поставщики сетевых продуктов получат возможность тестировать новое управляющее программное обеспечение для крупномасштабных применений.
Компания впервые представила систему в 2017 году, примерно спустя шесть месяцев после начала ее внутреннего использования.

В то время она называлась CrystalNet — хрустальный шар, в котором видно будущее сети, и специалисты Microsoft уже тогда думали о том, чтобы сделать технологию общедоступной. «Наша сеть разнородная, сложная и постоянно под­вергается изменениям. В такой среде даже небольшие проблемы, вызванные отказами устройств, ошибками в программном обеспечении, ошибками в настройках и ненадежными инструментами управления, могут быстро привести к крупным авариям,— объясняется в описании ONE, представленном на конференции Sigcomm.— Поэтому способность оценить влияние каждого планируемого изменения, прежде чем оно внедрено в производство, критически важна для поддержания и повышения надежности сети».

Компании все больше зависят от «облачных» служб, в частности принадлежащих Microsoft, и добиться безотказной работы этих служб сегодня намного важнее, чем когда-либо раньше. Но независимо оттого, насколько хорошо спро­ектированы системы, насколько квалифицированы и бдительны обслуживающие их инженеры, время от времени человек совершает ошибки. Незначительная оплошность, допущенная в процессе изменения в гипермасштабной сети, может привести к гигантской аварии.

«Предположим, что все работает безупречно. Если нет аппаратных отказов, все должно быть превосходно,— ком­ментирует Баль.— Но затем кто-то из участников вашей команды что-то где-то изменяет, и это изменение, как бывало в прошлом, может обрушить «облако» в целом регионе, поскольку, как известно, если сеть неисправна, ваши пакеты отправляются в никуда. В глобальном масштабе такое отключение может повлиять на миллионы людей, и я не хочу оказаться виновником такого происшествия».

Теперь, когда сетевые инженеры Azure вносят изменения, эти изменения применяются сначала к модели, но для них этот шаг не прозрачен. «Они даже не знают, вносят ли они изменение в сеть,— поясняет Баль.— В действительности они изменяют эмулятор. Он настолько удачно имитирует базовую сеть, что они не видят отличий».Если изменение не приводит ни к каким ошибкам в модели, то оно автоматически переносится в рабочую сеть.

Источник: журнал «Windows IT Pro/RE»