Wednesday, June 2, 2010

Тренинг по Windows Azure

Два последних дня я провел на тренинге по Windows Azure. Пошел туда, потому что решил заполнить пробел в знаниях по облачной теме. До этого у меня было достаточно смутное представление об облаках. Глубоко в этом направлении я не копал. Знал только, что в облаке можно, не задумываясь о железе, размещать свои сервисы, и при этом легко их масштабировать в зависимости от изменений нагрузки. На этом мои знания заканчивались.

Честно говоря, я сомневался, идти мне или нет. Во-первых, тренинг немаленький - два полных рабочих дня. А тут ведь спринт в самом разгаре. Во-вторых, есть у меня осадок после подобных тренингов, когда тренер, рассказывая программистам о программировании, говорил: «Я уже, слава богу, три года не программирую».

Однако я зарегистрировался, чему в итоге очень рад. Оказалось, что тренинг ведет Костя Косинский. Года полтора назад, Костя был в Донецке с презентацией SQL Server 2008. Я помню, что тогда меня очень впечатлил его уровень квалификации и опыт. С облачным тренингом все повторилось. Костя рассказал массу интересных вещей про Windows Azure. Чувствовалось, что человек разбирается в теме и активно ею интересуется. В итоге к концу тренинга у меня сложилось достаточно цельное представление об облачной технологии от Майкрософт, о том, что она позволяет делать, и когда может пригодиться.

Хочу заметить, что меня очень сильно удивило количество слушателей. Четверо. Вроде бы тема интересная. А где народ? :)

Это были мои впечатления. А теперь небольшой  обзор платформы Windows Azure по мотивам прошедшего тренинга. Для начала давайте разберемся, какие на сейчас существуют варианты для размещения ваших серверных приложений и данных.

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

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

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

Число компаний предоставляющих облачные сервисы растет как грибы после дождя и давно уже перевалило за сотню. Среди лидеров такие известные компании как Amazon, Google, VMware, Microsoft, IBM. Все предоставляемые ими облачные решения можно разделить на четыре группы:

Инфраструктура как сервис (IaaS - Infrastructure-as-a-Service). Поставщик предоставляет вам свою аппаратную инфраструктуру. Вместо того чтобы самостоятельно покупать сервера, сетевое оборудование и программное обеспечение, вы можете арендовать все это у поставщика и дальше настраивать и использовать по собственному желанию. Решения этого типа поставляют, например, Amazon и Rackspace.

Платформа как сервис (PaaS - Platform-as-a-Service). Поставщик предоставляет платформу для разработки, тестирования, развертывания и поддержки ваших сервисов в облаке. Примерами таких решения являются Microsoft Azure и Google AppEngine.

Программа как сервис (SaaS - Software-as-a-Service). Поставщик продает доступ к своим приложениям или сервисам развернутым в интернете. Примером такого решения является сайт Saleforce.com, продающий онлайн CRM систему.

Данные как сервис (Data-as-a-Service(DaaS). Поставщик хранит в облаке ваши данные и предоставляет вам средства для управления ими, анализа и построения отчетов. Примером такого решения является SQL Azure.

Итак, что же такое Windows Azure Platform? Это набор облачных технологий, которые предоставляют широкий спектр сервисов для размещения, управления и поддержки программ и данных в облаке.


На данный момент Windows Azure Platform состоит из трех компонентов: операционной системы Windows Azure, базы данных SQL Azure и AppFabric, который позволяет организовывать взаимодействие между различными сервисами, а также осуществлять контроль доступа к сервисам и данным. Четвертый компонент платформы Dallas еще находится в разработке на стадии CTP. Он позволяет облегчить процесс обмена данными между поставщиками и потребителями данных.

Для решения своих задач вы можете использовать как все компоненты Windows Azure Platform одновременно, так и каждый по отдельности. Например, абсолютно нормальным является сценарий, когда вы используете SQL Azure как хранилище данных для каких-то своих десктопных приложений. Или, например, используете AppFabric для того чтобы организовать обмен сообщениями между приложениями.

На этом, наверное, все. Кому интересна тема Azure, я рекомендую скачать Training Kit и поделать лабы. Кроме того обязательно посмотрите видео с Channel9.

Ссылки:
1. Windows Azure Platform Training Kit
2. Windows Azure Platform Training Course
3. Windows Azure Getting Started
4. What is the Windows Azure Platform?
5. По дороге с облаками

No comments:

Post a Comment