Пожалуй, самым интересным объявлением AWS для профессиональных программистов на ежегодной конференции re: Invent на этой неделе стал Amazon CodeGuru, в котором говорится: «Это как наличие выдающегося инженера на связи, 24 часа в сутки, 7 дней в неделю».
В настоящее время предварительная версия Amazon CodeGuru — это служба машинного обучения для автоматического анализа кода и рекомендаций по производительности приложений. Это помогает разработчикам определять самые дорогие строки кода в своих приложениях и получать разумные рекомендации по исправлению или улучшению своего кода.
Модели машинного обучения CodeGuru обучаются на базе кода Amazon, включающей сотни тысяч внутренних проектов, а также более 10 000 проектов с открытым исходным кодом на GitHub.
CodeGuru состоит из двух компонентов: Reviewer, который находит проблемы в вашем коде и рекомендует, как их исправить, и Profiler, который автоматически определяет проблемы с производительностью в вашем приложении и предоставляет интеллектуальные рекомендации по их устранению.
CodeGuru Reviewer можно связать с существующими репозиториями кода на GitHub или AWS CodeCommit. Он обнаруживает и помечает проблемы в исходном коде, такие как проблемы безопасности потоков, использование незащищенных входных данных, неправильная обработка конфиденциальных данных и утечки ресурсов. Он также выявляет отклонения от передовых методов использования API и SDK AWS, отмечая общие проблемы, которые могут привести к производственным проблемам, такие как обнаружение отсутствующей разбивки на страницы или обработка ошибок с помощью пакетных операций.
CodeGuru Profiler требует установки небольшого агента с использованием кода, предоставляемого CodeGuru, и настройки его в консоли CodeGuru. Он постоянно работает в производственной среде, но потребляет минимальную мощность ЦП, чтобы минимизировать влияние на производительность приложений. Он постоянно ищет способы оптимизации производительности приложений и рекомендует способы решения таких проблем, как чрезмерное воссоздание дорогих объектов, дорогостоящая десериализация, использование неэффективных библиотек и чрезмерное ведение журнала. .
По данным Amazon, CodeGuru использовался внутри компании для оптимизации 80 000 приложений, что позволило сэкономить десятки миллионов долларов. Amazon также утверждает, что некоторым командам удалось снизить загрузку процессора на 325%.
Amazon предлагает 90-дневную бесплатную пробную версию CodeGuru в поддерживаемых регионах AWS — в настоящее время Восток США (Северная Вирджиния), Восток США (Огайо), Запад США (Орегон), ЕС (Ирландия) и Азиатско-Тихоокеанский регион (Сидней).