Недавно я завершил аудит своего SaaS-клиента. Его история достойна рассказа. Это история о жадности, лжи и красоте хакинга.

Это история о том, как благодаря мой клиент снизил свои ежемесячные траты на AWS на 90 тысяч долларов благодаря таинственному разработчику, который исчез, как только работа была сделана.

Когда спустя полгода затраты на AWS снова взлетели примерно до 120 тысяч в месяц, этот клиент попросил меня разобраться, что же произошло на самом деле.

И разгадка оказалась совершенно сумасшедшей!

Исходные данные


Из соображений NDA я не могу раскрывать имя клиента или отрасль, в которой он работает. Но это SaaS-компания, предоставляющая продукт на очень нишевом промышленном рынке. Её продукт можно описать как AI-модель, использующую данные от различных сторонних приложений и создающую ценные прогнозы.

В этой истории важную роль сыграют два аспекта.

Данные распределены по множеству сторонних приложений без API (промышленные машины), поэтому мой клиент разработал расширение для Chrome, которое собирает их (наподобие RPA) и отправляет в инстансы AWS для потребления.

Работа AI-модели стоит достаточно дорого, из-за чего в среднем затраты на вычислительные ресурсы составляли около 100 тысяч долларов в месяц.

Злодей


Почти год назад с директором по ИТ моего клиента связался фриланс-разработчик, заявивший, что поможет сэкономить 90% от затрат на облачные сервисы. Его предложение отклонили.

Однако спустя несколько месяцев был назначен новый директор по ИТ, которому необходимо было продемонстрировать руководству свои успехи. Тем временем, разработчик продолжал настаивать и даже сделал предложение, от которого невозможно отказаться: ему выписывают один чек на 50 тысяч, если удастся выполнить обещанное, или ничего не платят.

Для нового директора по ИТ это был дешёвый способ показать себя с лучшей стороны перед руководством. Он дал разработчику добро.

Трюк


С этого началось моё расследование. Первым делом я увидел, что разработчик не вносил никаких коммитов, кроме как в расширение Chrome. Оно было довольно простым: скрейпило интерфейсы разных приложений, извлекало данные, отправляло их в облако и запускало обработку.

После того, как над ним потрудился разработчик, объём его кодовой базы удвоился. Появились сотни новых файлов. В частности, моё внимание привлёк один из них, большой файл «accounts.yaml», содержавший примерно 1 миллион аккаунтов Google.

Какого чёрта здесь происходит? Все аккаунты казались фальшивыми, похоже, их купили в даркнете за сотню баксов.

Этот файл позволил мне разрешить головоломку.

Разработчик больше не загружал данные в облако клиента. Он создавал пробные аккаунты GCP при помощи одного из миллиона аккаунтов Google, затем загружал туда модель, данные, запускал выполнение, и завершал работу после получения результата.

Это было возможно только благодаря… расширению Chrome, которое не позволяло сработать проверке безопасности Google и отказать в создании аккаунта.

Разработкой ПО для клиента в основном занимались сторонние партнёры, поэтому труд разработчика никто не контролировал. Он отчитывался напрямую перед директором по ИТ, поэтому никто не оспаривал его работу и даже не проверял код.

Как и было обещано, затраты упали на 90%. Ему заплатили 50 тысяч долларов. А потом он пропал. Полностью.

Счастливый директор по ИТ хотел дать этому гению новые задачи. Но тот испарился. Не отвечал на электронные письма и голосовые сообщения по телефону, удалил аккаунт в LinkedIn. Исчез.

Провал


Несколько месяцев спустя затраты снова начали расти. Каждый раз, когда бесплатный аккаунт GCP не срабатывал, данные отправлялись старой системе AWS. Похоже, что у кода закончились валидные аккаунты Google и/или Google начал лучше справляться с отловом автоматизированного создания аккаунтов.

Комментарии (96)


  1. Tarnella
    00.00.0000 00:00
    +116

    Напомнило историю про кудесника, который продал фальшивомонетчикам машинку по печатанью баксов. Купюры были настолько хороши, что проходили все проверки. Кудесник продал машинку за 100к баксов и исчез. Машинка проработала пару дней и прекратила. Ее разобрали, оказалось что создатель загрузил туда 10к баксов настоящих купюр, бумага, которую туда подавали для якобы печатанья складывалась во внутренний бункер, а машинка просто отдавала настоящие купюры. Пока не кончились.


    1. spirit1984
      00.00.0000 00:00
      +42

      Я даже нашел, где это впервые описано в литературе:

      Интересный музей, ничего не скажешь. Больше всего мне машина понравилась, которая деньги делала. Ее студенты МВТУ сработали и грузинам за 10 000 рублей продали: нам настоящие деньги нужны, а фальшивую машину мы еще одну сделаем. Показали студенты, куда краску лить, куда бумагу вкладывать, куда спирт заливать. Делала машина великолепные хрустящие десятки, которые ни один эксперт от настоящих отличить не мог. Предупредили студенты грузин: не увлекайтесь – жадность фраера губит! Не перегревайте машину – рисунок расплывчатым станет. Уехали грузины в Грузию. Знай себе по вечерам денежки печатают. Но встала машина. Пришлось в шайку механика вербовать. Вскрыл механик ту машину, присвистнул. Обманули вас, говорит. Не может эта машина денег фальшивых делать. В ней сто настоящих десяток было вставлено. Крутанешь ручку – новенькая десятка и выскочит. Было их только сто. Все выскочили. Больше ничего не выскочит. Грузины в милицию. Студентов поймали – по три года тюрьмы за мошенничество. А грузинам – по десять. За попытку и решимость производить фальшивые деньги. Оно и правильно: студенты только грузин обманули, а грузины хотели рабоче-крестьянское государство обманывать.

      (с) Аквариум. Виктор Суворов.


      1. Popadanec
        00.00.0000 00:00
        +6

        Такие машинки давно продают:


        1. zoroda
          00.00.0000 00:00

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


          1. click0
            00.00.0000 00:00

            Я впервые увидел описание подобного устройства в "Юном технике".


      1. dimas
        00.00.0000 00:00

        Это было сильно раньше описано, в какой-то детской книжке, еще бы название вспомнить ...

        О, нашел - "Тельняшка - моряцкая рубашка", Ефетов Марк Семенович
        https://m.tululu.org/bread_12309_22.xhtml


    1. izogfif
      00.00.0000 00:00

      del


    1. andersong
      00.00.0000 00:00
      +8

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


      1. DMGarikk
        00.00.0000 00:00
        +3

        У нас похожая история была в городе когда микрорайон сдавали, разве что это было не мошенничество, а очковтирательство и потемкинские деревни


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



  1. lamerok
    00.00.0000 00:00
    +31

    Не ну 40 000 то сэкономил всё равно. Даже больше, если пару месяцев, то 130 000.


    1. edogs
      00.00.0000 00:00
      +5

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


    1. MasterMentor
      00.00.0000 00:00

      Тогда смысл статьи прояснился: через объявление ищут чувака, чтобы тот им ещё 1М акков залил. В конце должна быть приписка: "Чувак, вернись, я всё прощу! (твой директор)"


  1. aik
    00.00.0000 00:00
    +58

    Если через полгода только затраты взлетели обратно, то этот товарищ сэкономил конторе полмиллиона примерно.


    1. Andrey_Dolg
      00.00.0000 00:00
      +6

      Гениально и просто. А чего "Злодей" ведь совершенно честно сэкономил, временно правда.)

      (Промахнулся)


    1. Alexandre
      00.00.0000 00:00
      +1

      Ну тысяч 250-350 точно сэкономил за 3-4 мес.


  1. izogfif
    00.00.0000 00:00

    GCP же без привязки карты не позволит создавать проекты. Неужто тот надыбал миллион аккаунтов, к каждому из которых была привязана реальная карта?


    1. edogs
      00.00.0000 00:00

      Одна карта может быть привязана к нескольким аккаунтам, поэтому задача в целом сводится только к количеству аккаунтов.


    1. myhambr
      00.00.0000 00:00

      А может там и база карденных номеров была ? А товарищ исчез, после того как органы его разработку начали.


      1. mayorovp
        00.00.0000 00:00
        +2

        В оригинале товарищ исчез 23 февраля 2022 года, так что органы тут ни при чём.


  1. smartpunter
    00.00.0000 00:00
    +48

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

    Нет, надо обязательно в облако всё пихать, за сотни килобаксов в месяц.


    1. artemlight
      00.00.0000 00:00
      +15

      думается мне, что за 100к в месяц там был далеко не десяток серверов.

      мы считали как-то раз стоимость только compute instance без учета затрат на обслуживание-амортизацию-итд - и гугловый клауд по стоимости был эквивалентен примерно 4 годам владения.
      а для того, что они там за 100к в месяц арендуют - боюсь, что пришлось бы собственный дц в подвале строить.


      1. Yuriks111
        00.00.0000 00:00
        +1

        а можете поделиться анализом? многим бы было полезно

        кроме стоимости владения, железо быстро устраивает, в облаке постоянно обновляется


        1. Popadanec
          00.00.0000 00:00
          +1

          Если растёт требуемая вычислительная мощность(т.е. "устаревает" железо), то и облачные затраты тоже растут.


          1. Layan
            00.00.0000 00:00
            +1

            Не обязательно. Мы, например, в AWS увеличили мощности с уменьшением цены, когда появились EC2 Graviton


        1. kap1ik
          00.00.0000 00:00

          Если все правильно спланировать по комплектующим, расходникам, сроку жизни сервера и т.п., а так же найти где скупают Б\У сервера, то выходит дешевле, чем в облаке, НО самый главный минус - ты не знаешь скорость усложнения вычислений. Если эта параметр заранее известен: через какой промежуток времени тебе понадобиться увеличить мощность и насколько - то все легко и просто, а если они неизвестный - лучше облако (ну или стойку выкупить в ДЦ и самому всё, но это не меньший геммор).


          1. Popadanec
            00.00.0000 00:00

            Да в общем то. Облачные тарифы так рассчитываются, чтобы это было немного дороже, но не слишком(чтобы достаточная часть клиентов сочла условия приемлемыми).


            1. denis-isaev
              00.00.0000 00:00
              +7

              Это смотря как считать и что сравнивать.

              К примеру, если залить на какой-нибудь дедик БД объемом 100Gb и ничего с ней не делать месяц, то у железного хостера это вам обойдется в 40 евро, а в Firestore - 18 баксов.

              А если из этой БД начать постоянно что-то считать со скоростью 1000 rps, то у железного хостера это останется 40 евро, а в Firestore станет 1500 баксов.

              А если посмотреть в сторону Functions/Lambda, с аналогичным сравнением, то там вообще атас.

              Облака требуют куда более скрупулезного подхода к архитектуре и реализации софта и не прощают ошибок :)


            1. Tsimur_S
              00.00.0000 00:00
              +2

              Облачные тарифы так рассчитываются, чтобы это было немного дороже, но не слишком

              Если считать в 3-10 раз дороже как "немного но не слишком" то в общем то да вы на 100% правы.


              1. Popadanec
                00.00.0000 00:00

                Раз активно пользуются, значит не слишком. Эластичность спроса не нарушена.


        1. Opaspap
          00.00.0000 00:00

          Да просто берешь и по терафлопам и памяти считаешь в переводе на топовые видюхи. И да, не считая электричества и обслуживания.


      1. denis-isaev
        00.00.0000 00:00

        За 100к/мес можно взять два v4-64 TPU инстанса в облаке.


        1. fasvik
          00.00.0000 00:00

          Сдаётся мне что маловероятен тот вариант, в котором написано это все на Tensor'ах. Продукту больше года, тогда ещё такие варианты были не столь популярны. А переписывать такой продукт довольно затратно..


    1. vmarunin
      00.00.0000 00:00
      +10

      А какая у них цена простоя?
      Потому что к десятку железных серверов в подвале надо добавить подвал электричество, кондиционер, бесперебойник, запчасти 2 разных толстых интернет-канала и обеспечить круглосуточное дежурство человека с отвёрткой.

      И то вероятность "ой" будет кратно выше чем в AWS.

      И всё это непрофильная деятельность для компании, раз они даже для продакшен пайплайна (сбор данных) привлекали внешних консультантов. То есть шишки будут набиты и оплачены.

      Другое дело, что на 90 тыс. в месяц можно уже подумать про переезд в облако попроще или на bare metal хостинг. Так сказать есть слона по кускам


      1. PuerteMuerte
        00.00.0000 00:00
        +41

        Потому что к десятку железных серверов в подвале надо добавить подвал электричество, кондиционер, бесперебойник, запчасти 2 разных толстых интернет-канала и обеспечить круглосуточное дежурство человека с отвёрткой

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


        1. slonpts
          00.00.0000 00:00
          +8

          Согласен с вами! Но еще надо учесть длительность владения проектом. А это величина труднопредсказуемая, особенно на начальном этапе.
          И может оказаться, что дешевле платить за облако год, чем покупать железо стоимостью как 3-4 года аренды + строить свою инфраструктуру + нанимать админа.
          А проект потом окажется не на столько приносящим деньги.

          Если через год становится ясно, что оно взлетело и летит стабильно - тогда уже свое железо покупать

          Судя по описанию проекта, тут уже можно и задуматься о своих серверах. Но ведь нет ничего более постоянное, чем временное решение?


        1. vrangel
          00.00.0000 00:00

          Ещё есть точки на карте с очень дорогим электричеством, тоже аргумент в пользу облака.


          1. PuerteMuerte
            00.00.0000 00:00

            А вы думаете, облачные датацентры находятся в точках с дешёвым электричеством? Большинство из них как раз в странах как раз с дорогим электричеством, и его стоимость тоже включена в ваш прайс.


        1. vvpoloskin
          00.00.0000 00:00
          +2

          Есть ещё момент с эксплуатационными затратами, надежностью и SLA. Если для пачки серверов надо нанимать сисадмина и платить за жирный канал, становится не все так однозначно. У облаков же как правило эти ресурсы шарятся между всеми остальными серверами. Кроме того, ни для кого не секрет, что облака сдают с переподпиской по физическому ресурсу.


          1. georgevp
            00.00.0000 00:00
            -2

            А кто является владельцем данных, загруженных в облако?


          1. Areso
            00.00.0000 00:00
            +1

            А для облаков сисадмины не нужны? Нужны. Но то, что их теперь называют девопсами не делает их дешевле, скорее наоборот.


            1. mayorovp
              00.00.0000 00:00
              +2

              В облаке всё равно администрирования надо меньше, если используются специализированные сервисы, а не режим VDS-ки.


              Скажем, я очень сомневаюсь, что у клиентов облачного Sentry часто возникает проблема с недоступностью из-за того, что Clickhouse отожрал в простое 60 гигабайт памяти (включая весь своп!). Такие вещи решаются админами Sentry, а не девопсами.


        1. Vadem
          00.00.0000 00:00
          +7

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

          Только энергоэффективность датацентра будет значительно выше вашей серверной, железо облачный провайдер будет закупать с большой скидкой, а человек с отвёрткой будет обслуживать тысячу серверов, а не десяток и т.д. и т.п. Получится ли серверная в итоге дешевле? Я не знаю, но математика точно не такая уж и простая.

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

          У большинства вёб приложений, например, загрузка менятся в зависимости от времени суток, дня недели, праздников и т.д.


          1. Layan
            00.00.0000 00:00

            У большинства вёб приложений, например, загрузка менятся в зависимости от времени суток, дня недели, праздников и т.д.

            Это как раз то, про что многие забывают. У нас в компании есть случаи, когда очень мощное железо включается на 2-3 часа в раз в месяц, или раз в день. И не нужно платить за сервер 24/7 при наличии почасовой тарификации.


        1. vmarunin
          00.00.0000 00:00
          +2

          Даже в вашей модели, а что если нагрузки на 1.1 сервера? Надо же покупать 2, то есть имеем КПД 55%. На самом деле надо 3, чтобы иметь возможность один выключить для обслуживания.


          Согласен, что есть порог по количеству серверов, после которого дешевле нанять людей и сделать самим, а не покупать сервис. Но это явно не 1 и не 10 серверов.

          Ещё точнее там много уровней по которым можно двигаться от "лямбда в AWS" до "собственный датацентр". Можно взять сервера в том же AWS, можно взять сервера не у AWS, можно арендовать место в чужом датацентре. Яндекс уже стоит свои датацентры и проектирует свои корпуса, стойки и материнские платы.

          Но для каждого шага "вниз" нужно нанимать команду людей, учить их, вкладываться в R&D, что дорого. Всё это оправдано на тысячах и десятках тысяч серверов, если они у вас есть, то вам не нужны советы от комментаторов с Хабра :)


        1. Stas911
          00.00.0000 00:00
          +1

          Я работал в банке и там считали риски на гриде из 1000+ железных машин. Так вот утилизация у них недотягивала до 10% (6-7% вроде насколько помню). Но час в день загрузка была под сотню.


          1. PuerteMuerte
            00.00.0000 00:00
            +1

            Тут я вам могу ответить цитатой одного парня, вы, наверное, его уже читали:


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

            Хотя если вы работали в банке размером меньше Credit Suisse, и для расчёта рисков вам нужен был грид из 1000+ серверов, мне сдаётся, там есть непаханное поле для оптимизации сего процесса.


            1. Opaspap
              00.00.0000 00:00
              +1

              Просто в банках оракл с кубами


              1. PuerteMuerte
                00.00.0000 00:00

                Ну мне это ничего не говорит. В кубах же вы не производите расчёты рисков, и вообще никакие расчёты, это data warehouse, а не транзакционная база. Просто бывает, что какую-то мудрёную бизнес-логику вешают на ETL-скрипт, который данные в те кубы льёт, и в итоге оно действительно требует 1000+ тормознутых инстансов, но это то самое непаханное поле для оптимизации.


            1. Stas911
              00.00.0000 00:00

              Так стабильных загрузок почти и нет в природе - есть естественные колебания (в течение дня, недели), всякие регуляции, начало бизнес дня и прочие колебания нагрузки.


              1. PuerteMuerte
                00.00.0000 00:00

                Так фишка в том, что и у облака тоже нет настолько стабильных нагрузок, чтобы равномерно раскидать стоимость аренды серверов по всем своим клиентам. Все их клиенты-финансовые организации дружно проводят сеттлмент после окончания банковского дня в своей зоне. А все их клиенты-магазины дружно наваливают транзакции в чёрную пятницу и перед рождественскими/новогодними праздниками. Поэтому облачные ресурсы точно так же часть времени простаивают, часть — в дефиците, а каждый сервер жрёт энергию, обслуживается и амортизируется непрерывно, и это тоже уже включено в стоимость облачных ресурсов. Чудес не бывает.


                1. Stas911
                  00.00.0000 00:00
                  +1

                  Но за счёт масштаба можно добиться намного более высокой утилизации, чем у любого клиента. А ненужное продать на spot рынке по себестоимости


        1. aPiks
          00.00.0000 00:00
          +7

          Неправильно, потому что
          а) тот, кто специализируется на чём-то, делает это быстрее, а значит дешевле для себя.
          б) облако более гибко в использовании, то есть ваш пик у кого-то спад в нагрузке и можно гибко использовать железо.
          в) когда амазон покупает 12 тыс серверов - цена n, а когда вы покупаете 12 серверов - цена 2n, если не 3n за каждый.
          г) когда есть готовое решение, масштабирование этого решения на 1000 клиентов намного дешевле, чем когда вы то-же самое решение создаёте только для себя.
          в) компетенции Амазона гораздо выше компетенции админа Васи с отверткой, что потенциально может вылиться в простой и финансовые убытки.


          1. PuerteMuerte
            00.00.0000 00:00

            в) когда амазон покупает 12 тыс серверов — цена n, а когда вы покупаете 12 серверов — цена 2n, если не 3n за каждый.

            Ну эти же цифры сугубо пальцев в небо. Я покупаю свои 12 серверов не поштучно в магазине у дома, я покупаю их у дистрибьютора — конторы, которая покупает 12 тысяч на весь регион примерно по той же цене, что и Амазон. И что, вы где-то видели дистрибьютора, который продаёт их с двухкратной (или тем более, трёхкратной) наценкой? Обычная дистрибьюторская наценка — 30-50%, это позволит и операционные расходы окупить, и прибыль 10-15% поиметь. Ну т.е. разница есть, но не настолько критичная, чтобы существенно поменять экономику.
            Плюс, ещё Амазон покупает какие-то типовые конфигурации. И если вам для ваших нужд понадобилось, например, больше дискового пространства, или там вычисления на GPU, вы очень неприятно удивитесь ценам облачных провайдеров.


          1. Stas911
            00.00.0000 00:00

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


            1. PuerteMuerte
              00.00.0000 00:00

              Это, кстати, вообще основной аргумент. Если рассматривать облако просто как хостинг вашего софта, экономика там действительно грустная уже для аренды чего-либо размером с одну стойку. Но если рассматривать облако ещё и как аренду готовых софтовых решений, с этой стороны оно намного привлекательнее. Тут и СУБД на любой вкус, будь-то реляционка, будь-то NoSQL, тут и контейнеры, и очереди сообщений, и мощные тулзы для аналитики и т.д.


        1. nidalee
          00.00.0000 00:00

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


          1. Areso
            00.00.0000 00:00

            Почему-то по ценам для конечных клиентов вся эта оптимизация незаметна.

            Да, понятно, что сделать в 1 лицо Tier III у себя в офисе выйдет недешёво. Но если вам не нужны 99,95, а устроят вполне человеческие 99,5%, то можно сделать относительно бюджетно.


      1. vvbob
        00.00.0000 00:00
        +5

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


        1. Opaspap
          00.00.0000 00:00

          Справедливости ради, нужно сказать, что кого-то вовсе убили.


          1. vvbob
            00.00.0000 00:00
            +4

            В этом мире всю его историю кого-то убивают.


    1. XaBoK
      00.00.0000 00:00
      +2

      В одном lift&shift проекте стоимость 10х2 средненьких машин выходила в 150 килобаксов в год. Основная цена была в лицензиях легаси на винду и сиквел. Собрать у себя он-прем было около 60. И плюс 10 в месяц на 24/7 админов. Проект на 10 лет. Угадайте какой вариант победил? Во превых "генеральный мне яйца отрежет, если я затребую сейчас 70к, а 12.5 (150/12) частично влазят в месячный бюджет и надо-то еще часть экстра расходами оформить" и, конечно, "мы уже обещали облако".


      1. Robastik
        00.00.0000 00:00
        +2

        сейчас 70к

        Существует рассрочка aka лизинг.


      1. Stas911
        00.00.0000 00:00

        классика - Capex vs Opex


    1. Stas911
      00.00.0000 00:00
      +3

      Мы для своего клиента как-то запускали тысячи довольно жирных контейнеров в Fargate, считали за несколько часов и гасили до следующего раза. Сколько надо железа притащить в подвал и какова будет его загрузка, если считать надо условно 6 часов но раз в месяц?


    1. kirillkosolapov
      00.00.0000 00:00

      Что свои сервера дешевле - это только кажется. Проблема в том, что если вам нужно развернуть отказоустойчивый кластер kubernetes, распределенную СУБД, настроить мониторинг и т.д. для этого нужны узкоспециализированные и дорогие специалисты. И это намного дороже облака где уже все сложное работает "из коробки". Но если у вас "монолит", то да - аренда bare-metal будет сильно дешевле.


      1. PuerteMuerte
        00.00.0000 00:00
        +1

        Проблема в том, что если вам нужно развернуть отказоустойчивый кластер kubernetes, распределенную СУБД, настроить мониторинг и т.д. для этого нужны узкоспециализированные и дорогие специалисты.

        … которые вам точно так же понадобятся и просто для эксплуатации сего добра в облаке :)


  1. artemlight
    00.00.0000 00:00
    +3

    Остаётся только один вопрос - а где он брал уникальные номера карт для этих аккаунтов, и каким образом он их валидировал?

    У меня триал GCP не принимает даже вполне себе валидный one-time Revolut Virtual - чует, что препейд, и просит "настоящую" карту. А их не напасешься, поэтому даже второй аккаунт не дали создать - пришлось отдавать честно заработанный доллар за поиграться. Миллион же таких аккаунтов, да с верификацией карт - стоит явно дороже запрошенных 50к.

    В общем, похоже на байку.


    1. DMGarikk
      00.00.0000 00:00
      +2

      а где он брал уникальные номера карт для этих аккаунтов

      в даркнете вроде кредитки продают за десяток долларов-мешок


  1. vitaly_il1
    00.00.0000 00:00
    +3

    Эта байка уже была здесь. Если не путаю, автор уже признался что он это узнал от "приятеля одного сисадмина, который ...".
    короче, не для Хабра, ИМХО.


    1. holodoz
      00.00.0000 00:00
      +13

      Как загадочный автор снизил затраты на разработку контента на 90%, а потом исчез


    1. fndrey357
      00.00.0000 00:00
      -1

      Это как пример нестандартного взгляда на стандартные вещи. Для учебника.


    1. mayorovp
      00.00.0000 00:00
      +1

      Ага, а вот и автор: xanf, оригинал статьи ссылается на его твиттер как на источник.


  1. koil
    00.00.0000 00:00
    +4

    Есть определенные сомнения в правдивости истории. Если человек смог написать такое расширение для Chrome значит у него очень глубокие знания GCP API. Ведь надо не просто создать аккаунт, а активировать его, создать ресурсы, запустить нагрузку и выгрузить результат. Такой человек вполне легально мог бы оптимизировать затраты компаний на облачную инфраструктуру и зарабатывать шестизначные суммы даже просто автоматизируя работу devops команды. И он врядле бы стал рисковать репутацией ради 50 тысяч.


    1. Areso
      00.00.0000 00:00
      +20

      Напомнило старый анекдот начала 90-ых, могу чуточку переврать:

      Автосалон, французы показывают свою новую машину (Пежо) и хвастаются антиугонкой. Подходит невзрачный мужичок средних лет, и говорит, мол, интересно, можно я вашу сигналку протестирую? Французы переглянулись, мол, почему нет. Мужичок сигналку взломал за 2 минуты и говорит: ребята, фуфло ваша сигналка, любой инженер взломает за 3 минуты. Французы переглянулись и спрашивают: а зачем инженерам взламывать сигналки? У них же и без того хорошие зарплаты!

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


    1. georgevp
      00.00.0000 00:00
      +2

      Может это был бывший(?) сотрудник Google?


    1. iamkisly
      00.00.0000 00:00
      +1

      Я думаю, что вы приувеличиваете значение репутации. Если имя разработчика не представляет собой личный бренд, то ваша репутация никому не интересна.. ее просто нет, а вы имеете определенный послужной список и достижения.


      1. koil
        00.00.0000 00:00

        Личный бренд тут не при чем. Это обычное явление, когда при найме рекрутеры ищут доступную информацию по кандидату. Если они при этом найдут такую информацию, как в статье, то это явно не сыграет в его пользу. Тем более если речь идет о высокооплачиваемой позиции, а не аникейщик в институт стали и сплавов.


    1. MountainGoat
      00.00.0000 00:00
      -1

      Вы не представляете до какой глубины в узкой нише может докопаться целеустремлённый студент. Но его всё равно никуда не возьмут, потому что у него бумажки нет, и опыта работы тоже.


    1. nidalee
      00.00.0000 00:00
      +1

      А разве он рисковал репутацией? Предложил с болванки, отработал и пропал.


  1. JPEGEC
    00.00.0000 00:00
    +3

    Почти год назад с директором по ИТ моего клиента связался
    фриланс-разработчик, заявивший, что поможет сэкономить 90% от затрат на
    облачные сервисы.

    Одному мне любопытно откуда фриланс разработчик узнал как и сколько контора тратит денег?


    1. Areso
      00.00.0000 00:00

      Про AWS могло быть написано в вакансиях или в профилях на Линке текущих пользователей.

      Сделать "прикидку" к носу можно исходя из профиля компании и её размеров.


      1. akakoychenko
        00.00.0000 00:00
        +1

        Скорее всего, инсайд таки имел, раз знал, что
        а) расширение хрома выполняет важную задачу и может выполнять бизнес логику
        б) затраты идут на разовые запуски, для которых некритична потеря данных
        Если бы этих пунктов не было, то финт бы не сработал. К примеру, если б они собирали все в кучу в каком-нибудь редшифте, и его силами б считали фичи на всей выборке, и это б составляло хоть 11% затрат, то фокус бы не удался


  1. Stas911
    00.00.0000 00:00
    +1

    Если клиент такой жирный, то у него есть AWS Enterprise Support и выделенный TAM (tech account manager) одна из задач которого помогать клиенту снизить затраты на облако, для чего у него есть специальные инструменты и доступ к спецам, которые на этом собаку съели. Имхо история выдуманная.


    1. mayorovp
      00.00.0000 00:00

      Так задача-то заключалась в выполнении разовых расчётов в облаке. Вот буквально есть исходные данные (у пользователя, не у фирмы!), если скрипты которые их обрабатывают (эти уже у фирмы), надо эти скрипты где-то запустить, показать пользователю результат и забыть.


      Что тут можно принципиально оптимизировать, кроме как поставить своё железо в подвале?


      Не, можно конечно же скрипты переписать на что-то более производительное, но этим точно не техподдержка заниматься будет. Да и реверс-инжиниринг скриптов на перле по стоимости легко перегонит покупку железа в подвал...


      1. Stas911
        00.00.0000 00:00

        Для разовых задач есть spot инстансы, которые в выходные стоят копейки.


  1. Dmitri-D
    00.00.0000 00:00

    Inference инстансы могут стоить дорого, но что мешает объединять запросы в батчи, хранить пока не соберется достаточно, и запускать endpoints по мере готовности, а в паузах гасить? Это может легко снизить затраты в разы. Второе, зачем использовать AI aws service, если можно поднимать свои docker контейнеры с +той же+ моделью и существенно дешевле, при такой же мощности?


    1. Proydemte
      00.00.0000 00:00

      Там же ещё спот цены есть, если нету жёстких требований по времени, то вполне можно попробовать. Посмотрел, прямо сейчас цена на спот -70% и вероятность прерывания меньше 5%.


      Если можно промежуточные результаты сохранять, вообще no brainer.


  1. eurol
    00.00.0000 00:00
    +1

    А мне почему-то при прочтении заголовка вспомнилась шутка про человека, который устроился на работу в компанию, разрабатывающую ПО, исправил один баг и уволился.


  1. beckonlisp
    00.00.0000 00:00

    Дьявол, как говорится, в деталях.


    1. NDA обычно покрывает не только фигурантов контракта но и предметную область. Т.е. мне трудно представить как в рамках стандартного договора можно писать в твиттере детали проекта.


    2. Выше уже написали, чтобы использовать GCP нужно прикрепить кредитку к биллингу (Кстати, то же самое верно и для других облаков: AWS, Azure, Oracle Cloud итд). Поверить в файл accounts.yaml "содержавший примерно 1 миллион аккаунтов Google" — довольно трудно. На форумах действительно продают пачками аккаунты Google (очевидно для спамеров), но к ним никогда в комплекте не идет кредитка и активная GCP.


    3. Если копнуть чуть глубже в механизм аутентификации GCP, то злоумышленнику наверное нужны были не сами учетки, а т.н. ключи или же по каждой учетке по oauth2 авторизоваться, чтобы добыть ключи. Т.е. даже если у нас есть мифический файл с миллином аккаунтов, на моменте входа в 5-6 аккаунт Google начнет требовать ввод капчи, блокировать ip итд.


    4. Вообще непонятно зачем автору потребовался миллион аккаунтов, когда можно было и на одной (!) учетке сделать тоже самое. Т.е. грубо говоря, купить на хак-форуме одну (!) угнанную учетку GCP, и вот все эти черные дела сделать на одной (!) учетке.



    К примеру, у меня был случай года 2 назад — у одного из клиентов в какой-то момент обнаружился в биллинге запросов в Google Maps на 50.000 евро, а у них ни один сервис в Google Maps не использовал. Как потом выяснилось, у глав. разраба украли токен через npm (установил какую-то ересь на рабочий комп из npm и она угнала токен-файл). Обнаружили в биллинге аномалию случайно, могли и год не замечать.


    1. И вот чтобы совсем добить тему миллиона аккаунтов — не буду рекламировать, но точно знаю один рабочий сервис, который предлагает аккаунты AWS с балансом (т.н. кредитом) $100.000 всего за $2.000 — это очень известное предложение, оно рекламируется не на "хак"-форумов, и люди которые занимаются облаками с этим предложемнием прекрасно знакомы. Это противоречит правилам AWS и долго такой аккаунт не живет, но работать работает.


    2. Что касается цены, то обычно когда AWS используют люди которые только-только перешли с on-premise — то они строят на облаках не так эффективно. Поэтому есть куча случаев, когда в проект приглашают какого-нибудь Solutions Architect, который, грубо говоря, настраивает auto scaling groups и делает проекту экономию 30-40%. Когда я прочитал заголовок, то думал что прочту еще одну подобную историю, а не все вот это. Миллион аккаунтов гугл-клауда.



    1. mayorovp
      00.00.0000 00:00
      +1

      Вообще непонятно зачем автору потребовался миллион аккаунтов, когда можно было и на одной (!) учетке сделать тоже самое.

      Я так понимаю, на одной учётке нужны деньги, пусть и чужие. И если начинать воровать их — тут могут и органы возбудиться. Если же использовать бесплатный триал — состав преступления найти труднее, пострадавшая сторона тут только гугл.


      1. Areso
        00.00.0000 00:00
        +1

        Примерно как майнеры, майнившие в Github Actions / Gitlab CI/CD.


    1. nidalee
      00.00.0000 00:00

      Т.е. даже если у нас есть мифический файл с миллином аккаунтов, на моменте входа в 5-6 аккаунт Google начнет требовать ввод капчи, блокировать ip итд.
      Разве вся соль была не в том, что через дополнение браузера эти механизмы не работали?
      Это было возможно только благодаря… расширению Chrome, которое не позволяло сработать проверке безопасности Google и отказать в создании аккаунта.


  1. zergon321
    00.00.0000 00:00

    С другой стороны, если бы эта компания продолжила делать то, что им показал этот чел, т.е. абузить триальные аккаунты GCP и перераспределять нагрузку на них, при этом создавать новые по истечении триала старых, то компания сможет сократить свои расходы навсегда


    1. ArkadiyShuvaev
      00.00.0000 00:00

      На самом то деле, на триале доступны микроинстансы с лимитом в 720 часов/месяц только.

      При создании триального аккаунта нужно вводить номер карты для того, чтобы нагрузка сверх лимита оплачивалась по результатам потребления.

      Т.е. не выйдет создать 100 триальных аккаунтов, т.к. микроинстансы не подойдут для расчета ML/AI.


  1. Skynet2034
    00.00.0000 00:00

    Ну, с чисто финансовой точки зрения компания все равно в плюсе осталась. С "экономией" 90к/месяц - затраты на "специалиста" они меньше чем за месяц отбили :). Главное теперь иски за использование левых аккаунтов не словить.