Я думаю, что опыт работы с разработчиками сделает становление «devops» более сложным, вашему вопросу уже почти 3 года, так что было бы интересно услышать, как вы находите путешествие, я дам ответ с точки зрения системный администратор о приложениях, которые вы упомянули выше, и, надеюсь, они пролят некоторый свет или дадут нетехническую перспективу, которая каким-то образом объяснит, почему человек (администратор или разработчик) начнет рассматривать именно то, что вы спросили, например, от devops Какова связь между x, y, z? Эти инструменты больше, чем сумма их частей?
Я на самом деле думаю, что системные администраторы одержали верх, большинство приложений, о которых вы упоминаете в своем вопросе, решают «проблемы» администраторов и при этом создают более абстрактную среду центра обработки данных, а это, в свою очередь, более программируемо для разработчиков и для новых пользователей ». стратегия devops (читай стратегию / команду, devops не человек). Так каковы отношения с приложениями, которые вы упоминаете? Как это обеспечивает целостный подход к ИТ-сервису?
OpenStack: инструмент, позволяющий создавать собственное частное облако, а значит, сопоставимое с чем-то вроде AWS
Вот что это такое, но что это делает? - наиболее подходящей операционной системой была DOS - она управляла вашим диском путем абстрагирования BIOS, OpenStack управляет вашим центром обработки данных и абстрагирует вашу инфраструктуру (IaaS - это Jargon для операционной системы центра обработки данных). Теперь в вашем центре обработки данных есть API, командный синтаксис и графический интерфейс. OpenStack может управлять гипервизорами, коммутаторами, маршрутизаторами, межсетевыми экранами, сетями хранения данных, балансировщиками нагрузки, хостами докеров и т. Д. Openstack использует «плагин» вашего производителя оборудования или определенную функцию может существовать исключительно в программном обеспечении, так как программное обеспечение определило что-тоили виртуализация сетевых функций. Вдобавок к этому OpenStack и все другие облака могут управлять своей собственной инфраструктурой, читая сценарии, которые вы запускаете в механизме оркестровки или которые запускаются на основе правил (увеличение, уменьшение и т. Д.). Таким образом, openstack - это гигантский уровень абстракции, например, мне все равно, какой у меня есть переключатель, дайте мне сеть с этой командой или создайте сложную балансировку нагрузки, HA, общедоступный, автоматическое масштабирование, зарегистрированное доменное имя, хранилище Прикрепленная штуковина - с этим сценарием я нашел в интернете.
Docker: «Легкая виртуальная машина», основанная на нескольких концепциях ядра Linux, которые можно использовать для изолированного запуска процессов, например, в среде общего веб-хостинга.
Docker - это еще один уровень абстракции, и, подобно облаку, это разрушительная технология, она меняет отрасль, поскольку решает многие операционные «проблемы», такие как зависимости программного обеспечения, обновления, изоляция данных и полная переносимость. Java стала популярной из-за переносимости исходного кода, о которой разработчикам не нужно было думать, работающая JVM означала, что их код должен работать на кофемашине, пока она поддерживает java. Docker решает аналогичную проблему, для запуска моего приложения нужен докер, а неВам нужна эта версия Python, это ядро, этот дистрибутив Linux и так далее, конечно, у приложения все еще есть эти зависимости, но базовому хосту все равно, а администратору все равно, что вы делаете внутри изолированного контейнера ( в точку). Docker меняет парадигму разработки и эксплуатации, рассматривая всю операционную систему и ее сервисы как двоичный файл. мы можем получить их из репозитория , изменить их версию, изменить их, запустить с параметрами и т. д.
Chef: инструмент для настройки и настройки операционной системы, например, внутри виртуальной машины.
Да, и не так разрушительно, как первые два, Chef, puppet, ansible, salt, менеджер операций системного центра и множество других приложений в этом пространстве предоставляют разработчикам и администраторам возможность моделировать развертывания, обновления и другие действия (config изменения), кажется, нет никакого органа по стандартизации, который бы смотрел на эти усилия как на облачные . Но мы не имеем дело с чем-то таким определенным, как инфраструктура, поэтому учить их гораздо сложнее, и мало что можно перенести из одного в другое.
Вагрант: Насколько я понимаю, это автоматизация создания и управления виртуальными машинами: их настройка, запуск и остановка. Это можно сделать с помощью локальной виртуальной машины или удаленной, например, на облачной платформе.
Это самый странный из списка приложений, которые вы упомянули. Vagrant - это инструмент для разработчиков и игрушка для администраторов. Вы можете быстро создать среду разработки с помощью vagrant, например, я хочу разработать приложение для Android, получить IDE из Бродяга, я думаю, скоро Докер его настигнет.
Можете ли вы дать мне совет, как начать использовать все это (это довольно много в то же время, и я пока не знаю, с чего начать)?
Вот почему я думаю, что администраторы одержали верх, мы должны были сделать большую часть этого вручную и знать, что может пойти не так, манифесты марионеток, облачные вычисления и оркестровка докеров станут для нас легче, разработчики поймут, что они принимают много касательных, поэтому мой Совет любым потенциальным девопам - сначала быть администратором.