Джейсон Зандер, вицепрезидент по разработке Microsoft Azure, а в прошлом вицепрезидент по Visual Studio, рассказал «Хакеру» о том, что кроется под капотом у Azure, а также поделился своими мыслями о трендах в IT и планах Microsoft.

О технологиях

Я думаю, что сейчас самое подходящее время для работы в IT. Хотя и двадцать лет назад я думал так же.

Сейчас в тренде распределенные вычисления. Раньше это было реально только в мире сурового энтерпрайза, теперь же подобные вещи доступны даже обычным людям — облачные технологии подарили нам такую возможность.

Еще одна модная сейчас вещь — мобильные технологии. Количество устройств, которые у нас есть (даже в этой комнате), и их повсеместное распространение дают нам мощную платформу для общения друг с другом.

Все это — отличные направления для построения карьеры в наши дни. И в дальнейшем они будут только развиваться.

Сейчас для ИТ-специалистов также важно понимание архитектуры Big Data, принципов ее построения. Как создать высокую масштабируемость? Какие серверные технологии стоит использовать? Все эти вещи очень востребованы потому, что дают людям уникальную возможность хранить и обрабатывать огромные объемы данных за небольшие деньги.

Когда появляется много информации, возникает необходимость и ее обработки. Распределенные системы, ускоряющие обработку Big Data, позволяют это делать. Даже больше, огромные вычислительные ресурсы позволяют использовать технологии машинного обучения. Мощности, которые предоставляют распределенные системы, открывают огромные возможности для потребителей. Я думаю, будущее именно там.

О работе

Моей последней должностью был вице-президент по Visual Studio. А последние пять лет я возглавлял подразделение разработки Developer tools. Я переключился на Azure в сентябре прошлого года. Но многое из того, чем я занимался во время разработки Visual Studio, я перенес в Azure, так что мой опыт сыграл мне на руку.

До работы в команде Visual Studio я был одним из первых разработчиков для среды CLR. В общей сложности десять лет работы над этой технологией. .NET — это платформа для создания ПО, как и Azure. Так что в некотором роде Azure оказалась возвращением к истокам моей работы — созданию платформы для разработки ПО. Хотя, конечно, Azure и .NET сильно различаются.

Об инфраструктуре

Мы создали инфраструктуру для платформы. Наши виртуальные машины поддерживают «инфраструктуру по запросу», которая создана для обслуживания виртуальных машин с Windows и Linux.

Зачем Linux? Все просто — например, Hadoop. Он работает на Linuх, и это самая популярная среда для его запуска. Людям нужен Linux, и мы предоставляем возможность работы с ним в качестве гостевой ОС.

Настраивать Hadoop — не самое большое удовольствие. Мы хотели сделать процесс администрирования Hadoop простым. Так появилась HDInsight — ПО, которое самостоятельно запускает Hadoop поверх Azure. HDInsight позволяет легко установить, развернуть и запустить Hadoop в среде Azure. Можно получить свой собственный пул виртуальных машин, доустановить требуемое ПО. Можно управлять им и делать, в принципе, что захочешь.

Мы пытаемся сделать HDInsight очень легким в использовании. Хочешь еще пару копий? Просто нажми пару клавиш, и все — остальное HDInsight сделает за тебя. Все равно что сказать ему: «Иди и делай свою работу».

О дата-центрах

Мы используем обычные энтерпрайз-решения — чипы, жесткие диски, SSD, сетевое оборудование. Причины становятся понятными, когда осознаешь объемы, с которыми сталкиваешься. Например, кластер из сотен тысяч миллионов ядер. Своя документация, системы отказоустойчивости — это то, что всегда появляется, когда работаешь с Big Data. Запуск даже 5 тысяч виртуальных машин, очевидно, очень сложная задача.

Для публичного облачного сервиса крайне важно быть легко масштабируемым. И мы действительно пытаемся сделать его суперпростым. Мы можем сами управлять инфраструктурой, ведь у нас есть свое оборудование. Грубо говоря, мы сами решаем, куда какое ПО ставить и как лучше все это оптимизировать. Это снижает общую стоимость для конечного пользователя.

Мы расширяемся постепенно и только тогда, когда понимаем, что в конкретной точке мира нам не хватает дата-центра. Сейчас у меня нет информации о том, будем ли мы строить дата-центр в России. У нас есть несколько ЦОД работающих в Европейском Союзе в дополнение к Азиатско-Тихоокеанскому региону, но создание центра сильно зависит от потребностей пользователей на этих территориях.

Перенести виртуалку для нас — просто взять файлы и перенести их в другое место (может, даже смержить, если это потребуется). Мы используем Hyper-V во всех дата-центрах, и наши VHD и виртуальные машины полностью мигрируемы. Компания может перенести их в облако или на свои сервера в любой момент. Нет причин, чтобы не построить свой дата-центр. С Azure ты это можешь.

О мифах

Распространенное заблуждение: если вы используете Azure, то единственные технологии, которые будут поддерживаться, — это технологии Microsoft. Это не так. Вот почему мы так много внимания уделяем поддержке Linux и сторонним веб- технологиям в принципе.

Если вам нужно запустить PHP на сервере в облаке Azure, он будет работать точно так же, как и везде. Мы поддерживаем большинство современных популярных платформ веб-приложений — именно поэтому мы сделали свой SDK открытым, и можно использовать привычные технологии без необходимости миграции. Хочешь использовать Linux с Azure — просто используй.

У нас даже есть такая штука, как Mobile Services. С помощью нее в Azure можно просто поднять бэкенд для мобильного приложения вне зависимости от того, какой стек технологии используется на клиентском устройстве — будь то iOS для Apple, Android или Microsoft. Любое из этих устройств будет без каких-либо проблем подключаться и работать с бэкендом, размещенным в Azure.

О хранении

Наша система хранения данных способна работать с 4 триллионами объектов одновременно. Это реально много. Я помню, как-то мы в Microsoft делали систему хранения, которая могла работать с терабайтом. Тогда сразу несколько серверов выстроились в ряд, чтобы обеспечить такой объем данных. Теперь, конечно, размеры дисков куда больше и мы можем позволить себе оперировать куда большими объемами информации, чем в те дни. Дух захватывает, когда понимаешь, что ты можешь сделать с таким количеством данных.

В Azure мы используем и SSD, и обычные жесткие диски. Но вот запустить виртуальный инстанс только на SSD пока нельзя. Мы используем комбинацию из SSD и HDD, золотую середину между долговечностью и производительностью. SSD обеспечивают более высокую производительность, но их цена и надежность не позволяет применять их везде. Жесткие диски предоставляют куда меньшую скорость отклика, но это плата за надежность. Сложно найти баланс между этими двумя вещами, но, кажется, нам удалось. Наша система хранения данных была создана с упором на этот баланс. Ты получаешь быстрый отклик, когда тебе это необходимо, с максимальной надежностью хранения данных.

Наша система бэкапов делает три реплики в географически удаленных дата-центрах. Это значит, что, если основное хранилище (жесткий диск) выходит из строя, у нас всегда есть три реплики, в различных рэковых стойках, подключенных разными источниками питания. Ну и разумеется, если мы использовали бэкап, мы тут же делаем еще один, чтобы их количество всегда было равно трем. А если в каком-то регионе случается стихийное бедствие, мы можем очень быстро поднять реплики в других регионах. Это очень крутая технология.

О планах

Несмотря на постоянно растущий функционал, мы создаем новые версии программного обеспечения еженедельно. Конечно, такие обновления не всегда носят глобальный характер. У нас проходят постоянные конференции, на которых мы решаем, что еще нужно улучшить в Azure. Мы постоянно совершенствуем технологии.

Недавно мы представили новую службу носителей. Она работает на самом верхнем слое Azure. Незадолго до службы носителей мы выпустили Azure Active Directory. Это были major-апдейты. Из промежуточных изменений могу отметить новые версии инструментов для веб-разработчиков и улучшение SDK. И это только за последние два-три месяца.

Мы никогда не стоим на месте. Есть ряд сфер, которые мы сейчас развиваем. Во-первых, это тестирование, Azure может многое предложить в этой области. Во-вторых, дальнейшая интеграция с Visual Studio позволит нам сделать некоторые действительно классные вещи.

Кроме того, мы постоянно совершенствуем наши собственные центры обработки данных. Мы заменяем устаревшее и просто вышедшее из строя оборудование. А учитывая то, что новое оборудование (например, системы хранения данных) имеет все меньший размер и все большую емкость, модернизируя оборудование, мы не просто заменяем вышедшие из строя диски, а наращиваем наши мощности.

О пользе для стартапов

Есть много плюсов в использовании Azure как для крупных компаний, так и для стартапов. Azure — отличное решение, которое поможет вам постоянно быть готовыми к большим нагрузкам, при этом не тратя больших сумм в обычном режиме. Одни из самых веских причин для использования Azure — это достаточно низкая стоимость и снижение сложности внедрения решений. Фактически ты делегируешь Azure управление своей инфраструктурой и работаешь только на самом высоком уровне. Это дешевле и проще, чем покупать и постоянно поддерживать свое собственное оборудование. Самое крутое — это то, что у Azure есть технология быстрого развертывания виртуальных сетей. Она позволяет создать изолированную виртуальную сеть в облаке. Зачем это нужно?

Самый распространенный пример — использование SharePoint. Вместо того чтобы создавать и разворачивать собственную сеть физических серверов SharePoint, все это можно сделать в облаке за вменяемые деньги и с минимальными усилиями. И множество компаний уже делают это.

У нас действительно есть опыт для высочайшей масштабируемости, которая в перспективе нужна любому стартапу. У нас есть технологии, дата-центры, предприятия и продукты, которые мы создавали, и они успешно используются для запуска настоящего энтерпрайза. Windows Server, System Center, Visual Studio, SQL Server — все это хорошие примеры. И самое важное — что все это доступно по запросу. Пока тебе это не нужно — тебя это не беспокоит, но, когда понадобится, тебе не нужно будет перестраивать всю свою инфраструктуру. Масштабировать приложения в Azure действительно просто.

Цифры

  • 4 триллионами объектов может оперировать наша система хранения данных.
  • 2 миллиарда логинов обработала наша система идентификации пользователей.
  • Каждые 69 месяцев мы удваиваем объем наших хранилищ.

О магазине

Есть хороший пример в магазине Azure — приложение для MongoDB. Оно позволяет очень легко ее развертывать. Кто захочет сидеть и тратить две недели, читая документацию по развертыванию MongoDB в облаке? Один клик — и система развернута, вот к чему мы стремимся. Монетизация? Почему нет? Это индустрия с огромным оборотом, миллиарды долларов ежегодно. Хотя мне кажется, что основные денежные направления — это приложения для мониторинга. Это всегда будет востребовано.

О команде Azure

В моей команде разработчиков примерно тысяча людей. Когда работаешь с таким количеством разработчиков, приходится разделять их на группы, которые отвечают за разные аспекты Azure. У меня есть команды, которые отвечают за аппаратное обеспечение дата-центров; команды по хранению данных; команды, которые отвечают за веб-приложения Azure. Что-то делаем отдельно, что-то — вместе. Но учитывая то, что мы постоянно вводим новые продукты и услуги, эти команды постоянно меняются и расширяются.

Мы можем создать команду размером хоть в тысячу человек или больше, и иногда так и делаем. Здесь нет ничего сложного. Другое дело, что в этом чаще всего нет необходимости. Разработчики в моей команде достаточно универсальны: они и инженеры, и архитекторы, и технические писатели, которые занимаются документацией. Все зависит лишь от продукта, которым занимается команда.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии