Спотовые инстансы Amazon EC2 помогли нам без усилий сократить расходы на 85–90 %. Это, в свою очередь, позволило экспериментировать с меньшими рисками, и в итоге наши клиенты получили более качественные продукты. 
Джо Гарднер Главный архитектор облачных решений

Компания National Instruments (NI), основанная в 1976 году, помогает инженерам и ученым находить ответы на самые сложные вопросы. NI предоставляет им передовые технологические решения, разработанные для повышения производительности и скорости внедрения инноваций в различных областях – от технологий для здравоохранения до мобильных вычислений и космических исследований. Более 35 000 клиентов NI поставили на рынок сотни тысяч продуктов, преодолев на своем пути бесчисленные технологические препятствия. Штаб‑квартира NI находится в Остине, штат Техас; всего же в компании насчитывается около 7400 сотрудников почти в 50 странах мира. Годовой доход компании за 2015 год составил 1,23 млрд USD, из которых 16 % были инвестированы в исследования и разработки.  

В числе предлагаемых National Instruments технологий – LabVIEW, среда разработки программного обеспечения для создания специальных приложений. Модуль LabVIEW FPGA является расширением LabVIEW и позволяет инженерам встраивать в свои приложения сложные технологии программируемых логических интегральных схем (FPGA), или перепрограммируемые кремниевые микросхемы. Перед развертыванием проект FPGA должен пройти трудоемкий и ресурсоемкий процесс компиляции, который инженеры выполняют на компьютере, имеющем значительные аппаратные ресурсы и необходимые пакеты программного обеспечения.

На протяжении многих лет команды разработчиков NI тестировали новые возможности таких продуктов в локальной среде. Однако по мере роста компании возрастали и требования к инфраструктуре. Параллельно с этим становились все сложнее и проекты FPGA, что требовало увеличения объема вычислительных ресурсов. Для снижения затрат и сокращения времени разработки команда LabVIEW компании NI начала исследовать облачные вычисления. «Транзисторы становятся все меньше и меньше, растет количество программируемых шлюзов, а значит, и схемы становятся все больше и сложнее, для их компиляции требуются большие вычислительные мощности», – говорит Джо Гарднер, главный архитектор облачных решений NI.  

В 2010 году, рассмотрев различные варианты, команда разработки FPGA расширила свой модуль, предложив сервис компиляции FPGA, размещенный на инстансах Amazon Elastic Compute Cloud (Amazon EC2) по требованию. Кроме того, теперь эта команда использует AWS для собственных операций разработки и тестирования. Причинами выбора AWS для команды FPGA стали наличие возможностей автоматического масштабирования, средств управления для разработчиков и спотовых инстансов Amazon EC2, которые позволили National Instruments значительно снизить затраты на вычислительные ресурсы при тестировании новых возможностей своих продуктов.

Благодаря AWS Auto Scaling компания NI может быстро масштабировать свои ресурсы AWS EC2 по мере увеличения рабочей нагрузки со стороны клиентов. «Раньше в ответ на дополнительные рабочие нагрузки у нас включался процесс масштабирования собственной разработки, который мог занимать от 5 до 30 минут, – рассказывает Гарднер. – С AWS все происходит менее чем за пять минут, что является для нас огромным преимуществом, ведь теперь клиентам не приходится ждать, пока начнется нужный процесс».

Еще одной причиной, по которой команда FPGA выбрала среду AWS, является простота использования, которую AWS обеспечивает для разработчиков. «AWS проще других облачных сред, предоставляет больше средств контроля и не требует применения обновлений, которые могут нарушить совместимость, – поясняет Гарднер. – Кроме того, сервисы AWS просты в использовании, и за счет этого мы можем создавать продукты, не привлекая экспертов, скажем, по Hadoop или Интернету вещей. Вместо этого можно использовать специалистов, которые у нас уже есть».

Наверное, самым главным открытием для команды FPGA стало то, что они могут значительно сэкономить, используя при разработке и тестировании спотовые инстансы Amazon EC2, которые уравновешивают спрос и предложение, позволяя пользователям запрашивать свободные вычислительные мощности Amazon EC2. «Экономия весьма значительная, – делится Гарднер. – Например, тестирование одного из наших продуктов с помощью спотовых инстансов обойдется в 500 USD. Если бы мы делали это на инстансах по требованию, стоимость оказалась бы в 10 раз выше, т. е. 5000 USD».

В августе 2014 года компания NI расширила использование AWS, и теперь команда разработчиков программного обеспечения LabVIEW использует спотовые инстансы Amazon EC2 для перемещения на них текущих рабочих нагрузок тестирования, когда ресурсов локальной инфраструктуры оказывается недостаточно. «Количество тестов увеличивалось, а у команды разработчиков LabVIEW не было вычислительных ресурсов для их выполнения, – рассказывает Гарднер. – Они знали, что у нас есть опыт работы в облаке, поэтому обратились к нам, и уже через неделю рабочие нагрузки тестирования, на которые не хватало локальных ресурсов, выполнялись в облаке».

Помимо спотовых инстансов Amazon EC2 компания NI использует несколько других сервисов AWS, в том числе Amazon Simple Storage Service (Amazon S3) в качестве объектного хранилища с широкими возможностями масштабирования, Amazon Relational Database Service (Amazon RDS) в качестве реляционной базы данных, Amazon DynamoDB в качестве быстрой и гибкой базы данных NoSQL и Amazon Route 53 в качестве масштабируемого облачного веб‑сервиса системы доменных имен. NI также использует сервис AWS CloudFormation, предоставляющий разработчикам простой способ создания ресурсов AWS и управления ими, и сервис AWS CloudTrail, который записывает вызовы API AWS и предоставляет историю файлов журналов.

Модель ценообразования спотовых инстансов Amazon позволяет компании National Instruments тратить на выполнение собственных рабочих нагрузок в несколько раз меньше (по сравнению с затратами на аналогичные инстансы по требованию), что экономит компании десятки тысяч долларов при тестировании новых возможностей. «Спотовые инстансы Amazon EC2 помогли нам без усилий сократить расходы на 85–90 %, – заявляет Гарднер. – Это, в свою очередь, позволило проводить эксперименты с меньшими рисками, и в итоге наши клиенты получили более качественные продукты».

Компании NI также не пришлось тратить средства на расширение локальной инфраструктуры. К примеру, команда LabVIEW ежемесячно использует спотовые инстансы Amazon EC2 для запуска тестовых сборок, потребляя более 30 000 часов работы сервера. Для выполнения такого объема работ в локальной среде потребовалось бы увеличить размер локальной инфраструктуры группы в два раза, что привело бы к расходам на оборудование и техническое обслуживание порядка 1 млн долл. США. Использование AWS позволило NI быстро масштабировать систему с учетом текущих потребностей, не привлекая дополнительный персонал и избегая задержек, связанных с закупкой оборудования для расширения локальной инфраструктуры.

Возможность выполнять рабочие нагрузки по разработке и тестированию в среде AWS также повысила гибкость компании NI. Поскольку рабочие нагрузки, связанные с выполнением тестирования, сильно меняются в течение жизненного цикла разработки ПО, NI получает возможность избегать затрат, связанных с простоями серверов, в периоды, когда количество тестов снижается. Аналогичным образом компания может быстро расширять ресурсы по мере увеличения потребностей в тестировании и получать вычислительные мощности, необходимые для быстрого анализа новых возможностей и предоставления их клиентам. Например, для разработки одной из возможностей команде FPGA требовалось выполнить комплексное тестирование, включающее более 900 компиляций. Если бы команда выполняла эти компиляции, используя один сервер, процесс занял бы более трех недель. Но благодаря спотовым инстансам Amazon EC2 и использованию параллельного выполнения команда смогла завершить эти тесты менее чем за 10 часов, затратив менее 50 USD на каждый запуск. «При использовании AWS цикл разработки сократился на месяцы, – говорит Гарднер. – Если мне понадобится еще больше серверов, я смогу получить к ним доступ без лишних вопросов».

Компании NI удалось поделиться этой гибкостью со своими клиентами. FPGA Compile Cloud Service, который полностью размещен на AWS, позволяет инженерам обращаться к нему по мере необходимости и не тратить тысячи долларов на собственное оборудование. «Раньше наши клиенты тратили от 5000 до 10 000 USD на необходимые серверы для компиляции, а несколько месяцев спустя они простаивали без дела, – делится Гарднер. – Поскольку выполнение компиляции – это процесс, при котором образуется то переизбыток ресурсов, то их нехватка, AWS идеально подходит для такой работы».

NI продолжает расти и планирует расширять использование AWS в других средах разработки. Кроме того, компания рассматривает возможность использования дополнительных сервисов AWS, таких как AWS IoT и Amazon QuickSight, для создания новых продуктов для своих клиентов. «AWS позволяет нам экспериментировать намного больше, – говорит Гарднер. – Здесь в нашем распоряжении большой набор инструментов для работы. Это ускоряет разработку и внедрение новых продуктов, что является ключом к успеху нашей компании».

Подробнее о том, как AWS может помочь при разработке и тестировании, см. на нашей странице сведений о разработке и тестировании.