Про факап на $100K
На интервью я люблю спрашивать про факапы, очень нравится мне слушать такие истории. Кстати, если человек говорит, что фейлов у него в карьере не было, то либо мало работал, либо что-то скрывает. Мне скрывать нечего, косяков я напорол достаточно😃 И вот сегодня расскажу вам историю, как я наказал родную компанию на 100 тысяч долларов
Работал я какое-то время назад в компании, которая занималась монетизацией мобильного трафика. И вот, в какой-то момент времени мы купили китайскую компанию поменьше и ее инфраструктуру надо было интегрировать к нам. А особенностью было то, что компания эта существовала довольно давно и у нее был договор с пачкой мелких китайских вендоров, что их (купленной китайской компании) рекламный SDK был на телефоны этих мелких вендоров предустановлен.
Ну и конечно же шло время, обновлялся андроид, версии SDK обновлялись вслед за ним, а поддержкой этих нонейм-девайсов никто и не морочился. В их ценовой категории дешевле было выпустить новый, чем страдать с поддержкой старого. Но эти девайсы все еще оставались онлайн и генерировали безумное количество паразитного, никому не нужного трафика, который приземлялся на эндпоинты этой купленной китайской компании.
Ну а особенности китайского софтописательства заключались в том, что они пытались сохранить некое подобие обратной совместимости и для новых версий SDK использовали (🤪) теже самые эндпоинты и как-то очень хитровыделанно фильтровали это на балансерах, нормальный трафик пропускали внутрь, а по паразитному отдавали код 400 и благополучно отваливались. Документации на все это естественно не было.
Я еще подивился, что у них схема такая необычная, что весь траф проходит сквозь шесть балансеров на каком-то азиатском хостинге и заворачивается в GCP. В процессе общения (кто общался с китайцами на английском, тот меня поймет) я так толком и не понял для чего это и решил разобраться потом, поджимало время.
Хостились мы тогда у замечательных ребят servers.com, я все это добро затащил у нам в контур, поставил под мониторинг и забыл. Через полтора месяца пишет мне СТО мессагу вида: "Андрей, у нас срочный созвон, через полчаса жду тебя в зуме". Прихожу я в зум, а там несколько директоров и CFO с очень странным выражением лица показывает счет от провайдера на 98 с чем-то тысяч баксов и очень недобро смотрит на меня, спрашивая "откуда все это?". Обычный счет на инфру был в районе ~15К в месяц (точно уже не помню) и я прилично охуел.
Пошли разбираться, быстро нашли причину, я понял основания для балансеров на азиатском хостинге (бесплатный трафик конечно же), быстренько соорудил что-то подобное на каком-то уже европейском хостинге без оплаты за трафик и расходы нормализовались.
Но 100 штук-то были уже потрачены. Я сразу сказал (и не соврал ни на секунду), что компенсировать я это не могу, даже если продам себя по частям, а пожить мне бы все-таки еще хотелось. Так что готов ко всему, выкидывайте меня как щенка нашкодившего если хотите, все было сделано по невнимательности и без злого умысла.
На что мне был дан ответ, что "мое обучение уже обошлось компании в 100 килобаксов и выкидывать меня, по меньшей мере, неразумно" (ну как в известной истории с гитлабом, последствия для инженера были такие же). Вот приятно все-таки работать с умными взрослыми людьми.
В итоге я поднапрягся, пару месяцев работал без выходных и с овертаймами, но таки смог оптимизировать расходы по инфре примерно процентов на 20 и нарисовал график, где мой факап постепенно гасится за счет сэкономленного бабла. В итоге даж премию получил, потому как после погашения моего проеба за счет экономии пошла чистая прибыль.
Вот такая вот история. Вы можете справедливо заметить, что сокращение костов и так являлось моей задачей (я работал в должности Head of Infra) и будете правы. Но в свое оправдание я скажу, что ценник всех устраивал, все было нормально оптимизировано, и за косты мне никто ничего не говорил. Я же проделал очень большую работу с закапыванием в код, кучей коммуникаций с разработчиками и приведения в порядок легаси в одно лицо.
Такая вот история🙂
Post #75
976