Лучшие друзья DevOps инженеров

Tags: DevOps, DevOps tools, Docker

Средства обеспечения производительности -  лучшие друзья DevOps инженеров, способные помочь в создании отличного кода. Эти бесплатные инструменты помогают сэкономить время, взаимодействовать и общаться в проектах.  Они помогают в тестировании приложений с использованием повторяющейся инфраструктуры, совместной работы и коммуникации.

Инструменты разработки/повышения производительности

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

Vargant

Среди инструментов DevOps Vagrant широко используется для разработки и тестирования, для имитации производственной среды.

С помощью Vagrant разработчики могут настраивать виртуальные машины, импортируя блоки (шаблоны виртуальных машин) из облака Vagrant, устанавливая параметры виртуальных машин (такие, как сетевое хранилище, и т.д.) и запуская инструменты конфигурирования, например, Puppet или Chef.

Преимущество Vagrant - наличие множества стеков приложений, которые поставляются в составе блоков vargant. Например, если Вы хотите разрабатывать на стеке LAMP, вы можете найти блок LAMP  в облаке Vargant. Он содержит список всех доступных блоков, разработанных сообществом с версиями LAMP.  Использование этих блоков помогает экономить время на настройке приложений вручную.

Vargant позволяет запускать среды, помещенные в песочницу, не нарушая конфигурации рабочей станции.  Например, если нужны среды разработки Python 2 и 3, у Вас могут быть два блока vargant, работающих на python 2 и 3.

Кроме того, у Вас могут быть свои модули puppet, справочное руководство, или набор сценариев Ansible, которые будут использоваться в конфигурационном файле vargant, автоматизирующем конфигурацию с использованием руководства, модуля или набора сценариев.

Варианты использования Vargant

Для повторяющихся сред разработки: Вы можете делиться файлом vargant с другими разработчиками, которые будут запускать ту же виртуальную машину, что и у Вас.  Это позволяет избежать медленного перемещения конфигурации между конфигурациями рабочих станций разработчиков.

Нагрузочное тестирование/ Имитация производственной среды:  Вы можете развернуть блоки vargant за считанные секунды для нагрузочного тестирования или тестирования производительности, затем ликвидировать их.  Также, Вы можете создать производственную среду, объединив блоки vargant вместе.

Docker

Если Вы разработчик, то несомненно полюбите этот инструмент. Docker -  инструмент с открытым исходным кодом, позволяющий разработчикам создавать и управлять приложениями в контейнерах Linux.

Docker Hub - онлайн хранилище образов Docker, позволяющее загружать заранее подготовленные образы Docker с большинством стеков.  Разработчикам не нужно создавать виртуальные машины или смешивать существующие конфигурации рабочей станции - они могут просто начать работу над приложениями, используя образы docker.

Запуск контейнера осуществляется менее, чем за секунду.

Дополнение Docker – Kinematic. Оно помогает установить движок Docker в системе.  Kinematic автоматизирует установку движка, машины, виртуального блока backend и других компонентов docker.

Kinematic обладает превосходным графическим интерфейсом пользователя для управления контейнерами docker. Среди других функций Kinematic следует отметить возможность поиска образов, переключения между интерфейсом командной строки и графическим интерфейсом пользователя, управления портами, конфигурации переменных, журналов сред и т.д.  Docker - подходящий инструмент для создания изолированной среды.

Вы так же можете разворачивать контейнеры в блоке vargant, если не хотите использовать приложение с графическим интерфейсом.

Packer

Если Вы относитесь к тем, кто работает с облачными виртуальными машинами, то этот инструмент для Вас.  Он автоматизирует создание образа для Вашего облачного провайдера. Также, конфигурации, написанные с Packer, являются cloud-агностическими.

Вы можете писать конфигурацию packer для создания образа для определенного стека приложения и использовать его с несколькими облачными провайдерами.

Кроме того, Вы можете использовать «provisioners» (Shell, Ansible, Chef и т.д.) для автоматизации конфигурации приложения в образах виртуальных машин.

Инструменты непрерывной интеграции

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

Jenkins

Jenkins - распространенный инструмент непрерывной интеграции с мощной поддержкой сообщества.  Просто установите и используйте для работы с проектами Java или .Net. Образы Docker доступны для большинства версий Jenkins.

Github Actions

Если Ваш код на Github , то можете использовать  Github Actions для непрерывной интеграции, создавать определенные рабочие процессы для автоматизации процесса сборки и выпуска.  У него есть растущий список интеграций со всеми облачными инструментами и инструментами с открытым исходным кодом. 

Travis CI

Travis CI - облачная платформа для непрерывной интеграции.  Вы можете использовать ее для проектов с открытым исходным кодом.  Она совершенно бесплатна, а для непрерывной интеграции самостоятельная настройка не потребуется.

Системы контроля версий

Лучшей практикой является передача даже одного файла сценария в систему контроля версиями.   Инженеру DevOps необходимо следовать рекомендациям разработки и использовать системы контроля версиями для кода, который он пишет.

GitHub

Инструмент разработки является неполным без GitHub- службы размещения репозиториев.  Он предлагает контроль версий, функциональность SCM, функции совместной работы такие, как отслеживание ошибок, управление задачами и другое.  Он также предлагает функции социальных сетей, например, подписчики и каналы.

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

Bitbucket

Bitbucket - совместная система контроля версий, использующая Mercurial и Git. Разработчики могут получать доступ к безлимитным бесплатным частным репозиториям, управлять или делиться репозиториями, совместно работать над кодом и многое другое.  Bitbucket интегрирован с JIRA - инструментом управления проектом.

Gitlab

Если Вам нужна настройка подобная Github, переходите в Gitlab. Настроив один раз, Вы можете использовать ее для размещения кода приложения. Если же Вам не нравится настраивать программное обеспечение, Вы можете использовать образ Gitlab docker для настройки одной строки.

Облачные службы

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

С помощью таких опций как AWS, DO, Lightsail разработчики могут настраивать собственный виртуальный частный сервер несколькими кликами и платить только за пропускную способность по часам.

AWS

AWS предлагает мощное решение с виртуальными машинами и несколькими другими службами для разработки сайтов или приложений. 

AWS - обязательное приложение для разработчиков, ищущих надежную инфраструктуру и недорогие хостинговые решения.

DigitalOcean

DigitalOcean предлагает виртуальные машины с невероятно быстрой скоростью и потрясающими инструментами для разработчика.  Облачные экземпляры в DO, называемые каплями, могут быть развернуты в течение всего 55 секунд.  Интеллектуальные стратегии, недорогие решения и лучшие облачные предложения внесли ценный вклад в развитие рынка. 

Lightsail

Еще один отличный продукт от технологического гиганта Amazon - Lightsail - предлагает разработчикам возможность настройки собственного VPS всего в 3 клика.  Разработчики могут воспользоваться преимуществом AWS без необходимости изучения сложных сервисов.  Всю сложную работу сделает Lightsail - Вы можете сосредоточиться на важных задачах.

Инструменты взаимодействия/коммуникации

Slack

Slack - прекрасный инструмент для онлайн общения.  Он интегрирован со множеством приложений, такими как Google Calendar, Skype, Trello, GitHub, Jira и многое другое.  Если Вы в поисках инструмента для мозговых штурмов, общения и взаимодействия, Slack - то, что нужно.

Trello

Trello - инструмент для управления проектами, в котором проекты размещаются на досках.

Asana

Asana - прекрасный инструмент, который помогает во взаимодействии с партнерами, в управлении проектами.

Пользуйтесь этими инструментами и будете успешны в работе.

No Comments

Add a Comment