Если вы каким-либо образом связаны с Machine Learning в production-среде, вам важно понимать, что представляет из себя практика MLOps. Для людей с опытом разработки ПО самый простой способ понять, что такое MLOps — провести параллель между ним и DevOps. Данное руководство поможет вам понять суть обоих терминов, а также их сходства и различия.
User
Как инженеру выбрать работу

Даже на текущем рынке кандидата, каждая смена работы — это серьезное решение, инвестиция нескольких лет жизни или — неприятная строчка в резюме, причина для неудобных вопросов вроде «А почему вы ушли из компании X, проработав там немногим более года?».
Основные риски при неправильном выборе работы — сложности с поиском работы в будущем. Резюме без достижений или лоскутное, несоответствие квалификации запросу по деньгам и уровню потребления, другие нерыночные требования к работодателям. Результат — выгорание и демотивация, необходимость революции в середине карьеры.
При этом большинство людей выбирают работу скорее на чуйке, чем логически, или на каком-то одном факторе, например деньгах. Особенно в начале карьеры. Я и сам так делал. Это нормально: трудно выстроить систему на том небольшом количестве компаний, с которыми знакомится средний кандидат в жизни. С другой стороны, интуиция, тренированная на малом количествах точек, работает не лучшим образом.
За 18 лет в индустрии, в том числе на роли исполнительного директора и позднее CEO, мне удалось познакомиться с большим количеством бизнесов и поучаствовать примерно в тысяче инженерных интервью. На основе этого опыта и опыта коллег по Mindbox сложилась система, которой тут делюсь. И буду благодарен за предложения в комментариях, как ее улучшить.
Хоть я лицо и заинтересованное, надеюсь помочь и себе, и вам. Благо, в моих интересах не заманить всех и каждого, а чтобы приходящие к нам делали свой выбор рационально. Работали у нас долго, были довольны и мотивированы.
Полное руководство по Prometheus в 2019 году
DevOps- и SRE-инженеры уже, наверное, не раз слышали о Prometheus.
Prometheus был создан на SoundCloud в 2012 году и с тех пор стал стандартом для мониторинга систем. У него полностью открытый исходный код, он предоставляет десятки разных экспортеров, с помощью которых можно за считанные минуты настроить мониторинг всей инфраструктуры.
Prometheus обладает очевидной ценностью и уже используется новаторами в отрасли, вроде DigitalOcean или Docker, как часть системы полного мониторинга.
Что такое Prometheus?
Зачем он нужен?
Чем он отличается от других систем?
Если вы совсем ничего не знаете о Prometheus или хотите лучше разобраться в нем, в его экосистеме и всех взаимодействиях, эта статья как раз для вас.
Как GitLab проходили Y Combinator

C января по март 2015 года, GitLab участвовал в зимней программе 2015 года Y Combinator. Мы прекрасно провели время и хотим поблагодарить сотрудников Y Combinator, наших менторов Касара и Кевина, выпускников YC и наших товарищей по программе.
Четкий фокус
Когда вы присоединяетесь к Y Combinator, вы попадаете в группу с несколькими другими стартапами. В эту группу входят другие команды основателей и один или два ментора, которые имеют опыт создания и управления новыми компаниями. Каждую неделю вы встречаетесь с одними и теми же людьми, обсуждая одни и те же темы:
- Где вы находитесь,
- Где вы застряли,
- Как можно вам помочь.
Эти обсуждения очень конкретные, а не теоретические или философские. Речь идет о том, что вы делаете для достижения своей цели. У них есть четкие цели на протяжении всей программы, которые будут варьироваться от стартапа к стартапу, поскольку все они находятся на разных стадиях, когда начинают программу. Общими показателями являются количество клиентов, выручка или количество загрузок. У каждого основателя или команды есть четкая цель — сосредоточиться на одной метрике.
В течение следующих нескольких месяцев все идет к тому, чтобы провести презентацию на финальном Demo Day. Demo Day — это мероприятие только для приглашенных, на котором каждая из компаний-основателей выступает перед группой инвесторов.
Погружение в Helm Package Manager. Часть первая

Helm — один из самых популярных пакетных менеджеров для Kubernetes. Познакомиться с ним полезно любому DevOps-инженеру и всем, кто сталкивается с задачами деплоя приложений. Эта статья — первый из двух материалов, которые можно вместе можно рассматривать как краткое, но достаточно полное введение в Helm.
13 рекомендаций по использованию Helm
Helm — незаменимый инструмент для развертывания приложений в кластерах Kubernetes. Но только следуя передовому опыту, вы действительно ощутите преимущества Helm. Вот 13 рекомендаций, которые помогут вам создавать, использовать и обновлять приложения с помощью Helm.
Основы работы с Helm чартами и темплейтами — Часть 1
В этом руководстве мы кратко обсудим, как Helm может помочь упростить управление приложениями Kubernetes, и узнаем, как использовать Helm для создания базового чарта.
Управление приложениями — сложный аспект Kubernetes. Helm значительно упрощает его, предоставляя единый метод упаковки программного обеспечения, поддерживающий контроль версий. Helm устанавливает пакеты (называются Чартами в Helm) для Kubernetes и управляет ими, как это делают yum и apt.
В этом руководстве мы позволим Helm создать для нас базовый чарт. В этом руководстве предполагается, что у вас есть хотя бы базовое понимание того, что такое Helm. Если вы не знакомы с ним, я предлагаю вам ознакомиться с этим руководством, прежде чем приступить к статье: https://www.alibabacloud.com/help/doc-detail/86511.htm
Готовим Helm с GitLab, KinD и Chart-Testing

В этой статье мы рассмотрим, как более-менее прилично организовать процесс тестирования и публикации чартов, встреченные при этом подводные камни, а также рассмотрим пару великолепных инструментов, которые совершенно незаслуженно получили крайне мало внимания не только на Хабре, но и вообще в русскоязычном сегменте интернета.
Очень кстати, в недавно вышедшем релизе Gitlab 14.1, появился долгожданный функционал хранения Helm-чартов во встроенном Package Registry. Отлично, заодно и разберемся, как его использовать.
Установка, использование Managed Service for PostgreSQL,Managed Service for Kubernetes в YandexCloud c помощью terraform
В этом посте будет описана установка Managed Service for PostgreSQL и Managed Service for Kubernetes в Yandex Cloud c помощью terraform. В Kubernetes будет установлено простое приложение на flask, которая записывает данные в Managed Service for PostgreSQL. Приложение на flask описано в helm чарте и будет установлено с помощью helm. Внешний трафик из интернета будет проходить сначала Network load balancer, затем попадать в Ingress. Ingress – это ресурс для добавления правил маршрутизации трафика из внешних источников в службы в кластере kubernetes.
Вся установка и настройка добавлена в скрипт install.sh. Можно просто запустить скрипт и все установится. В посте описывается более подробно.
Основы работы с Helm чартами и темплейтами — Часть 2
В этом руководстве мы кратко обсудим, как Helm может помочь упростить управление приложениями Kubernetes, и узнаем, как использовать Helm для создания базового чарта.
Пишем сервис на GO. Backend для апплета
В первой части этой дилогии мы написали рантайм контроллер для приложения на golang. Все что он умеет делать — запускать методы интерфейса Resources
и функцию MainFunc
, контролировать результат их выполнения, и корректно обрабатывать сигнал операционной системы о завершении работы. Это не так уж и много, но довольно полезно.
Теперь я постараюсь показать, как этот пакет можно использовать на примере простейшего бэкенда для апплета “Труд всем”. Немного поясню идею этого апплета. Допустим у нас есть любой сайт — от хомяка до новостной ленты, а в любом свободном углу при обновлении страницы показана случайная вакансия. Код апплета будет отправлять запрос на сервер и получать в качестве результата HTML код (уже готовый рендер) для вставки на страницу сайта.
Правда интригующе? Где же получать информацию о вакансиях? Где хранить эту информацию? Какие критерии отбора вакансий использовать? Для того, чтобы узнать ответы на эти вопросы, прошу заглянуть под кат!
DevOps Cookbook: как построить процессы с нуля

Привет! Меня зовут Мария, я DevOps-инженер в компании Wrike. В этой статье расскажу о работе DevOps-инженеров с командами разработчиков: как выглядит процесс взаимодействия, из каких этапов состоит и как построить его с нуля. Статья будет полезна, если вы часто меняете проекты и каждый раз вам приходится заново создавать документацию и внедрять базовые процессы в работу команды.
Совместить несовместимое: Канбан-метод + DevOps на госпроектах

Обычная практика при работе с госами - это долгосрочное планирование, тщательное проектирование, разработка по детальным спецификациям, тестирование и релиз раз в три-четыре месяца. Вроде все логично и понятно но, по моему опыту, в современном быстро меняющемся мире работает далеко не идеально. Многие технологические компании (Amazon, Facebook, Netflix и др.) уже отказались от такого каскадного подхода: формируют гипотезы, проводят множество маленьких экспериментов для их быстрой апробации в бою. Думаете, чтобы разработать ракету нужен детальный техпроект, план и далее сборка по чертежам? Тогда вы сильно удивитесь, если прочитаете, как это делается в SpaceX. С таким же недоумением со стороны коллег я сталкиваюсь, когда говорю, что мои команды на госпроектах делают каждый день релизы, организуют частые показы заказчику или пользователям. А еще мы не пишем детальных спецификаций и постоянно развиваем инженерные практики. Почему такой подход имеет место быть и приводит к хорошим результатам, расскажу на примере проекта по созданию ГИС Открытый контроль.
Как же вы планируете без диаграмм Ганта? Почему ваши разработчики не оценивают задачи? Зачем вы делаете частые релизы и частые показы? Что делаете, еcли прилетела срочная задача от заказчика? Какие инженерные практики вам пришлось внедрить, чтобы делать релизы каждый день? Ответы на эти вопросы, а также то, почему мы отказались от Scrum вы найдете в статье.
«Оптимизируем» функции на уровне AST

Python предоставляет программисту огромное пространство свободы. Увы, обычно это довольно дорогая в плане производительности свобода, зато при правильном применении иногда она позволяет творить сущую магию. Но сегодня мы поговорим не о таких вот «богоугодных» применениях свободы, а о том, что никогда не стоит использовать в прикладном программировании — о модификациях кода на уровне AST.
Липкие сессии для самых маленьких [Часть 1]

Липкие сессии (Sticky-session) — это особый вид балансировки нагрузки, при которой трафик поступает на один определенный сервер группы. Как правило, перед группой серверов находится балансировщик нагрузки (Nginx, HAProxy), который и устанавливает правила распределения трафика на доступные сервера.
В первой части цикла мы посмотрим как создавать липкие сессии с помощью Nginx. Во второй же части разберем создание подобной балансировки средствами Kubernetes.
Стратегии деплоя в Kubernetes: rolling, recreate, blue/green, canary, dark (A/B-тестирование)

Схема взята из другого обзора стратегий выката, сделанного в Container Solutions
Одной из самых больших проблем при разработке cloud native-приложений сегодня является ускорение деплоя. При микросервисном подходе разработчики уже работают с полностью модульными приложениями и проектируют их, позволяя различным командам одновременно писать код и вносить изменения в приложение.
Более короткие и частые развертывания имеют следующие преимущества:
- Сокращается время выхода на рынок.
- Новые функции быстрее попадают к пользователям.
- Отклики пользователей быстрее доходят до команды разработчиков. Это означает, что команда может дополнять функции и исправлять проблемы более оперативно.
- Повышается моральный дух разработчиков: с большим количеством функций в разработке интереснее работать.
Введение в REST API — RESTful веб-сервисы
- Введение в REST API — RESTful веб-сервисы
- Различия REST и SOAP
- Разработка REST API — что такое Contract First (контракт в первую очередь)?
- Разработка REST API — что такое Code First (код в первую очередь)?
- REST API — Что такое HATEOAS?
- Рекомендации по REST API — примеры проектирования веб-сервисов на Java и Spring
Она содержит введение в RESTful веб-сервисы и краткий обзор REST и HTTP.

Intro to RESTful Web Services
Сравнение современных построителей образов контейнеров: Jib, Buildpacks и Docker

В этой статье будут рассмотрены и сравнены различные методы контейнеризации ваших Java-приложений. Эти инструменты позволят вам получить контейнерное приложение с минимальными настройками. Возможно, вам даже не потребуется устанавливать Docker или работать с Dockerfile. К концу этой статьи вы сможете решить, какой построитель образов контейнера является самым быстрым, потребляет наименьшее количество ресурсов, проще в настройке и лучше всего подходит для вашего сценария использования.
Сборка контейнеров без Docker

Привет, Хабр. Очень много много сейчас слышно про Кубернетис и Docker. Про них не знает наверное, только ленивый. Но есть и другие варианты работы с контейнерами. Предлагаю перевод статьи одного энтузиаста, который решил изучить похожие инструменты.
20 лучших практик по работе с Dockerfile

Эта статья содержит рекомендации по написанию Dockerfile и принципам безопасности контейнеров и некоторые другие связанные темы, например про оптимизацию образов.
Если вы знакомы с контейнеризованными приложениями и микросервисами, то скорее всего понимаете, что хотя ваши сервисы "микро", но поиск уязвимостей и устранение проблем с безопасностью способен затруднить управление вашими сервисами, уже с приставкой "макро".
К счастью, большинство потенциальных проблем мы можем решить еще на этапе разработки.
Хорошо подготовленный Dockerfile исключает необходимость использовать привилегированные контейнеры, открывать порты, в которых нет необходимости, включать лишние пакеты и избегать утечки чувствительных данных. Старайтесь решить эти проблемы сразу, это поможет в дальнейшем сократить усилия на поддержку ваших приложений.
Information
- Rating
- Does not participate
- Registered
- Activity