Обновить
256K+

DevOps *

Методология разработки программного обеспечения

443,31
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Kubernetes как PaaS: максимум возможностей без разработки. Часть 1

Время на прочтение10 мин
Охват и читатели7.9K

Kubernetes — это не просто оркестратор контейнеров, а целая экосистема инструментов, которые позволяют построить PaaS без написания кода. Helm, ArgoCD, Crossplane, Knative и другие решения делают управление приложениями и инфраструктурой настолько простым, что разработка собственной платформы превращается в задачу конфигурации, а не программирования. Меня зовут Сергей Емельянов, я техлид команды в VK Tech, которая занимается созданием PaaS-платформы на базе Kubernetes для упрощения работы с данными. В серии статей разберем, как создать PaaS, используя мощь Kubernetes и его экосистему.

Читать далее

CI/CD для чайников — разберитесь и начните наконец-то автоматизировать рутину в разработке. Часть1. Введение

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели87K

Всем привет. Наверняка каждый, кто так или иначе связан с IT сферой, слышал модную аббревиатуру CI/CD. Везде мы слышим про необходимость ее использования, преимущества автоматизации процессов и т.д.

В вакансиях все чаще требуется опыт работы с одним из инструментов в этой инфраструктуре – Jenkins, Travis, AWS, Gitlab CI/CD.

⚠️Я предлагаю вам посмотреть на этот процесс, глазами простого разработчика. Чем ему может помочь автоматизация. Что в конечно итоге скрывается под этой аббревиатурой, и как уже начать получать дивиденды в своей ежедневной рабочей практике.

Первые шаги

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

В целом, это будет актуально для любого стека.
Чаще всего я использую для хранения кодовой базы и групповой работе над проектами Gitlab. Очень кстати, что эта площадка предоставляет инструментарий CI/CD.

Я пытался пару лет подступиться к этому вопросу. Стильно, модно, молодежно. Да, дает кучу преимуществ. Но все попытки переварить официальную документацию, заканчивались неудачей. А видео уроки или материалы в общем доступе – чаще всего давали рецепт автоматизации какого-то конкретного кейса, который либо частично, либо полностью отличался от моего приложения.

Мне не хватало именно взгляда на основные шаги – что, зачем и как мы делаем. А уже потом реализации практических задач.

CI – continuous integration

Что же скрывается за термином "непрерывной интеграция". Когда мы работаем над созданием программного продукта – в одиночку, или в рамках команды, мы стараемся добавить в наш проект, несколько строк кода. Новый функционал, исправление или доработки. Суть не особо важна. В конечно счете – либо появляется новый код, либо появляются изменения в старом. И нам нужно убедиться, что эти новые изменения, не содержат ошибок, которые могут вызвать проблемы или неработоспособность приложения. ⛔️

Читать далее

Как ускорить Varnish Cache и исключить его зависания

Уровень сложностиСложный
Время на прочтение17 мин
Охват и читатели3.5K

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

Читать далее

Делаем непрерывную поставку(CI/CD) в Qlik Sense

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели2.2K

Привет. Расскажу, как мы решили проблему с переносом релизов из Test в Prod в Qlik Sense. Сначала немного истории. Выбор архитектуры с изолированными средами Test и Prod в Qlik Sense для нас был обусловлен следующими преимуществами:

Производственная среда высокой степени готовности, надежности за счет исключения влияния разработки, ситуации с нештатными и штатными перезагрузками системы и сервисов минимизированы. Все пользователи имеют одинаковый профиль нагрузки, использования (load pattern, usage pattern), линейная зависимость утилизации ресурсов от количества пользователей, управляемая модель планирования роста производительности и масштабируемости системы. Все пользователи, аналитики и разработчики имеют права «только чтение», вероятность ошибочных изменений объектов в системе исключена. В Prod обеспечивается подключение к источникам данных только продуктивного контура в соответствии с правилами информационной безопасности.

Среда разработки и тестирования Test, в силу решаемых задач, предусматривает менее строгие требования к доступности и надежности системы. Таким образом, не создают неудобства для основного бизнеса и допускаются ошибки при разработке, приводящие к неработоспособности системы, узлов, сервисов или деградации производительности, например, в силу разной квалификации разработчиков. Для команд внутренней разработки Компании и подрядных организаций обеспечивается возможность изолирования проектов и ресурсов на уровне групп ActiveDirectory и сетевого доступа. В Test источниками данных для Qlik являются, соответственно, КХД и другие АС в тестовом контуре. Это позволяет командам разработчиков QS и БД вести совместные разработку в соответствии с правилами сетевой связанности и информационной безопасности. Также могут решаться задачи обучения разработчиков и аналитиков на временных площадках SandBox и SelfSense.

Читать далее

KRR — ваш личный советник по ресурсам в Kubernetes

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели13K

KRR (Kubernetes Resource Recommender) — это CLI-инструмент для оптимизации использования ресурсов в Kubernetes. Он анализирует метрики Pod'ов, собираемые в Prometheus, и предлагает оптимальные настройки requests и limits для CPU и памяти. Это помогает снизить расходы на облачные ресурсы и повысить производительность приложений. В этом посте будет рассмотрен периодический запуск krr в kubernetes с сохранением в html формат для удобного отображения через браузер как web-сайт.

Читать далее

Как мы спасли 50 сервисов для работы софта управляющего компьютерными клубами: миграция в Yandex Cloud и IaC

Время на прочтение4 мин
Охват и читатели2.1K

Компьютерные клубы — это не только про игры, но и про сложную IT-инфраструктуру. Когда к нам обратился владелец сети с 50 сервисами на Go, которые «падали» каждую неделю из-за проблем с облаком, мы поняли: пора переходить от слов к действию.

Меня зовут Радмир, я руковожу AvantIT — компанией, которая берет на себя IT-хаос, чтобы бизнес мог сосредоточиться на своих клиентах. В этом кейсе я расскажу, как мы перенесли высоконагруженную систему в Yandex Cloud, внедрили IaC и научили её работать в двух облаках одновременно.

Читать далее

Объектное хранилище S3: практическое руководство без лишних слов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели23K

Объектное хранилище S3 стало стандартом для работы с большими объемами данных в облаке. Оно позволяет хранить файлы любого типа, легко управлять доступом и интегрироваться с другими сервисами. Но давайте без маркетинговых лозунгов: зачем это действительно нужно?

Меня зовут Станислав Погоржельский, я технологический евангелист VK Cloud, и в том числе в рамках своей работы рассказываю про наши облачные и on-prem решения. В этой статье мне захотелось поделиться, как именно объектное хранилище S3 помогает решать реальные задачи.

Читать далее

Принцип каскадного снижения связанности

Время на прочтение9 мин
Охват и читатели14K

Часто ли вы слышите о новом принципе проектирования IT-архитектуры? А об обновлении классических принципов? Попробую вас удивить и привнести что-то новое. 😎

У вас никогда не вызывало недоумения, что связанность и прочность (или связность) — это про примерно одно и то же (и то, и другое — это некая связь), но одно — хорошо, а другое — почему-то плохо? 🙂
Но давайте по порядку.

Читать далее

Deckhouse Prom++: мы добавили плюсы к Prometheus и сократили потребление памяти в 7,8 раза

Уровень сложностиСложный
Время на прочтение18 мин
Охват и читатели27K

Хотя Prometheus и стал стандартом мониторинга для микросервисов в Kubernetes, он потребляет слишком много ресурсов. А что, если мы скажем, что добавили пару плюсов к Prometheus и получили почти бесплатный мониторинг? Все подробности — под катом.

Узнать о Deckhouse Prom++

GreenOps — ключ к успеху там, где FinOps терпит неудачу

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели1.8K

GreenOps — ключ к успеху там, где FinOps терпит неудачу.

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

Читать далее

Я тимлид и я не боюсь джунов

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели30K

Приятно много просмотров получила статья про рабочий день DevOps-инженера.

Это мотивировало сделать фокус еще на некоторых особенностях нашей инженерной работы, поэтому продолжаю разговаривать с Дмитрием, тимлидом DevOps-команды в Git in Sky. Его общий стаж стаж в статусе тимлида — с 2016 года.

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

Читать далее

Кластер Proxmox и интеграция Terraform

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели27K

Привет! Это Александр, DevOps инженер из Банки.ру. В прошлой статье я рассказал про сборку сетевого хранилища на базе XPenology. Сегодня продолжу тему Proxmox и XPenology и поделюсь историей о неудачном апгрейде инженерными CPU мини-ПК Lenovo из первой статьи и чем она закончилась.

Читать далее

Репликация KV1/KV2 в Deckhouse Stronghold: как добиться идентичности секретов

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели2.1K

Мы добавили в Deckhouse Stronghold механизм репликации для хранилищ KV1/KV2, который позволяет автоматически и централизованно синхронизировать секреты в распределённых и облачных системах. Под катом погружаемся в техническую реализацию репликации и рассказываем, какие сложности преодолели в процессе. 

Читать далее

Ближайшие события

Автоматизация тестирования, которая не ломается при первом редизайне

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели15K

Автоматизация тестирования, которая не ломается при первом редизайне

Как мы проектировали, внедряли и поддерживаем живую систему автотестов

Читать далее

Управляем сетевыми политиками доступа в стиле «Network as Code». Часть 2

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели3.8K

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

Читать далее

Ускорьте отладку тяжелых Docker-образов, запускаемых в удаленной среде

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели3.7K

Это небольшой туториал о том, как ускорить pull и push тяжелых Docker образов, которые вы собираете локально, но их запуск возможен только в удаленной среде. Например, потому что контейнер использует специфическое окружение, приложения или ресурсы, которые трудно или невозможно воспроизвести локально.

Решение “в лоб” состоит в том, чтобы запушить собранный образ в Dockerhub. А там, где вы будете его использовать, просто указать ссылку на образ. Очевидно, что у этого простого способа есть недостатки.

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

Узнать решение

Практика создания кастомных сборок Spark Kubernetes Executor

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели1.3K

Поделюсь с коллегами практикой создания Docker-сборок на базе Spark разных версий, которые могут запускаться как Spark Kubernetes Executors для параллельного выполнения Spark-задач в кластере.

В нашем конкретном случае сборки включают Pyspark и Cassandra Connector, однако вы можете использовать этот материал как набор практических примеров, чтобы сконструировать собственные Docker-сборки для Spark на другом стеке или с другими приложениями.

В рамках поставленной задачи мне понадобилось подготовить, как минимум, пару Docker-сборок: одну для поддержки легаси кода и другую вполне современную для последующей миграции. Ниже я расскажу об этапах создания таких Docker-сборок, погружаясь в детали по ходу дела.

Читать далее

Управляем сетевыми политиками доступа в стиле «Network as Code». Часть 1

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели5K

Привет, Хабр! Сегодня поделюсь, как я с коллегами решал небольшую задачу по автоматизации управления списками доступов на пограничных маршрутизаторах. Исходные данные просты: 100+ маршрутизаторов, на которых необходимо поддерживать в актуальном состоянии правила NAT. Звучит несложно, но, как водится, есть свои нюансы.

Читать далее

Опыт разработки плагина для IntelliJ IDEA

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3.3K

TL;DR: Статья раскрывает опыт создания плагина для IntelliJ IDEA без глубокого погружения в технические подробности. Описан полный цикл разработки — от мотивации и идеи до публикации плагина.

Привет! В этой статье я хочу поделиться своим опытом создания плагина для среды разработки от JetBrains — Infrastructure as Code Security Linter. Плагин позволяет находить проблемы в Dockerfile и docker-compose файлах, как Hadolint, только делает это на лету и интегрирован в IDE.

Читать далее

Мониторинг инфраструктуры: как избежать простых и неправильных решений

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели12K

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

На первый взгляд кажется, что главное для мониторинга – это выбрать ключевые метрики, учесть особенности инфраструктуры и настроить сбор данных,  триггеры и алерты. Несомненно, это очень важно для инструмента наблюдения. Но всё же главное в мониторинге — сделать его источником информации для развития и оптимизации.

Привет, Хабр! Я — Андрей Камардин, SRE-инженер одной из российских облачных компаний, старший преподаватель в МАИ и эксперт Skillbox по DevOps. Веду канал «Записки про IT». Для закрытого комьюнити Skillbox IT Experts рассказал, как мы настраивали мониторинг инфраструктуры для принятия решений.

Читать далее