Блог DevOps → Полезные материалы по DevOps | OTUS
🔥 Начинаем BLACK FRIDAY!
Максимальная скидка -25% на всё. Успейте начать обучение по самой выгодной цене.
Выбрать курс

Курсы

Программирование
iOS Developer. Basic
-25%
Python Developer. Professional
-25%
Разработчик на Spring Framework
-25%
Golang Developer. Professional
-25%
Python Developer. Basic
-25%
iOS Developer. Professional
-25%
Node.js Developer
-25%
Unity Game Developer. Professional
-25%
React.js Developer
-25%
Android Developer. Professional
-25%
Software Architect
-25%
C++ Developer. Professional
-25%
Backend-разработчик на PHP Web-разработчик на Python Алгоритмы и структуры данных Framework Laravel PostgreSQL Team Lead Разработчик голосовых ассистентов и чат-ботов Архитектура и шаблоны проектирования Agile Project Manager Нереляционные базы данных Супер - интенсив по паттернам проектирования Супер-практикум по использованию и настройке GIT IoT-разработчик Подготовка к сертификации Oracle Java Programmer (OCAJP) Супер-интенсив «СУБД в высоконагруженных системах» Супер-интенсив "Azure для разработчиков"
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK
-25%
DevOps практики и инструменты
-25%
Архитектор сетей
-25%
Инфраструктурная платформа на основе Kubernetes
-25%
Супер-интенсив «ELK»
-16%
Супер-интенсив «IaC Ansible»
-16%
Administrator Linux. Professional MS SQL Server Developer Безопасность Linux PostgreSQL Reverse-Engineering. Professional CI/CD VOIP инженер Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Administrator Linux.Basic Супер-интенсив "Tarantool"
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02
Как мы работаем с GitHub на курсе DevOps?

DevOps_Deep_26.10_site-5020-0ec557.png

На курсе «DevOps практики и инструменты» мы обучаем работе с Git’ом, как с инструментом командной работы. А также говорим про важность описания инфраструктуры, метрик мониторинга, скриптов сборки и всего-всего в виде кода. И в программе курса из практики нет ничего, что не ложилось бы в код.

А раз можно описать в коде, то можно хранить в Git’e. Github значительно популярнее облачного Bitbucket’а и Gitlab’а. Мы с ним умеем работать и поэтому выбрали именно его.

Расширения и настройки VS Code для DevOps-специалистов

DevOps_Deep_11.3_site-5020-223cd0.png

Если рассмотреть историю текстовых редакторов, то можно проследить тенденцию развития от уж очень примитивных (например, ed) до более продвинутых. И сейчас они вплотную подошли к тому, что их можно использовать как легковесную IDE.

О новом подходе к интеграции TravisCI с GitHub

DevOps_Deep_6.11_site-5020-4ad3ad.png

В мае 2018 года разработчики TravisCI анонсировали объединение коммерческой и Open Source версий. Теперь, чтобы добавить TravisCI в свой проект на гитхабе, нужно использовать не Services, как раньше, а GitHub Marketplace.

Trunk-based Development

DevOps_Deep_11-5020-1f219d.09_site.png

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

Ansible: формируем переменные на всех хостах с Custom facts

DevOps_Deep_21.08_site.png

Продолжим разговор о возможностях системы Ansible и поговорим о системной информации, которая собирается в виде фактов с помощью встроенного модуля setup. Правда, разговор наш будет проходить в несколько ином ракурсе.

Дело в том, что со сбором стандартных переменных по умолчанию всё предельно ясно. Но что делать, если мы хотим сформировать наши собственные переменные на всех хостах, чтобы в дальнейшем использовать их в нашем коде?

Модуль setup и Gathers facts в Ansible

DevOps_Deep_17.08_Site.png

В системе управления конфигурациями Ansible есть специальный модуль setup. Он выполняется первым, собирая информацию (Gathers facts) обо всех подключённых узлах (нодах). При выполнении модуля на хосте он собирает разные факты, включая дисковое пространство, версию и тип операционной системы, hostname машины, количество доступной памяти, архитектуру процессора, IP-адреса, сетевые интерфейсы и их состояние.

Trytravis: тестируем без коммитов и пушей в удалённый репозиторий

DevOps_Deep_LAST_11.07_1_site.png

TravisCI – популярный распределённый веб-сервис для сборки и тестирования кода. Многие используют его, т.к. для OpenSource-проектов он доступен бесплатно и обеспечивает удобную интеграцию с GitHub.

При этом отлаживать билды в Travis не всегда удобно. Для упрощения данной задачи Seth M. Larson разработал прекрасную утилиту trytravis. Она позволяет тестировать изменения в репозитории без коммитов и пушей в удалённый репозиторий.

Системы логирования

VKDevOpsDeep.png

К логам сервисов и приложений обращаются абсолютно все: администраторы читают логи, чтобы выяснить причину сбоя сервиса; программисты ищут в них исключения; «безопасники» проверяют, что в них нет каких-нибудь необычных записей, характерных для взлома.

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

Придётся же читать логи каждого сервиса, каким-то сложным методом находить логи того запроса, что сломался, и искать где именно что-то пошло не так. Как решить эти проблемы?

Версионирование данных БД в рамках процесса непрерывной поставки. Часть 2

DevOpsDeep11.05_Site.png В первой части мы обсудили проблемы, которые решаются с помощью IaС-инструментов. Определив задачи и результаты их решения, в этой заметке я хотел бы рассказать о том, как можно управлять миграциями с помощью liquibase. Есть два способа: 1. Описывать и запускать их при помощи CLI liquibase в процессе деплоя; 2. Описывать миграции вместе с кодом приложений и запускать их применение во время запуска приложений.

🎁 Максимальная скидка!
Черная пятница уже в OTUS! Скидка -25% на всё!