Компьютеры для разработчиков стали более стандартизированными. Независимый аналитик Кристофер Тоцци рассказывает на портале ITPro Today о том, какими инструментами они обычно укомплектованы.

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

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

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

Что такое машина для разработки?

Сперва более подробно определим, что такое машина для разработки.

Итак, машина для разработки — также известная как бокс или компьютер разработчика — это ПК или ноутбук, который разработчики ПО используют для написания программ. Машины для разработки обычно оснащаются инструментами — такими как IDE, ПО для управления исходным кодом и пакеты для тестирования ПО, — которые необходимы разработчикам для написания, управления и тестирования исходного кода.

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

Тенденции в современных машинах для разработки

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

Больше Windows, меньше Linux

В прошлом Linux был очевидным выбором ОС для машин для разработки, особенно для разработчиков, создающих код, который будет развернут на серверах Linux. Запуск Linux был единственным способом получить доступ к встроенным инструментам этой ОС для тестирования ПО.

Но это уже не так. Благодаря Windows Subsystem for Linux (WSL) разработчики теперь могут запускать Linux-среды прямо в Windows. В результате, скорее всего, вы найдете меньше боксов разработчика под управлением Linux. Они могут включать инструментарий Linux через WSL, но операционной системой является Windows.

Виртуальные машины

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

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

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

Docker

Docker, фреймворк контейнеризации, стал еще одной распространенной особенностью современных машин для разработки. Практически любой разработчик, создающий ПО, которое будет развернуто на производстве с использованием Docker, захочет иметь установленный Docker, чтобы тестировать ПО с использованием контейнеров локально на машине для разработки перед развертыванием.

Кроме того, Docker — это удобный способ запуска дополнительного ПО, такого как веб-серверы или базы данных, которые могут понадобиться разработчикам для создания тестовой среды для их ПО.

Kubernetes

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

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

Оговорка здесь заключается в том, что если вы хотите запустить Kubernetes, вам нужна как минимум одна ОС Linux. (Рабочие узлы Kubernetes могут запускать Windows, но узлы плоскости управления поддерживают только Linux.) Но вы можете решить проблему с помощью виртуальной машины, если хотите запустить Kubernetes на компьютере разработчика поверх Windows — так что и здесь разработчики могут придерживаться Windows, если хотят.

Меняющаяся начинка компьютеров разработчика

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

Но другие технологии — такие как Docker, Kubernetes и WSL — являются новичками в типичном боксе разработчика. Они являются отражением того, как изменились потребности разработчиков в инструментах и как определенные платформы стали играть центральную роль в современной практике разработки ПО.