DevOps — лирическое отступление и страшилки

Автор: | 17 сентября, 2022
Поделиться...

Страшилки

Итак, пройдясь по заголовкам тем обозначенным в предыдущей статье про установку линукса мы пришли таки к вопросу — во что вляпались?

Первое это то, что всё работает, в основном, на всяких разных линуксах и облаках. Хотя, никто не запрещает извратится (и так бывает) и запустить необходимое ПО и под Windows.

Из того, что основа Linux мы возвращаем к истокам — работе в командной строке, по умному это называется в терминале или консоли. Обозначается это как CLI — интерфейс командной строки. Это совершенно не значит что вас обязывают абсолютно всё делать ручками через команды в терминале. Люди по своей сути ленивы и потому придумали максимум программ для облегчения (чтобы не помнить и не набирать куча команд руками) своей ежедневной работы, а попросту уменьшить рутину. Но вот от того, что автоматизация работает через команды и файлы конфигураций никуда не деться. Поэтому хочешь или нет, но базовый набор команд нужно будет выучить.

Как выглядит процесс разработки? Если коротко то, примерно так:

Менеджер получает/находит задачу -> программист её реализует ->менеджер передаёт её клиенту -> клиент возвращает менеджеру отзыв и пожелания к доработке -> идём к первому пункту

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

Пример картинки из инета

Но даже это ещё не всё. Хотя в целом, конечно, отображает картину работы DevOps-ом. Но мы можем посмотреть на подборку знаний о нужном ПО:

Не подумайте, это совершенно не всё! Как вам такой бутерброд?

Нашёл ещё вот такую страшилку (дорожная карта DevOps):

Как видим, если следовать канонам обучения, то DveOps-ом нам не стать в обозримом будущем. Т.е. если вы ноль и следуете указанной дорожной карте, т.е. обучаетесь как в универе или даже в средней школе — то всё это будет долго и нужно.

Второй вариант, это обучение по типу старшей группы в детском садике или начальной школе — изучать только то, что необходимо на данном этапе.

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

Хотя у меня и есть некоторые навыки изначально, я всё таки попробую идти по второму пути. Ведь просто для того, чтобы начать нам не нужно:

  • знать 100500 команд администрирования серверов на Linux
  • знать все нюансы администрировать сложных сетей
  • знать программирование на столько, чтобы сходу написать экспертную систему
  • и т.д. и т.п.

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

Лирика

Если немножко подумать и приглядеться диаграммам, то поймём свою первичную роль — управляющий транспортом. Ведь по факту (минимальный путь) мы должны реализовать доставку готовой программы от программиста до пользователя и обратную связь от пользователя к программисту. То есть в идеале должны автоматизировать перемещение объектов (код, программа, данные, логи и т.д.) между различными подразделениями компании. Итак первичная наша задача определиться (и выучить) программы заведующие перемещениями объектов.

На начальном этапе нас мало волнует как работает автомобиль, мы должны уметь им управлять! И только со временем мы наберёмся опыта, чтобы уметь чинить в нём небольшие дефекты (подкачать шины, помыть фары, долить масла и т.д.).

Мы не пишем и не тестируем программы, мы не анализируем логи и продажи, мы не обрабатываем заявки от пользователей. Наша задача обеспечить автоматическую и своевременную доставку объекта от одного отдела к другому.

Из всех умозаключений выходит, что основа у нас будет Ansible — именно он занимается доставкой конечного продукта и предварительными настройками. Далее идут Jenkins и Git. Это так называемый костяк. Естественно это не 100%. Но я буду считать это истиной, потому как я ещё учусь водить водить наш поезд, а не являюсь водитель болида Формулы 1. (Конечно мы ещё игнорируем программы хранения и управления конфигами других программ, а также и различные обслуживающие программы.)

Так что в следующем опусе мы установим Ansible и посмотрим, что он за собой потянет…


Поделиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *