описание
Мы ищем опытного инженера-разработчика для проектирования и реализации терминального сервера на базе Linux, который должен заменить текущую инфраструктуру, построенную на Windows Server 2008. Сейчас пользователи удалённо подключаются к серверу и работают в индивидуальных терминальных сессиях. Внутри сервера запускаются: • Windows-приложения; • веб-браузеры; • приложения, опубликованные через RemoteApp; • собственная программная оболочка на C#, заменяющая стандартный рабочий стол Windows.
задачи
- Анализ текущей инфраструктуры Windows Terminal Server.
- Изучение используемых приложений, способов их запуска и зависимостей.
- Разработка архитектуры многопользовательского терминального сервера на базе Linux.
- Подбор технологий для удалённого подключения, управления сессиями и публикации приложений.
- Исследование возможностей запуска существующих Windows-приложений в Linux.
- Работа с Wine, CrossOver и другими технологиями совместимости.
- Определение стратегии: какие приложения можно запускать нативно, а для каких нужна альтернативная архитектура.
- Обеспечение запуска браузеров и приложений в отдельных пользовательских сессиях.
- Сохранение сценариев запуска, аналогичных RemoteApp.
- Изучение существующей оболочки на C#.
- Перенос оболочки на Linux либо разработка аналогичного решения.
- Реализация интерфейса выбора автомобильного каталога.
- Настройка автоматического запуска оболочки после подключения пользователя.
- Организация запуска выбранных приложений из оболочки.
- Ограничение доступа пользователя к системному окружению согласно текущей логике работы.
- Обеспечение одновременной работы большого количества пользователей.
- Реализация изоляции пользовательских сессий.
- Управление процессами и ресурсами пользователей.
- Обеспечение стабильной работы приложений при длительных подключениях и переподключениях.
- Продумывание управления пользовательскими профилями, файлами и настройками.
- Разработка и развёртывание рабочего прототипа.
- Проведение нагрузочного тестирования.
- Оптимизация потребления оперативной памяти и процессорных ресурсов.
- Обеспечение отказоустойчивости, безопасности и удобства администрирования.
- Подготовка технической документации и инструкций по эксплуатации.
требования
- Сильные знания Linux на уровне системного инженера / разработчика инфраструктурных решений.
- Опыт разработки и настройки многопользовательских Linux-систем.
- Практический опыт построения терминальных серверов, VDI или аналогичных решений.
- Понимание принципов работы RDP, удалённых рабочих столов, публикации отдельных приложений и управления пользовательскими сессиями.
- Практический опыт работы с Wine, CrossOver или другими технологиями запуска Windows-приложений в Linux.
- Уверенные знания C# и .NET.
- Опыт разработки или переноса приложений с Windows на Linux.
- Опыт работы с виртуализацией (KVM/QEMU, Proxmox или аналоги).
- Знание сетевых технологий и принципов разграничения доступа.
- Навыки автоматизации администрирования Linux.
- Обязательное требование: активное владение AI-инструментами для разработки (AI-assisted coding)
- Необходимо уверенно использовать современные инструменты (Cursor, Claude Code, GitHub Copilot, ChatGPT и другие) для: проектирования архитектуры; написания и рефакторинга кода; анализа существующих приложений; поиска и устранения ошибок; разработки и тестирования программных компонентов.
- Важно не просто уметь пользоваться нейросетями, а эффективно применять их в реальной разработке: понимать полученный код, проверять его корректность и нести ответственность за результат.
- Будет плюсом: Опыт построения терминальных серверов на Linux; Опыт миграции инфраструктуры с Windows Server на Linux; Опыт работы с Windows Remote Desktop Services, RemoteApp, Citrix или аналогичными системами; Опыт настройки Active Directory, LDAP и централизованной авторизации; Опыт разработки графических приложений под Linux; Знание Avalonia UI и других кроссплатформенных технологий для C#; Опыт оптимизации серверов с большим количеством одновременных пользовательских сессий
условия
- Условий в вакансии нет