DevHype
134 subscribers
61 photos
5 videos
1 file
55 links
Канал-блог о разработке, программировании и IT в целом от разработчиков платформы онлайн обучения Школково.
Реальные истории из жизни, познавательные статейки и новости, контент про прокачке навыков и кругозора, и конечно же самое доброе коммьюнити в чате
Download Telegram
Для того, чтобы полностью перестраховаться и выдержать очередной резкий рост длинного хвоста, надо было увеличивать пропускную способность I/O, т.е. тех самых винтов.
Самый простой и быстрый способ тут - поставить ещё серверов.
В тот момент я был готов бросить всё, кинуть сервера в машину и вместе с Виктором отправиться в Москву прямо в дата-центр. 6.5 часов в один конец были бы не так страшны, если бы я перед этим нормально спал, а у Виктора были бы водительские права.
Хорошо, что мы в итоге не согласились на эту авантюру, а решили взять в аренду готовые сервера. Хоть и за бешенные деньги, не очень подходящие - но они нас очень даже выручили. Если бы мы поехали со своими серверами в Москву - мы бы потратили больше сил, а результат был бы тем же по сути.
В итоге, взяли мы 4 сервера с гигабитными каналами. Туда было решено закинуть математику, как самую востребованную. У нас поулчилось некоторое шардирование - берём ID урока, делим на количество серверов(шардов) - по остатку определяем, на какой сервер это видео закинуть.
За ночь - все вебчики закинулись, балансировка нагрузки написалась и всё завелось. Хорошо, что сразу делали на микросервисах - достаточно было добавить новые сервера в кластер Docker Swarm и допилить deploy-скрипт микросервиса отдачи видео. Сам этап доработки тут занял буквально 40 минут, что крайне быстро.
Всё это выкатилось бы без простоя вообще, если бы я не опечатался в конфиге балансировщика. Ну а так простой был по факту в минут 5.
В результате, мы очень неслабо разгрузили основные винты, протестировали экстренное шардирование и балансировку.
Ну и опыт да, опыт бесценный просто!
This media is not supported in your browser
VIEW IN TELEGRAM
Рандомный факт: в фильме "Пушки Акимбо" можно увидеть вполне рабочий код на Go.
Код запускает /usr/local/bin/skizm с параметрами от ffmpeg для приёма rtmp потока трансляции и конвертирования его в формат стриминга HLS.
Через пару секунд как раз мы видим надпись "Loading Live Stream".
Это тот самый редкий случай, когда в фильме код более-менее не фейковый и создатели привлекли настоящего программиста к созданию киноленты по сути ради нескольких секунд.
Ребята, ничего не пишу, поскольку очень много работы.
Но если вас что-то вдруг интересует(а я надеюсь, что это так) - пишите, задавайте вопросики, буду отвечать по возможности.
Вопросов никто не задаёт, ну и ладно. Вот посмотрите, как ИИ GPT-3 уже умеет - вы ему на нативном языке, он вам SQL. Умеет даже подзапросы.

https://twitter.com/i/status/1285934622891667457
У меня тут недавно спрашивали, насколько перспективное как будущая специальность направление Big Data Analysys. Я ответил, что безумно перспективное и нужно оно очень многим современным компаниям.
Некоторые компании делают все ставки на большие данные и по сути строят весь свой бизнес вокруг них, хотя для конечного пользователя это будет выглядеть как просто обычный продукт.
Вот и ещё один такой пример. Страховыми компаниями никого не удивишь - их тысячи по всему миру. Есть старые и неповоротливые, есть молодые и прогрессивные. Но все страховые по сути операются на анкетные и обычные статистические данные при расчете всей своей модели существования. Tesla Insurance пошли дальше и решили непрерывно собирать самые актуальные данные о стиле вождении автомобиля и каждый месяц пересчитывать условия по страховке.
Интересно только одно - если этот продукт потом будет для всех автомобилей, а не только для Tesla, то как они будут определять какой именно водитель за рулём, если машиной в семье пользуется несколько человек?

Откуда дровишки: https://www.businessinsider.com/elon-musk-tesla-launching-insurance-company-nationwide-hiring-2020-7
👍1
Не успел я приехать в лагерь Школково, как у нас отвалился сайт с платформой.
Причем не по нашей вине.
У хостера Selectel отвалился биллинг. В итоге, они думали, что у нас нулевой баланс. Из-за этого они отключили облачное хранилище, куда мы при сборке выгружаем всю статику фронта.
Я им позвонил, а они меня разве что только нахер не послали. Ни извинений, ни сроков устранения неполадок.
Но прикол ситуации в том, что несколько часов назад от них пришёл тикет с опросом "Помогите нам улучшить работу с балансом"(см. скриншот).
В итоге, пришлось все js ассеты упихать в докер-контейнеры и всё завелось.
Слався непрерывная интеграция, Docker славься!
Между прочим, у этого канала есть чат https://t.me/DevHype_Chat
В нём можно:
- Задавать любые вопросы по IT, особенно по разработке
- Обсудить какую-нибудь наболевшую тему и спросить мнение знатоков и краеведов
- Поделиться своим прогрессом в освоении каких-нибудь технологий, достижением или просто похвастаться какой-нибудь поделкой
- Поделиться актуальным интересным видео/статьёй/крутой библиотекой или фреймворком, которые перевернули(или нет) ваш мир
- Просто пообщаться с хорошими людьми

Ну а пока вот вам картинка для привлечения внимания и маленький спойлер по новому сайту Школково.

PS: Найди кота🐱
Теплая-ламповая разработка самого полезного сайта для обучающихся и развивающихся в процессе 😌
Программируем барабаны O_o
Очень жизненная ситуация порой...
Бекапы надо делать, проверять и пытаться с них восстановить. Иначе у тебя нет бекапов.
Media is too big
VIEW IN TELEGRAM
Тут у Александра Романовича @gdialex из Школково день рождения сегодня. Мы все конечно же присоединяемся к поздравлениям!

Кому интересна офигительная история, как мы записывали музыку для этого видео? Пишите плюсик в чат канала 😜
Давайте я повторю ещё раз _свою_ позицию по поводу языков программирования.
Pascal - мёртвый, я не согласен, что он хорош для обучения - питон тут лучше.

Что надо изучать, когда не знаешь, что хочешь, но хочешь быть крутым:
1. C++ - надо изучать для понимания низкоуровневых и базовых вещей: структуры данных, выделение и работа с памятью, потоки, класический ООП, типозависимость и указатели, неймспейсы. Ни один другой язык этого лучше не покажет, чем C++

2. Java - самый распространенный язык с виртуальной машиной. Идеально подходит для понимания принципа пакетов, байткода, паттернов. Но самое главное лично для меня - понимание принципа Garbage Collection.

3. Go - идеально для понимания функциональных языков и языков, где нет исключений.

4. php, perl - для понимания интерпретируемых языков, динамической типизации

5. javascript - для понимания, как не надо делать языки, и как эту ошибку можно частично исправить с помощью стандартов

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

PS: На самом деле, после изучения этого списка - уже без разницы на чём писать.
Я тут недавно в чате к этому каналу говорил, что к истинному живому ИИ мы приблизимся, когда сможем работать с памятью на скорости 1 TB/s и памяти будет порядка 1000 TB. Чтож, судя по всему этот момент ещё ближе, чем казалось.

По слухам, новые NVidia RTX 3090 будут с 12 GB памяти на скорости как раз 1 TB/s! Осталось нарастить объём, побольше CUDA и тензорных ядер… и вот уже прототип человеческого головного мозга будет вполне себе реален.

Статейки про RTX 3090:
1. https://videocardz.com/newz/micron-confirms-nvidia-geforce-rtx-3090-gets-21gbps-gddr6x-memory
2. https://hexus.net/tech/news/graphics/144826-nvidia-geforce-rtx-3090-uses-12gb-21gbps-gddr6x-memory/

Кстати, архитектура Ampere для машинного обучения и AI, что представлена в GPU Nvidia A100 - уже работает на 1.6 TB/s имея на борту 40 GB, собирается в красивый стек из кучи GPU на сервер. Но стоит правда это всё от $200k за 8 GPU сервер
Ах, да, даже этот сервер за $200k не подходит в целях транскодинга видео. А почему? Потому что там нет ни RT ядер, ни NVENC энкодеров. Nvidia A100 это GPU исключительно для тензорных ядер и задач с ними.

Подробнее можно почитать в вайтпейпере от производителя
https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/nvidia-ampere-architecture-whitepaper.pdf
(осторожно, много технических деталей и всё на буржуйском, как вы любите)