По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
При внедрении культуры DevOps, вне зависимости от инфраструктуры организации, программного инструменты имеют решающее значение. В этой статье расскажем о лучших инструментах управления конфигурацией в DevOps. Но давайте сначала выясним, что такое DevOps.
Что такое DevOps, что нужно знать и сколько получают DevOps - специалисты?
Что такое DevOps?
DevOps происходит из интеграции команд разработчиков (Dev) и специалистов по информационно-техническому обслуживанию(Ops), чтобы обеспечить ценность для клиентов и создать гибкость в разработке программного обеспечения.
DevOps сосредоточен на том, как люди работают и сотрудничают, делясь своими мыслительными процессами и приоритетами, чтобы ускорить разработку программного обеспечения. Как культура, основная идея DevOps заключается в оптимизации функций и эффективности задействованных команд независимо от используемых инструментов. Но как началась эта единая разработка?
Ранее в жизненном цикле разработки программного обеспечения были разработчики, чья работа заключалась в написании кода, как указано клиентами, без настройки и обслуживания среды для требуемого программного продукта. Команда информационно-технического обслуживания выполняла производственные операции и задачи технического обслуживания, переживая все кошмары, связанные с производственным этапом.
Представьте себе управление программным продуктом, в разработке которого вы не участвовали! Тяжело, да?
Команда Ops несла бремя реализации ошибок, управления зависимостями инфраструктуры и, скорее, проблем, связанных с производственной средой программного обеспечения.
Чтобы устранить этот пробел, был придуман DevOps – тандем людей, задач и всех сквозных процессов, необходимых для предоставления клиентам тщательно разработанного продукта.
Почему DevOps так важен?
Когда команды в любой среде разработки правильно интегрируют методы DevOps, такие как непрерывная интеграция и управление конфигурацией, компании получают следующие преимущества:
Более короткие циклы выпуска приложений
DevOps служит для поддержки готовой к развертыванию базы кода, где в любой момент команда DevOps может запускать доступные версии программного обеспечения без сбоев продукта.
CI/CD-конвееры, со всей автоматизацией и тестами, обеспечивают последовательную запуск стабильного программного продукта в производство, что позволяет разработчикам добиться более коротких циклов выпуска.
Наглядность процессов разработки
Выявление дефектов программирования, обнаружение угроз безопасности, инициирование откатов и даже реагирование на инциденты могут быть затруднены, когда среда разработки подобна черному ящику.
Более короткие циклы выпуска и непрерывный мониторинг в DevOps приводят к большей видимости всех операций.
Что такое управление конфигурацией в DevOps?
Управление конфигурацией - это автоматизация значительных и повторяющихся действий в ИТ-среде. Управление конфигурацией решает задачи, которые должны быть выполнены на тысячах машин.
Такие задачи могут включать установку, модернизации и обновление программного обеспечения, управление исправлениями, обеспечение безопасности, управление пользователями и т.д.
С появлением контейнерных технологий и других усовершенствований инфраструктуры, системные администраторы считают, что настройка ИТ-сред без средств автоматизации является сложной задачей. К счастью, существуют средства управления конфигурацией для создания и оптимизации сред времени выполнения.
Инструменты управления конфигурацией в DevOps предоставляют необходимую инфраструктуру через сценарии/Инфраструктуру как код.
Рассмотрим следующие широко используемые средства управления конфигурацией.
1. Ansible
Решение Ansible автоматизирует настройку инфраструктуры, развертывание приложений и выделение ресурсов облачных сред, используя модель услуг «Инфраструктура как код».
Ansible - это полезный инструмент, который инженеры DevOps могут использовать для автоматизации управления инфраструктурой, приложениями, сетями и контейнерной средой. Инженеры широко используют этот инструмент для автоматизации и настройки серверов.
Это средство масштабирует повторяющиеся задачи в администрировании инфраструктуры с помощью определенных плэйбуков. В данном случае плэйбук представляет собой простой файл сценария на YAML, детализирующий действия, выполняемые механизмом автоматизации Ansible. С помощью автоматизации Ansible сисамдины могут создавать группы машин для выполнения определенных задач и управлять работой машин в производственных средах.
Anible используют такие известные компании, как Udemy, Alibaba Travels, Tokopedia.
Особенности
Ansible Tower, платформа в рамках Ansible, является панелью управления визуализацией для всей ИТ-среды.
С помощью управления доступом на основе ролей (RBAC) область Ansible может создавать пользователей и управлять разрешениями для сред.
Технология Ansible поддерживает как локальные конфигурации, так и мультиоблачные инфраструктуры.
Подробнее про Ansible
2. Puppet
Puppet - это еще одна платформа с открытым исходным кодом, подходящая для обеспечения отказоустойчивой инфраструктуры. Инженеры DevOps могут использовать Puppet для настройки, развертывания, запуска серверов и автоматизации развертывания приложений на настроенных серверах.
С помощью Puppet можно устранять операционные риски и риски безопасности в ИТ-среде путем обеспечения постоянного соответствия нормативным требованиям. Она включает автоматизацию инфраструктуры Windows, управление исправлениями и управляемые операции приложений.
Тысячи компаний, включая Google, Cisco и Splunk, используют Puppet для управления конфигурацией.
Особенности
Высокая расширяемость, поддержка нескольких инструментов для разработчиков и API.
Puppet включает Bolt, мощный оркестратор задач для автоматизации ручных задач.
Puppet хорошо интегрируется с Kubernetes и Docker.
Подробнее про Puppet
3. Chef
Chef, как средство в DevOps позволяет выполнять задачи управления конфигурацией на серверах и других вычислительных ресурсах. Chef для управления инфраструктурой использует агентов, таких как Chef Infra, для автоматизации конфигурации инфраструктуры. Использование Chef в процессах автоматизации просто. С помощью нескольких щелчков мыши можно включить и запустить несколько узлов.
Для управления конфигурацией команды DevOps создают «рецепты». Рецепты содержат описание ресурсов и пакетов программных обеспечений, необходимых для настройки серверов. Chef использует Cookbooks, Chef servers и Nodes в качестве основных компонентов для настройки и автоматизации.
Ведущие компании как Facebook, Slack и Spotify, использовали Chef в своих экосистемах.
Особенности
Chef - платформа автоматизации на базе Агента.
Chef обрабатывает инфраструктуру как код.
Поддерживает все операционные системы и интегрируется с любой облачной технологией.
Chef обладает аналитикой Chef для мониторинга изменений, происходящих на сервере Chef.
Подробнее про Chef
4. Saltstack
Saltstack или просто соль - это масштабируемый инструмент управления конфигурацией и оркестровки. Команды DevOps используют Saltstack для управления ИТ-средами как центры обработки данных, посредством управляемой событиями оркестровки и удаленного выполнения конфигураций.
Структура управления конфигурацией Salt использует состояния и файлы конфигурации, чтобы показать, как выполняется выделение и развертывание ИТ-инфраструктуры. Файлы конфигурации описывают устанавливаемые пакеты инфраструктуры, запускаемые или останавливаемые службы, пользователей и процессы создания пользователей, а также многие другие необходимые задачи по выделению ИТ-среды.
Особенности
Платформа Salt Cloud для настройки ресурсов в облаке.
Поддерживает управление узлами как на основе агентов, так и без агентов.
Поддерживает операционные системы * NIX и Windows.
5. CFEngine
CFEngine - это высокомасштабируемая платформа для автоматизированного управления ИТ-инфраструктурой. С помощью CFEngine команды могут выполнять физическое и виртуальное назначение ресурсов инфраструктуры, управление исправлениями, управление доступом, управление пользователями и безопасностью системы.
Автономные агенты CFEngine постоянно работают для непрерывного мониторинга, устранения неполадок, обновления и восстановления ИТ-инфраструктуры. Непрерывная проверка системы и автоматизированное восстановление в CFEngine гарантирует надежность и согласованность инфраструктуры.
Особенности
Высокая гибкость из-за схемы конфигурации «написать один раз использовать повторно».
Имеет CFEngine Enterprise Mission Portal, центральную панель для мониторинга ИТ-систем в режиме реального времени.
Использование облегченных агентов автоматизации в платформе WebScale для настройки нескольких узлов и управления ими.
Заключение
Лучший способ найти инструменты для ваших потребностей - попробовать их. То, что работает для других, может не сработать для вас, поэтому попробуйте их чтобы увидеть, как работает, как помогает вашей организации обеспечить согласованность и безопасность конфигурации.
Можете ли вы представить себе компанию, в которой никто бы не управлял IT-инфраструктурой и операциями? Скорее всего, нет. Вот здесь и начинается SRE (обеспечение надежности информационных систем) и DevOps (автоматизация сборки, настройки и развертывания ПО). В последние годы оба этих направления стали очень популярными в IT-среде, и их распространенность продолжает расти. Но все-таки, DevOps и SRE – это разные вещи или синонимы для одного и того же? Данная статья поможет во всем разобраться.
Что такое DevOps?
DevOps – это подход к разработке ПО. Ключевое отличие данной методологии заключается в том, что DevOps следует принципам Lean (бережливое производство) или Agile (гибкость). DevOps специализируется на постоянном развертывании ПО с частым выходом версий и автоматизированным подходом к разработке программ. DevOps-подход включает в себя набор норм и технологических приемов для быстрого выполнения запланированной работы. Под запланированной работой мы подразумеваем все – от разработки до тестирования и эксплуатации. DevOps преследует следующие цели:
ускорение доставки продуктов на рынок;
сокращение жизненного цикла разработки ПО;
повышение отзывчивости к потребностям рынка.
Так что же такое DevOps? DevOps – это объединение отделов разработки и эксплуатации для максимально быстрого и органичного развертывания кода. Данный подход основан на тесной коммуникации внутри команды в сочетании с высоким уровнем автоматизации. По правилам DevOps команда, пишущая код, отвечает также и за его обслуживание при эксплуатации. Иначе говоря, отделы разработки и эксплуатации, которые принято разделять, должны работать сообща над улучшением версий ПО.
В чем преимущества DevOps?
Во-первых, DevOps улучшает скорость доставки приложений. Это реализуется за счет создания небольших изменений и частого выхода новых версий. Таким образом, компании могут выводить продукты на рынок чаще. Обновления и исправления выполняются быстрее и проще, а стабильность ПО возрастает. Более того, вносить небольшие изменения гораздо проще, и такую систему легко вернуть к предыдущей версии. Еще один плюс: возможности доставки ПО у таких объединенных команд более безопасные.
Что делает DevOps и как?
DevOps – это отличный способ для создания культуры сотрудничества. Центральное место занимает команда, которая вместе работает над развертыванием кода в промышленную среду и его дальнейшим обслуживанием. То есть команда DevOps отвечает за написание кода, исправление ошибок и выполняет любые задачи, связанные с этим кодом. Процесс DevOps основан на 5 ключевых принципах:
Устранение обособленности. Роль команды DevOps заключается в том, чтобы аккумулировать знания со стороны разработки и эксплуатации. Поощряется коммуникация, что помогает лучше разобраться в ситуации.
Быстрое признание ошибок и прекращение. В процессе DevOps определяются методы минимизации риска, а одни и те же ошибки не делаются дважды. С помощью автоматизированного тестирования команда ищет ошибки на ранних стадиях цикла выхода ПО.
Постепенное внесение изменений. Команда DevOps не внедряет крупные изменения в рабочие версии, а регулярно развертывает небольшие поэтапные доработки. Это позволяет лучше проверять изменения и устранять ошибки.
Использование инструментов и автоматизации. Команда создает конвейер развертывания с помощью инструментов автоматизации. Тем самым повышается скорость и точность разработки, а также сводится к минимуму риск ошибок, допущенных человеком. Кроме того, сокращается объем ручной работы.
Измерение всего. DevOps использует данные для измерения результата всех предпринятых действий. Чаще всего для оценки успеха используются 4 главных метрики: время внесения изменений, частота развертывания, время восстановления и частота отказов.
Для эффективной работы команде DevOps необходимо использовать мощные инструменты. К ним относятся: системы управления версиями для всего кода (GitHub, GitLab и т.д.), инструменты непрерывной интеграции (Jenkins, Spinnaker и т.д.), инструменты автоматизации развертывания, инструменты автоматизации тестирования (Selenium и т.д.), а также инструменты управления инцидентами (PagerDuty, Opsgenie и т.д.)
Что такое SRE?
Концепция обеспечения надежности информационных систем (SRE - Site Reliability Engineering) появилась в 2003 году. Изначально она задумывалась как система для поддержки разработчиков, создающих крупномасштабные приложения. В наши дни SRE реализуется опытной командой экспертов, которая умеет применять методы проектирования при решении общих проблем, связанных с запуском систем в промышленную эксплуатацию. SRE – это как бы системный инженер, который отвечает еще и за эксплуатацию. Это сочетание работ по системным операциям с разработкой и проектированием ПО. В зоне ответственности таких сотрудников находится множество задач – от написания и создания кода до его доставки и поддержки в промышленной среде.
Главная цель SRE – разработка сверхнадежных и быстро масштабируемых систем. Раньше проектировщиков ПО и сотрудников эксплуатационного отдела разделяли на 2 отдела с разными зонами ответственности. Такие отделы подходили к решению проблем с разных сторон. SRE выходит за рамки этого ограничения. Принцип сотрудничества, лежащий в основе этой методологии, пришелся по душе многим компаниям.
В чем преимущества SRE?
SRE значительно улучшает период работоспособности. Основной приоритет – поддержание платформы или сервиса в рабочем состоянии, несмотря ни на что. Задачами первостепенной важности являются: предотвращение аварий, минимизация рисков, надежность и запас мощности. Главная цель команды SRE – найти способы по предотвращению проблем, которые могли бы привести к простою. Это критически важно, особенно при сопровождении крупномасштабных систем. Еще одно преимущество SRE заключается в том, что данный подход помогает компаниям отойти от ручной работы в пользу автоматизации. Тем самым у разработчиков высвобождается больше времени на инновационные решения. Любые ошибки быстро и эффективно находятся и устраняются.
Что делает SRE и как
Роль SRE в компании предельно проста и понятна: команда следит за тем, чтобы платформа или сервис были доступны клиентам в любой момент и в любых обстоятельствах.
Чем занимается SRE?
SRE устраняет разобщенность команд немного иначе, чем DevOps. Она помогает разработчикам создавать более надежные системы, поскольку эти сотрудники занимаются не только разработкой, но и эксплуатацией программ. Следовательно, разработчики лучше понимают свои продукты и могут качественнее поддерживать системы в промышленной эксплуатации.
Для улучшения системы SRE использует определенные метрики. Такая оценка надежности систем является решающим фактором, определяющим, попадет ли то или иное изменение в рабочую версию. Ключевые метрики SRE: SLO (цели уровня обслуживания), SLA (соглашение об уровне обслуживания) и SLI (количественная оценка работы сервиса).
SRE решает вопросы, связанные с эскалацией запросов в поддержку. Кроме того, эта система всячески побуждает людей выявлять и сообщать об инцидентах.
Команда SRE определяет и проверяет новый функционал с обновлениями, а также разрабатывает документацию по системе.
В своей работе команда SRE пользуется такими системами, как Kubernetes (один из самых известных оркестраторов контейнеров), облачными платформами (Microsoft Azure, Amazon AWS и т.д.), инструментами планирования и управления проектами (JIRA, Pivotal Tracker), а также системами контроля версий (GitHub и т.д.).
Чем отличаются SRE и DevOps?
Если говорить абстрактно, что DevOps – это написание и развертывание кода, а SRE – это комплексный подход ко всему, поскольку при работе над системой команда примеряет на себя роль конечного пользователя.
При работе над продуктом или приложение команда DevOps использует гибкий подход. Они быстро и качественно создают, тестируют и развертывают приложения. Команда SRE регулярно делится с командой разработчиков обратной связью. Их цель – эффективно использовать данные по эксплуатации и проектированию ПО (в основном, за счет автоматизации операционных задач) и, тем самым, ускорить доставку приложения. В то же время задача команды DevOps – сделать рабочие процессы более эффективными и автоматизированными.
Цель SRE – создать слаженные операционные процессы с помощью методологий, которыми раньше пользовались только разработчики ПО. Основная задача SRE – сделать так, чтобы платформа или приложение были постоянно доступны клиентам. Для этого оцениваются потребности клиентов и анализируются метрики SLA, SLI и SLO. DevOps делает акцент на процессе в целом, и результатом должно стать успешное развертывание ПО. Ниже описаны дополнительные отличия между DevOps и SRE.
Роль команды разработчиков
DevOps объединяет навыки разработчиков и инженеров по эксплуатации ПО. SRE решает проблемы IT-операций с помощью инструментов и парадигмы разработчиков.
Навыки
Команда DevOps работает преимущественно с кодом. Они пишут код, тестируют его и выпускают в промышленную версию. Итогом их работы должна стать программа, которая поможет решить чью-то проблему. Кроме того, они настраивают и запускают сборочный конвейер. SRE-подход немного шире. Команда анализирует, почему что-то пошло не так. Они делают все, чтобы та или иная проблема не повторилась.
Что общего в SRE и DevOps?
Мы разобрали отличия между DevOps и SRE, но есть ли в них что-то общее? По правде говоря, SRE и DevOps между ними много общего, ведь оба подхода – это методологии, которые применяются для анализа промышленных версий и обеспечения того, чтобы управление эксплуатациями работало как нужно. Их общая цель – получить качественный результат для сложных распределенных систем. Оба направления делают акцент на людях, которые работают как единая команда с общей зоной ответственности. DevOps и SRE верят в то, что поддерживать все в рабочем состоянии – это задача каждого. Вовлеченность в процесс должна быть общей – от написания первоначального кода до сборки приложения, развертывания в промышленную версию и обслуживания. Проектировщики DevOps и SRE пишут и оптимизируют код до того, как развертывать его в рабочей среде.
Подводя итог, можно сказать, что для достижения общей цели нужно сочетать DevOps и SRE.
В компании есть три независимых отдела, использующих технологию VLAN (Virtual Local Area Network). На рисунке 1 показано, что ПК 1 и ПК 2 принадлежат одному отделу (VLAN 10), ПК 3, ПК 4 и ПК 5 принадлежат другому отделу (VLAN 20), а ПК 6 принадлежит другому отделу (VLAN 30).
Порядок настройки
Создайте VLAN на коммутаторах.
Установите типы каналов для портов, подключенных к ПК, в режим Access и добавьте порты в сети VLAN.
Установите типы каналов для портов, подключенных к коммутаторам, в значение Trunk и добавьте порты в сети VLAN.
Приступим
Далее в качестве примера конфигурации используется VLAN 10.
Войдите в системный режим на коммутаторе, а затем выполните команду vlan vlan-id, чтобы создать VLAN. Например:
Теперь вы должны добавить порты в VLAN 10, так как вновь созданные порты не содержат VLAN.
Тип соединения по умолчанию порта на коммутаторе - Hybrid. Выполните команду port link-type {access / trunk}, чтобы изменить типы соединений портов, добавляемых в VLAN на Access или Trunk. Чтобы задать PVID для Access порта, выполните команду port default vlan vlan-id. Для настройки разрешенных VLAN для Trunk порта, выполните команду port
trunk allow-pass vlan vlan-id1 [to vlan-id2]
После настройки VLAN запустите команду display port vlan, чтобы просмотреть конфигурации VLAN и типы портов на коммутаторе. В качестве примера посмотрим настройки S2.
Из выходных данных команды видно, что GE1/0/1 на S2 был настроен как Access порт и добавлен в VLAN 10, а GE1/0/2 на S2 был настроен как Trunk порт и позволяет кадрам из VLAN 10 проходить через него, указывая, что команды конфигурации VLAN вступили в силу на GE1/0/1 и GE1/0/2 коммутатора S2. Вы можете применить аналогичные команды для настройки VLAN 20 и VLAN 30.