1. Что такое devops? набор практик доя объединения усилий различных специалистов и ускорение реализации ПО, от этапов проектирования до развертывания 2. Чем отличается devops от agile? agile это набор ценностей или практик, направленных на производство ПО - выпуск, и отдать дальше на развёртывание, не затрагивая эксплуатацию и внедрение, а devops затрагивает разработку, тестирование, внедрение, эксплуатацию 3. Какие цели у devops? сокращает время для выхода продукта, повышение отказоустойчивости, уменьшение времени на восстановление 4. Засчет чего это достигается и как способствует devops инженер? за счёт внедрения ci cd, мониторинга, и других devops практик 5. Расскажи про ci cd? Непрерывная интеграция это про регулярное объединение изменений в центральном репозитории, после этого автоматически выполняется сборка и тестирование; непрерывная доставка это про автоматическую сборку и тестирование продукта; отличие непрерывной доставки от непрерывного развертывания, в том что при непр доставке для развертывания необходимо подтверждение, а при непрерывном развертывании это происходит автоматически 6. Какие инструменты лучшие для построения ci cd конвейера? - git, gitlab, docker, gitlab ci для непрерывной интеграции, selenium или скрипты для тестирования, Prometheus для непрерывного мониторинга, Ansible/helm/Terraform для управления конфигурациями и развертыванием 7. Как ты видишь ci cd конвейер для выпуска фичи? Создаётся ветка для этой фичи, разработчики пушат туда код, запускается пайплайн gitlab ci который проверяет на ошибки, если пайплайн выполнился то запускается сборка проекта, если это докер образы то они пушатся в nexus, если нужно собрать бинарние то это выкладывается в artefactory, дальше запускается пайплайн для выполнения тестов - скачивает с artefactory или локального хранилища образов nexus и отправляет в тестовое окружение - это можно сделать с помощью Ansible, helm, Terraform 8. Когда используется Ansible, helm, Terraform? Helm используется для выкатки в kubernetes, Ansible на сервера железные или виртуальные, Terraform для облачных серверов 9. Что происходит после выкатки на test? Запускаются автотесты 10. Как сделать изменение в улаленном репозитории? git clone, git pull если уже склонирован и загрузить изменения из удаленного репозитория 11. Git pull и git fetch? Git pull создаст коммит слияния (выполнит git merge), а git fetch скопирует коммиты в локальный репозиторий но не загрузит их в ветку 12. Чем отличается контейнер от виртуальной машины? контейнер это виртуальная среда ограниченная с помощью namespaces, cgroups - изолированная среда, а виртуальная машина это полностью изолированная программная среда с эмуляцией аппартного обеспечения 13. Что такое docker и для чего он нужен? Docker это платофрма для разработки, доставки приложение, служит например для изолирования приложения 14. Какую проблему Docker решает со стороны devops? - идентичные окружения во время разработки, тестирования и выкатки в продакшен 15. Best practices для построения Dockerfile? - Надо указывать явно версию в инструкции FROM, а не latest, т к. если упадет образ не будем знать куда откатиться; если нужно собрать бинарный файл или jar, то лучше использовать multi-stage build - разные базовые образы для среды выполнения и среды сборки - в одном контейнере собираем, а в другой копируем необходимые файлы, мусор остаётся в первом контейнере и он удаляется; Если необходимо в контейнере собрать какие-то пакеты, но необходимо указывать версию пакета; Стараться уменьшать количество слоев - с помощью RUN можно объединить слои; Если возможно то лучше часто изменяемые слои в образе делать ниже по уровню, чтобы не пересобирать по новой ненужное - верхние слои будут закешированы; Запускать только один процесс на контейнере 16. CMD и ENTRYPOINT? Обы предназначены для выполнения команды, CMD позволяет переопределить переменные и аргументы 17. Есть инструкция RUN с обновлением пакетов, а за ней инструкция RUN с установкой пакетов, что будет после выхода новой версии - ты обновил эту версию в инструкции где устанавливаются пакеты, что будет после запуска сборки? Будет ошибка, слой где выполняется менеджер пакетов не выполнится и этот пакет может не быть закеширован
Мужки, это настолько крутой формат, чтоб ты понимал, я на середине видео поставил лайк, забыл, и после просмотра хотел поставить, благо не нажал второй раз😂. Так держать, подписался!
Вопрос: сколько нужно готовиться к собесу? Чтобы правильно описывать все понятия, желательно повторить эталонные определения и обновить в памяти, самому себе будет полезно.
👍 Топчик. Чтобы не было путаницы, можно убрать из определения эджайла слово "практика", так как это действительно больше о ценностях. И таким образом его можно перепутать с канбан.
зачем всё это девопсу? каждый токарь должен знать, как составляется план завода и уметь в экономику? коммунисты заставляли всех зубрить политэкономию, а сейчас менеджмент?
Интересно услышать ответы на вопросы по K8s. Одним надо рассказать как спроектировать кластер и определить число нод, другим - как настроить autoscaling для pod. А ещё про terraform. Вопрос вроде как ты используегь outputs и почему не пользуешься блоком modules с GitHub.
В общем понравилось все, спасибо, вопрос только насчет CI: как то мутно получается типа сделали артефакт, ОК, потом залили в тестовую среду и типа если тесты прошли то в прод? ))) и типа в проде смотрим все ли ок ? ) Просто я лично вижу немного по другому: pr-environment для совсем сырого кода. Для мерджей в мастер ветку деплоимся в стейдж, с релизов деплоим в прод, гитопс подход. Очень нравится, если честно.
то что ты указал версию образа в секции фром не гарантирует использование того же образа каждый раз. можно же подменить образ обозвав такой же версией?
А меня отпугивает подобное... Только начал движений от иженера виртуализации в сторону DevOps и что-то как-то всё чертовски сложно звучит в этом вашем собеседовании. Можно изучить сами технологии, но это нисколько не поможет ответить на подобные вопросы( Грустно(
Мне вот одно интересно... Я участвовал в собеседованиях, но никогда не доходил до маразма "что такое devops". Вот это вот зачем? Вы хотите взять теоретика или практика?
это же базовый уровень - проверка на то, что ты вообще понимаешь, что ты делаешь. может ты понимаешь это не правильно? каждый должен знать, что он делает и уметь про это рассказать. если ты не можешь внятно рассказать о своей специальности, значит что-то с тобой не так
@@МаксимГайдай-ъ5ж приведу пример из жизни. В 9 классе я и еще один товарищ сдавали вдвоем со всей школы экзамен по информатике (считай программирование). Было две части - теория и практика. Я хреново рассказал, но практику сделал на 5. Второй очень красиво рассказал, но практику не сделал. Ему 5, мне 4. Вот на собеседованиях таких вы такой же фигней страдаете
@@rch1tector Вы снова ничего не поняли. на собеседование приходит совершенно незнакомый человек и первое, что нужно понять - он вообще сам-то понимает, куда пришёл и что ему придётся делать? если для вам сложно, рассказать о том, что вы делаете, то может вы и не понимаете этого? это вы у себя такой единственный и неповторимый, а у работодателя таких десятки, сотни и даже тысячи и он не знает, что вы просто уникальный специалист и никогда об этом не узнает, если вы не расскажете. ну и так-то если разобраться, то зачем вам работать там, где вам сразу не нравится? я имею ввиду вопросы, которые вам задают. это ведь для вас же хорошо, что вы сразу это поняли, а не потом, когда уже устроились. поэтому собеседование - это не экзамен - здесь всё должно быть максимально честно, чтоб потом через месяц-два не было больно и обидно за потерянное время.
@@МаксимГайдай-ъ5ж я не про то. Знания тестировать на практияеских задачах - это одно. Как создать файл/папку, как отгрепать нужное, как пользоваться tea и прочее. Как работать с k8s, helm, ansible,terraform - ок, это нужно и обязательно. А вот вопросы по типу "что такое devops, что такое ci/cd" - это бред теоретиков. Это не нужно. Если человек умеет настраивать пайплайны, разбирается в docker, swarm,k8s,helm и прочим, но не знает как расшифровывается devops и что это вообще такое - это не делает его плохим специалистом только из за того, что он не заучил эти понятия. А если понятия не применимы на практике - то зачем про них спрашивать?
Ребята, всё не так. Здесь показано, как было бы на экзамене. В реальности же собеседования более лайтовые. Если вы знаете всё то, что говорит автор - то вы идеальный кандидат на вакансию. По сути же, специалистов так не хватает, что для попадания в профессию достаточно гораздо меньших знаний.
Это пипец. Это ж сколько лет опыта у чувака, которого собеседуют? Если на первую и вторую часть я могу что-то ответить, то третья - тёмный лес... В общем, очень интересно и ничего не понятно.)
Helm, Ansible, Terraform - неправильный ответ. Я бы вообще под одну крышу их не ставил, эти тулы имеют абсолютно разное предназначение и функционал. Подозреваю, что автор видео не использовал их или использовал какой-то один (скорее всего только Ansible).
Я бы сказал что наоборот что он с ansible знаком слабо. Так как через него можно выкатывать так же и в облака и в кубер и ещё в кучу сервисов через их api изменения вносить.
@@sunx6008 Тоже самое можно сказать и про Terraform, только разница в том, что Ansible это configuration management тула, а Terraform это infrastructure provisioning тула. И в обоих случаях нет никакого разделения на клауд и не клауд - абсолютно разное предназначение у них. Что касается Helm'а, так это вообще по сути package manager для кубера.
1. Что такое devops? набор практик доя объединения усилий различных специалистов и ускорение реализации ПО, от этапов проектирования до развертывания
2. Чем отличается devops от agile? agile это набор ценностей или практик, направленных на производство ПО - выпуск, и отдать дальше на развёртывание, не затрагивая эксплуатацию и внедрение, а devops затрагивает разработку, тестирование, внедрение, эксплуатацию
3. Какие цели у devops? сокращает время для выхода продукта, повышение отказоустойчивости, уменьшение времени на восстановление
4. Засчет чего это достигается и как способствует devops инженер? за счёт внедрения ci cd, мониторинга, и других devops практик
5. Расскажи про ci cd? Непрерывная интеграция это про регулярное объединение изменений в центральном репозитории, после этого автоматически выполняется сборка и тестирование; непрерывная доставка это про автоматическую сборку и тестирование продукта; отличие непрерывной доставки от непрерывного развертывания, в том что при непр доставке для развертывания необходимо подтверждение, а при непрерывном развертывании это происходит автоматически
6. Какие инструменты лучшие для построения ci cd конвейера? - git, gitlab, docker, gitlab ci для непрерывной интеграции, selenium или скрипты для тестирования, Prometheus для непрерывного мониторинга, Ansible/helm/Terraform для управления конфигурациями и развертыванием
7. Как ты видишь ci cd конвейер для выпуска фичи? Создаётся ветка для этой фичи, разработчики пушат туда код, запускается пайплайн gitlab ci который проверяет на ошибки, если пайплайн выполнился то запускается сборка проекта, если это докер образы то они пушатся в nexus, если нужно собрать бинарние то это выкладывается в artefactory, дальше запускается пайплайн для выполнения тестов - скачивает с artefactory или локального хранилища образов nexus и отправляет в тестовое окружение - это можно сделать с помощью Ansible, helm, Terraform
8. Когда используется Ansible, helm, Terraform? Helm используется для выкатки в kubernetes, Ansible на сервера железные или виртуальные, Terraform для облачных серверов
9. Что происходит после выкатки на test? Запускаются автотесты
10. Как сделать изменение в улаленном репозитории? git clone, git pull если уже склонирован и загрузить изменения из удаленного репозитория
11. Git pull и git fetch? Git pull создаст коммит слияния (выполнит git merge), а git fetch скопирует коммиты в локальный репозиторий но не загрузит их в ветку
12. Чем отличается контейнер от виртуальной машины? контейнер это виртуальная среда ограниченная с помощью namespaces, cgroups - изолированная среда, а виртуальная машина это полностью изолированная программная среда с эмуляцией аппартного обеспечения
13. Что такое docker и для чего он нужен? Docker это платофрма для разработки, доставки приложение, служит например для изолирования приложения
14. Какую проблему Docker решает со стороны devops? - идентичные окружения во время разработки, тестирования и выкатки в продакшен
15. Best practices для построения Dockerfile? -
Надо указывать явно версию в инструкции FROM, а не latest, т к. если упадет образ не будем знать куда откатиться;
если нужно собрать бинарный файл или jar, то лучше использовать multi-stage build - разные базовые образы для среды выполнения и среды сборки - в одном контейнере собираем, а в другой копируем необходимые файлы, мусор остаётся в первом контейнере и он удаляется;
Если необходимо в контейнере собрать какие-то пакеты, но необходимо указывать версию пакета; Стараться уменьшать количество слоев - с помощью RUN можно объединить слои;
Если возможно то лучше часто изменяемые слои в образе делать ниже по уровню, чтобы не пересобирать по новой ненужное - верхние слои будут закешированы;
Запускать только один процесс на контейнере
16. CMD и ENTRYPOINT? Обы предназначены для выполнения команды, CMD позволяет переопределить переменные и аргументы
17. Есть инструкция RUN с обновлением пакетов, а за ней инструкция RUN с установкой пакетов, что будет после выхода новой версии - ты обновил эту версию в инструкции где устанавливаются пакеты, что будет после запуска сборки? Будет ошибка, слой где выполняется менеджер пакетов не выполнится и этот пакет может не быть закеширован
Ну что-то ты совсем соискателя жалеешь. Давай в следующем видео вопросы про кубер и хелм. И пожестче
Большое спасибо Антон, возникла необходимость изучить данный вопрос, твоё видео кладезь полезной информации
Мужки, это настолько крутой формат, чтоб ты понимал, я на середине видео поставил лайк, забыл, и после просмотра хотел поставить, благо не нажал второй раз😂. Так держать, подписался!
Вопрос: сколько нужно готовиться к собесу? Чтобы правильно описывать все понятия, желательно повторить эталонные определения и обновить в памяти, самому себе будет полезно.
Завтра собеседование, спасибо тебе, Антон. Все началось с тебя.
Ни пуха)
У меня тоже, очень своевременно видео вышло)
@@SirJohnHolmes_I как полет? У меня успешный)
@@makarkungurov6170, мои поздравления!) У меня пока не понятно, обещали обратную связь в течение недели)
Как результаты, ребята?:)
8:45 Латэст - ты сделал мой день 😀😀😀
Это на французский манер 😄
Класне відео, повторив багато , спасибі !)
Отыгрышь эмоций лучше чем у некоторых актеров.
👍 Топчик. Чтобы не было путаницы, можно убрать из определения эджайла слово "практика", так как это действительно больше о ценностях. И таким образом его можно перепутать с канбан.
зачем всё это девопсу?
каждый токарь должен знать, как составляется план завода и уметь в экономику?
коммунисты заставляли всех зубрить политэкономию, а сейчас менеджмент?
Хорошо, давай дальше - мне казалось на джуна уже после таких ответов можно брать, не говоря "хорошо, давай дальше", а то джун испугается и убежит 😀😀😀
Интересно услышать ответы на вопросы по K8s. Одним надо рассказать как спроектировать кластер и определить число нод, другим - как настроить autoscaling для pod.
А ещё про terraform. Вопрос вроде как ты используегь outputs и почему не пользуешься блоком modules с GitHub.
классные вопросы и еще более классные ответы, молодцом, продолжай
В общем понравилось все, спасибо, вопрос только насчет CI: как то мутно получается типа сделали артефакт, ОК, потом залили в тестовую среду и типа если тесты прошли то в прод? ))) и типа в проде смотрим все ли ок ? )
Просто я лично вижу немного по другому: pr-environment для совсем сырого кода. Для мерджей в мастер ветку деплоимся в стейдж, с релизов деплоим в прод, гитопс подход. Очень нравится, если честно.
Давай ещё, продолжай!👍
6000 просмотров до конца пятницы и сделаю новое
Полезно, спасибо!
Оговорка была насчёт continuous delivery и continuous deployment.
После такого штурма мозга фраза "хорошо, давай дальше" это как приговор
Спасибо! Теперь хотелось бы и вопросы по программированию)
Спасибо вам огромное за ваш труд
1:37 оговорка, повышение отказоустойчивости, а не снижение
Ненене, всё правильно, надо же отчитываться о том, как починил упавший прод)
Ля, я оказывается девопс, почти на все ответил))) Надо перепрофилироваться)
Хахах подводка к интеграций рекламы просто топ ))
Спасибо! собираю по крупицам информацию о том как стать девопсом.
Вот это полезно, спасибо. Я бы замолчал на первом вопросе и ушел в себя :)
Спасибо, очень познавательно.
Давай еще, прикольненько..!!!
хороша, давай дальше)
правда что тег образа latEst означает что это латентный тест?
не латинский, а французский - la test
Можно создать некую роадмапу с минимальным набором для джуна?
Снижение отказоустойчивости новых релизов, что есть - то есть )))
Антон, давай кубер!
Ещё будут такие подкасты ? В 2024 году 😂😊
9:33 Мульти-билд стейдж :)
Спасибо
то что ты указал версию образа в секции фром не гарантирует использование того же образа каждый раз. можно же подменить образ обозвав такой же версией?
Кайф, спасибо.
Не хватает ссылок на предыдущие темы
Интересно было бы по k8s, aws подобный формат
*"увлечение отказоустойчивости релизов" - Наверное хотели сказать. Ну можно конечно и снижать)
А меня отпугивает подобное...
Только начал движений от иженера виртуализации в сторону DevOps и что-то как-то всё чертовски сложно звучит в этом вашем собеседовании.
Можно изучить сами технологии, но это нисколько не поможет ответить на подобные вопросы(
Грустно(
1:36 Снижение отказоустойчивости или повышение отказоустойчивости?
Т.е виртуальная машина сконфигурирована не с помощью ядра линукс, да?
Антоний, почему про сине-зеленый и канарейку почему не спросил? :)
1:37 не снижение. а ПОВЫШЕНИЕ отказоустойчивости. (извиняюсь) 👍
я последний вопрос не понял, можете пояснить?
знаете....вот останусь я пожалуй админом обычным...стар я для всей этой херни корпоративной. Наплодили сущностей демоны.
Топчик
Антох, а это правда, что если в вакансии вилка 250 000, то можно смело просить 500 000, потому что там бюджет всегда с запасом стоит?
Я не видел таких вилок
Мне вот одно интересно... Я участвовал в собеседованиях, но никогда не доходил до маразма "что такое devops". Вот это вот зачем? Вы хотите взять теоретика или практика?
это же базовый уровень - проверка на то, что ты вообще понимаешь, что ты делаешь. может ты понимаешь это не правильно? каждый должен знать, что он делает и уметь про это рассказать. если ты не можешь внятно рассказать о своей специальности, значит что-то с тобой не так
@@МаксимГайдай-ъ5ж приведу пример из жизни. В 9 классе я и еще один товарищ сдавали вдвоем со всей школы экзамен по информатике (считай программирование). Было две части - теория и практика. Я хреново рассказал, но практику сделал на 5. Второй очень красиво рассказал, но практику не сделал. Ему 5, мне 4. Вот на собеседованиях таких вы такой же фигней страдаете
@@rch1tector Вы снова ничего не поняли. на собеседование приходит совершенно незнакомый человек и первое, что нужно понять - он вообще сам-то понимает, куда пришёл и что ему придётся делать?
если для вам сложно, рассказать о том, что вы делаете, то может вы и не понимаете этого?
это вы у себя такой единственный и неповторимый, а у работодателя таких десятки, сотни и даже тысячи и он не знает, что вы просто уникальный специалист и никогда об этом не узнает, если вы не расскажете.
ну и так-то если разобраться, то зачем вам работать там, где вам сразу не нравится? я имею ввиду вопросы, которые вам задают. это ведь для вас же хорошо, что вы сразу это поняли, а не потом, когда уже устроились.
поэтому собеседование - это не экзамен - здесь всё должно быть максимально честно, чтоб потом через месяц-два не было больно и обидно за потерянное время.
@@МаксимГайдай-ъ5ж я не про то. Знания тестировать на практияеских задачах - это одно. Как создать файл/папку, как отгрепать нужное, как пользоваться tea и прочее. Как работать с k8s, helm, ansible,terraform - ок, это нужно и обязательно.
А вот вопросы по типу "что такое devops, что такое ci/cd" - это бред теоретиков. Это не нужно. Если человек умеет настраивать пайплайны, разбирается в docker, swarm,k8s,helm и прочим, но не знает как расшифровывается devops и что это вообще такое - это не делает его плохим специалистом только из за того, что он не заучил эти понятия. А если понятия не применимы на практике - то зачем про них спрашивать?
@@rch1tector если понятия не применимы на практике - то зачем про них спрашивать?
ещё раз повторю - чтоб понять, что перед тобой за человек
латэст )
Ребята, всё не так. Здесь показано, как было бы на экзамене. В реальности же собеседования более лайтовые. Если вы знаете всё то, что говорит автор - то вы идеальный кандидат на вакансию. По сути же, специалистов так не хватает, что для попадания в профессию достаточно гораздо меньших знаний.
Какой ещё DevOps? Ты - техник, меняешь перфокарты программистам.
not bad
Это называется раздвоение личности 😉 Сам себя спрашивал и сам себе с трудом отвечал.
Это пипец. Это ж сколько лет опыта у чувака, которого собеседуют? Если на первую и вторую часть я могу что-то ответить, то третья - тёмный лес... В общем, очень интересно и ничего не понятно.)
Примерно с полгода в активном проекте? Это же совсем базовый уровень.
Пара месяцев курсов по девопсу в любой избе-обучальне. Там прям по порядку это все проходят
@@bambambigelow228 Ну или так. Я по своему опыту говорю, т.к меня брали на испытательный когда я ни на один вопрос из этого не знал ответ.
Мне на третью часть, ответить проще чем на первых два.
Это все читается за 15 минут, у докера эти бест практики прямо собраны в официальной документации.
Helm, Ansible, Terraform - неправильный ответ. Я бы вообще под одну крышу их не ставил, эти тулы имеют абсолютно разное предназначение и функционал. Подозреваю, что автор видео не использовал их или использовал какой-то один (скорее всего только Ansible).
Напиши свой ответ.
Я бы сказал что наоборот что он с ansible знаком слабо. Так как через него можно выкатывать так же и в облака и в кубер и ещё в кучу сервисов через их api изменения вносить.
@@sunx6008 Тоже самое можно сказать и про Terraform, только разница в том, что Ansible это configuration management тула, а Terraform это infrastructure provisioning тула. И в обоих случаях нет никакого разделения на клауд и не клауд - абсолютно разное предназначение у них. Что касается Helm'а, так это вообще по сути package manager для кубера.
@@sunx6008 чем лучше инструмент, тем выше вероятность, что его начнут использовать неправильно
снижение отказоустойчивости релизов)))лол
Все правильно, наконец-то кто-то честно об этом заявил
новые баги добавлены.
старые баги улучшены.
Латэст... ахаха)))
Это перезалив? А что случилось?