В жизни бывают удачные моменты, которыми хочется поделиться, рассказать, чтобы похвалили и за тебя порадовались. А бывают ситуации, которые носят негативный оттенок и от которых никто не застрахован. На них нужно просто учиться и не допускать повторения в будущем. Как и обещал, в этом разделе я публикую не только положительные, но и поучительные истории. В конце концов, ошибка произошла не по моей вине, но так или иначе я был частью команды в тот день (и по-прежнему в ней остаюсь), и разделяю вместе со всеми ответственность. Осталось только рассказать, что произошло и в чем была первопричина.
Вы все прекрасно знаете, что цветы востребованы в любое время года, так как их дарят на праздники, дни рождения, когда хотят кому-то понравится или сделать приятное, кого-то любят, а иногда даже и без повода. Но также известно, что цветочный бизнес имеет некоторую сезонность.
Если посмотреть на историю запросов через wordstat.yandex по одному из самых популярных запросов «доставка цветов», то за любой предыдущий год можно увидеть характерные подъемы: с конца января и до середины марта, в августе и в конце ноября.
Вот какими датами вызваны эти тренды:
- 25 января – Татьянин День;
- 14 февраля – День Святого Валентина;
- 23 февраля – День Защитника Отечества;
- 8 марта – Международный Женский День;
- середина августа – подготовка детей в школу, подарки учителям;
- 25 ноября – День Матери.
И первые три месяца каждого нового года – самые насыщенные для владельца этого бизнеса. Очень важно подойти к этим праздникам во всеоружии. Мы старались, из года в год все было хорошо, но 14 февраля 2018 года нас ждало разочарование.
Немного о проекте: интернет-магазин цветов с доставкой по Москве и МО, основные источники продвижения – контекстная реклама (20%, я отвечаю за это направление) и SEO-продвижение (75%) и e-mail маркетинг (5%). Социальные сети практически не задействованы. Сайт на 1C-Битрикс, обычный хостинг timeweb. Последнее очень важно, дальше объясню почему. И команда разработчиков, курирующая наш проект, была на удаленке. И это в какой-то степени сыграло свою роль.
Существует миф о том, что «цветочники» на эти праздники зарабатывают чуть ли не полугодовую норму выручки, что позволяет им расслабить булки в другие месяцы. Это не так. Да, заказов больше, выручки в разы больше. Но не всегда прибыли больше. Потому что затраты на покупку цветка, услуги флориста, упаковка, аренда помещения, стоимость курьеров, рекламные расходы, возвраты – все это в период повышенного спроса сильно возрастает.
Итак, все было отлично до 14 февраля 12:30 по московскому времени. К этому моменту мы приняли уже более 120 заказов на общую сумму 500 000 руб. И собирались получить еще 200+ заказов по опыту прошлого года. Я даже зафиксировал рекорд одновременного посещения в 100+ пользователей:
В 12:43 произошел первый сбой. Конечно же, мы сразу обратились за помощью к нашим разработчикам на удаленке. Переписка с владелицей в WhatsApp была примерно такая:
Ошибка была и 502 Bad Gateway, и в какой-то момент я успел зафиксировать даже такую:
И это самое пиковое для продаж и заказов время. Разработчики не смогли своими силами выяснить проблему и написали в техподдержку хостинга. Через некоторое время получили такой ответ:
Далее вот такая цепочка отказов сайта:
- 12:43-12:47 = 4 минуты
- 13:01-13:18 = 17 минут
- 13:27-13:42 = 15 минут
- 13:57-14:17 = 20 минут
- 14:26-14:54 = 28 минут
- 14:58-15:15 = 17 минут
- 15:30-15:46 = 16 минут
- 16:08-16:27 = 19 минут
- 16:35-16:37 = 2 минуты
- 16:48-16:51 = 3 минуты
И такой диалог с владелицей:
Я в тот момент не был на точке (слава богу!), и поэтому обо всех эмоциях и переживаниях мог только догадываться из сообщений. Страшно было и то, что копии сайта не было (а точнее, она упала вместе с основным сайтом), и все цветы (букеты) флористам нужно было собирать по памяти. Заказы были, они падали на почту, но вот цветовые решения, количество, форма, картинки и какие-то нестандартные букеты – все это теперь нужно было переспрашивать у клиента или же вспоминать самостоятельно.
Разработчики так и не смогли определить причину падений сайта. В какой-то момент стали даже верить в теорию заговора и DDoS-атаки конкурентов. Хостинг не выдержал? Думали и об этом, однако до 14 февраля было еще и 13 февраля, не менее интенсивный по своим нагрузкам день. Но там все прошло без проблем.
Наш интернет-магазин так и остался лежать до 15 февраля (за оставшееся время мы получили всего лишь 30 заказов), пока я не обратился к человеку, недавно выполнявшему для нас задачу на фрилансе, в качестве независимого эксперта.
Первое, что сразу же посоветовал программист – это поменять хостинг как минимум на VPS (виртуальный сервер), при чем этот сайт вынести на отдельный VPS, так как виртуальный сервер более мощный и более устойчивый.
Анализ log-файлов показал, что никакой атаки не было. Правда один раз кто-то просто выключил сайт на хостинге (13:01-13:18), т.е. это скорее всего не было DDoS-атака или ошибка на стороне PHP, а больше было похоже на то, что кто-то руками на хостинге выключил этот сайт на данный период времени. Это так и было – сотрудники хостинга отключили нас в ручном режиме из-за чрезвычайно высокой нагрузки на сервер. А что явилось причиной такого резкого скачка – предстояло выяснить дальше.
На каждый виртуальный аккаунт хостер выделяет определенные мощности, и при резком выходе за пределы этих выделенных мощностей хостер просто временно отправляет данный аккаунт в игнор, и далее пишет сообщение владельцу аккаунта: «У вас был превышен порог выделенных мощностей, переходите на более мощный и дорогой тариф».
На вопрос:
— «Почему они не говорили нам (текущие разработчики), что лучше перейти на сервер другой, более мощный и более безопасный?»
Я получил вполне конкретный и здравый ответ:
— «Многие прогеры и не будут туда предлагать перевести. Ведь чтобы это сделать, нужны определенные знания в администрировании Linux, а это уже ближе к системному администрированию».
Все сразу стало понятно – некомпетентность. От них мы получали такие сообщения:
Похоже это все-таки DDoS, но какой-то хитрый. Сейчас людей на сайте почти нет, а он делает по 40000 запросов к базе в минуту. Запросы большие, и они переполняют кэш, в итоге ничего не грузится. Вчера нагрузка была больше по количеству людей, но сайт справлялся, не было таких проблем. Развернули копию сайта, симулировали заход большого количества пользователей. Он начинает подвисать. Надо переезжать на VDS. Дальше сайт будет работать и в плановом режиме разбираться.Теперь даже я знаю, что DDoS — это не про запросы к БД. Если к веб-серверу запросов нет, а к БД есть, то это не DDoS, а какие-то внутренние проблемы… В общем, 0 level. Уровень разработчиков сразу стал понятен в стрессовой и нестандартной ситуации. За 1,5 дня команда из 3-4 человек так и не смогла понять причину падения магазина и восстановить его работоспособность.
В какой-то момент в дело вступили и SEO-шники со своими советами. Они:
- Снизили нагрузку на сайт со стороны ботов Яндекса через robots. Пока поставили жесткие ограничения;
- Снизили нагрузку со стороны ботов Google на сайт через Google Webmasters;
- Снизили нагрузку на сайт от разных ненужных нам ботов, закрыв их через файл .htaccess.
Разработчик, который нам помогал во всей этой истории, на данные правки отнесся с насмешкой и сказал, что это здесь абсолютно не причем. Нужно было что-то предпринимать, пока кто-либо не зачистил следы или не сделал еще хуже.
Мы полностью доверились независимому программисту и стали ждать от него новостей. А сайт все висел, не давал даже в админку зайти. В итоге разработчик снял копию сайта прямо с хостинга и разместил у себя локально.
Небольшое отступление: интернет-магазин работает с 2015 года, за это время обслуживался у нескольких агентств по SEO-продвижению. В этих агентствах сменилось достаточное количество разработчиков и у каждого из них был свой доступ. Как позже выяснилось, чуть ли не каждая «собака» имела администраторский доступ к сайту. И у SEO-шников в том числе.
Первым делом были закрыты все доступы. Да, разумеется, 1С-Битрикс тем и славен – можно не иметь доступов, а лишь кучу скриптов, которые при запуске смогут восстановить и добавить администратора. И если кто-то из людей, которые имели доступы к сайту (а их было с десяток) такой скрипт куда-то подложил, то без проблем сможет запустить его и получить доступ как админ и нагадить…
Через некоторое время мы получили от него первые результаты:
Виновного по имени не назвали, но ответственный тот, кто делал это:
\Bitrix\CmskassaEkam\CheckListTable::loadUpdates()
В Битриксе есть такая штука — так называемые агенты. Это задания (выполняющийся программный код), которые запускаются в определенный период времени. Запуск этих заданий (агентов) происходит с хитами обычных пользователей, пришедших на сайт. Агентов создают разработчики, если нужно выполнять какой-то код в определенный промежуток времени, который должен что-то делать на сайте в этом заданном периоде.
EKAM – это онлайн-касса и автоматизация розничной торговли. Модуль связывает интернет-магазин с фискальным регистратором для формирования чеков из CMS «1С-Битрикс» по «54-ФЗ о применении контрольно-кассовой техники» с помощью онлайн-кассы ЕКАМ.
Сама касса стоит локально (в офисе), штатный функционал Битрикса по кассам не устроил по причине отсутствия обратной связи, в то время как техподдержка EKAM отвечал беспромедлительно.
Так вот, на сайте был установлен модуль «ЕКАМ.Онлайн (cmskassa.ekam) cmskassa.ru» и кто-то повесил запуск одной из функций из этого модуля «\Bitrix\CmskassaEkam\CheckListTable::loadUpdates()» на агента. Эта функция очень тяжелая (вешающая) для сайта. Таким образом, когда происходил очередной запуск данного агента, сайт ложился очень-очень надолго.
Осталось вспомнить кого мы последний раз подключали к задаче по решению вопроса с EKAM модулем. Как позже выяснилось, совсем недавно владелица интернет-магазина обращалась за помощью к специалистам EKAM (чеки печатались через раз), и они что-то делали на сайте, доступ на уровне администратора им был предоставлен.
Работоспособность сайта удалось восстановить, но нагрузки изредка появлялись и еще 1-2 дня заставляли сайт виснуть на 10-15 минут. 15 февраля я был на одной из конференции по электронной торговле и встретил на стенде сотрудников EKAM. Описал текущую ситуацию, нашей задаче сразу же поставили высокий приоритет. Однако ответ был не слишком конкретным, а вскоре техподдержка EKAM и вовсе подзабила отвечать и решать наш вопрос:
Нас попросили сделать стандартные вещи… Но при этом сотрудники EKAM забыли упомянуть об изменениях, произведенных в модуле их разработчиком вручную в конце января на нашем сайте.
Дальше мы просто экспериментировали с включением/отключение агентов и самой кассы, чтобы она не печатала и наоборот. И как только поняли, что ответ от специалистов не получим, что переделывать модуль никто не собирается, приняли решение штатным функционалом связать кассу и магазин.
На текущий момент все работает хорошо, мы реабилитировались за День Святого Валентина на 8 марта. При этом даже еще не переехали на виртуальный сервер, хотя нагрузки на сайт на Международный Женский День были куда выше, чем на 14 февраля.
Из всей этой ситуации на День Святого Валентина мы вынесли очень много полезного, а именно:
- необходим тотальный контроль;
В силу того, что сайт – это единственный источник привлечения клиентов, нужно было уделить больше внимания его защите и всем процессам, построенным вокруг него:
- осуществить переезд на выделенный сервер;
закрыть администраторские доступы тем, кому он не нужен в принципе;
вести LOG-файлы всех задач, которые были сделаны, чтобы потом можно было найти крайнего;
развернуть копию сайта (она была, но на том же хостинге, и упала вместе с основным сайтом), картинок, описаний товаров, чтобы была возможность посмотреть хоть на свой ассортимент.
- надо нанимать заинтересованных и компетентных сотрудников;
Как правило, в агентствах одной командой одновременно ведется большое количество проектов. И количество времени, которое они тратят на работу над одним проектов в день, сильно ограничено. Перерабатывать смысла нет, так как сидят за оклад. Мотивация минимальна. Да, фрилансер тоже ведет много проектов одновременно, но здесь он отвечает своей репутацией, в то время как в компании сотрудник – это приходящее/уходящее звено. Не вышел на связь – ну и ладно. Рабочий день закончился – завтра посмотрю.
Навыки и опыт очень важны. Если бы мы обратились к независимому разработчику раньше, уверен на 100%, что количество падений сайта было бы сведено к минимуму.
- каждый должен заниматься своим делом;
Я отвечаю за рекламу, флористы – за конечный букет, разработчик – за работоспособность системы, seo-шники – за продвижение и т.д. Никто не должен лезть в чужие процессы. Увы, так бывает не всегда…
- это не конкуренты, это у нас руки кривые;
Так оно и есть. Из пункта выше следует, что каждый занимается своим делом. У конкурентов в этот день и так забот и своих проблем хватает. Они погружены в свои процессы, им некогда думать о том, что происходит вокруг. И уж тем более устраивать DDoS-атаку на сайт не самого сильного игрока на рынке. Хотя, я могу быть слишком наивен и ошибаться.
- чем больше в цепочке звеньев, тем сложнее найти крайнего. Да и стоит ли вообще искать?
Возможно, сотрудник компании EKAM в своих последних изменениях допустил ошибку, которая привела к катастрофическим последствиям в один из самых главных дней в году. И сделал он это неумышленно. А быть может, это не только он. Кто теперь разберется. Да и искать виноватых смысла нет. Каждый из нас на своем этапе допустил оплошность, которая в конечном счете привела к потере 200 заказов и 1 миллиона рублей.
Мы усвоили урок и надеемся, что в будущем таких проблем удастся избежать.
Комментарии (146)
oxidmod
18.03.2018 00:00+1чтобы потом можно было найти крайнего
Это самое главное!
Не культура разработки, не CI\CD… Главное найти крайнегоalgotrader2013
18.03.2018 14:10Рекорд в 100 одновременных пользователей… хостинг… такому проекту CI/CD как-то слишком на вырост что-ли. Может лучше просто волевой запрет на кастомные решения, и только коробочные (или облачные) без единого изменения в скриптах в принципе. Все таки, если IT — не ключевая компетенция данного бизнеса, то может и не стоит туда лезть. Да и почитав переписку, сочувствую людям, которые работают с заказчицей. Все таки, в таком проекте вряд ли наберешься полезного опыта (кроме опыта расчистки авгиевых стаен), да и что-то мне кажется, что и денег сильно выше рынка не получишь тоже…
dom1n1k
18.03.2018 14:21А я сочувствую заказчице. Несколько экспрессивных выражений в состоянии аффекта — ничто по сравнению с перманентной некомпетентностью.
oxidmod
18.03.2018 19:36Бесплатные TravisCI/GitlabCI на вырост?
staticlab
18.03.2018 20:01+1Travis бесплатный только для OpenSource. Для проприетарных проектов — от 69$ в месяц.
oxidmod
18.03.2018 21:16В магазинчике на битриксе столько корпоративных тайн, что выложить его в паблик репо невозможно.
зы. Gitlab вместе со своим CI по прежнему доступен, если боитесь что ваши сорцы украдут индусы
algotrader2013
19.03.2018 22:59Это они для вас бесплатные, а для владельца бизнеса стоят оплачиваемого времени фрилансеров на настройку их и доп окружений без осязаемого business value.
sergeyns
19.03.2018 13:21Ну как же без доработок! У нас же совершенно уникальная палатка по продаже шаурмы с уникальнейшими бизнесс-процессами )))) *сарказм-mode*
Hixon10
18.03.2018 00:03+1Какие странные сообщения от девушки в телеграмме. Ругать разработчиков, экономя на айти — как это близко нашему менталитету.
Почему владелец бизнеса не проводит регулярное нагрузочное тестирование своего проекта? На этом этапе можно понять, какое требуется железо под планируемую нагрузку.
Когда сайт, который реально зарабатывает деньги, хостится на каком-то «общем хостинге» — тоже, наверное, что-то идёт не так.
Интересно, как обстоят дела с БД? Есть ли синхронная репликация, или это тоже единая точка отказа системы.yoshitoshi
18.03.2018 02:04Вряд ли владелица бизнеса слышала фразу «нагрузочное тестирование». Это вообще не её забота.
По поводу «экономить на IT» — почти невозможно понять, что квалификация текущего персонала хромает, пока не случаются такие вот ситуации. До этого все работало? Да. Ну и славно.
А вот у тех, кто запихнул Монстробитрикс на виртуальный хостинг, стоит уточнить, все ли у них в порядке. Учитывая, что ни для кого не секрет, как битрикс прожорлив до ресурсов.
hudson
18.03.2018 10:05Если единственный канал поступления заказов — это сайт, то тут просто необходимо разбираться в матчасти, хотя бы на уровне понимания основ «как это работает» и сопутствующих рисков. Не умеешь сам — найми того кто знает (попросить приглядеть «по дружбе» тоже не прокатит) и прислушивайся к нему (это тоже важно).
Как тут уже несколько раз упоминалось — при таком отношении к основе бизнеса рано или поздно это бы произошло.VolCh
18.03.2018 15:39Ну, скорее всего и был нанят тот, кто заявил, что знает. Это общая проблема найма узкого специалиста: ты не можешь проверить в этой области ни его квалификацию, ни квалификацию тех, кто объективно мог бы её проверить.
Busla
18.03.2018 10:59Единственная забота владельца бизнеса — нанять квалифицированного управляющего. Который в свою очередь «нагрузочное тестирование» проведёт не только на сайте, но и на логистике, и прочих аспектах — тогда и ситуация «все это в период повышенного спроса сильно возрастает» развернётся в сторону: «оптом всё дешевле».
funca
18.03.2018 14:55так может у них тренд роста костов такой, что случившийся падеж еще и спас им бизнес от разорения?)
staticlab
18.03.2018 14:13Вряд ли владелица бизнеса слышала фразу «нагрузочное тестирование». Это вообще не её забота.
А дело в том, что, судя по всему, в данной компании это вообще ничья забота. Сайт поддерживают либо аутсорсеры, либо фрилансеры. А вот с переездом на VPS всё может только усложниться: сервер нужно правильно настроить, самостоятельно обслуживать. Один нерадивый сотрудник поставит вешающую крон-задачу, другой вообще влепит майнер, а третий скопипастит
rf -rf
с первого попавшегося форума.F0iL
19.03.2018 11:50… плюс еще периодически затыкать дыры в безопасности, ставить хотфиксы и экстренные обновления после внезапно найденных CVE в системных и серверных компонентах.
vics001
18.03.2018 16:01Задача управляющего (может и не владельца) обеспечить постоянный доход и прежде всего проверить, что все операционные задачи выполняются правильно. Если вы управляете отелем и к вам приедет в 5 раз больше посетителей — это ваша задача уточнить сколько сотрудников выйдет на работу?
imikh
18.03.2018 19:06Обработка праздников, тем более, когда рост нагрузки предсказуем, является операционной задачей. Потому что эта задача возникает в основной деятельности компании и с известной регулярностью.
Zavtramen
18.03.2018 00:04«Идиоты, уроды, лохи», я понимаю что в сердцах все мы можем так сказать, но выкладывать это в виде переписки, которую могут увидеть вышеперечисленные люди, это явный перебор.
Да еще и в итоге вроде как оказались виноваты совершенно другие люди.xakepmega
18.03.2018 12:32Вот поэтому лично я не сотрудничаю в СНГ IT)
AllexIn
18.03.2018 20:20А я сотрудничаю в СНГ с IT. И ни разу оскорблений не было.
Areso
18.03.2018 21:11Это вам повезло. Многим не то что оскорбления, угрозы сыпятся регулярно (а если что — закопаем(с)). Примерно как в той истории на Хабре с арабами и кинжалами, вах, только по-русски и без гнутых кинжалов.
habrahabr.ru/post/177477 там некоторые на соотечественников жаловались в комментариях.
MacIn
19.03.2018 18:36Там нет указания личных данных, поэтому в раскрытии таких пассажей публично нет ничего зазорного.
Да еще и в итоге вроде как оказались виноваты совершенно другие люди.
И да и нет — те, кого ругали, не смогли найти косяк третьих лиц, писали ерунду про DDoS. Только дополнительно привлеченный специалист разобрался, вместо них.
Или я неверно понял текст?
CAJAX
18.03.2018 00:04+1Запуск этих заданий (агентов) происходит с хитами обычных пользователей, пришедших на сайт
cron для бедных? Нельзя настроить настоящий? Даже на шаред-хостингах есть такая возможность уже лет 15yoshitoshi
18.03.2018 02:05Это же битрикс.
У них “свой собственный путь ©” :-)VSOP_juDGe
18.03.2018 07:22В битриксе есть штатная возможность перевести все задания с агентов на крон (и это рекомендуется делать в документации).
По умолчанию исполняется на хитах, видимо для совместимости с шаред-хостингами без крона.saege5b
18.03.2018 09:49Есть сервисы внешнего крона.
Я сам делал в паре своих поделок.
Было бы желание.
robert_ayrapetyan
18.03.2018 00:15С большинством выводов не соглашусь — в реальности случаев, когда свои разрабы, в своем ДЦ и штатными админами косячат не меньше, чем описано. 1.5 дня на фикс, конечно, многовато, но в больших энтерпрайзах подобные проблемы могут дольше оставаться вообще незамеченными, там только письмо от клиента до команды поддержки несколько суток может спускаться.
berezuev
18.03.2018 00:20Ёжики плакали и кололись, но продолжали
жрать кактусиспользовать Битрикс… Наберут по объявлению, потом жалуются…yoshitoshi
18.03.2018 02:09Это порочный круг: разработчики сайтов всем советуют битрикс, потому что на нем много сайтов. И, в итоге, на нем много сайтов, и поэтому его все советуют.
Да, ещё заветные «1С» рядом с названием «битрикс» вызывают у начальства положительные эмоции. Им вообще невдомек, насколько эта 1С кривая и косая, это технари понимают.
i86com
18.03.2018 10:50на нем много сайтов, и поэтому его все советуют.
Дважды не соглашусь.
Как раз таки разработчики Битрикс не советуют. Только люди, которые получают процент от привлечённых пользователей (в этом смысле они уже выступают в роли менеджеров по продажам или «наводчиков» — выбирайте по вкусу).
А сайтов на Битриксе не так много (особенно, до сих пор активных), просто много разговоров и уговоров. Как положительных (от лица финансово заинтересованных людей), так и отрицательных (от лица всех остальных).
Так что там порочный круг скорее из серии «на деньги одного привлечённого пользователя можно привлечь ещё двоих».
VSOP_juDGe
18.03.2018 07:23В этой статье можно поменять битрикс на мадженто или симфони — по сути ничего не поменяется.
neenik
18.03.2018 02:12Как мы сделали факап и продолжили считать, что виноват кто угодно, но только не мы.
boilroom
18.03.2018 03:32«Пока гром не грянет, мужик не перекрестится». Стандартная ситуация для «не-IT» бизнеса: если что-то работает в данный момент, то всем плевать как это происходит и насколько надежно состояние. Десятки раз встречал такое. Причем, в 98% случаев все попытки сказать, что неплохо было бы проверить-подумать-наладить приводили к реакции «да не бзди (простите, благородные доны, но это цитата), интеллигенция!». И, судя по тону переписки в WhatsApp, данный владелец относится к этим 98%. Хотя, конечно, могу ошибаться, кто знает.
И по поводу скринов переписки: я не великий моралист, но бранные слова и имена лучше замазывать. И второе: исключительно по тону и содержанию переписки владелица данного магазина не вызывает у меня ровно никакого сочувствия. Паника и истерика в критической ситуации — отвратительно. Рабочая переписка с использованием бранных слов — еще хуже. Несколько раз в жизни общался с людьми, которые просто не способны понять, что когда кто-то работает над серьезной проблемой, то отвлекать его десятками сообщений по три слова — плохая идея. Это как хирурга за руку дергать, который тебя оперирует.
И еще: на одном из скринов написано «нагрузка 293 из 250». И красивый график, согласно которому сайт оказывал на хостинг нагрузку выше лимитов и раньше. Например, 2-го и 12-го февраля. И никто не заметил в этом ничего неправильного? А если посмотреть тот же график за предыдущий месяц?ToshiruWang
19.03.2018 16:48IT? У них то же самое с электрикой и стройкой обычно, пока штукатурка на голову не упадёт — экономить не перестанут, и хорошо, если штукатурка. После пожара могут попытаться контролировать электрику, но т.к. экономят и «я сам с усам», то их обводят вокруг пальца и что скрыто за панелями — хорошо, если не очень опасно. Бьющие током конструкции — норма, главное — экономия. И истерики «аааафсекозлы, никто не работает» в случае вполне ожидаемых проблем.
boilroom
19.03.2018 16:59Да, я, пожалуй, не совсем точно выразился в своем комментарии. Я имел в виду исключительно разницу в отношении к сайтам и т. п. в IT и «не-IT» бизнесе. Отношение к неосновным (с точки зрения бизнес-процессов) и непрофильным вещам почти везде и почти всегда отдает раздолбайством пока не грянет тот самый гром. Сам грешен. Единственное, что хотелось бы отметить: все-таки у рассматриваемого бизнеса неожиданно сломался основной, хоть и непрофильный инструмент. А это уже раздолбайство следующего уровня
ToshiruWang
19.03.2018 17:08+1Согласен. Это как автомобили в службе доставки — можно ничего в них не понимать, но когда они являются основой бизнеса, то нужно хотя бы иметь в штате человека, который будет следить за своевременностью ТО и ремонта (если свой гараж не имеет смысла из-за малых объёмов) и координировать это дело, а то в самый пик «ой, сломалось».
VolCh
19.03.2018 18:09Ну не скажите. Это не "IT" и "не-IT" играет роль, а руководство.
boilroom
19.03.2018 18:13Конечно. Я просто привел личную статистику и субъективные ощущения об отношении к одному из основных инструментов продаж (сайту) у «IT» и «не-IT» и не более того. Раздолбаи есть везде. Плохие начальники и бестолковые менеджеры — тоже.
cat_crash
18.03.2018 03:46Битрикс, Шаред хостинг (явно выбирался из принципа — подешевле), Фрилансеры отвечающие за ядро бизнеса. Произошло ровно то что должно было рано или поздно произойти.
shushu
18.03.2018 05:48Осталось вспомнить кого мы последний раз подключали к задаче по решению вопроса с EKAM модулем.
Т.е гитом вы не пользуетесь?
vagran
18.03.2018 08:29+1Вот тот же вопрос. В случае отрицательного ответа пункт про тотальный контроль вызывает улыбку. Кстати, есть более общий вопрос — неужели в веб разработке это норма? Я несколько раз сталкивался при заказной разработке сайта — люди со стороны, работающие над ним на разных этапах, вообще не знают, что такое системы контроля версий.
staticlab
18.03.2018 11:12Отрасль веб-разработки (если брать в широком смысле) достаточно большая, и в ней есть свои сегменты. В низшем сегменте (и по квалификации, и по цене) студии и фрилансеры как раз пилят ширпотребные сайты на движках. Да, такой сегмент не пользуется даже гитом, не говоря уже о CI и тестировании. Код правится, зачастую, прямо на боевом сервере или через FTP, или через админки CMS. Причём такая практика воспринимается разработчиками как идеальная: "Нам некогда с этим всем разбираться, да и будет медленно, а тут быстренько поправил файл — и заказчик уже может посмотреть". К тому же, такой подход архитектурно допускает PHP (код интерпретируемый — не нужно пересобирать, сервер заново запускает приложение на каждый хит — поддерживается "горячая" замена кода).
В более высоких сегментах, разумеется, появляются и фреймворки, и контроль версий с аудитом кода, и системы непрерывной интеграции, и менеджеры зависимостей, и промежуточные среды, и тестирование.
Так что всё действительно упирается в культуру разработки. А чтобы её культивировать и контролировать, в компании должен быть опытный CTO.
ToshiruWang
19.03.2018 16:59+1Взяли мнящего себя крутым фрилансера стажёром, дали задачу — он что-то сделал на продакшене не то, я развернул из бекапа последнюю актуальную версию (прод лежит — не хорошо) — крики-визги «ты удалил что я там сделал», «ну так выложи из репозитория», «какого? я прямо там правил». Проработал не долго — уяснить некоторым технологию «делаем локально, сохраняем в репозиторий, тестируем на тестовом полигоне, выкатываем на прод» вместо «тяп-ляп по месту» не всем дано понять, даже со второго раза. Зачем ему давали доступ к основному телу — загадка (кто-то из менеджеров, они не видят разницы между продом и тестом и впечатлились резюме, обучение как-то прошло мимо ушей). Сейчас, наверное, очередной магазин цветов окучивает подобным образом (или за годы понял как оно). Зато у него плюс — заказчик позвонил и ещё до конца разговора видит только придуманное изменение. Или упавший сайт. Как повезёт.
remzalp
19.03.2018 13:01Git и Bitrix это замечательно, но как-то коряво.
Учитывая, что автоматическое обновление способно перелопатить половину файлов, а структура проекта такая, что явно обновление ядра от дополнительных правок не всегда получается отделить.
Там нет такого, чтобы:
/bitrix/core — только ядро, которое от авторов
/bitrix/plugins — то, что правится очумевшими ручками фрилансеров.
lipton_ice_tea
18.03.2018 07:52Увидив скриншот с ошибкой, сразу улыбнулся: ах этот Битрикс… Мощный, надежный, популярный… А потом что-то идет не так… И никто не понимает «в чем же дело?! почему так получилось?!»
А вообще надо оптимизировать серверную часть работы сайта, выполнение скриптов и обращения к базе! Тогда и «прожорливости» меньше будет гораздо)
remzalp
19.03.2018 13:03Эпичнейшие слова встречаются иногда:
foreach ($products as $product) sql_query($action,$product['id'])
michael_vostrikov
18.03.2018 10:43+1«Почему они не говорили нам (текущие разработчики), что лучше перейти на сервер другой, более мощный и более безопасный?»
«Многие прогеры и не будут туда предлагать перевести. Ведь чтобы это сделать, нужны определенные знания в администрировании Linux, а это уже ближе к системному администрированию».
Все сразу стало понятно – некомпетентность.
— Почему мой стоматолог не сказал мне, как лечить простуду?
— Многие стоматологи и не будут говорить. Ведь чтобы это сделать, нужны определенные знания, это лучше к терапевту обращаться.
Некомпетентность.VolCh
18.03.2018 15:55Скорее:
- Почему мой стоматолог не предложил начать открывать бутылки открывалкой, а не зубами?
- Многие стоматологи и не будут говорить. Ведь чтобы это сделать, нужны определенные знания в бытовой технике, а это уже ближе к инженерии.
michael_vostrikov
18.03.2018 18:47Я перевел то, что имел в виду независимый эксперт. Автор сделал из этого неправильный вывод. Конечно неплохо, если они это знают, но в общем случае это необязательно. Человек может год кодить на Битриксе и не иметь дела с серверами, так как этим занимается сисадмин.
Там вообще не очень понятно. Судя по цитате далее «Надо переезжать на VDS» они все-таки что-то говорили.VolCh
19.03.2018 07:18Системные требования — это дело разработчиков, админы должны их исполнять, а требуют разработчики.
pyrk2142
18.03.2018 10:58Ох, а если бы кто-то действительно начал бы ДДОСить этот сайт с такой командой поддержки… Это сколько времени потребовалось бы для того, чтобы понять, что вообще происходит.
apapacy
18.03.2018 16:14ДДОС это специфическая тема. 99% сайтов которые не под защитой лягут под простым стресс-тестированием. Правда его легко вычисить по ip адресу и отключить. Просто защита должна быть поставлена точно так эе как настроен почтовый сервер или сервер баз данных. Если ее нет тодаже маленька атака на 7-й уровень с минимального количества устройств достаточного для того чтобы их нельзя было отключить по одному положит среднестатистический сайт с вероятностью 100%.
win0err
18.03.2018 11:14Сделать сайт на Битриксе, а потом удивляться, что он ВНЕЗАПНО плохо работает ?_(?)_/?
Amareis
18.03.2018 12:16Мне вот интересно, если бы были нормальные разрабы с нормальными технологиями, насколько дороже сайт бы обошелся бизнесу? Все же, думаю, меньше чем на этот потерянный миллион.
imikh
18.03.2018 12:26Потерян 1 млн выручки. А прибыли вполне возможно там с гулькин нос.
Amareis
18.03.2018 12:40Ну думаю что тысяч сто-двести прибыли бы набралось. Хм. Мне, конечно, неизвестно, сколько именно за этот сайт заплатили и сколько он стоил бы у более профессиональных профессионалов, но вполне возможно что бизнес ещё и в плюсе остался.
un1t
18.03.2018 13:40Ну думаю что тысяч сто-двести прибыли бы набралось.
Наверно, скорее ближе к ста. Но это только два месяца в году. Что-то я с трудом могу представить как вы нанимаете профессионального разработчика за 100 тыс рублей, и что он будет делать остальные месяцы? Понятно же что при такой прибыли денег может хватить только на фрилансеров и готовые решения.
JC_IIB
18.03.2018 12:57Угу, особенно если учесть, как накручиваются цены на цветы в ДСВ и 8 марта…
un1t
18.03.2018 13:29Магазин закупает цветы уже по накрученным ценам.
artyums
18.03.2018 20:22Не сказал бы. Когда я крайний раз с этим сталкивался невольно, у оптовиков цены были ± такими же, как обычно.
Оптовики зарабатывают не на ценах, а на объемах. В отличие от розницы, для которой оптимальнее продавать меньше, но дороже.
SergeyMax
18.03.2018 12:56После прочтения создалось ощущение, что пацаны так и не поняли, в чём была проблема.
JekaMas
18.03.2018 13:50Судя по выводам, такое еще не раз случится. Владелец бизнеса им не управляет, в происходящем не разбирается. Вопрос времени, что там еще навернется и где. Сайт ли упадет, база ли сотрется без бэкапа, сео ли провалится, залетев в бан…
Удачи. У вас очень узнаваемый отечественный бизнес...imikh
18.03.2018 19:17+2У вас очень узнаваемый отечественный бизнес...
Зарубежный бизнес, в т.ч. в США, точно такой же.JekaMas
18.03.2018 19:58Говорю со своего опыта: различия есть, для меня, значительные. Пока работал с мелким бизнесом отечественным, то относительно проблемными были где-то с половину клиентов: проблемные, это когда владелец нифига не хочет ни понимать, ни платить, но чтоб работало. То же для европейского рынка: два проблемных клиента за 3 года, один в Испании и один из Англии. И оба наши, русскоговорящие: белорус и украинец. Более жадных до неадекватности, мне встречать не призодилось. Классика, когда сайт — главный источник заказов, но "давайте уложимся в 30-20-10 тр".
Очень рад, что перестал работать с подобными заказчиками.Kwisatz
18.03.2018 20:35Очень знакомо коллега. Сайтами не занимаюсь но регулярно просят подумать посчитать.
Не так давно был вообще феерический случай. Сайт предполагает презентацию нескольких заведений на одной территории. Описания, статьи, меню, фото, заказ. Большей части фотографий просто нет. Те что есть существуют в ужатом до непотребства виде или корректированы до кислотных цветов. Причем заведение люксовое. Объясняю что для доставки и грамотного исполнения нужно продумать и наладить бизнес-процессы, нанять фотографа, нанять копирайтера, нанять дизайнера и прочие нюансы. Получаю ответ: нам только каркас, да недорого, ибо любой студент его соберет за 30 тысяч. Говорю спасибо, нет, не желаю иметь с этим ничего общего. Договариваемся поговорить еще раз когда наймут нормального маркетолога, ибо «нужен профессионал который скажет как делать». Созваниваемся с ним. На удивление очень приятный специалист, поговорили, выяснили что у него есть контакты хороших специалистов в Москве (у нас их просто нет), сошлись на том, что созвонимся, когда будет понимание с чем будем работать. И пропал. Потом выяснил что его уволил собственник с формулировкой «это я и так сам знаю».JekaMas
18.03.2018 22:33Да, у всех истории похожие.
Рад за вас, что оставили эту область. Как впрочем и я, разработкой сайтов лет 6 не занимаюсь.Kwisatz
19.03.2018 01:06Когда просто хотят сайтик подешевле это одно. Но вот когда фабрика по пошиву одежды не имеет учета продукции и хочет интернет-магазин это уже другое.
А уж очень состоятельный человек, который хочет сайт для люксовых заведений с тем же подходом это вообще абзац.
Тоже крайне рад за вас, такое себе это занятие)
un1t
18.03.2018 14:00+1Многие написали, вроде бы правильные вещи, про нагрузочное тестирование или найм профессиональных разработчиков. Но не учли главного. Это мелкий бизнес. Могу предположить что владелец этого бизнеса зарабатывает на уровне среднего разработчика. При таких доходах найм профессионального разработчика не выполним. Только фрилансеры, только готовые решения, только чинить уже сломанное. Даже если предположить, что владелец бизнеса зарабатыват в 2 раза больше и чисто теоретически может себе нанять адекватного разработчика, то тут возникает другая проблема. Хорошие разработчики не хотят работать в подобных компаниях, т.к. нет других разработчиков и владелец ничерта не понимает в IT. Не видать тут вам докеров, реактов, микросервисов, лямда-архитектуры, машинного обучения, блокчейна или что там сейчас модно.
algotrader2013
18.03.2018 14:32Даже если предположить, что владелец бизнеса зарабатыват в 2 раза больше и чисто теоретически может себе нанять адекватного разработчика
А захочет ли? Поставьте себя на место владельца бизнеса. Он (или она) годами учился нагибать поставщиков, решать вопросы с представителями власти, контролировать подчиненных чтобы… э… отдавать половину честно заработанного парню, который и десятой части из этого не умеет?humbug
18.03.2018 16:21Не половину заработанного, а 5-10% от выручки. С учетом стоимости факапа это не такая уж и большая цена. У них пачка фрилансеров обходится дороже.
funca
18.03.2018 14:44Сказка о попе и его работнике Балде. Только каковы были истинные цели сеошника, решившего поведать нам (с гуглом) эту историю, наполненную пылкими речами и драматизмом?
apapacy
18.03.2018 15:08А какая цель СЕОшника вцелом? Статья написана для приглашения на хабр.цель достигнута. Кстати вопрос к автору в бауманке уже и сео читают?
VolCh
18.03.2018 15:57С другой стороны, как раз в подобных бизнесах можно получить опыт докеров, реактов, микросервисов, лямда-архитектуры, машинного обучения, блокчейна или что там сейчас модно, особенно если речь о технологиях не требующих бюджетирования.
Vasyutka
18.03.2018 21:05тогда это история про «у нас ОЧЕНЬ мало хороших разработчиков», настолько мало, что бизнесу (малому в конкретном случае, но у корпораций проблемы те же) их не видать :(. Впрочем, как и мало у нас хорошего малого бизнеса…
uploadfor
18.03.2018 14:48И ведь наверняка это не последняя история факапа от пользователей группы «Б».
tegrato
18.03.2018 15:32Посмотрите на облачные варианты реализации интернет-магазина, типа ecwid и ему подобные
super-guest
18.03.2018 16:00Осторожно: В статье присутствует нецензурная брань (как минимум в скриншотах)!
Предупреждения об этом перед началом статьи — не видел.
Dessloch
18.03.2018 16:17+2Типичная ситуация для российского бизнеса. «Никогда такого не было и вот опять».
1. Разработчки-не админы.
2. Битрикс требует повышенного внимания специалиста именно по Битрикс.
И вот мне что ещё очень «нравится» в российском бизнесе: главное-найти крайнего. В иностранных компаниях совсем другой подход-понять почему это случилось и что надо сделать чтобы не повторилось. А в России-нашли крайнего, отругали/уволили/наказали и забыли о проблеме до следующего раза.
Я просто уверен что никаких выводов сделано не было, переезд на другой хостинг это частичное и временное решение проблемы и через некоторое время мы снова будем читать статью от того же автора об очередном падении.
Про словарный запас бизнесвумен и штриховку тут сказали, целиком согласен. Собственно это и объясняет первоисточник проблем-отсутствие образования и воспитания.imikh
18.03.2018 19:25+2И вот мне что ещё очень «нравится» в российском бизнесе: главное-найти крайнего. В иностранных компаниях совсем другой подход-понять почему это случилось и что надо сделать чтобы не повторилось. А в России-нашли крайнего, отругали/уволили/наказали и забыли о проблеме до следующего раза.
Мы работаем попроектно с разными компаниями по миру, в основном США и Европа. Всё ровно то же самое. Впрочем всё это и в западном кино показано и в литературе тыщу раз описано (хотя бы Принцип Питера почитать).
Areso
18.03.2018 16:25Многократно написали выше:
1) Битрикс на Шаред хостинге даже без каких-либо изменений должен был когда-нибудь выйти за пределы потребляемых ресурсов и далее по сценарию быть выключенным. Да, timeweb такой timeweb. Удивительно, что это не произошло раньше. А еще битрикс настолько прожорлив, что даже продающие его люди, рекомендуют ставить на VPS. Причем не на каждый — а с честным резервированием ресурсов.
2) Разработка нового функционала и ремонт старого это немного разные задачи. Уметь надо, но не каждый умеет. Этот навык стоит отдельных денег, а без него получается не всегда и может занять прилично времени. Жаль, но даже в нормальном IT далеко не все это понимают (у ТС это не нормальный айти, это уровень ларечника в интернете).
3) Про Git уже написали, повторяться не буду.Kwisatz
18.03.2018 20:391. ВСЕ сайты на битриксе должны включить slow query log и проверять его постоянно. Разработчики битрекса, видимо, не знают что такое индексы. Особенно это смешно, учитывая их универсальную структуру, сложные запросы и таблицы-со-всем-подряд.
elegorod
18.03.2018 16:37Статья (а именно скриншоты переписки) в первую очередь характеризует автора и владелицу как нехороших людей, которые не уважают разработчиков, а безосновательно считают их идиотами и лохами. А себя, видимо, самыми умными. Ещё пойму, если бы это сказали на курилке в частном разговоре, но выкладывать на весь Интернет — явно перебор.
Я бы на месте программистов перестал бы работать с такими клиентами, раз они не умеют по-человечески относиться к людям. Работать с ними — себя не уважать.apapacy
18.03.2018 16:59+1Как свидетельстует подпись в эккаунте атора он не имеет отношения к цветочному бизнесу. Он такой-же фрилансер и как и приглащенный им фрилансер-эксперт. Так что фраза «мы облажались» это автор к себе не тоносит т.к. деньги потерял владеец бизнеса а ошибка была неизвестно чья. Т.к. разработчики тот самый сбойный оператор не втсавляли в текст. И посе того как его убрали у меня сразу возщник вопрос. А что же с кассой. Этот оператор был заплаткой т.к. у них не была настроена связь с кассой и не печаталась часть чеков. Ненормативная лексика должна была способствовать продвижению статьи. А статья продвижению сайта автора. См. СЕО, граждане, СЕО.
Показать снимок экранаUgrum
18.03.2018 17:38+1Автор конвертирует свой опыт в известность/узнаваемость/собственное продвижение, используя свои профнавыки и это нормально, кмк.
«Nothing personal, just business».
«К этому моменту мы приняли уже более 120 заказов на общую сумму 500 000 руб».
А вот это уже более интересная информация, про средний чек цветочного интернет-магазина.YakovO Автор
19.03.2018 10:47+2Очень жаль, что большинство комментаторов ищет в статьях пользователей какой-то подвох, PR себя и т.д. Может быть вообще нет смысла писать на хабре, а сидеть и комментировать только чужие материалы?
Решил действительно поделиться материалом и собственным опытом, впервые опубликовав что-то интересное, что вызвало бурную реакцию. А все равно началось обсуждение биографии самого автора… Ok, DeleteUgrum
19.03.2018 12:46+1Очень жаль, что большинство комментаторов ищет в статьях пользователей какой-то подвох, PR себя и т.д.
Ну вот такая здесь любознательная ипараноидальнаянедоверчивая публика собралась. Любит разобрать всё до исходников и докопаться до первопричин. И это здорово, потому, что в комментариях обычно содержится уйма полезной информации.
alatushkin
18.03.2018 16:45Забавно, что в подобных историях детали не важны в том смысле, что это просто «кармическое»:
сэкономил в одном месте («а че так дорого? я на фрилансе за эти деньги 5х найму!») — заплатил в другом.apapacy
18.03.2018 17:08Можно и фрилансера хорошего найти и с фирму плохую. Главное что проверить то невозможно зараннее. Фирма может для не очень перспективных задач найти такого же фрилансера и платить фрилансеру как фрилансеру а с заказчика взять как фирма. И знаю конкретный правда ровно один случай когда очень хорошего фрилансера кинули менеджеры от заказчика и его собственный «импрессарио» когда два менеджера устроили междусобойчик и платили ему за разработку сумму на порядок меньше. Фрилансер как-то узнал прекратил сотрудничество и его пришлось заменять одним сеньором, двумя миддлами на бэкэнде + одним миддлом на фронтенде + привлекать верстальщика дя всех новых фич. Но это скорее исключение из правил. При ценах на фриланс (500р — 3000р а что там делать?) ему надо работать очень много и очень быстро тут не до изысков.
VolCh
18.03.2018 17:23каждый должен заниматься своим делом;
Я отвечаю за рекламу, флористы – за конечный букет, разработчик – за работоспособность системы, seo-шники – за продвижение и т.д. Никто не должен лезть в чужие процессы. Увы, так бывает не всегда…Вы удивитесь, но за работоспособность системы отвечает не её разработчик, а её эксплуатант. Разработчик отвечает за пригодность систему к вводу в эксплуатацию, за соответствие её функциональным и нефункциональным требованиям. А вот за саму эксплуатацию, в частности за мониторинг и диагностику, отвечает не разработчик.
Areso
18.03.2018 21:05С вами можно согласиться, но лишь отчасти.
Представим ситуацию.
Мне были переданы скрипты, инструкция по установке. Я по инструкцию установил, пользователи пользуются, все довольны. В один прекрасный день, входные данные поменялись, система упала. Первое что я делаю — перегружаю хостинг. Второе — разворачиваю все заново с чистого листа. Далее, если скрипт продолжает падать — обращаюсь к его автору. Мне кажется это довольно логичным поведением. Да, я должен обеспечить наличие электричества, ОС, пакетов, ресурсов ЦПУ и ОЗУ, сетевых — а в остальном, как и что оно делает мне неведомо. Если я не разработчик, то у меня нет такого опыта и знаний, чтобы заниматься отладкой сломавшейся чужой программы. У меня нет знания ни отладки в этих инструментах, ни знания архитектуры программы, ни, предположим, даже базовых знаний ЯП, на котором она написана.
Я работал в разных фирмах, сейчас я работаю в компании, у которой 30+ тысяч сотрудников, и ключевой софт которой пишет другая компания — и когда что-то ломается в ключевом софте, они незамедлительно (днем или ночью — неважно) обращаются к поставщику. Да, перед этим, конечно, отдел мониторинга / эксплуатации проверяет и сеть, и ОС, и СУБД. И если там проблемы не выявлено — передается разработчику.JekaMas
18.03.2018 22:39+1Это всегда можно — днем или ночью-то — только там суммы за обслуживание немного другие видимо.
А второе, вы смешали воедино разработку и поддержку.
VolCh
19.03.2018 07:27Тут, как я понял, не были де-факто обеспечены ресурсы, достаточные для нормальной работы системы.
Ruslan_aia
18.03.2018 17:50Почему заказчики идут на фриланс биржи? Потому что, это дешевле, чем нанять даже одного разработчика в штат. У нас в Украине, как и наверное по всему СНГ, ситкация аналогичная — у мелкого бизнеса просто нет на это денег.
Вот и плучается, хотим дешевле, получаем не поворотливый сайт, виртуальный хостинг, не квалифицированных программистов, отсутствие админа итп итд.
Чему потом удивлятся? Ну упал сайт, ну не умеют php-жуны логировать медленные запросы, профилировать php код и много чего еще. Они не виноваты, они жуны, платят им соответственно. После таких вот ситуаций, со временем, они научатся и забьют на флинас и мелких бизнес, пойдут в большую аустсорс контору на 2k$/мес, это возможно больше, чем чистая прибыль цветочного интернет-ларька даже в Москве.nikitasius
19.03.2018 01:02Почему заказчики идут на фриланс биржи? Потому что, это дешевле, чем нанять даже одного разработчика в штат.
Так пусть на хабре ищут, дешевле будет, чем 2к конторе платить :)
Уверен, что и на… битрикс найдется свой спец.
Kwisatz
18.03.2018 19:51-2Автор. Не тратьте деньги не разобравшись.
Ко мне очень много раз обращались с подобной проблемой хозяева сайтов на битриксе. Причем иногда обращались люди с хорошими серверами. Переезд отстрочит проблему но не решит.
Первое что вы делаете это включаете slow query log.
Второе: проводите нагрузочное тестирование
Третье: нанимаете специалиста по БД и даете ему то что попало в slow query log
Четвертое: проводите нагрузочное тестирование
ЗЫ Очень похвально, что вы решились на статью. Готов глянуть бесплатно. Стукните в личку.
Vasyutka
18.03.2018 21:01очень похоже, что потерянный 1млн.р, — это даже несколько меньше, чем стоило бы вложить в отладку и тестирование системы в целом. Зато теперь все проверили и работает. Если не считать репутационных потерь (кажется в модели бизнеса нет нажима на постоянных клиентов, может и не страшно), то это просто история успеха выходит! :)
remzalp
19.03.2018 13:10200 заказов, 1 миллион рублей, это 5 тысяч на заказ. Подозреваю, что это не прибыль :) Отсюда надо вычесть еще и расходы.
dmitry_dvm
18.03.2018 22:29+2Не шарю в битриксах, но из каментов понятно, что сервер помощнее осилил бы его тормоза. Т.е цена вопроса — вдс на каком-нибудь DO за 40$ против нынешних, думаю, 20-и? Вот эта девочка зажопила 20$ на самое сердце бизнеса, а некомпетентные лохи — разрабы?
И вопрос автору: почему же вы не занялись администрированием линукса, вы же тоже айтишник? Некомпетентность!ustasby
18.03.2018 23:45Разработчики тоже виноваты, битрикс и шаредхостинг не совместимы, $20-30 за более менее приличный хостинг может позволить любой бизнес, тем более это всего пара часов разработки, так что некомпетентность это часто девиз битрикс компаний, набравших джунов по объявлениям в авито.
Kwisatz
19.03.2018 01:10а некомпетентные лохи — разрабы
Никак не противоречит всему что вы сказали. Когда один единственный индекс превращает перегруженный сервер в скучающий без нагрузки это как то странно выглядит, не находите?
DoctorMoriarty
19.03.2018 00:49«Тыжпрограммист!» (с) Обычный Клиент
И в итоге — код, приведший к сбою, вставляли не разработчики. Они свой код знают. Но, конечно же, виноваты именно они, и конечно же, именно они некомпетентны.
А вывод простой — не беритесь, разработчики, за разработку и сопровождение, если нет контракта, в котором чётко оговорены обязанности сопроводителя, и любой владелец маленького, но гордого бизнеса, на этом основании при любых проблемах будет считать виновником разработчика и поливать его матом в Вассапе. Нет чёткого ТЗ и контракта? Аминь, бизнесмен всегда может нанять студента за пачку пельменей — кажется, некоторые бизнесмены очень любят эту присказку?
nikitasius
19.03.2018 01:01Мне это напомнило экононию на
спичкахайти [примерная беседа]:
- Клиент -Никитос, это самое, я тут нашел себе хостера, я перееду к ним. Ок?
- Я -Без проблем. Я тебе месяц на переезд дам ок? [бесплатный месяц]
- Клиент — Супер. В общем у меня там будет дешевле, что сейчас в месяц, там будет за 6 месяцев.
- Я — так это шаред же. Ну да ладно. Раз хост + саппорт у них, без проблем. Главное — чтобы твой сайт подняли [там солянка ужасная]. Если у них будут какие проблемы — пиши. Вот дампы [файлы и база].
Спустя халявный месяц и неделю
- Клиент — все, перенесли, можешь вырубать!
- Я — дайка гляну… Нет, нифига ничего не работает.
- Клиент — так вот же сайт-то открывается.
- Я — так они ДНС не поменяли :) Подставь вот это в hosts [объяснения что и как]
- Клиент — [ругается]
- Я — в общем, они там [перечисляю, что надо поправить чтобы сайт завелся как надо]
- Клиент — нее, нафиг их, я у тебя остаюсь.
Мелкий клиент, онлайн шоп. Экономит на чем попало, в том числе и на хостинге. Я ему помогаю только потому, что давно знаю + в другом месте он попадет на бабки.
Я к чему: жадные клиенты, они все жадные, пока не увидят, что из-за своей жадности теряют больше, чем выигрывают.
Kwisatz
19.03.2018 01:14что из-за своей жадности теряют больше, чем выигрывают.
К сожалению это работает только для ровно таких же случаев. Меня в каждой следующей компании называют паникером, пока не въезжают в большую часть указанных мной пней. Меня раньше хотя бы «я же говорил» развлекало, теперь уже как то грустно и все.
YakovO Автор
19.03.2018 09:44Спасибо всем за комментарии к этой статье и за дискуссию. Очень много дельных советов услышали для себя, и много вещей, с которыми согласны отчасти.
У нас проблема не в одном конкретном человеке или какой-то CMS системе (можно и на других движках нормально было отработать, уверен на 100%), и не в том, что такое произошло. Дело в комплексном подходе и системе, в выстроенных процессах внутри коллектива. И именно это привело к такой фатальной ошибке. Я недаром делаю акцент на первопричине, нужно понять, почему так произошло, а не из-за кого или по чьей вине это вышло. Сделать соответствующие выводы, и сделать так, чтобы этого больше не происходило.
Зачастую (как правильно здесь было обозначено), за работу отвечают наемные сотрудники, перед которыми стоят определенные задачи. Вся наша команда работает разрозненно, а не как единый механизм. Не в офисе, а удаленно. И у каждого оплата сдельная. Разработчики делают свое, SEO — свои работы, я занимаюсь своим направлениями, владелец старается координировать все это. Параллельно, наверное, у всех есть и другие проекты. Так что среднее арифметическое будет невелико. В этом и заключается основная проблема. Нет ролей (кто за что отвечает) и общего вклада в результат. Пока это все шло на самотек и худо-бедно такой подход работал.
Дело также и не в деньгах, поверьте. На таком конкурентном рынке (причем Москва и МО) компания существует уже 2,5 года и хорошо себя чувствует. И сдельные оплаты сотрудников в компании в месяц стоят дороже, чем если бы мы нанимали всех в штат. А то, что такое случилось один раз за 2,5 года не говорит о том, что все изначально было плохо. Лишь дает понять, что мы делаем некоторые вещи не так. Консерватизм присутствует, безусловно — чтобы перемениться, нужен толчок извне, либо тем, кто разбирается, либо какой-то вызванной ситуации. Вот эта ситуация и наступила.
Есть ряд проблем (и он достаточно большой), над которыми мы работаем и которые собираемся решить в ближайшее время. И они расставлены в приоритетном для бизнеса порядке ($)VolCh
19.03.2018 10:02+1Разработчики делают свое, SEO — свои работы, я занимаюсь своим направлениями, владелец старается координировать все это.
Даже по этому описанию чётко видно, что за работоспособность магазина, являющегося единственным(?) источником заказов, не отвечает никто. Или все считают, что разработчики, а разработчики не в курсе, что они за это отвечают? Кто, кстати, обнаружил сбой? В его обязанности входил мониторинг или случайно обнаружил?
staticlab
19.03.2018 10:26И именно это привело к такой фатальной ошибке.
Справедливости ради, никакого фатального исхода не было.
Зачастую (как правильно здесь было обозначено), за работу отвечают наемные сотрудники, перед которыми стоят определенные задачи. Вся наша команда работает разрозненно, а не как единый механизм. Не в офисе, а удаленно. И у каждого оплата сдельная. Разработчики делают свое, SEO — свои работы, я занимаюсь своим направлениями, владелец старается координировать все это. Параллельно, наверное, у всех есть и другие проекты. Так что среднее арифметическое будет невелико. В этом и заключается основная проблема. Нет ролей (кто за что отвечает) и общего вклада в результат.
Смешались в кучу кони, люди. Каким образом сдельная оплата (т.е. фрилансеры?) или работа в штате (т.е. по ТК) соотносятся с распределением ролей и задач? При этом сами говорите, что все делают свою работу, а ролей нет, как нет и общего вклада в результат. Как это понимать? Работники ведь делают поставленные перед ними задачи? Если да, то кто виноват в том, что им ставят задачи, не играющие на результат? Или вы хотите, чтобы сотрудники сами себе ставили бизнес-задачи?
YakovO Автор
19.03.2018 10:34Абсолютно ничего не смешалось. Не имеет смысла нанимать толковых людей, а затем рассказать им, что делать. Даже если это сдельные работы. Мы нанимаем умных людей, чтобы они могли рассказать нам, что делать. Уверен, что знаете, кто это сказал. И мы сторонники такого подхода.
И владелец бизнеса не должен думать о том, что у него серверы перегружены. Это задача должна была быть решена гораздо раньше, и предложение должно быть от разработчиков, если они действительно были заинтересованы продолжать работу, а не сидеть сложа руки. К тому же мы велись у них несколько лет и предупредить об этом (хотя бы словесно заставить задуматься) — их задача.
То, что кто-то влезал в EKAM и позволил сделать это — тоже заслуга разработчиков. Владелец бизнеса вообще не имеет к этому никакого отношения. А дал добро, потому что была простая манипуляция тех же разработчиков — пусть лучше сделает специалист, а мы проверим за ним. Проверили…
Задачи им ставят такие, которые приводят к результату. А вот отладить эти задачи у них, увы, не получается. И проконтролировать работу других деятелей — тоже в их ответственности. Так что не понимаю ваш посылstaticlab
19.03.2018 10:45Мы нанимаем умных людей, чтобы они могли рассказать нам, что делать. Уверен, что знаете, кто это сказал. И мы сторонники такого подхода.
Конечно знаю. А вы действительно таких нанимаете? Как вы проверяли, что они на самом деле настолько компетентны?
YakovO Автор
19.03.2018 10:53Видите, не проверяли же. А просто обслуживались с течением времени на протяжении нескольких лет. В какой-то момент это превращается в должное, мол мы никуда не денемся теперь, на крючке, и можно чуть подзабить на проект.
Мы еще с этой командой и под Баден-Баден попадали в сентябре 2017, потом из него выходили 1,5 месяца. Доверились, дали возможность искупить ошибку. Но эта ситуация окончательно дала понять, что нужно менять подрядчика.
P.S. Наверное читающие не до конца понимают посыл данной статьи. Во всем произошедшем виноваты только мы и никто другой.UA3MQJ
19.03.2018 13:58Во всем произошедшем виноваты только мы и никто другой.
Именно этого мы и хотели услышать! Рад если такое осознание произошло у хозяев бизнеса.
VolCh
19.03.2018 11:08Кто выбирал хостинг-провайдера и тарифный план? Разработчики вообще в курсе ограничений этого плана были? В курсе были посещаемость какая обычно и какая прогнозируется?
Я так и не понял отношений с разработчиками. Они именно разработчики, которым дали доступ к серверу для выкладывания разработок? Или же с ними договор на предоставление комплексного сервиса, по которому они должны поддерживать его работоспособность, в частности мониторить текущую нагрузку и предпринимать (желательно превентивно) меры по недопущению превышения выделенных ресурсов, хотя бы в виде рекомендаций "пора на более дорогой тариф переходить"?
apapacy
19.03.2018 12:00-1Сделка чисто русский атавизм системы Тейлора который юзают только у нас. Сделка 1. Разлагает менеджмент которому плевать на организацию работ ок работник сам будет бегать в поисках работы и заискивать перед менеджером чтобы получить неё 2 приводит к тотальному браку в производстве что вы и подтверждаеие
apapacy
19.03.2018 15:33Кто не согласен? Может быть мотивируете? прсто интересно. Я тут не про программирование гофорю только. Про сделку везде и всюду. Она же нигде в мире не применяется кроме бывшего СССР.
mayorovp
19.03.2018 17:09+2Лично я просто не смог ваш комментарий прочитать.
apapacy
19.03.2018 17:48+1Сдельная система оплаты труда была разработана американским ученым Фредериком Тейлором ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%B9%D0%BB%D0%BE%D1%80,_%D0%A4%D1%80%D0%B5%D0%B4%D0%B5%D1%80%D0%B8%D0%BA_%D0%A3%D0%B8%D0%BD%D1%81%D0%BB%D0%BE%D1%83
В исходном виде вызвала сопротивление со стороны работчих и профсоюзов, и в развитых странах используется в модифицированном виде: повременная оплата при строгом нормировании и учете выполненных работ.
В чистом виде нашла широкое распространение в СССР и по инерции используется на гос. предприятиях бывшего СССР и очень часто и на предприятиях не государственных форм собственности.
Имеет следующие недостатки как со стороны работника так и со стороны бизнеса.
Со стороны бизнеса:
1. Не стимулирует эффективнное планирование и управление т.к. сдельная форма оплаты труда понуждает исполнителя «искать» себе работу а не действовать согласно плана.
2. Стимулирует брак в производстве т.к. работник стремиться сделать работу не качественно и быстро а просто быстро чтобы больше заработать.
3. Естественные и практически неустранимые отклонения в нормах и расценках от фактических затрат на выполнение работ приводит к появлению «выгодных» и «не выгодных» работ. Порождая элементы торга и саботажа в отношениях работника менеджера.
Со стороны работника.
Работник нанимается ожидая получить стабильный заработок который не зависит от качества менеджмента. В то же время его заработок ставится в зависимость от качества менеджмента на которое он повлиять не имеет возможности. Что сопровождается простоями и потерями в заработке.
Ugrum
19.03.2018 17:49Ну я вроде понял, что вы критикуете сдельный вариант оплаты труда? Верно? Т.е. система оплаты за фактически произведённый и соответствующий исходным требованиям продукт/работу вам не нравится/не устраивает.
А что вы предлагаете взамен? Оклад и его вариации? Боюсь, что в наших реалиях такая форма оплаты не слишком подходит.
P.S. Минусы не мои, не умею.apapacy
19.03.2018 18:06Да сделку критикую не только я. Замена сдельной системы оплаты труда повременной процесс очень сложный. Но добиться качества продукции и хорошей организации производства со сделкай просто нереально. Я собственно если посмотреть мой первый комментарий как раз и включился в дискуссию потому что автор статьи указал на то что основная причина всех проблем оклад на котором сидит разработчик. (Вот бы на сделку бы их — тогда бы поплясали). Возможно это просто зависть?
Повременка не предполагает сонное царство. Другой уровень менеджмента должен быть.
Как правило, в агентствах одной командой одновременно ведется большое количество проектов. И количество времени, которое они тратят на работу над одним проектов в день, сильно ограничено. Перерабатывать смысла нет, так как сидят за оклад
ssh24
19.03.2018 10:34На самом деле это классическая ситуация недофинансированного проекта. Я сам вел примерно такой же проект. Когда ради экономии привлекают всех подряд, лишь бы подешевле. При минимальной мотивированности исполнителей. Все работают по принципу «деньги заплатили и слава богу».
И доступы тоже у всех подряд были. Все знакомо. Надоел такой бардак, 2 года как ушел от туда.VolCh
19.03.2018 11:13Тут может недофинансирования буквального не было. То есть не было ситуации, что кто-то говорит "нам нужно то-то и то-то, чтобы нормально работать", а ему "Сколько стоить будет? Сколько?! Нет, выкручивайтесь без дополнительных денег! Вы же профессионалы!". Больше похоже, что просто не было никого, кто осознавал бы проблемы.
helgisbox
19.03.2018 12:27Многие манагеры решили, что «ай-ти — это там, где все можно автоматизировать» и админов на свалку выкинуть. В результате такой вот «аутсорсинг». И платить меньше и не надо думать о всяких непонятных мелочах типа «линуксоФФ или баз данных всяких».
Но вот практика все чаще оказывается обратной. Для мелких задачонок с низкой нагрузкой можно и криворукого «программера» нанять и хостингом не заморачиваться. Но как только наступает рост: объемы, нагрузка и т. д., сразу возникает возникает вопрос о кривости архитектуры изначальной (тут, как я вижу и масштабируемость не была заложена изначально) и о необходимости админа.
Не надо экономить на средствах производства и стоит наконец определиться с тем: «ай-ти — это там где все само по себе», или все же тут тоже нужны специалисты и штат? Бизнес (вот те недополученные прибыли) определит и расставит все по своим местам. Прошу прощения — просто наболело. Пару сайтов доводилось вытаскивать, построенных на всяких moddex-ах, которые «писали» даже не программисты, а те, кто малость разобрался, как запросы делать и через какой интерфейс «картиночки загружать». Очень печально все это.VolCh
19.03.2018 12:51Коробочные CMS дело десятое, вполне имеют право на жизнь, пока не достигнут пределов вертикального масштабирования. Тут же даже мониторинга не было примитивного, показывающего что время ответа увеличивается, а потом вообще ошибки таймаута. Пока операторам ошибки не посыпались. Причём, может в админке хостера даже есть инструментарий анализа хотя бы логов веб-сервера. Просто никому не нужно было.
mickvav
19.03.2018 15:16+1Что-то мне подсказывает, что ноги у исходной проблемы растут из простой мысли — фискальный регистратор — это сущность, фиксирующая чеки строго последовательно (by design, и в соответствие с ФЗ), причем операция эта (зафиксировать чек) у конкретной реализации занимает заметное время.
Соответственно, если в этот момент приходит другой запрос на регистрацию чека — железка дает отлуп. В качестве костыля, ребята из поддержки фискального регистратора воткнули операцию «do it again пока не получится», что более-менее работает при малых нагрузках. При больших нагрузках — имеем дофига экзепляров битрикса, пытающихся пробиться в бутылочное горышко. ОПА. Приплыли.
Как надо (с): Запросы на регистрацию чеков ставим в очередь, из которой их читает отдельный демон, прогоняет через ФР (в одиночку) и шлёт email/sms/что-там-у-вас абоненту — «мол всё, мил человек, денюжку приняли, заказ исполняем».
Как-то так.apapacy
19.03.2018 15:30Сто пудов. Я как то не сообразил сразу что это все в одном цикле происходит. Первый действительно инетерсный текст на этой странице. (126 уже теперь 127 комментов не показатель)
Viacheslav01
19.03.2018 15:54«Онлайн кассы не принесут проблем и больших затрат бизнесу» — говорили они.
«Битрикс — отличная СМС» — вторили им
And32
19.03.2018 17:42+1Простите, конечно, но в чем посыл вашей статьи? В чем ценность для технического ресурса и выбранных вами хабов? Я тут вижу сквозящую сквозь весь текст мысль — «все
пиднекомпетенты, я д`Артаньян».
Вы уверены что все-таки нашли причину падения, или главное что у вас получилось помутить воду призвав некоего специалиста (который вызывает сомнения не больше ТП сайта), произвести имитацию бурной деятельности и активной помощи владельцу бизнеса и еще при этом и статью из всего этого получить для хабра?
Давайте объясню почему я столь негативно отзываюсь.
Страшно было и то, что копии сайта не было (а точнее, она упала вместе с основным сайтом), и все цветы (букеты) флористам нужно было собирать по памяти.
А просили копию поднять у разрабов или ТП бегета? У них есть возможность сделать полную копию текущих данных либо скачать архив за прошедшие дни — beget.com/ru/manual/backup Оставалось только поднять копию на любом сабдомене и открыть доступ только менеджерам, чтобы они продолжили выполнять заказы. Но да, для этого надо было не в чатике говном поливать ТП, а взять и обрисовать им ситуацию.
Теперь даже я знаю, что DDoS — это не про запросы к БД. Если к веб-серверу запросов нет, а к БД есть, то это не DDoS, а какие-то внутренние проблемы
Ключевая фраза в ответе ТП — «почти нет». Это вполне мог быть самый обыкновенный DoS — одна из вариаций которого преполагает вывод сервиса из обслуживания за счет вызова ресурсоемких операций на атакуемом сервисе. Зачем тратить на сайт тысячи запросов, если его можно положить на порядки меньшим числом выбрав нужный урл для атаки. Конкретно в вашем случае это был, конечно не он, но категорично заявлять так нет смысла не разобравшись в вопросе.
Часть про агентов тоже не очень ясна — агенты битрикса либо разовые (не ваш случай), либо с периодичностью (т.е. срабатывают то они конечно по хитам при дефолтной конфигарции, но если стоит период 12 часов то сколько бы людей не зашло, раньше чем пройдет 12 часов агентов не выполнится). Судя же по вашему графику точной периодичности пика нагрузок нет. Так что я соглашусь с mickvav скорее всего дело имено в ФР, и екасса работает строго по закону — сразу при оплате шлет данные в налоговую. Другой вопрос что им не хватает очереди, но тут уже вопрос — а при чем тут ТП сайта? Вряд ли им ставили в задачи разработать модуль онлайн кассы, скорее всего надо было просто подключить что-то из имеющихся.
Ну и наконец в комментариях вы решили продолжить —Мы еще с этой командой и под Баден-Баден попадали в сентябре 2017, потом из него выходили 1,5 месяца. Доверились, дали возможность искупить ошибку. Но эта ситуация окончательно дала понять, что нужно менять подрядчика.
Это то тут вообще при чем? Баден баден косяк ваших сеошников но никак не ТП сайта.
Так что, извините конечно за прямоту, но из этих пунктов скорее веет вашей неадекватностью чем (именно неадекватностью, я хз компетенты ли вы в своем деле) чьей-либо (а их в статье перечислено немало — ТП сайта, ТП хостинга, ТП екассы) некомпетентностью. Ибо адекватный человек не станет мешать поливать всех подряд за все подряд, даже не пытаясь разобраться где чья грань ответственности.
PS ТП сайта не оправдываю, косяки конечно у них есть, но я уверен на 100% что они работали строго в рамках выделенных им денег и никто им за стресстестирование и прочие плюшки не платит, о чем скорее всего владелец бизнеса в курсе но как обычно бывает «зачем нам сейчас за это переплачивать», а когда петух клюет то виноват все равно исполнитель. Желаю и вам найти хорошего фрилансера за те же деньги и ТП сайта найти более адекватных клиентов.
brain2xml
Стандартный ответ из Битрикса, всегда плохой хостинг а не плохой Битрикс.
Про бардак с админскими провами это завсегда. Мне на некоторые сайты, к которым лет 5 тому назад дело имел, доступ до сих пор открыт.
Удаленные разработчики свою специфику имеют, многие подробатывают, поэтому им порой проще бросить клиента чем помочь при форс мажоре.
apapacy
Не совсем отвечает реальности. Фирлансер в качестве эксперта если Вам с ним конечно повезло сделает независимую оценку Тут главное что никто не знает зараннее хороший фрилансер или не очень. Фрилансер в качестве разработчика — в принципе если хороший сделает хорошо. Но с поддержкой будет сложнее. Его проект не будет знать никто кроме него. По поводу незамотивированных разработчиков из агенств которые сидят на окладе мнение неверное (хотя не исключает то что такие фирмы сущетсвуют и даже в Вашем случае была именно такая фирма). Их форма оплаты завуалированная сделка. Т.к. все часы относятся к проектам и время строго учитывается. В особо тяжелых случаях учет настолько тотальный, что на компьютер устанавливают программы которые делают снимки экранов и в зачет берут только время, когда работник типа топил клавиши. Да и репутации фирме не менее важна, чем фрилансеру.
yoshitoshi
| «Никто не знает зараннее, хороший фрилансер или не очень».
Тут согласен, раздолбаев среди них очень много...
| «Его проект не будет знать никто кроме него».
А вот тут не соглашусь. Точнее, да, вы будете завязаны на 1 человека. Но и при работе с компанией, скорее всего, на вас тоже будут работать несколько конкретных людей. И только они будут знать ваш проект.
Я сейчас как раз поимел удовольствие оказаться в такой ситуации: компания интегрирует нашу учётную систему (на 1С 8.2) с 1С: ДО. Долго тестировали код на стороне ДО, все вычистили. А потом у них там что-то случилось, тот сотрудник ушёл, а новый решил сделать все сначала, с тонной ошибок. В итоге, они попросили прислать им же те наработки, что были сделаны с тем сотрудником...
aPiks
Битрикс вообще вреден. WooCommerce, даже учитывая тяжеловесность WP намного проще и стабильнее. И специалистов компетентных по нему намного больше. 100 одновременных посещений — курам на смех даже для обычного хостинга без выделенного сервера. На счёт удаленных разработчиков — не согласен. Если есть постоянный клиент, которых хорошо платит, фрилансер всегда пойдет навстречу. Глупо терять хорошего клиента, из-за того, что надо напрячься.