Использование экземпляра EC2 в качестве основной платформы разработки [закрыто]

28

Моя проблема

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

Чтобы решить все эти проблемы, я сейчас рассматриваю возможность использования EC2 (запущенных экземпляров Windows) в качестве основной платформы разработки и просто доступ к нему с любого компьютера, на котором я бываю. Я подсчитал, что запуск экземпляра Large (самый дешевый 64-разрядный) по 8 часов в день в течение года обходится мне в 960 долларов в год, что является приемлемым.

Я полагаю, что, когда я каждый день подхожу к рабочему месту, я нажимаю один раз на телефоне, чтобы запустить экземпляр, чтобы он был готов, когда я приступаю к работе. У меня должны быть разные значки на телефоне, чтобы запустить разные типы экземпляров. Конечно, одно и то же программное обеспечение должно автоматически загружаться на различное оборудование (иногда мне даже понадобится их экземпляр с 68,4 ГБ памяти).

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

Мой вопрос:

У кого-нибудь есть опыт работы с такой настройкой на EC2? Какие проблемы вы предвидите?

Дэвид
источник
2
Если у вас достаточно приличное домашнее соединение, вы можете сделать это с помощью Windows Remote Desktop на «серверной» машине у себя дома. Или, если вы хотите несколько экземпляров, запустите несколько в виртуальной коробке. Без абонентской платы.
GrandmasterB
2
@GrandmasterB: Нет абонентской платы? Вы имеете в виду, что электричество не стоит денег там, где вы живете? А обслуживание вашего домашнего сервера занимает у вас ноль времени?
Джон Варфоломей
Будет ли метод удаленного доступа достаточно быстрым для вас?
Как насчет виртуальных машин Azure в качестве альтернативы EC2 для запуска среды рабочего стола?
Фекли
Вы рассматривали возможность использования Linux VPS вместо EC2?
Василий Старынкевич,

Ответы:

11

Я не использую EC2, но я использую очень большую ферму Xen. Откровенно говоря, я люблю это, потому что:

  • Я могу попасть на работу из любого места
  • Это просто сделать снимки целых файловых систем (я использую VHD)
  • Легко изготовить ISO для установки
  • Миграция виртуальных машин вокруг тривиальна, если мне нужно, чтобы она росла и выбегала из комнаты
  • Такие программы, как distcc, действительно ускоряют сборку, когда у вас есть 8-10 виртуальных машин, которые она может использовать
  • Материал загружается очень быстро с подключением 100 МБ :)

Предостережение в том, что я облажался, если у меня нет обновлений из моих репозиториев HG, если по какой-либо причине я не могу получить Интернет, и это случалось несколько раз.

Если у вас действительно очень продуманная настройка ... вы не сможете создать ее снова локально (или, возможно, сможете), но дело в том, что нет соединения, нет работы.

Тим Пост
источник
Спасибо за отличный ответ. Я немного обновил вопрос с ценой. Это должно было быть 960 $ в год.
Дэвид
@ Давид, обновлено :)
Тим Пост
6

Вы узнаете, что люди Unix / Linux делали годами: разрабатывая на серверах. После этого вы можете использовать любую машину и ssh / putty на вашем сервере (серверах) и там.

Дешевые серверы linux намного дешевле, чем ec2. Вы можете использовать rackspacecloud по цене 11 долларов США в месяц (у них также есть образы окон), но вы также можете использовать базовый хостинг 15,00 долларов в год по адресу http://buyvm.net/ (счастливый клиент, никаких других отношений)

Для Амазонки, вы можете посмотреть на 3 года предоплаты. Это могло бы вас спасти.

Кристофер Махан
источник
4
Удаленная работа GUI IDE на сервере Linux - далеко не то, что делают люди из Unix / Linux.
vartec
2
Я не упомянул GUI IDE. Люди Unix обычно не используют IDE GUI. Это EMACS против VIM и некоторые нано и Эд добавили.
Кристофер Махан
1
Итак, во-первых, AFAIK, нет текстового режима Visual Studio, поэтому нет, удаленная разработка в Windows - это не то же самое, что удаленное редактирование файла с помощью vi. Во-вторых, я не совсем согласен с вашим обобщением. За 15 лет работы над Linux я видел очень мало людей, использующих только текстовый редактор. И большинство из них на самом деле были SysOps, а не разработчиками. С другой стороны, разработчики в основном будут использовать полноценную IDE (Komodo, Eclipse и производные, KDevelop, Quanta +, InteliJ и производные).
vartec
Ммм, интересно. Возможно, наш опыт меняется. Я буду иметь это в виду, когда буду делать широкие обобщения.
Кристофер Махан
6

Я использую EC2 более традиционно, в качестве серверов. Проблемы, которые я предвидел с тем, что вы пытаетесь:

  • хранение: у вас есть два варианта: постоянное EBS и временное хранение. EBS довольно медленный, не могу себе представить работу с IDE на таком медленном диске. Эфемерное хранилище исчезает, как только вы останавливаете свой экземпляр, так что не очень хороший вариант. И, конечно, далеко не так быстро, как SSD.

  • Память: недостаточно, особенно если учесть, насколько дешева оперативная память в настоящее время.

  • Процессор: действительно очень слабый, только 2 медленных виртуальных ядра. Начальный уровень i3 даст вам лучшую производительность, не говоря уже о i5 или i7.

  • подключение: задержка для AWS довольно высока, намного выше, чем вы ожидаете. Учитывая, что я использую экземпляры EC2 в Европе при подключении из Европы, я ожидаю, что латентность будет значительно ниже 30 мс, а это больше 300-500 мс. Для сравнения трансатлантическая латентность составляет около 50 мс. Задержка сделает любую интерактивную среду GUI непригодной для использования.

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

ОБНОВЛЕНИЕ с середины 2015 года : с тех пор как я написал этот ответ в 2012 году, AWS добавил хранилище SSD, уменьшив задержку. Что касается ЦП и ОЗУ, он все еще остается в силе, EC2 серьезно недопитан по сравнению со средним ноутбуком, если только вы не готовы тратить более 200 долларов в месяц.

Vartec
источник
4

Таким образом, я использовал экземпляр EC2 для выполнения 64-разрядной разработки с использованием Visual Studio 2010 на большом экземпляре Windows. Работало красиво!

Хотя я нахожусь в Южной Африке, задержка не была большой проблемой. Копирование, вставка и редактирование больших блоков текста было немного вялым, но при отладке я даже не заметил задержки. Загрузка и запуск больших загрузок - для меня VS 2010 и Office 2010 - были чрезвычайно быстрыми - несколько ГБ за несколько минут. Я был буквально в рабочем состоянии в течение получаса.

Поэтому я рекомендую вам попробовать.

Govert
источник
Что ты делал, копируя и вставляя в свою IDE? Плохой тон!
лорддев
@ lorddev копировать между файлами в Visual Studio? Что вы рекомендуете в качестве альтернативы?
Кирк Бродхерст
Это была шутка. Я сталкивался с кучей программистов копирования и вставки за эти годы.
лорддев
3

Самая большая проблема, которую я вижу - по крайней мере, с экземпляром Windows и при условии, что вы используете удаленный рабочий стол - заключается в том, что сетевые лаги раздражают. В зависимости от того, насколько вы физически близки к центру обработки данных Amazon, это может не вызывать проблем. Личный опыт: у меня была неделя, когда мой провайдер решил направить пакеты через США, чтобы добраться до моего офиса (12 миль); пользовательский интерфейс был непригодным для использования.

скоро
источник
Это, вероятно, будет проблемой, по крайней мере, если я нахожусь на мобильной связи. Я предполагаю, что должен проверить это прежде, чем я решу что-нибудь.
Дэвид
1
Я часто использую RDP для доступа к машине личного развития. Для неграфического программирования производительность настолько хороша, что вы легко можете забыть, что не сидите за машиной. Так что это будет зависеть во многом от вашего соединения и от того, как его настроить (удаляя все необычные графические эффекты).
GrandmasterB
1
@GrandmasterB - это очень сильно зависит от задержки вашего соединения. Например, даже в моей домашней локальной сети заметна разница между проводными и беспроводными соединениями. А маршрутизация ваших пакетов через Интернет может привести к большим задержкам: например, двусторонняя поездка в 6 000 миль между побережьями США добавляет 3/100 секунды.
Anon
1

Я использую микроэкземпляры EC2 через бесплатный уровень, и это фантастика. Это быстро, отзывчиво, и мне вряд ли придется платить ни копейки. Это длится около года, но если вам нужна временная среда разработки, EC2 - это то, что вам нужно. У меня там только отличные впечатления. Микроэкземпляры для меня даже поддерживали трафик до 100 тыс. Обращений в день (тоже очень хорошо обрабатывается, при пиковой загрузке процессора примерно 70%).

Взгляните на bitnami - это быстрый старт стека LAMP (или любого стека), который запускается в основном за 5 минут. Также убедитесь, что вы правильно настроили свою безопасность! Разрешите только SSH, HTTP / HTTPS соединения в ваших группах веб-безопасности. Используйте SFTP для передачи файлов.

Кевин Ван
источник