Ути-пути

Какая вне­зап­но кавай­ная сер­вер­ная!!

Это ама­зо­нов­ский дата-центр, обслу­жи­ва­ю­щий вычис­ли­тель­ный кла­стер «Рей­нир», на кото­ром рабо­та­ет систе­ма искус­ствен­но­го интел­лек­та «Клод» ком­па­нии Антро­пик.

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

Рабо­тать, впро­чем, в таком месте, навер­ное, непро­сто. Вон сотруд­ни­ца совер­шен­но пра­виль­но наде­ла науш­ни­ки — шум в подоб­ном дата-цен­тре, долж­но быть, сто­ит про­сто нече­ло­ве­че­ский.

Даже страш­но пред­ста­вить, сколь­ко кило­ватт жрёт вся эта кра­со­та в сум­ме.

Вот так, доро­гие дру­зиа… выгля­дит капи­та­лизм.

Отсю­да и ещё фоток.

Эка напасть

Не про­шло и меся­ца с тех пор, когда рух­нул AWS по при­чине паде­ния DNS, как здрас­ь­те — рух­нул Мик­ро­софт Ажур, а мы в нём в основ­ном про­жи­ва­ем. И тоже, ЧСХ, из-за отка­за сер­ви­са DNS. Всё тор­мо­зит и рабо­та­ет через зад­ни­цу.

Повто­рим кар­тин­ку, что ещё делать оста­ёт­ся.

Будет инте­рес­но почи­тать деталь­ный раз­бор полё­тов.

Анализ падения Амазона

Ама­зо­нов­цы опуб­ли­ко­ва­ли тех­ни­че­ский раз­бор при­чин недав­не­го паде­ния AWS. То, что вино­ват был DNS, уже было извест­но, но лич­но мне было любо­пыт­но понять — что же имен­но они смог­ли сло­мать в систе­ме, кото­рая, по идее, долж­на быть одной из самых про­стых и надёж­ных в инфра­струк­ту­ре интер­не­та?

Ока­за­лось, в их реа­ли­за­ции DNS скры­вал­ся ранее неза­ме­чен­ный баг, при­вед­ший к клас­си­че­ской race condition — ситу­а­ции, когда несколь­ко про­цес­сов или нитей про­цес­са одно­вре­мен­но пыта­ют­ся полу­чить доступ к обще­му ресур­су и в ито­ге меша­ют друг дру­гу. Такое состя­за­ние закан­чи­ва­ет­ся тем, что ресурс «зали­па­ет», а вся систе­ма рушит­ся, как кар­точ­ный домик.

При­знать­ся, изна­чаль­но у меня было подо­зре­ние на на чело­ве­че­ский фак­тор — дума­лось, что какой-нибудь неопыт­ный сисад­мин дёр­нул не за ту руч­ку, посо­ве­то­вав­шись с ИИ, но не спро­сив стар­ших това­ри­щей. Такое быва­ет, и мне тоже дово­ди­лось такое устра­и­вать. Но, как выяс­ни­лось, всё ока­за­лось куда глЫб­же.

Боль­ше все­го впе­чат­лил мас­штаб тре­ша, уга­ра, и бед­ла­ма с содо­ми­ей, вызван­ных сбо­ем. Лег­ла такая туча сер­ви­сов, что толь­ко успе­вай пам­пер­сы менять. Наши систе­мы, к сча­стью, напря­мую не постра­да­ли — но один из наших вен­до­ров ощу­тил послед­ствия спол­на.

Хочет­ся верить, что в Amazon извле­кут из это­го инци­ден­та пра­виль­ные уро­ки — ведь даже гиган­там вре­мя от вре­ме­ни полез­но вспом­нить, что совер­шен­ство инфра­струк­ту­ры не отме­ня­ет зако­нов веро­ят­но­сти и чело­ве­че­ской при­ро­ды.

Жульё чуть не покрало деньги

Сла­ва богам, не у меня, а у сотруд­ни­ков. Но тут есть один занят­ный момент в кибер­без­опас­но­сти, на кото­рый сто­ит обра­тить вни­ма­ние.

Зар­пла­та в нашей ком­па­нии, разу­ме­ет­ся, пере­чис­ля­ет­ся напря­мую на бан­ков­ский счёт. У сотруд­ни­ков есть доступ к систе­ме, где мож­но посмот­реть начис­ле­ния и дру­гую инфор­ма­цию. Жули­ки про­бра­лись в акка­ун­ты несколь­ких чело­век и под­ме­ни­ли рек­ви­зи­ты бан­ков­ских сче­тов для выплат — на свои соб­ствен­ные. Спас­ло то, что любое изме­не­ние таких дан­ных тре­бу­ет руч­но­го под­твер­жде­ния бух­гал­те­ри­ей. Там вовре­мя запо­до­зри­ли нелад­ное и предот­вра­ти­ли кра­жу.

И вот тут самое инте­рес­ное. Доступ к систе­ме осу­ществ­ля­ет­ся через код, кото­рый каж­дый раз высы­ла­ет­ся на лич­ную почту сотруд­ни­ка при попыт­ке вхо­да. То есть у учёт­ной запи­си нет посто­ян­но­го паро­ля — каж­дый раз новый код из пись­ма. Види­те про­бле­му? Полу­чил доступ к почте — авто­ма­ти­че­ски полу­чил доступ и к зар­плат­но­му акка­ун­ту. Жули­ки лома­ли не сами эти акка­ун­ты, а имен­но лич­ную почту сотруд­ни­ков: навер­ня­ка с паро­ля­ми уров­ня 123456, без 2FA, или же через баналь­ный фишинг.

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

Приходишь домой — а там станки, станки

Нако­нец-то при­е­ха­ли нор­маль­ные Ару­бов­ские (в деви­че­стве; нын­че — Хью­летт-Пак­кард Энтер­прайз) яче­и­стые точ­ки досту­па, и я смо­гу выки­нуть этот грё­ба­ный Нет­гир Орби к соот­вет­ству­ю­щей мате­ри.

Так как эти точ­ки досту­па под­дер­жи­ва­ют нор­маль­ный чело­ве­че­ский PoE, мои воз­мож­но­сти по их уста­нов­ке зна­чи­тель­но рас­ши­ря­ют­ся — не надо, что­бы рядом была розет­ка. Так что в под­ва­ле буду при­вин­чи­вать, как поло­же­но — к потол­ку.

PS: Иной раз при­хо­дишь домой — а там всё то же самое, что на рабо­те: стан­ки, стан­ки…

SharePoint-оводам

Если у вас on-prem вер­сия 2019 — бегом про­ве­рять­ся и пат­чить­ся.

Если у вас SharePoint 2016 — поздрав­ляю тебя, Шарик, ты бал­бес, отклю­чай­те от интер­не­та нахер и к соот­вет­ству­ю­щей мате­ри. 0‑day с оцен­кой в 9.8 из 10 — это вам не шут­ки.

Про профсоюзы

Ув. kvisaz напом­нил забав­ный слу­чай из жиз­ни. Он чита­ет про реа­лии проф­со­ю­зов в США, и наткнул­ся на то, как проф­со­ю­зы тре­бо­ва­ли стро­го раз­де­ле­ния тру­да, что­бы обес­пе­чить рабо­той всех заин­те­ре­со­ван­ных лиц:

«Элек­трик не может демон­ти­ро­вать дос­ку для фик­са­ции кон­так­та в про­во­дах и затем уста­но­вить ее обрат­но: какой бы про­стой ни была эта рабо­та, но она для плотников.Водопроводчик не будет выни­мать плит­ку и встав­лять ее обрат­но, что­бы устра­нить течь в ван­ной ком­на­те: это рабо­та плиточника.»«Каждая отдель­ная опе­ра­ция на желез­ной доро­ге, неза­ви­си­мо от ее зна­чи­мо­сти – будь то раз­го­вор по теле­фо­ну или закреп­ле­ние или изъ­я­тие косты­ля на стрел­ке, – явля­ет­ся экс­клю­зив­ной соб­ствен­но­стью опре­де­лен­но­го клас­са служащих.Если слу­жа­щий дру­го­го клас­са во вре­мя выпол­не­ния сво­их непо­сред­ствен­ных обя­зан­но­стей выпол­нит подоб­ные опе­ра­ции, он не полу­чит за них допол­ни­тель­ную зара­бот­ную плату.Однако нахо­дя­щий­ся в отпус­ке или неза­ня­тый пред­ста­ви­тель клас­са, на кото­ро­го воз­ло­же­но выпол­не­ние тако­го вида работ, дол­жен полу­чить днев­ной зара­бо­ток за то, что он не был вызван для выпол­не­ния сво­ей рабо­ты.»

И такое сохра­ни­лось, да, но — толь­ко в обла­стях, охва­чен­ны­ми проф­со­ю­за­ми, то-есть, в круп­ных и (обыч­но) госу­дар­ствен­ных учре­жде­ни­ях.

Когда я рабо­тал айтиш­ни­ком в аль­ма-матер (госу­дар­ствен­ный уни­вер­си­тет шта­та Ала­ба­мы) нам надо было пере­дви­нуть офис одно­го вра­ча в сосед­ний каби­нет. Ну, мы ком­пью­те­ры, мони­то­ры, прин­те­ры, и всё при­ла­га­ю­ще­е­ся отсо­еди­ни­ли, пере­та­щи­ли в дру­гой каби­нет, и берём­ся было пере­дви­гать мебель. Тут отку­да не возь­мись воз­ни­ка­ет инже­нер по экс­плу­а­та­ции зда­ния и начи­на­ет нас чуть ли не трёх­этаж­ны­ми матю­га­ми обкла­ды­вать. Мол, не смей­те тро­гать мебель! Вы ком­пью­тер­щи­ки — вот ком­пью­те­ра­ми и зани­май­тесь. А пере­дви­га­ни­ем мебе­ли в нашем зда­нии зани­ма­ет­ся проф­со­юз груз­чи­ков, вы сей­час сво­и­ми дей­стви­я­ми отни­ми­те у них рабо­ту, они вый­дут на заба­стов­ку, и у вас будет туе­ва хуча голов­ня­ка. Вы с ними это всё уже согла­со­ва­ли? Нет? А хули вы с ними это не согла­со­ва­ли? То, что надо будет дви­гать мебель, было неоче­вид­но? Вот вам их теле­фон, зво­ни­те им и согла­со­вы­вай­те.

Груз­чи­ки при­е­ха­ли бук­валь­но через пол­ча­са, и надо дать им долж­ное, всю мебель пере­дви­ну­ли быст­ро и без повре­жде­ний.

Но экс­пи­ри­енс был забав­ный, да.

Про замену айтишников ИИ

Вот поду­мал, а какие про­фес­сии в мире инфор­ма­ци­он­ных тех­но­ло­гий может убить иску­ствен­ный интел­лект?

На мой взгляд, ника­кие.

Возь­мём, напри­мер, сисад­мин­ство, мне наи­бо­лее близ­кое.

Что в мире сисад­мин­ства может сей­час сде­лать ИИ? Писать неслож­ные скрип­ты? Ну, может — хотя с боль­ши­ми ого­вор­ка­ми, про них ниже. Рисо­вать пра­ви­ла для бранд­мау­э­ра под нуж­ные зада­чи? С боль­шим скри­пом, зна­е­те ли. Вот я попро­сил нари­со­вать пра­ви­ла для бранд­мау­э­ра, сто­я­ще­го меж­ду IIS веб-сер­ве­ром, при­цеп­лен­ным к доме­ну, и кон­трол­ле­ром доме­на — ИИ пол­но­стью про­со­ха­тил NTP, напри­мер (порт 123/UDP). А если у тебя на сер­ве­рах и домен­ных кон­трол­ле­рах вре­мя не сов­па­да­ет, то квер­ху мехом поплы­вёт кер­бе­рос, после чего вооб­ще вся аутен­ти­фи­ка­ция в домене пой­дёт по извест­но­му месту.

ИИ — пти­ца гор­дая, не пнёшь — не поле­тит:

Да шут с ними, со скрип­та­ми и пра­ви­ла­ми для бранд­мау­э­ра. Витую пару кто будет обжи­мать? Тоже ИИ? А по фальш-потол­ку лазить будет кто, тоже он? Менять бата­рей­ки в ИБП, сер­ве­ра ста­вить в рэки, под­клю­чать и настра­и­вать ком­му­та­то­ры, мон­ти­ро­вать точ­ки бес­про­вод­но­го досту­па, менять кар­три­джи в лен­точ­ных нако­пи­те­лях, отво­зить их в банк, и так далее, и тому подоб­ное — кто будет? Неуже­ли тоже ИИ?

Нет, брат­цы-кро­ли­ки, это какой-то кибер­си­сад­мин-тер­ми­на­тор пона­до­бит­ся, и что самое глав­ное — сто­ить-то он будет доро­же чело­ве­ка.

Вот дурац­кие кар­тин­ки рисо­вать — это оно уме­ет, да.

Какие ещё про­фес­сии в ИТ может заме­нить ИИ? Про­грам­ми­ста, что ли? Ну, я не вполне про­грам­мист, хотя бака­лав­ра я полу­чил в CS. Но даже из того, с чем я стал­ки­вал­ся лич­но, вполне оче­вид­но, что код, гене­ри­ру­е­мый ИИ, во вся­ком слу­чае, на дан­ный момент — гов­но. Нет, я не хочу ска­зать, что он не рабо­та­ет.

Про­сто во-пер­вых, биб­лио­те­ки, объ­ек­ты, и вызо­вы, кото­рые исполь­зу­ет про­грам­ма, ИИ напи­сан­ная, обыч­но уже года два-три не исполь­зу­ют­ся, так что от сре­ды раз­ра­бот­ки в рожу как мини­мум при­ле­та­ют пре­ду­пре­жде­ния о том, что «code deprecated». А во-вто­рых, в про­грам­ми­ро­ва­нии спо­со­бов снять шку­ру с кош­ки — мильён, и ИИ не выбе­рет самый луч­ший. Он выбе­рет тот, кото­рый зна­ет.

Я тут у себя дав­нень­ко напи­сал было гнев­ный пост о том, что R, дескать, мед­лен­нее Пито­на с Нам­па­ем — исполь­зуя код на R, нари­со­ван­ный ЧатЖПТ. А потом в ком­мен­ты при­шёл погро­мист на R и немнож­ко, но неж­но пово­зил меня рожей об стол, дав мне нор­маль­ный код на R, кото­рый выпол­нял­ся раз в десять быст­рее мини­мум.

На дан­ный момент код, гене­ри­ро­ван­ный ИИ, годит­ся мак­си­мум на то, что­бы начать с чем-то раз­би­рать­ся (как вот я, напри­мер, ниче­го не знал про язык R), а как толь­ко раз­бе­рёшь­ся — сра­зу же выяс­ня­ет­ся, что делать луч­ше не так, а совсем даже по-дру­го­му.

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

Мож­но, конеч­но, упо­вать на то, что «щас ИИ допи­лят и тогда». А вы зна­е­те, я не раз­де­ляю опти­миз­ма. И дело даже не в том, что я счи­таю, что мы прак­ти­че­ски пол­но­стью выбра­ли тот запас, кото­рый есть в суще­ству­ю­щих моде­лях ИИ — хотя и это тоже прав­да. Что­бы про­дол­жать раз­ви­вать моде­ли так, как они раз­ви­ва­ют­ся сей­час, экс­тен­сив­но, нам надо было поза­вче­ра начи­нать стро­ить ядер­ные элек­тро­стан­ции, при­чём мас­со­во. Пото­му что жрёт это дело сей­час — про­сто как не в себя. Вот у шури­на есть школь­ный това­рищ, инже­нер-элек­трик «Сатерн Ком­па­ни». При­шёл к ним Мик­ро­софт, гово­рит, хотят стро­ить дата­центр для ИИ в Мис­сис­сип­пи — бла­го там зем­ля дешё­вая. Глав­ный затык — енто­му дата­цен­тру вынь да положь 500 мега­ватт мощ­но­сти. А где её взять, спра­ши­ва­ет­ся? 500 мега­ватт — это, мяг­ко выра­жа­ясь, дохе­ра как мно­го. И ента ваша «зелё­ная энер­гия» с вет­ряч­ка­ми да панель­ка­ми её обес­пе­чить тупо не в состо­я­нии. Не в режи­ме 247.

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

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

Так что лич­но я счи­таю, что айтиш­ни­кам боять­ся нече­го. Пока (пока) ИИ рабо­та­ет, на мой взгляд, имен­но так, как он дол­жен рабо­тать — «мно­жи­те­лем силы» для масте­ров. Под­ма­сте­рье, если мож­но так выска­зать­ся; под­спо­рье как мак­си­мум.

Сильное колдунство

Я очень люб­лю Windows Subsystem for Linux (WSL). Вот реаль­но без неё — как без рук. Весь нуж­ный инстру­мент — grep, sed, find, cat, nc, awk, wget, curl, openssl, и так далее — досту­пен сра­зу не отхо­дя от кас­сы. Не надо ника­ких отдель­но сто­я­щих вир­ту­а­лок. И да, это кру­че Cygwin, пото­му что линук­со­вые бинар­ни­ки под вашим цЫг­ви­ном не запус­ка­ют­ся, а под WSL — пожа­луй­ста. Потом, у цЫг­ви­на самый боль­шой недо­ста­ток — это то, что если там какой-то пакет в ней не сто­ит, то надо запус­кать setup.exe и зано­во пере­вы­би­рать паке­ты. А в WSL у меня же в ней вооб­ще пол­но­цен­ная Убун­та сто­ит, и на неё хоть чор­та лысо­го мож­но поста­вить через apt, а если не помо­га­ет apt — то через snap, или вооб­ще мож­но по-ста­рин­ке само­му ском­пи­ли­ро­вать и сде­лать make install. Кста­ти, выбор не огра­ни­чен Убун­той, хотя это дис­т­ро по умол­ча­нию. Мож­но и Деби­ан, мож­но kali. Да хоть SUSE, если она кому-то близ­ка (сла­к­вар­щи­кам, может быть).

Но при всём этом — это не отдель­но сто­я­щая вир­ту­ал­ка, типа как в рабо­чей стан­ции ВМВарь. Она силь­но инте­гри­ро­ва­на с хозяй­ской опе­ра­ци­он­ной систе­мой. Напри­мер, мож­но ска­зать /mnt/c/windows/system32/calc.exe и он запу­стит­ся! Ну, понят­но, в отдель­ном окне. А теперь, пишут, мож­но даже на Вин­де линук­со­вые гуй­ные при­ло­же­ния запус­кать, и их исполь­зо­вать, но я, прав­да, пока не про­бо­вал. Вот это я пони­маю, силь­ное кол­дун­ство.

Или очень про­сто дис­ки мон­ти­ро­вать сете­вые, sudo mount ‑t drvfs //server/share /mnt/mountpoint и впе­рёд, не надо мудо­хать­ся с cifs и паро­ля­ми, оно паро­ли берёт из поль­зо­ва­тель­ской сес­сии самой вин­ды.

Мало того — я под ней запус­каю вся­че­ский Тен­зор­флоу, Олла­му и про­чий ИИ — и CUDA видео­уско­ри­тель пре­крас­но про­бра­сы­ва­ет­ся до госте­вой ОС, она его видит и исполь­зу­ет на всю катуш­ку.

Google Gemini (Gemma3), запу­щен­ный в окне WSL под Ollama. До кучи тут ещё Мик­ро­софт Тер­ми­нал, тоже ещё один пакет, без кото­ро­го как без рук:

В‑общем, исполь­зую и не нара­ду­юсь — на ред­кость полез­ный пакет. В кои-то веки Мик­ро­софт сде­ла­ли что-то реаль­но хоро­шее для всех людей, что-то, что сде­ла­ло весь мир луч­ше, а не толь­ко все­лен­ную Мик­ро­соф­та. Насколь­ко пони­маю, изна­чаль­но это был софт для раз­ра­бот­чи­ков при­ло­же­ний под Вед­ро­ид — что­бы Вед­ро­ид­ный код мож­но было писать и запус­кать не отхо­дя от кас­сы, а теперь из него сде­ла­ли отдель­но сто­я­щий сер­вис.

Реко­мен­дую изо всех сил. Отлич­ная вещь.