Рубрика «контейнеризация»

11 факапов PRO-уровня при внедрении Kubernetes и как их избежать - 1

Я Дмитрий Лазаренко, руковожу командой, создающей и внедряющей собственный Kubernetes aaS на платформе Mail.ru Cloud Solutions. Давно работая с внедрением Kubernetes, мы часто сталкиваемся с недопониманием нюансов этой технологии. Хочу рассказать о типичных стратегических просчетах при внедрении Kubernetes в крупных проектах.

Читать полностью »

Хранение данных в Docker - 1

Важная характеристика Docker-контейнеров — эфемерность. В любой момент контейнер может рестартовать: завершиться и вновь запуститься из образа. При этом все накопленные в нём данные будут потеряны. Но как в таком случае запускать в Docker приложения, которые должны сохранять информацию о своём состоянии? Для этого есть несколько инструментов.

В этой статье рассмотрим docker volumes, bind mount и tmpfs, дадим советы по их использованию, проведём небольшую практику.

Читать полностью »

10 антипаттернов деплоя в Kubernetes: распространенные практики, для которых есть другие решения - 1

Rudder by sun-stock

Команда Kubernetes aaS от Mail.ru Group продолжает серию переводов о правильном использовании Kubernetes. В этот раз — об антипаттернах разработки на Kubernetes с рекомендациями, как сделать по-другому.

Читать полностью »

Прежде чем фича попадет на прод, в наше время сложных оркестраторов и CI/CD предстоит пройти долгий путь от коммита до тестов и доставки. Раньше можно было кинуть новые файлы по FTP (так больше так никто не делает, верно?), и процесс «деплоя» занимал секунды. Теперь же надо создать merge request и ждать немалое время, пока фича доберётся до пользователей.

Часть этого пути — сборка Docker-образа. Иногда сборка длится минуты, иногда — десятки минут, что сложно назвать нормальным. В данной статье возьмём простое приложение, которое упакуем в образ, применим несколько методов для ускорения сборки и рассмотрим нюансы работы этих методов.

Несколько советов о том, как ускорить сборку Docker-образов. Например, до 30 секунд - 1

Читать полностью »

Слёрму полтора года. Шесть интенсивов только по базовому курсу Kubernetes, плюс Мега, DevOps, SRE и Agile — более тысячи участников.

7 апреля стартует «Вечерняя школа Слёрма: базовый курс по Kubernetes», рассчитанная на 4 месяца занятий по вечерам (бесплатные вебинары по теории и платная практика). В мае пройдет седьмой Слёрм по Kubernetes (онлайн-интенсив, «как офлайн, только онлайн»). Будет всё «по-оффлайновому»: с голосовым чатом, видеосвязью, «курилкой» в зуме, групповой работой, выделенными наставниками и техподдержкой.

Мы заявляем, что Слёрм открывает путь к проектам на Kubernetes и росту зарплаты. Так ли это на самом деле?

Мы задали этот вопрос выпускникам Слёрмов. Полтора года — достаточный срок, чтобы стали заметными изменения в карьере, зарплате, работе и сфере задач.

Что важно понимать про этот опрос? Тут есть «ошибка выжившего»: нам ответили те, кто следит за чатом своего Слёрма и готов общаться. Наверняка есть те, кому Слёрм оказался бесполезен, и они молчат об этом. Жизнь меняется: те, кто начал работать с Kubernetes год назад, были в другом положении, чем те, кто начинает сейчас. Это работает в обе стороны: стать архитектором решений сейчас куда сложнее, а найти место джуниора куда проще.

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

Карантин — хороший повод поинтересоваться, как там дела в других бункерах на Пустошах, кто какие технологии использует вместе с Kubernetes, что собирается изучать ещё и в какую сторону двигается, не вставая с кресла. Quarantine. Quarantine Never Changes.

Полезен ли Слёрм? - 1

Читать полностью »

Массивно-параллельная база данных Greenplum — короткий ликбез - 1

Для Hadoop и Greenplum есть возможность получить готовый SaaS. И если Хадуп — известная штука, то Greenplum (он лежит в основе продукта АrenadataDB, про который далее пойдёт речь) — интересная, но уже менее «на слуху».

Arenadata DB — это распределённая СУБД на базе опенсорсного Greenplum. Как и у других решений MPP (параллельной обработки данных), для массивно-параллельных систем архитектура облака далека от оптимальной. Это может снижать производительность аж до 30 % (обычно меньше). Но, тем не менее, эту проблему можно нивелировать (о чём речь пойдёт ниже). Кроме того, стоит покупать такую услугу из облака, часто это удобно и выгодно в сравнении с развёртыванием собственного кластера.

В гайдах явно указывается on-premise, но сейчас многие осознают масштаб удобства облака. Все понимают, что некая деградация производительности будет, но это настолько всё равно супер по удобству и скорости, что уже есть проекты, где этим жертвуют на каких-то этапах вроде проверки гипотез.

Если у вас есть хранилище данных больше 1 ТБ и транзакционные системы — не ваш профиль по нагрузке, то ниже — рассказ, что можно сделать как вариант. Почему 1 ТБ? Начиная с этого объёма использование MPP эффективнее по соотношению производительность/стоимость, если сравнивать с классическими СУБД. Читать полностью »

ОK, а мне точно нужен Kubernetes? - 1

В большой компании часто очень тяжело согласовывать выделение ресурсов под рабочие задачи. Весь Agile с хрустом разбивается о стену трёхнедельного согласования с ИБ новой инфраструктуры. Поэтому к нам часто приходят запросы на перевод инфраструктуры на контейнеры, чтобы выкатывать изменения не раз в три месяца, а когда нужно бизнесу. Просят при этом настроить/внедрить Kubernetes как самый популярный инструмент оркестрации, хотя, как показывает практика, из 10 проектов он нужен максимум в трёх. А по факту стоит или использовать не Kubernetes, а OpenShift, или работать с ним не в своей инфраструктуре, а в публичном облаке, например. Я попробую рассказать про реальные бизнес-кейсы, которые мы решали, опишу основные различия между Kubernetes и OpenShift. А ещё о том, как мы согласование ИБ до 30 минут урезали, и все остались живы.

У нас было несколько интересных внедрений, в которых мы разгребали накопившиеся проблемы заказчика. Например, к нам пришла розничная компания, которой надо было выкатывать новые фишки непрерывно. Конкуренция дикая! А у них только инфраструктура под разработку каждый раз готовится от шести до десяти дней, из-за чего возникают простои. Решать вопрос с помощью закупки нового железа для тестирования и разработки — дорого и путь в никуда. В итоге мы перевели ИТ-инфраструктуру на контейнерную виртуализацию. В результате благодаря контейнерам нагрузка сократилась на 40 %, а инфраструктура под новую разработку теперь готовится от одного до четырёх часов. Бонус — экономия, так как все процессы можно было продолжать вести на базе имеющихся мощностей без покупки новых.Читать полностью »

На Хабре уже есть материалы про то, как настроить docker-контейнер для компиляции проекта. Например, Использование Docker для сборки и запуска проекта на C++. В этой статье, как и в предыдущей будет рассмотрен вопрос сборки проекта, но здесь я бы хотел выйти за рамки туториала и рассмотреть глубже вопросы использования контейнеров в таких задачах, а так же построения инфраструктуры сборки с docker.

Читать полностью »

При запуске Node.js-приложений в контейнерах Docker традиционные настройки памяти не всегда работают так, как ожидается. Материал, перевод которого мы сегодня публикуем, посвящён поиску ответа на вопрос о том, почему это так. Здесь же будут приведены практические рекомендации по управлению памятью, доступной Node.js-приложениям, работающим в контейнерах.

Node.js: управление памятью, доступной приложениям, выполняемым в контейнерах - 1
Читать полностью »

Живут ли базы данных в Kubernetes? - 1

Как-то так исторически сложилось, что IT-индустрия по любому поводу разбивается на два условных лагеря: которые «за» и которые «против». Причем предмет споров может быть абсолютно произвольным. Какая ОС лучше: Win или Linux? На смартфоне Android или iOS? Хранить все в облаках или заливать на холодные RAID-хранилища и класть винты в сейф? Имеют ли PHP-шники право называться программистами? Эти споры носят, временами, исключительно экзистенциальный характер и не имеют под собой никакой прочей, кроме спортивного интереса, базы.

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

И, казалось бы, был бы это простой спор между двумя сторонами одной медали. Такой же бессмысленный и беспощадный, как извечное противостояние Win vs Linux, в котором адекватные люди вполне себе существуют где-то посередине. Вот только в случае контейнеризации не все так просто. Обычно в таких спорах не бывает правой стороны, но в случае «применять» или «не применять» контейнеры для хранения БД все становится с ног на голову. Потому что в определённом смысле правы и сторонники и противники подобного подхода.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js