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

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

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

Обсудим, почему разработчикам стоит обратить внимание на облачные десктопы и как решить, подходит ли им этот подход.

Что такое облачный десптоп

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

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

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

Преимущества облачных десктопов в качестве рабочих мест для разработчиков

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

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

Это очень важно, поскольку большинству разработчиков не нужны постоянно большие ресурсы процессора и памяти. Они нужны им только для ресурсоемких задач, таких как компиляция кода.

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

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

Это означает, что облачные десктопы помогают разработчикам быстрее запускать свои приложения в производство, не беспокоясь о том, что медленное интернет-соединение задержит конвейер CI/CD.

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

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

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

Проблемы облачных десктопов для разработчиков

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

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

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

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

Заключение

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