Почему облачные среды разработки до сих пор не завоевали популярность?
Интересная ситуация сложилась с облачными IDE. Они не используются программистами с такой же скоростью как другие облачные технологии. Почему их внедрение и распространение продвигается так медленно?
Сегодня обсудим причины и разберемся в разных точках зрения по этому вопросу.
Современная ситуация
За последние десятилетия многие продукты перешли от локального программного обеспечения к работе в облачной среде. Так, в 2002 году Amazon создал «Cloud Web-service». Веб-сервис позволял хранить различную информацию и выполнять вычисления. Еще через 5 лет компания создала «Elastic Compute Cloud». Этот сервис позволил запускать собственные приложения непосредственно в облаке. Затем за похожие сервисы взялись такие гиганты, как Microsoft (Azure в 2010 году) и Google (Google Compute Engine в 2012 году).
Все больше пользователей начали переносить свои данные и проекты в облако.
Со временем появились и облачные интегрированные среды разработки (IDE). Они работают в облаке и предоставляют пользователям доступ к своим продуктам и инструментам через веб-браузер.
Наиболее известными облачными IDE являются Cloud 9, CodeTasty, Gitpod и другие.
Однако разработчики не торопятся переходить на указанные облачные платформы, продолжая использовать привычные десктопные IDE.
В чем причина этого?
Что предлагают облачные IDE?
Преимуществ у облачных IDE множество. Самое важное заключается в том, что облачная среда разработки доступна из любого места, главное, чтобы был Интернет. Облачные IDE работают в браузере, поэтому они не зависят от операционной системы или аппаратного обеспечения компьютера. Это означает, что их можно использовать на любом устройстве, которое поддерживает веб-браузер. Есть возможность работать с проектами не только из дома или офиса, но даже с мобильного устройства.
Специалист по облачным технологиям The Duckbill Group, Кори Куинн в своей статье «Настоящая причина задержки внедрения облачных IDE» подчеркнул, что именно возможность удаленной разработки стала для него решающей в выборе в пользу онлайн IDE.
Также большинство сторонников использования облачных сред разработки подчеркивают их особую безопасность. Ведь исходный код хранится в облаке, а не на локальном компьютере. Так что кофе, пролитое на ноутбук, не грозит такими уж печальными последствиями.
Кроме того, облачные IDE предоставляют более удобную и быструю настройку рабочего пространства. Новичку, пришедшему в команду, за пару кликов могут предоставить доступ ко всем необходимым исходникам.
Критика и недостатки
Но, не смотря на множество плюсов от внедрения облачных сред разработки, программисты продолжают использовать локальные инструменты.
Кори Куинн уверен, что причина кроется в недостаточно развитом UX . Разработчики привыкли к удобным средам и большое внимание уделяют отзывчивости интерфейса, скорости работы программы.
Кроме того, главное преимущество облачных IDE напрямую зависит от наличия Интернета, поэтому любители путешествовать определенно столкнутся с проблемой доступа к Сети.
Непонятно, как действовать в случае сбоев и падении сервисов. Ведь даже наиболее популярные облачные решения, такие как Gmail, Dropbox, Google Docs, сталкивались с внезапными сбоями в работе сервиса.
Также сложно себе представить, как будет осуществляться перенос проектов на альтернативные ресурсы. Ведь облачная IDE может прекратить свое существование. Что тогда делать с проектами?
Спорным вопросом является и безопасность. Если рабочие проекты с IDE попадут в чужие руки, разработчики могут потерять результаты своего труда.
Эрик Бернхардссон, создатель системы музыкальных рекомендаций в Spotify, в своей статье «Мы все еще рано переходим к облаку: почему разработка программного обеспечения требует перемен» обращает внимание на недоработанность некоторых технических моментов и приводит такие примеры:
Нет простого способа запустить 1000 безсерверных функций и распараллелить компиляцию проекта.
Облака требуют выполнения низкоуровневой настройки.
Для развертывания все еще необходимы адаптеры, такие как Docker.
Облачное решение не спасает от среду разработки от внешних зависимостей. Проблема «работает на моей машине» все еще существует, просто не на локальном компьютере, а в облаке.
Тенденции на ближайшее будущее
Таким образом, хотя облачные среды разработки позволяют работать над проектами из любой точки мира и на любом устройстве с доступом в Интернет, для программистов они пока еще не must-have.
Разработчик Зак Ллойд в блоге Warp говорит о том, что выгода от внедрения облачных IDE потенциально более значительна для компании, чем для отдельного разработчика. Ведь облачный подход позволяет сэкономить финансы. Нет необходимости покупать каждому программисту дорогую технику. Да и держать код не на локальном компьютере также довольно удобно с точки зрения безопасности. Ллойд предполагает, что внедрение облачных сред разработки может идти сверху вниз, от компании к разработчикам.
В целом большинство программистов уверены, что среды разработки перейдут с десктопа в облако. Просто на данный момент нет достаточно важных стимулов для этого. Опыт облачной разработки все еще имеет ряд минусов, которые тормозят этот процесс.
А Вы как считаете?