• Шпаргалка для предпринимателя по IT-миру
    0
    Спасибо за развернутый комментарий.

    Я понял в чем проблема в выводах, которые я написал:
    1. Мои выводы — не детальный анализ всего рынка. Их ценность в том,
      чтобы показать направление для предпринимателей, которые захотят развиваться IT в своей компании или создать стартап. Поэтому у меня есть упрощения и поэтому я дал ссылку на детальный отчет РУССОФТ.
    2. Когда я написал о четверти разработчиков, я хотел сказать об айтишниках,
      а не конкретно о программистах. Т.е. админы, внедренцы и т.п. входят в эту долю.
      Вы правильно заметили, что не одной разработкой живут айти-компании.
    3. Когда я написал о четверти, я не имел ввиду двадцать пять целых и ноль десятых процента. Я хотел показать какой кусок выручки создается за счет наших с вами налогов и тратится, на мой взгляд, не достаточно эффективно. А отсюда можно увидеть какие разработчики есть на рынке и быть готовым к тому, что, когда они придут к вам устраиваться на работу, то им придется объяснять как работает реальный бизнес, а не гос. заказ.


    Ну, например, Альфа-банк только потому что быстрее всего было найти. 1500-1600 человек и планировали расширяться. Надо ли доказывать, что только ФОТ тут миллиардами меряется?

    Не понял связь ФОТ с созданием крутых конкурентных IT-продуктов. Вы можете сколько угодно платить зарплаты, но при этом вся зарплата будет уходить на рутинную работу. После такой работы разработчик не станет автоматоматически конкурентным на мировом рынке.

    в ней попытки раскрыть тему выбора языка программирования

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

    полезнее сомнительной (для менеджеров) информации про микросервисы

    Не соглашусь. Знаю компании, где линейных менеджеров отправили на курсы Яндекса по машинному обучению. После этого люди, которые раньше ничего не знали об IT, начали писать простые скрипты на Python, что привело к улучшению общения IT и бизнеса.
    Еще я лично видел как владелец бизнеса рассказывал своим айтишникам о микросервисах. Такие вот изменения сейчас происходят :)

    «Чего хочет бизнес от IT» Терри Уайта

    Книгу не читал, поставил в свой список на прочтение. Спасибо за наводку.
  • Шпаргалка для предпринимателя по IT-миру
    +1
    Государство стало крупнейшим заказчиком из-за нескольких факторов...

    Я правильно понял, что вы признаете, что государство крупнейший заказчик ПО в России, но приводите ряд дополнительных причин?

    поставки техники, и поставки чужих лицензий ПО (MS, Oracle и др), и поставки своих лицензий, хостинг, обслуживание, разработка на заказ и еще куча всего

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

    бюджет только ФОТ может быть побольше, чем 600 млн руб

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

    Те, кому нужны специалисты в тупике: денег нет и кадров на рынке нет

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

    Они востребованы, когда они есть

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

    Статья на самом деле — винегрет надёрганных модных терминов и концепций

    Это я не понял. Что значит «надерганных»? В чем суть проблемы и как мне сделать следующую статью лучше? Надеюсь суть этой фразы не в вашей личной оценке, а за этим стоит предложение по улучшению.
  • Шпаргалка для предпринимателя по IT-миру
    +2
    Я согласен, что правительство не помогает, а скорее наоборот. Я был бы только рад, если бы они работали на положительный имидж страны.
  • Шпаргалка для предпринимателя по IT-миру
    0
    МОЖНО выиграть 90 млн. в евроджекпот...

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

    Если не секрет, по каким ставкам вам предлагали работать?

    Ну в отношении «рисков из-за санкций»…

    Да, согласен. За свою компанию скажу, что нам санкции не помешали, правда у нас контракты небольшие по $100-150K.
  • Шпаргалка для предпринимателя по IT-миру
    +1
    Оставшиеся выкатили такой ценник (причем довольно единодушно, что заставляет подозревать что рейты вполне обоснованные), что финские и шведские разработчики были несколько выгоднее, а учитывая географическую и языковую «близость» — существенно более предпочтительными…

    Я думаю можно было найти как дешевле, так и дороже.

    плюс кое-что из того тто не описно, но не менее важно

    Я не стал подробно расписывать, упомянул только "… преследуется цель снизить риск из-за санкций и нестабильной ситуации в стране". Что еще написал?
  • Почему следует полностью переходить на Kotlin
    +1

    Пока что на hh.ru есть 320 резюме, где указано слово Kotlin. Либо всё ещё впереди, либо...

  • Как мы «Мисс Россию» на руках переносили
    +1
    Извинился, выдохнул и написал развернутый комментарий по архитектуре https://radio-t.com/p/2017/04/29/podcast-543/#comment-3287936617 и по тезисами из подкаста https://radio-t.com/p/2017/04/29/podcast-543/#comment-3288429755.
  • Функциональное программирование: в Java и C# слишком много церемоний
    +3

    Похоже пора расчехлить свой pet project на F#. Спасибо за интервью, вдохновляет шагнуть в функциональное программирование.

  • Как мы «Мисс Россию» на руках переносили
    0
    Очевидно, что в облаке вы платите не за железки, а за SLA и готовые инструменты для администрирования, логирования, масштабирования и т.д.

    За зарплату хорошего разработчика можно амортизировать/арендовать 20-30 хороших железок.


    Чтобы железки превратить в нечто полезное, нужны те самые дорогие инженеры. Вместо этого можно взять PaaS (любой, не обязательно Azure) и заниматься только бизнес-задачами, что мы и сделали.
  • Как мы «Мисс Россию» на руках переносили
    0
    Извините за долгий ответ, все были в отпусках, а я сам не вспомнил точную причину :)

    «Выбирали очередь между Service Bus и Storage Queues» по требованиям вроде бы и 2е подходит, или я чего-то не знаю?


    Модель работы Service Bus Queues выглядит надежнее, чем у Storage queues, а именно больше гарантий при доставки сообщений (At-Least-Once и At-Most-Once), более надежная блокировка (Peek & Lock или Receive & Delete). Также нет ограничений на время хранения сообщений. Ограничение на сообщение в Storage queues — 64 KB, а в Service Bus Queues — 256 KB or 1 MB.

    Сам по себе Service Bus больше похож на очереди, а Storage Queues это скорее некое расширение обычного хранилища. Более подробно https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-azure-and-service-bus-queues-compared-contrasted.

    У вас и для api и для сайта я так понимаю был .net core. Kestrel использовали в обоих случаях с iis в качестве прокси или чистый?


    В WebApp использовали Kestrel, IIS руками не трогали. Видимо он где-то есть глубоко в Azure, чтобы балансировать, если кол-во инстансов увеличивается.
  • Как мы «Мисс Россию» на руках переносили
    0
    Если честно я не в теме кто этот Умпутуну и почему остались часы. К сожалению, автор подкаста живет в кокане, на пробивание которого у меня нет времени.
  • Как мы «Мисс Россию» на руках переносили
    0
    Пиковая нагрузка на веб около 2К rps, на голосование 500 rps. Нагрузка распределена ооочень неравномерно в течение 2х недель, пока идет конкурс.

    Бывает так, что люди, которые поддерживают девушек устраивают флешмобы. Или популярные девушки (по 40К подписчиков) просят за них голосовать. Или любители покупки голосов размещают объявления о накрутках (мы отсеяли 500К бото-голосов из 750К общих). Тогда начинает нагружаться голосование. А нам надо в конце дня предоставлять отчет по накруткам и показывать сколько откручивали. Алгоритмы и хитрости отсева не rocket-science, но требуют ресурсов.

    При этом проходят пресс-релизы, девушки ездят на мероприятия и т.п. В этот момент много народу (2К rps) приходят смотреть фоточки, новости и т.п. на сайте.

    В итоге, из-за того что сайт постоянно качает между двумя активностями мы решили их разделить и масштабировать отдельно. Даже если бы боты завалили API для голосования, то сайт бы продолжал работать в обычном режиме, а он является «витриной» для продажи конкурса.
  • Как мы «Мисс Россию» на руках переносили
    0
    Речь о Kestrel, а не ASP.NET Core. Если бы апдейт не вышел, то мы переключились бы на IIS за 10 минут.
  • Как мы «Мисс Россию» на руках переносили
    0
    Спасибо за ссылку! Поржал от души. Меня обвинили во всем, что только можно :) Написал им комментарий https://radio-t.com/p/2017/04/29/podcast-543/#comment-3282714877
  • Как мы «Мисс Россию» на руках переносили
    0
    Сложно выделить переверстку от всего процесса разработки. Но если грубо разделить весь проект на бэк и фронт, то можно сказать, что на переверстку ушло 4 недели, из которых 1,5 недели ушли на бэкофис (закрытая часть сайта).
  • Как мы «Мисс Россию» на руках переносили
    0
    Спасибо! Это при том, что мы снизили производительность на 2/3, т.к. конкурс уже закончился и пора начать экономить деньги заказчика :)
  • Как мы «Мисс Россию» на руках переносили
    0
    Вариантов и инструментов разных много. Возможно ваш вариант вполне рабочий, только он будет стоить довольно прилично. Для начала надо настроить монгу, сделать кластер, чтобы не падала, сделать бэкапы и восстановление.

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

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

    Еще раз повторю, что подходов может быть много, но в данном случае самые простой и надежный представлен на нашей архитектуре.
  • Как мы «Мисс Россию» на руках переносили
    0
    Счетчик это цифра, которая хранится в какой-то ячейке памяти. Например, если хранить ее в СУБД в таблице, то в эту ячейку польются инкременты, которые будут менять цифры и считывания, которые будут забирать цифры для отображения.

    Если счет не надо обновлять в реальном времени, то можно использовать CQRS, чтобы отдельно обновлять счетчик, отдельно его показывать. Показывать с допустимой задержкой (eventually consistent), зато дешево масштабировать на любую нагрузку.
  • Как мы «Мисс Россию» на руках переносили
    0
    Вполне можно было взять и in-memory хранилище. В нашем случае мы взяли очереди, потому что они логически подходят под задачу, поднимаются кликами мышкой и стоят $10 в месяц :)
  • Как мы «Мисс Россию» на руках переносили
    0
    Спасибо.

    Могу рассказать только о том, что видно на сайте, но не о внутренних алгоритмах отсева, иначе этим воспользуются люди, которые продают накрутки. Попробуйте поискать «накрутка голосов мисс россия», например, есть вот такие ребята http://jet-s.ru/blog/konkurs-miss-rossija-pomozhem-vyigrat. Кроме них мы видели с десяток видео, как формировать POST-запросы к предыдущим формам голосования.

    О видимых способах отсева:
    • Убрали обратную связь при голосовании. Это лишает тех, кто тыкает в сайт понимания работает их способ или нет. Они посылают запросы и мы всегда отвечаем, причем мгновенно, что их голос будет учтен. Если бы счетчик обновлялся сразу, то подобрать способ обхода защиты было бы проще.
    • Проверка по IP. Это, конечно, очень простое ограничение, но не бесполезное.
    • Recaptcha. Да, мы все знаем о сервисах ручного «взлома» любой капчи :)
    • Аутентификация через аккаунт в соц. сети. Да, мы в курсе, что аккаут в соц. сети стоит 3-5 рублей за штуку.
    • «Магия» анализа на клиенте и на сервере, здесь подробностей не будет
  • Как мы «Мисс Россию» на руках переносили
    0
    Я понимаю, что не приятно читать о своей работе в таком ключе. К сожалению, с этим в данный момент уже ничего нельзя сделать.

    Могу заверить, что проект сделали хорошо и своей работой я горжусь. Всё, что написано о «прошлом» проекта я знаю со слов организаторов. Видимо так они видели предыдущее сотрудничество.
  • Как мы «Мисс Россию» на руках переносили
    +1
    если «старую архитектуру» залили бы нормальной железкой


    Добавить железку… :) Именно такого решения и ждали заказчики? Текущая стоимость в 3 раза дешевле, чем тот сервер, который якобы держал нагрузку и проблем не вызывал.

    Ребята, ну серьезно, заказчик забрал у вас контракт не потому что всё было круто, быстро и все были довольны. Разве не так?

    Но вот утверждать, что ваши соседи по индустрии лаптями едят


    Где такое было? Жду цитату из статьи и готов взять свои слова обратно, если там есть оскорбление.
  • Как мы «Мисс Россию» на руках переносили
    0
    Действительно, это можно считать за опечатку. Плекс это панель, но с возможностью менять код. Например, когда во время конкурса запускается голосование, вы заходите в «CMS», открываете PHP-файл и открываете голосование через веб-интерфейс.
  • Как мы «Мисс Россию» на руках переносили
    0
    Реально описал выше в комментарии. Если коротко: программный комитет конкурса дал на это разрешение и сказал, что на пользователей это никак не повлияет. Мы тоже не увидели проблем с этим решением и сделали так как сделали.
  • Как мы «Мисс Россию» на руках переносили
    +2
    Непонятно другое — каков мотив реализации именно на микросервисах.


    Коротко описал в статье, вот выдержка:

    Для новой архитектуры мы взяли за основу идеи, которые бы привели к достижению бизнес-целей:

    1. Разделить приложение на (микро)ответственности.
    2. Каждая часть будет идеально выполнять свою роль.
    3. Каждая часть будет сама заботиться о масштабировании.
    4. Тотальная автоматизация.


    Более длинно в другой статье в блоге по более глобальному проекту http://blog.byndyu.ru/2016/11/it.html. Понятно, что конкурс не имеет много бизнес-логики, но три части четко выделялись из монолита, что мы и использовали.

    Микросервисы недешевы и разрабочикам очень полезно знать, что их окупает.


    Это точно! Одна из причин почему мы выбрали микросервисы — у нас есть достаточный опыт, чтобы силами двух человек за 4 недели переделать весь проект на новую архитектуру. Если мы только читали о микросервисах, то переход на них был бы более рискованный, чем дробление легаси-монолита.

    довод в пользу хорошего проектирования, а не микросервисов


    Да, именно так. Перед нами стоял выбор: дробить старую систему или написать всё заново. У менять не иллюзий на тему «давайте перепишем всё с нуля!!!111111», подробно на эту тему писал здесь http://blog.byndyu.ru/2014/01/blog-post_8.html. Скажу больше, обычно мы не переписываем всё с нуля, т.к. это рисковано и экономически неоправдано. Но конкретно в этом случае мы посчитали, что надо переписывать всё с нуля. Причин было много: плохая архитектура, очень слабо написан front-end, CMS и, самое главное, не много бизнес-логики.

    пользователи тоже потеряли обратную связь со всеми вытекающими


    Перед принятием решения мы спросили у программного коммитета, который занимается конкурсом десяток лет, допустимо ли показывать инкремент голосования с задержкой. Заказчики сказали, что да, это приемлемо. Тогда мы приняли решение сделать так, как сделали, иначе искали бы другие пути.
  • Как мы «Мисс Россию» на руках переносили
    0
    Аминь :)
  • Как мы «Мисс Россию» на руках переносили
    –1
    селективное горизонтальное масштабирование, когда с одной стороны компоненты нагружены сильно неравномерно


    Это и имеется ввиду. Просто никто не говорит «селективное горизонтальное...».

    о таком анализе для конкурса «Мисс Россия» в статье ничего нет — только готовое решение


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

    И насколько это дешевле по сравнению с (хорошо спроектированной) монолитной системой?

    Покажите мне хорошо спроектированную монолитную систему и я смогу сравнить.

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

    Видимо вам лучше знать что и зачем мы сделали. Не буду портить монолог.
  • Как мы «Мисс Россию» на руках переносили
    0
    Вот точный текст ответа: «Ваш голос учтён и появится на сайте в ближайшее время, спасибо за участие в голосовании!»
  • Как мы «Мисс Россию» на руках переносили
    0
    Что предлагаете? Рассказать пользователям, что их голос отправлен в очередь? :)

    Если серьезно, но их голос будет учтен в среднем в течение 15 секунд, а счетчик сайта обновится через час, так что мы их не обманываем. Ну а если это бот пришел накручивать, то ему без разницы какое сообощение.
  • Как мы «Мисс Россию» на руках переносили
    0
    С каких это пор собственно масштабируемость — «проблема монолита»?


    Горизонтальное масштабирование — это проблема монолита.

    Неудачно спроектированное будет плохо масштабироваться независимо от «монолитности» или «микросервисности»


    Это точно :)

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


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

    «Независимые» микросервисы с общей базой данных — это хуже монолита по построению, в такой конфигурации успешно объединены проблемы и устранены достоинства обоих подходов.


    Об общей базе я написал, видимо не достаточно подробно. В данном случае база это не совсем база. Это продажа юнитов к хранилищу. По сути в этом хранилище три «СУБД», но подписка на одну облачную «БАЗУ». Обновление и масштабирование можно сделать независимым, но для этого надо купить три подписки на облачную базу, что в случае этого проекта будет неоправданными расходами. А вообще мы обычно делаем каждому микросервису своё хранилище и DWH для аналитики по всем СУБД.

    Про «автономность» тоже одна реклама.


    Здесь что-то про эмоции, не понял вопрос.

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


    Вы либо не захотели разобраться, либо решили потроллить. В любом случае жду конкретных вопросов, не готов разделять с вами эмоции.
  • Как мы «Мисс Россию» на руках переносили
    +3
    Яндекс.Танк https://tech.yandex.ru/tank/
  • Как мы «Мисс Россию» на руках переносили
    +1
    Еще есть видео с конкурса, они там в купальниках ходят https://youtu.be/JvjXXVRtqEM?t=56m50s
  • Кнопочное мышление против целостного IT-продукта
    0
    Некоторые инструменты сначала возникают непонятно зачем

    Если это так, то надо заранее выяснить, что мы не знаем Зачем, поэтому давайте просто прикольную штуку сделаем. В этом случае бизнес-целей нет и делается продукт для удовольствия. Тогда и оценка результата будет другой.

    Ценность анализа в том, чтобы выявить и цели или их отсутсвие.

    порасспрашивать её, зачем, какие практики будут окружать эту кнопку

    Так и делаем. Я не отметаю никаких идей пользователей, видимо не смог донести это в тексте статьи.
  • Кейс OZON.ru: Как сделать тарификацию доставки прозрачной и управляемой
    0
    Мы работаем в Byndyusoft, а не в Озоне. Подсказать как будет развиваться доставка в Крым не сможем.
  • Кейс OZON.ru: Как сделать тарификацию доставки прозрачной и управляемой
    0
    Я пообщался с коллегами из Озона и вот что они ответили:
    В данном случае сложно посчитать сколько бы стоила доставка конктретного товара в заказе, ведь в стоимость доставки формируется из разных составляющих и считается на заказ целиком. Например, если доставка заказа из 10 книг в Хабаровск стоила 1000 руб., и 1 из них оказалось бракованной, то как посчитатать стоиимость доставки этой одной книги? по весу, по габаритам? а если эта книга не проходит порог минимальной стоимости заказа? У некоторых доставщиков есть скидка за объем, в случае с доставкой 10 книг скидка будет, а в случае с 1 книгой уже нет, т.е стоимость доставки будет выше. Это учитывать? В общем решение вопроса с возвратом денег за доставку бракованного товара получается не простым. Несмотря на это мы всегда идем навстречу клиенту — как правило наш CRM дает бесплатную доставку или компенсацию в виде баллов.
  • Кейс OZON.ru: Как сделать тарификацию доставки прозрачной и управляемой
    0
    Я пообщался с коллегами из Озона и вот что они ответили:
    Средний срок доставки в Нск 6 дней, в зависимоти от способа и дня недели. Город Новосибирск в ближайшем будущем будет подключен для комплектации со склада в Екатеринбурге и срок доставки сократится. Что касается упаковки, то мы работаем и над поиском новых материалов для упаковки и новых технологий. Например, если в заказе 1 книга, то сейчас используется такой вид коробки (так называемый гофра короб мэйлер), который сохраняет углы книги от повреждений во время транспортировки
  • Кейс OZON.ru: Как сделать тарификацию доставки прозрачной и управляемой
    0
    Я пообщался с коллегами из Озона и вот что они ответили:
    Средний срок доставки в Нск 6 дней, в зависимоти от способа и дня недели. Город Новосибирск в ближайшем будущем будет подключен для комплектации со склада в Екатеринбурге и срок доставки сократится. Что касается упаковки, то мы работаем и над поиском новых материалов для упаковки и новых технологий. Например, если в заказе 1 книга, то сейчас используется такой вид коробки (так называемый гофра короб мэйлер), который сохраняет углы книги от повреждений во время транспортировки
  • Кейс OZON.ru: Как сделать тарификацию доставки прозрачной и управляемой
    0
    Да, согласен, что справедливо была бы замена товара и бесплатная доставка замены. К сожалению, я не могу на это повлиять :) Попробуйте написать в Озон напрямую была бы замена товара и бесплатная доставка замены.
  • Кейс OZON.ru: Как сделать тарификацию доставки прозрачной и управляемой
    0
    Увы, не смогу подсказать. Мы создавали ПО для Тарификации, а не занимались стратегическим бизнес-планированием. Но я уверен, что Озон стремиться сделать доставку быстрой и возможно в будущем откроет новые склады на востоке страны, кто знает :)
  • Кейс OZON.ru: Как сделать тарификацию доставки прозрачной и управляемой
    +1
    Прямо сейчас не отвечу на первый вопрос. Посмотрим как пойдет работа в текущей версии.

    > Есть ли отдел по «посдматриванию» за Амазоном и их решениями?
    :)