DevOps это не профессия, а культура, философия, метод — набор практик, объединяющий вместе разработчиков программного обеспечения, тестировщиков и людей, отвечающих за его обслуживание. Отсюда название — акроним от “development” и “operations”. Основная цель — уменьшение разрыва между работой всех IT- подразделений компании, оптимизация ответственности за задачи «на стыке» разработки и эксплуатации, повышение производительности, снижение количества ошибок, и, как следствие, удовлетворение потребностей бизнеса и клиента.
Стандартный процесс делится на 5 этапов:
• анализ требований к проекту;
• проектирование;
• реализация;
• тестирование продукта;
• внедрение и поддержка.
При этом взаимодействие, как правило, осуществляется в лучшем случае между соседними. Таким образом, если после выпуска ПО в нём обнаруживаются ошибки, в первую очередь рассматриваются вопросы к железу и системным администраторам, потом к тестировщикам, и лишь потом дело доходит до разработчиков и планировщиков. Когда у вас один релиз в год — ничего страшного, но в современных компаниях производительность достигает десятков выпусков в день. Найти быстрое решение или хотя бы виновника в такой ситуации почти невозможно. Остается только два решения: забивать штат десятками и сотнями сисадминов и промежуточных работников, которые бы успевали отслеживать каждый релиз, что крайне сомнительно, или же минимизировать ошибки, изменив подход к делопроизводству в целом.
DevOps — современное решение данной проблемы. Он меняет указанный подход на циклический и, в тоже время, сквозной. В таком производственном процессе все этапы взаимосвязаны, требуют четкой организации и контроля. То есть разработчики, помимо основной деятельности, должны участвовать в деплое, системщики — в разработке, тестировщики — в настройке и т.д. Реализация методологии DevOps — задача сложная и кропотливая, реализуемая, как при помощи инструментов, так и специалистов. В этом, кстати, ее главное отличие от Agile, где достаточно лишь изменить образ мышления, организацию труда, не обязательно внедряя дополнительный персонал или программные системы.
До России практика внедрения DevOps начала доходить около 5 лет назад, поэтому потребность в DevOps — инженерах неуклонно растет, конкуренция пока еще низкая, а спрос на специалистов еще не сформировался и так же находится на стадии постоянного роста.
Ещё один плюс изучения DevOps — отсутствие фундаментальной подготовки кадров. Несмотря на привлекательность методологии, многие специалисты — бывшие разработчики, желающие расширить фронт работ. Но куда чаще в DevOps идут системщики, которым мало работы с кодом в shell и bash. В целом, для того, чтобы овладеть этой методологией, не надо иметь серьезного бэкграунда. Достаточно иметь опыт работы на одной из степеней жизни ПО и знать хотя бы в теории смежные дисциплины.
Практической стороне вопроса как раз и посвящен наш курс. Программа разбита на 5 логических уровней. На первом акцентируем внимание на базовых вещах DevOps — чаты, системы контроля версий и задач, визуализация рабочего процесса, облачные сервисы, безопасное удалённое подключение. В общем, всё то, без чего сложно представить современное коллективное программирование. Из продуктов познакомимся поближе с Google Cloud Platform, Packer, Slack, HipChat, Rocketchat и конечно же Git.
После того, как заложим основы разработки и администрирования, переходим на второй уровень, где обсудим настройки и конфигурирование инфраструктуры. На примере утилиты Terraform научимся создавать, изменять и присваивать версии компонентам нашей системы и поработаем с remote backends. Кроме того, на первых двух уровнях рассмотрим модель BSA (Base-Service-App): от базового уровня до применения конфигурацией при помощи Ansible.
На третьем уровне начнём работу с Docker — системой для автоматизации и развёртывания приложений, в частности с Dockerfile, Hub, Compose. Здесь же рассмотрим понятия непрерывной интеграции и автоматизированного конвейера поставки, немного затронем тестирование контейнеров. Тем самым уже на этом этапе мы заложим правильную организацию выпуска ПО согласно методологии DevOps.
Уровень четвёртый посвящен такой важной процедуре в жизни каждого изделия, как мониторинг с последующим выявлением и записью ошибок. Для этого сначала определимся, что надо отслеживать, рассмотрим наиболее популярные системы мониторинга, алертинга и логирования. Разумеется, на практике узнаем, как их установить, настроить и поработаем с ними.
На последнем пятом уровне, дойдём до вершины DevOps-мастерства — оркестрированию и стратегии деплоя и масштабирования. Для этого нам потребуются Docker Swarm, Service Discovery, Kubernetes и Gitlab CI.
В нашем курсе мы постарались максимально цельно продемонстрировать именно практику организации производства ПО согласно DevOps, ведь именно здесь, возникает наибольшее количество вопросов. Поэтому если вы заинтересовались этой темой и хотите на практике познакомиться с “правильным” циклом разработки и деплоя ПО, самое время приобщиться к культуре DevOps — добро пожаловать на наш курс.
До старта курса осталось меньше месяца!
Комментарии (6)
SicYar
19.07.2017 11:38+2«На последнем пятом уровне, дойдём до вершины DevOps-мастерства — оркестрированию и стратегии деплоя и масштабирования. Для этого нам потребуются Docker Swarm, Service Discovery, Kubernetes и Gitlab CI. „
Ну все же это не вершина мастерства)
b0tanic
24.07.2017 19:22До России практика внедрения DevOps начала доходить около 5 лет назад...
и до сих пор не дошла.
За статью спасибо! Перешёл по ссылке из статьи. Правильно понимаю, что вы обучаете основам DevOps даже людей с нулевыми знаниями разработки, т.е. требований к обучающимся нет?Dmitry21
24.07.2017 19:23Думаю, что с начальными знаниями будет сложновато. Лучше начать курс с некоторым опытом разработки
Alzo
24.07.2017 19:22Выглядит как джуниор курс, а джуниор девопс не бывает.
прошел начальное тестирование, почему то сразу прошел. Ошибок типа не было, хотя я не очень силен в линуксе. Посмотреть на ошибки не могу.
Далее. Телефона у конторы не нашел. После обучение никакой сертификации нет. прошел и все. окончательного тестирование нет чтобы понять уложилось или нет.
надоели такие шаражки в которых просто прослушиваешь чела которому удалось реализовать один проект и возомнить себя гуру.
Dmitry_5
А как же аджайл с бесконечным процессом постановки?