YAML (.yml) — популярный язык для конфигурационных файлов, широко используемый DevOps в подходе «Инфраструктура как Код» (IaC). Несмотря на то, что работать с ним бывает проще, чем с тем же JSON (особенно в контексте взаимодействия с большими объемами данных), иногда использовать его бывает трудно. В этой статье мы рассмотрим несколько советов, которые помогут упростить процесс создания и редактирования yml-файлов.
Аккаунт компании
Вакуумируй это: сбор и удаление мусора в базе данных Greenplum
Всем привет! ITSumma на связи! Недавно — 8 февраля мы провели вебинар о мониторинге и обслуживании реляционной базы данных Greenplum.
При всех своих достоинствах у Greenplum есть подводные камни, о которых стоит знать разработчикам и администраторам. Один из таких потенциально опасных моментов — процедура сбора и удаления мусора, её ещё называют вакуумирование, потому что она инициируется командой Vacuum. Работать с вакуумированием нужно деликатно, иначе велик риск надолго нарушить работу всей системы. Как раз о том, как этого избежать, правильно мониторить и очищать таблицы, мы и рассказывали на вебинаре.
Это статья — выжимка нашего мероприятия. Вот что вы из неё узнаете:
Как проводят оценку качества данных в Airbnb
Сегодня, когда объем собираемых компаниями данных растет в геометрической прогрессии, мы понимаем, что больше данных — не всегда лучше. На самом деле слишком большой объем информации, особенно если вы не можете гарантировать ее качество, может помешать компании и замедлить процесс принятия решений. Или это приведет к принятию неправильных решений.
Рост показателей Airbnb до 1,4 миллиарда гостей на конец 2022 года привел нас в точку, когда снижение качества данных стало мешать нашим специалистам по работе с этими самыми данными. Еженедельные отчеты по метрикам стало сложно предоставлять вовремя, такие базовые показатели как «Активные объявления» стали иметь целую паутину зависимостей. Для полноценной работы с данными стали требоваться значительные институциональные знания, просто чтобы преодолеть все «подводные камни» в нашем информационном потоке.
Чтобы решить эту проблему, мы внедрили процесс под кодовым названием «Мидас» (Midas), который предназначался для сертификации наших данных. Начиная с 2020 года, процесс Midas, а также работа по реорганизации наших наиболее важных моделей позволили значительно повысить качество и оперативность получения важнейших данных Airbnb. Однако достижение всех критериев качества данных требует значительных межфункциональных инвестиций в такие вещи как проектирование, разработка, проверка и поддержка необходимых информационных ассетов и документации.
Создание сквозного конвейера MLOps с помощью Open-source инструментов
Эта статья служит целенаправленным руководством для специалистов по исследованию данных и инженеров ML, которые хотят перейти от экспериментального машинного обучения к готовым к производству конвейерам MLOps. Мы выявим ограничения традиционных систем ML и познакомим вас с основными инструментами с открытым исходным кодом, которые помогут вам создать более надежную, масштабируемую и поддерживаемую систему ML.
Среди обсуждаемых инструментов — Feast для управления функциями, MLflow для отслеживания и версионирования моделей, Seldon для развертывания моделей, Evidently для мониторинга в реальном времени и Kubeflow для оркестровки рабочих процессов.
Введение
Ландшафт машинного обучения постоянно меняется, и переход от разработки моделей к их внедрению в производство сопряжен с рядом трудностей. Хотя блокноты Jupyter и изолированные скрипты полезны для экспериментов, им часто не хватает функций, необходимых для системы производственного уровня. Эта статья призвана помочь вам справиться с этими проблемами, познакомив с концепцией MLOps и набором инструментов с открытым исходным кодом, которые могут облегчить создание готового к производству ML-конвейера.
Независимо от того, являетесь ли вы специалистом по исследованию данных, желающим перейти к производственной деятельности, или инженером ML, стремящимся оптимизировать существующие рабочие процессы, эта статья призвана дать целенаправленный обзор основных практик и инструментов MLOps.
Переход с ETL на ELT
ETL (Извлечение-Трансформация-Загрузка) и ELT (Извлечение-Загрузка-Трансформация) — два термина, которые часто используются в области дата-инжиниринга, особенно в контексте захвата и преобразования данных. Хотя эти термины часто используются как взаимозаменяемые, они относятся к немного разным концепциям и имеют различные последствия для проектирования конвейера данных.
В этом посте мы проясним определения процессов ETL и ELT, обозначим различия между ними и обсудим преимущества и недостатки, которые они предлагают инженерам и командам по работе с данными в целом. И самое главное, я опишу, как недавние изменения в формировании современных команд по работе с данными повлияли на ландшафт борьбы ETL против ELT.
Понимание Извлечения (Extract), Загрузки (Load) и Трансформации (Transform) независимо друг от друга
Главный вопрос при сравнении ETL и ELT, очевидно, последовательность выполнения шагов Извлечения, Загрузки и Трансформации в рамках данных.
Главные проблемы сайта, которые показывает нагрузочное тестирование
Всем привет! На связи ITSumma.За 15 лет, что мы делаем нагрузочное тестирование, у нас накопился список самых распространенных ошибок, которые совершают, когда строят и отлаживают инфраструктуру.
Ну список и список скажете вы, но в этой статье мы хотим поделиться не только самими ошибками, но и инструкциями, как их найти. Так что не будем затягивать предисловие и сразу перейдем к делу.
Потоковая обработка данных: анализ альтернативных решений
Всем привет! Я Алексей Пономаревский, разработчик решений для платформ сбора и обработки больших данных.
Два года назад мы в ITSumma создали решение для потоковой обработки данных с помощью Apache Spark и базы данных Greenplum — spark-greenplum-connector. Это многофункциональный плагин для Spark, на его основе инженеры могут строить ETL-решения и анализировать данные in-memory.
Изначально мы разработали его, как часть клиентской платформы потоковой обработки данных. Но со временем он прирос одной интересной функциональностью, которая недоступна сейчас в других подобных решениях. В этой статья я хочу сделать краткое сравнение между двумя opensource-продуктами Apache Spark и Flink, а также рассказать об одной интересной особенности Spark, которую мы реализовали в коннекторе.
Как мы перевезли на новый сайт 700 тысяч рецептов и 6 миллионов фото пирогов, сырников и овсяноблинов
На рынке частой историей является поглощение глобальными игроками локальных интернет-сервисов и ресурсов, которые дублируют их функции. Так произошло в 2017 году и с парой «Овкусе» и Cookpad, когда последний решил зайти в русскоязычный сегмент. Тогда слияние произошло успешно: российский проект был куплен и органично влился в инфраструктуру кулинарного ресурса японского происхождения, где активно развивался все эти годы. Ровно до момента, пока головной офис не принял решение уйти из региона, полностью удалив русскоязычную часть Cookpad вместе со всем имеющимся контентом.
Сегодня мы расскажем о том, как нашей команде пришлось переносить данные целого проекта на новую платформу и с чем нам пришлось столкнуться при переезде 6 миллионов фото блюд из 700 тысяч рецептов, которые создали пользователи платформы за 15 лет.
Как перевезти интернет-магазин на Spree и RoR в облако и улучшить стабильность сайта в 4 раза?
Всем привет! Меня зовут Сергей Спорышев, я директор направления DevOps-продуктов в ITSumma. В этом тексте я хочу рассказать, как задача по переносу в облако простого на первый взгляд проекта оказалась не такой уж простой и превратилась в целый квест.
Переход в SRE — лучший способ сохранить работу в условиях рецессии для DevOps-инженера
В ноябре прошлого года мы публиковали статью с мнением о том, что сокращения в Twitter — первая ласточка грядущего схлопывания рынка труда в IT. Тогда мнения аудитории разделились: одни соглашались с тем, что сектор вот-вот провалится в глобальную рецессию наравне с прочими сферами деятельности, другие замечали, что инженерам ничего не грозит.
Спустя пять месяцев можно подвести промежуточный итог: как это ни печально, но скептики (и мы в их числе) оказались правы. Рынок труда в IT-сегменте по всему миру начал если не схлопываться, то серьезно сжиматься.
Пока весь мир обсуждает, что отрицательный рост Sillcon Valley Bank не обрушит мировую банковскую систему и является локальной проблемой, IT-сегменту стоит все же напрячься. Напомним, еще в мае 2022 года Y Combinator рассылал своим участникам письма о том, что инвестиций в стартапы без 100% гарантий окупаемости, де-факто, больше не будет.
Как решить техническую проблему у медицинской компании за несколько часов с перерывом на кофе
Недавно у нас случился медицинский детектив. Технико-медицинский. Почти в духе доктора Хауса. К нам обратилась компания, которая разрабатывает ПО для автоматизации процессов в медицинских учреждениях — радиологические информационные системы. В частности, софт для лучевой диагностики. Эти системы могут использовать как отдельные медицинские организации, так и целые регионы.
На одном из таких объектов, где работала система, регулярно возникали проблемы с быстродействием, особенно в часы пиковой нагрузки. При этом на других аналогичных объектах, где было установлено такое же ПО и была схожая нагрузка, этих проблем не было.
«Изначально клиент пришел с запросом на нагрузочное тестирование. Но мы предложили сначала провести аудит и починить проблемы со скоростью работы, а после уже — сделать нагрузочное (если потребуется)».
Алексей Алексеенко, главный системный администратор ITSumma.
И вот как мы ставили диагноз…
Как мы в 3 раза снизили время, которое менеджеры тратили на рутинные задачи
Для бизнеса, который планирует развиваться и расти, а не извлекать сиюминутную выгоду, система аналитики практически мастхэв. Она помогает строить бизнес-планы, дает более реальное представление о том, как чувствует себя компания; с её помощью можно принимать решение, основываясь на фактах, а не на догадках. В этой статье мы рассказываем о своем опыте внедрения системы аналитики и той пользе, которую она приносит.
Началось все с того, что мы стали собирать данные из разных источников...
Жизненный цикл инфраструктурной документации: документируй это от заката до рассвета
О том, что такое инфраструктурная документация и чем она полезна как аутсорсерам, так и владельцам проектов, мы писали в предыдущей статье. Теперь настало время поговорить о грустном: инфраструктурная документация не вечна… Мало того, что она в принципе изменчивая натура, так ещё и случается так, что жизненный цикл её конечен. Или нет?..
Расскажем сегодня, почему не стоит пугаться словосочетания «жизненный цикл» и может ли он действительно закончиться, или всё новое — хорошо забытое?..
Документация живёт и побеждает
Документация не бывает статичной; она всегда претерпевает изменения — обновляется, удаляется, восстанавливается или меняет структуру. Эти изменения и составляют жизненный цикл инфраструктурной документации. Его необходимо сформировать как процесс и приучать к нему сотрудников.
Итак, жизненный цикл документации состоит из нескольких этапов, которые могут варьироваться в зависимости от специфики компании и продукта. Но есть в их перечне обязательные:
6 универсальных советов, что проверить в инфраструктуре сайта перед Чёрной пятницей
Чёрная пятница уже началась, но ещё можно успеть проверить самое важное в проекте, чтобы не быть крайним, если вдруг что-то случится с сайтом :-)
Ведь как оно частенько бывает: отдел маркетинга\отдел продаж\коммерческий департамент или лично собственник бизнеса вроде просчитали всё перед акцией (типа Чёрной пятницы) — но сайт не выдержал нагрузки, и кто же виноват?..
Впрочем, наша задача — не разбирательствами заниматься, а помочь сделать так, чтобы этого вовсе не случилось. В этой статье мы собрали советы, которые назвали универсальными: с одной стороны, некоторые моменты довольно очевидны, с другой — про очевидное, когда всё в огне, тоже можно забыть. Ну и это всё будет полезно любому проекту, вне зависимости от профиля и масштабов бизнеса.
Итак, поехали.
Мы на пороге IT-рецессии. Сокращения в Twitter — отражение новой действительности для всего мирового IT
Главный инфоповод последних недель — закрытие Илоном Маском сделки по Twitter, введение платы в 8$/mo за синюю галочку и, конечно же, массовые сокращения в компании. Новый хозяин соцсети пришел и сразу же стал разгонять сотрудников убыточного Twitter, отправив на мороз одним днем половину сотрудников социальной сети. Знакомая история? Уверены, вы о ней слышали.
Со стороны может показаться, что Маск сошел с ума и вместе с 44$ млрд за Twitter он отдал еще и половину мозга, ведь кто будет сокращать IT-специалистов, да еще так жестко? Понятно, что в числе уволенных были всякие менеджеры проектов, помощники менеджеров, ассистенты помощников, и ассистенты ассистентов, которые любят плодиться в крупных компаниях методом деления. Но и всевозможные технические специалисты тоже попали под огонь.
История с Twitter показательна, интересна и захватывает дух, но самое главное заключается в том, что она, как приманка, отвлекает наше внимание от того, что глобально происходит в американском IT-секторе, а значит, и в IT-секторе всего мира. А происходит там следующее:
Летопись проекта: зачем нужна инфраструктурная документация
Документация нужна. Точка. На этом всё, расходимся.
На самом деле, если без шуток, что такое техническая документация? Зачем она нужна? Вопросы интересные. Если отвечать на них бюрократическим языком, то получится длинно, важно и непонятно. Поэтому мы попробуем ответить по-простому.
Документация — это про знания. Знания о продукте, системе, процессах. Важно, где и как хранятся эти знания, кто может получить к ним доступ, легко ли их найти, доступны ли они для понимания.
А еще документация — это про деньги. Как и многое в этом мире. Например, если наличие документации уменьшает количество обращений пользователей в службу поддержки, то, вероятно, это сокращает расходы на сотрудников поддержки. А значит, документация решает определенную бизнесовую задачу.
И наконец, документация — это про коммуникацию. Про передачу информации между людьми, отделами, компаниями и т.д. Например, документация API позволяет заменить коммуникацию между группами разработчиков, пользовательская документация — это способ коммуникации между компанией-разработчиком и ее клиентами, инструкции для новых сотрудников — это замена общения наставника и новичка.
Как жить с потоком алертов и не сойти с ума?
Как устроена техподдержка в идеальном мире, все знают: сработал алерт, и команда сразу понимает, почему он сработал и что с этим делать!
Как бывает в реальном мире — тоже все знают: то алерты не срабатывают тогда, когда должны бы, и всё летит к чертям… то алертов столько, что не успеваешь понять, какой из них критичный, а какой — «мусорный».
В общем, «всё сложно». Но может стать сильно проще — если внедрить грамотный менеджмент алертов. Как этого достичь — делимся своим опытом поиска ответа на вопрос в заголовке.
Куда приводят Ops'ы: размышления о развитии ландшафта *Ops-специализаций
Разнообразные и разнонаправленные изменения, на которые 2022-й оказался более чем щедр, натолкнули на размышления о том, каков текущий Ops-ландшафт и как он (потенциально) будет изменяться в ближайшей и среднесрочной перспективе. И хотя все сейчас живут в соответствии с известным изречением «Хочешь насмешить Бога — расскажи ему о своих планах», можно попытаться кое-что спрогнозировать.
К слову о прогнозировании: несмотря на недавние новости о снижении мобильного трафика в России, Nokia Bell Labs предсказывает рост мирового объема IP-трафика в 2022 году до уровня в 330 эксабайт в месяц. А количество устройств, подключенных к Интернету вещей, по мнению экспертов, вырастет до 100 млрд в 2025 году. И большую часть сгенерированных устройствами и пользователями данных, так или иначе, будет анализировать бизнес.
Для автоматизации этого процесса используются платформы обработки и хранения данных, которые дают аналитикам огромные возможности по их глубокому изучению. Однако инфраструктуры таких платформ довольно сложно сопровождать — они содержат много компонентов и связей между ними. А у BI-специалистов свои задачами, им недосуг следить за тем, как, например, распаковывается JSON или извлекаются данные. Так что «платформа ищет человека». И находит его — в лице DataOps- и MLOps-инженеров.
Китай наладил техпроцесс 7 нм без доступа к западным технологиям
Летом 2022 года стало окончательно понятно, что китайская корпорация SMIC освоила производство микросхем по техпроцессу 7 нм.
Хотя специализированные процессоры MinerVa7 Bitcoin (SHA256 ASIC) мало кому интересны, но здесь любопытен технологический аспект. Получается, что если Китай освоил такой техпроцесс, то может в условиях торговых ограничений наладить производство CPU общего пользования, не уступающих процессорам TSMC (Apple, AMD) и Intel предпоследнего поколения?
Сразу появились подозрения, что китайский техпроцесс SMIC 7 нм скопирован с техпроцесса TSMC N7 образца 2018 года. И встал вопрос, какую фотолитографию использует Китай, ведь у них нет доступа к современным степперам ASML.
Как собрать платформу обработки данных «своими руками»?
Большое количество российских компаний столкнулись с ограничениями в области ПО. Они теперь не имеют возможности использовать многие важные инструменты для работы с данными. Но, как говорится, одна дверь закрылась — другая открылась. Альтернатива зарубежным решениям есть: платформу обработки данных можно создать своими силами. Расскажем, как мы в ITSumma это сделали, какие компоненты использовали, с какими ограничениями столкнулись и зачем вообще всё это нужно.
Предыстория (очень короткая)
Один заказчик, который заинтересовался нашими компетенциям в построении инфраструктур, предложил крупный интеграционный проект. Архитекторы клиента придумали сложную и большую платформу, которая включала в себя машинное обучение, обработку данных и управлялась с помощью Kubernetes. Нам поставили задачу реализовать проект платформы, настроить связность элементов, построить и запустить инфраструктуру в эксплуатацию.
В итоге всё прошло хорошо и заказчик доволен. А у нас возникла идея скомпоновать свою платформу — такую, чтобы она была доступной не только большому бизнесу, но и компаниям среднего и малого масштаба. То есть сделать так, чтобы можно было получать большие возможности и не платить при этом огромные деньги.