App-V или контейнеры Windows: что вам подходит?

Опубликовано: 18 Апреля, 2023
App-V или контейнеры Windows: что вам подходит?

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

Поэтому, занимаясь системным администрированием, я был рад снова увидеть изменение ландшафта с введением служб терминалов в Windows Server 2003. Неожиданно вы могли использовать систему Windows Server в качестве своего рода микромейнфрейма для своего бизнеса. Эта технология, называемая виртуализацией сеансов, позволила пользователям Windows XP на своих ПК запускать сеансы рабочего стола Windows со своими приложениями, чтобы они выполнялись на удаленном сервере, но принимали ввод и отображали вывод на ПК пользователя. Службы терминалов продолжали развиваться и были переименованы в службы удаленных рабочих столов (RDS) с выпуском Windows Server 2008 R2.

В этот момент как будто внезапно открылись шлюзы. RemoteApp был введен, чтобы позволить пользователю запускать отдельное удаленное приложение на внутреннем RDS-сервере и отображать его в окне на клиенте, как локальное настольное приложение Windows. Затем был представлен App-V, чтобы включить новые сценарии, в которых удаленным приложениям необходимо поддерживать локальные ресурсы на клиенте, а не хранить и использовать ресурсы только на сервере RDS.
Затем был представлен Azure RemoteApp, чтобы обеспечить возможности RemoteApp для организаций, которые хотели запускать серверную часть RDS в облаке, а не в своем центре обработки данных. И вот совсем недавно Microsoft объявила, что Azure RemoteApp будет заменен совместным решением, реализованным с помощью «экспресс»-технологий Citrix XenApp. Вдобавок ко всему этому появились контейнеры Windows — технология, которую некоторые рекламируют как следующий эволюционный шаг в удаленной доставке приложений.

Что может думать обо всем этом медлительный и бестолковый ИТ-специалист вроде меня? Например, предположим, что инфраструктура моей компании все еще работает под управлением Windows Server 2008 R2. В настоящее время мы используем RemoteApp (или один из его эквивалентов Citrix) для доставки удаленных приложений нашим пользователям. Скорее всего, в ближайшие год или два мы собираемся перенести нашу серверную часть на Windows Server 2016 каким-то гибридным способом. Нам также необходимо усовершенствовать нашу модель удаленной доставки приложений, чтобы повысить гибкость нашего бизнеса. Должны ли мы перейти на App-V? Или нам стоит подумать о переходе на контейнеры Windows?

App-V: преимущества и соображения

App-V (от Microsoft Application Virtualization) — это зрелая технология, которая позволяет администраторам упаковывать локально установленные приложения в централизованно управляемые службы. Затем пакеты приложений можно передавать удаленным пользователям без необходимости внесения каких-либо изменений в конфигурацию их компьютеров. App-V может предоставить вашей организации ряд преимуществ, включая упрощение развертывания приложений и снижение затрат на управление приложениями и их поддержку. App-V даже позволяет запускать несколько версий приложений на одном ПК, даже если эти приложения будут конфликтовать, если они будут установлены локально. Если вы хотите узнать больше о App-V, хорошей отправной точкой является статья по основам App-V, написанная Уилко ван Брагтом.

Однако есть несколько важных моментов, которые следует учитывать, если вы думаете о реализации App-V в своей среде. Во-первых, App-V передает полные двоичные файлы приложений на компьютеры пользователей вместо того, чтобы передавать только нажатия клавиш (ввод) и отображаемые данные (вывод) с использованием протокола удаленного рабочего стола (RDP), как это делает RemoteApp. Для App-V также требуется отдельная серверная технология (App-V Server) поверх существующей инфраструктуры Windows Server, хотя вы можете комбинировать App-V вместе с RDS для поддержки некоторых дополнительных сценариев.

И хотя Microsoft продолжает улучшать и поддерживать App-V (в настоящее время версия 5.1), темпы этих улучшений лучше всего охарактеризовать как постепенные. Я имею в виду, что у зрелой технологии есть и обратная сторона. С одной стороны, такая зрелая технология, как App-V, означает, что ей можно доверять, чтобы она работала почти всегда, что-то вроде того, что утром втыкаешь брелок в свою надежную старую пожирающую бензин Audi и ожидаешь, что сможешь водить машину. машина для работы. Но другая сторона медали заключается в том, что зрелые технологии не приносят много денег своим производителям. В результате эти производители всегда ищут что-то новое, что они могут продать вам, например Tesla.

Контейнеры Windows: преимущества и соображения

В отличие от App-V, которая является зрелой технологией, контейнеры Windows — это новая технология, которую Microsoft разрабатывает как часть Windows Server 2016, последней версии операционной системы Windows Server. Хотя контейнеры Windows сами по себе являются новыми, основная идея контейнеров, на которой они основаны, существует уже несколько лет. Контейнеры изначально разрабатывались для платформы Linux как автономные среды выполнения, которые действуют как виртуальные машины, но потребляют гораздо меньше ресурсов ЦП, памяти и хранилища, чем виртуальные машины. Инициатором контейнерной революции является компания Docker, которая совершенно справедливо позиционирует себя как ведущую в мире платформу контейнеризации программного обеспечения. Контейнеры Docker позволяют объединить код приложения, среду выполнения, библиотеки и файловую систему в единый пакет (контейнер), который можно легко развернуть и запустить практически на любой инфраструктуре. Контейнеры Windows — это новая попытка Microsoft охватить (и, возможно, расширить) контейнеры Docker для развертывания как на Windows Server, так и на Microsoft Azure. Если вы хотите узнать больше о контейнерах Windows, вы можете начать с прочтения этой темы на сайте VirtualizationAdmin.com.

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

Второй недостаток контейнеров Windows заключается в том, что они еще не созрели. На самом деле я думаю, что причина, по которой Windows Server 2016 потребовалось так много времени, чтобы выйти за дверь, заключается в том, что Microsoft боролась с целым рядом решений о том, как реализовать контейнерные технологии в новой операционной системе. Я также подозреваю, что даже после того, как Windows Server 2016 станет широко использоваться, его реализация контейнерных технологий будет продолжать корректироваться и развиваться в ответ на отзывы первых пользователей.

Ключевые вопросы для принятия решения

Что это оставляет организациям, стремящимся обновить свою модель доставки приложений? Должна ли компания, в настоящее время использующая Windows Server 2008 R2, рассматривать App-V как безопасный путь в будущем, или ей следует бросить кости и использовать контейнеры Windows? Задав себе пару вопросов, вы сможете принять решение.

Например, будете ли вы в основном концентрироваться на доставке конечным пользователям устаревших настольных приложений Windows или на развертывании внутренних серверных приложений? App-V полезен для первого, но не для второго, хотя есть родственное решение, являющееся частью System Center Virtual Machine Manager, которое может подойти некоторым организациям. С другой стороны, если вы в основном хотите улучшить программное решение для вашей цепочки поставок, то контейнерная технология, такая как Docker Engine, может оказаться подходящим вариантом, поскольку она позволяет перестроить инфраструктуру вашей цепочки поставок и перенести его в 21 век.

Является ли гибкость ключевым приоритетом для вашего бизнеса? Устоявшийся бизнес, который постепенно растет, может не захотеть рисковать внедрением новой технологии, такой как контейнеры Windows. С другой стороны, если вы готовы к быстрому росту и готовы идти на риск, возможно, вы захотите глубже изучить контейнеры Windows как способ ускорить расширение своего бизнеса. Помните, что гибкие компании обычно склонны к риску, а принятие рисков обычно приводит к одному из двух результатов: успеху или неудаче.