Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются предопределенные задачи, доступные разработчикам Java для модернизации GitHub Copilot.
Предопределенные задачи захватывают отраслевые рекомендации по использованию служб Azure. В настоящее время модернизация GitHub Copilot предлагает предопределенные задачи, охватывающие распространенные сценарии миграции. Эти задачи рассматривают следующие темы и многое другое:
- Управление секретами
- Интеграция очереди сообщений
- Monitoring
- Управление идентичностью
Note
Этот список растет на основе отзывов клиентов и развития потребностей в облаке.
Список задач
В настоящее время модернизация GitHub Copilot поддерживает следующие предопределенные задачи:
RabbitMQ в Служебная шина Azure
Эти задачи переводят приложения Java, использующие RabbitMQ — через Spring Advanced Message Queuing Protocol (AMQP), Spring Java Message Service (JMS) или Java EE / Jakarta EE поверх AMQP, — на использование управляемого сервиса Служебная шина Azure, сохраняя модели обмена сообщениями и семантику и при этом по умолчанию обеспечивая безопасную аутентификацию.
Управляемые удостоверения для переноса баз данных в Azure
Предложения базы данных Azure — Azure SQL Server, База данных Azure для MySQL, База данных Azure для PostgreSQL, AZURE Cosmos DB для API Cassandra и Azure Cosmos DB для MongoDB — поддерживают безопасный вход с помощью управляемого удостоверения. При переносе приложения из локальной базы данных в управляемую облачную базу данных Azure эта задача помогает подготовить кодовую базу для аутентификации с использованием управляемого удостоверения в базе данных.
Управляемые идентификаторы для миграции учетных данных в Azure
Проверка подлинности с помощью строк подключения представляет уязвимости безопасности и затраты на обслуживание. Эта задача преобразует ваши Java-приложения для использования аутентификации с помощью управляемого удостоверения Azure в службах обмена сообщениями, таких как Центры событий Azure и Служебная шина Azure. При интеграции с клиентскими библиотеками Microsoft Identity код больше не должен хранить конфиденциальные строки подключения или подписанные URL-адреса в файлах конфигурации.
Amazon Web Services (AWS) S3 в Blob-хранилище Azure
При переносе службы из AWS в Azure вы можете перейти с AWS S3 на Blob-хранилище Azure. Эта задача помогает преобразовать логику кода, которая взаимодействует с AWS S3 в логику кода, которая работает с BLOB-объектом службы хранилища Azure, сохраняя ту же семантику.
Эти рекомендации по миграции были подготовлены в сотрудничестве с командой служба хранилища Azure с использованием их глубокой экспертизы в области API Хранилище BLOB-объектов, схем аутентификации и особенностей поведения на разных платформах, чтобы рекомендации соответствовали передовым практикам промышленной эксплуатации.
Логирование в локальный файл
Службы размещения Azure интегрируются с Azure Monitor по умолчанию, собирают выходные данные журнала в консоль и позволяют запрашивать и отслеживать их. В то же время запись в файлы журнала в облачной среде не рекомендуется, так как это требует дополнительной ротации и передачи журналов. Эта задача помогает преобразовать ведение журнала на основе файлов в приложение в ведение журнала на основе консоли, что делает его готовым к интеграции с Azure Monitor.
Подключение ввода-вывода локальных файлов к точкам монтирования общей файловой папки хранилища Azure
Службы размещения Azure обеспечивают гибкость в предоставлении ресурсов, масштабировании, обеспечении отказоустойчивости и т. д. В то же время файловая система для заданной среды выполнения приложения является временной. Если приложение считывает или записывает данные в локальный файл, эта задача помогает определить такие случаи и преобразовать их в единый доступ к пути подключения. Таким образом, вы можете подключить файловое хранилище служба хранилища Azure к указанному пути, позволяя вашему приложению делиться данными и сохранять их между различными репликами, не беспокоясь о перемещении, фейловере или аналогичных проблемах.
JavaMail для Службы коммуникации Azure
Перенос приложений с использованием зависимостей SMTP может быть сложным, так как не все среды Azure поддерживают исходящие запросы через порт 25. Эта задача помогает преобразовать приложение, которое отправляет почту через SMTP для использования Служб коммуникации Azure, которое полностью совместимо с средами размещения Azure.
Секреты и управление сертификатами в Azure Key Vault
Эта задача помогает перенести конфиденциальные ресурсы безопасности в Azure Key Vault. Он поддерживает как жестко закодированные секреты в базе кода, так и локальные сертификаты TLS/mTLS, управляемые в Java KeyStores. Для секретов он определяет подозрительные секретные тексты и преобразует их в логику, которая извлекает данные из Azure Key Vault. Для сертификатов приложение переходит от локального управления сертификатами к использованию поставщика архитектуры шифрования Java (JCA) Azure Key Vault, сохраняя те же функциональные возможности и состояние безопасности.
Операции шифрования для Azure Key Vault
Java-приложения, выполняющие криптографические операции, управляют ключами локально вне централизованного сервиса, поддающегося аудиту. Эта задача переносит локальную логику шифрования в Azure Key Vault, чтобы операции подписывания, проверки, шифрования и расшифровки выполнялись с ключами, которые никогда не покидали хранилище, сохраняя существующее поведение приложения.
Аутентификация пользователей в Microsoft Entra ID.
Приложения Java часто используют решения проверки подлинности на основе LDAP, которые не легко переносятся в Azure. Эта задача помогает перенести механизм проверки подлинности локального пользователя в один, использующий идентификатор Microsoft Entra для проверки подлинности.
Продукты баз данных и предложения Azure по базам данных
Java приложения, работающие в локальных базах данных, включая Oracle, IBM Db2, Informix и Sybase Adaptive Server Enterprise (ASE), можно перенести в База данных Azure для PostgreSQL или База данных SQL Azure для полностью управляемого облачного интерфейса. Эти задачи обновляют приложение так, чтобы оно подключалось к целевой базе данных Azure с помощью безпарольной аутентификации Microsoft Entra ID, а также приводят зависящие от источника синтаксис SQL, типы данных и функции в соответствие с целевым диалектом, чтобы приложение сохраняло прежнее поведение в Azure.
Диспетчер секретов AWS в хранилище ключей Azure
Для перехода из AWS Secret Manager в Azure Key Vault требуется перенастроить способ обработки конфиденциальной информации в приложении. Эта задача преобразует все аспекты управления секретами в коде от создания и извлечения до обновления и удаления и использования комплексных возможностей безопасности и моделей проверки подлинности Azure Key Vault.
Служебная шина ActiveMQ в Azure
Приложения, созданные на основе Apache ActiveMQ, можно модернизировать для использования управляемой службы обмена сообщениями Azure. Эта задача преобразует производители сообщений ActiveMQ, потребители, фабрики подключений и взаимодействия с очередью и темами в эквиваленты служебной шины Azure, внедряя лучшие практики для надежности и аутентификации в облачных средах.
Простая служба очередей Amazon Web Services (AWS) (SQS) на Служебная шина Azure
Переход с AWS SQS на служебную шину Azure включает повторное выполнение операций очередей и шаблонов обработки сообщений. Эта задача преобразует специфические конструкции кода SQS в эквиваленты служебной шины Azure, сохраняя критически важные семантики обмена сообщениями, такие как гарантированная доставка, пакетирование сообщений и управление временем ожидания отображения, при внедрении расширенных функций безопасности Azure.
Проект Ant / Eclipse для проекта Maven
Java-проекты, созданные с помощью Apache Ant или как проекты в Eclipse IDE, зависят от императивных скриптов или метаданных, специфичных для IDE, что усложняет управление зависимостями и затрудняет автоматизированную сборку без графического интерфейса. Эти задачи преобразуют проект Ant или Eclipse в проект Maven, который создается согласованно из любой среды, с зависимостями, разрешенными с помощью Maven, и макет проекта, согласованный с соглашениями Maven, сохраняя исходный код без изменений.
Решения для кэширования в Azure Managed Redis
Приложения часто используют различные решения кэширования — от библиотек в памяти до распределенных систем (таких как Infinispan, SwarmCache и Memcached), которые не имеют простой Azure интеграции и централизованной масштабируемости или безопасности. Эта задача модернизирует уровень кэширования за счёт миграции этих реализаций на Azure Managed Redis (или Кэш Azure для Redis, снимаемый с поддержки), обеспечивая облачную масштабируемость, унифицированное управление и повышенную безопасность благодаря беспарольной аутентификации Microsoft Entra ID при сохранении существующего поведения кэширования.
См. также
Краткое руководство: создание и применение собственных навыков