|
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ... Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо... Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг... Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п... Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
|
Кроме того, вы можете выбрать размер своей VM из широкого диапазона, при необходимости обновлять выполняемые экземпляры, конфигурировать ОС и ее сервисы в соответствии со специфическими потребностями приложения, развертывать дополнительные экземпляры для подстройки к растущей рабочей нагрузке и даже настроить автоматическую маршрутизацию к развернутым системам в различных информационных центрах для максимального увеличения доступности и минимизации времени отклика для пользователей по всему миру. Упрощение управления с помощью PaaSЕсли вы не хотите самостоятельно управлять ОС, то можете выбрать подход PaaS. Хотя при этом вы потеряете некоторые возможности в конфигурировании своей платформы исполняющей среды, вы избавитесь от расходов на административные задачи и управление, так как в этом случае Microsoft берет на себя поддержание серверов, обновление ОС и применение исправлений. Вы просто концентрируетесь на прикладном коде и его взаимодействии с периферийными сервисами. Самый простой способ перенести веб-сайт или веб-приложение в Windows Azure — развернуть его в Windows Azure Web Sites; это потребует минимальных изменений в приложении (если они вообще понадобятся). Вы можете развертывать с Microsoft Team Foundation Server (TFS) или из других систем хранения исходного кода, таких как GitHub. В зависимости от потребностей и бюджета на хостинг можно выбрать размещение на общем веб-сервере или на зарезервированном экземпляре, где сможете гарантировать производительность и управлять количеством экземпляров в соответствии с текущими требованиями. В качестве альтернативы, если вам нужен встроенный механизм для развертываний промежуточных версий приложений, а также свобода в независимом масштабировании частей приложения, есть смысл использовать веб- и рабочие роли Windows Azure Cloud Services для хостинга вашего приложения. Перенеся фоновые задачи в рабочие роли и поместив UI в веб-роли, вы можете балансировать нагрузку на приложение, выполнять асинхронную фоновую обработку и масштабировать каждый тип роли отдельно, выполняя ее в нужном количестве экземпляров. (Для реализации автоматического масштабирования ролей в Cloud Services по предопределенному плану или в ответ на события периода выполнения, такие как изменения в нагрузке на сервер, подумайте о применении Microsoft Autoscaling Application Block. Подробнее на эту тему см. по ссылке msdn.microsoft.com/library/hh680892(PandP.50).) Чтобы связать веб- и рабочие роли, вы обычно передаете данные между ними как сообщения, используя очереди Windows Azure Storage или Windows Azure Service Bus. (Очереди Service Bus поддерживают сообщения большего размера и имеют встроенные средства аутентификации и управления доступом.) Обмен сообщениями также позволяет использовать стандартные шаблоны обмена сообщениями и хранения, например Request/Response, Fire and Forget, Delayed Write и др. Если ваше приложение построено как компоненты, соответствующие архитектуре, ориентированной на сервисы (service-oriented architecture, SOA), то перенести их в Windows Azure Cloud Services будет сравнительно легко. Конечно, использование веб- и рабочих ролей может потребовать некоторого рефакторинга приложения. Однако во многих случаях это нетрудно и не влияет на базовую бизнес-логику или презентационный код. Например, приложения ASP.NET MVC отлично работают после переноса в Windows Azure, и они могут обращаться к таким хранилищам данных, как SQL Server, точно так же, как и при выполнении на предприятии или при развертывании в VM, если применяется подход IaaS. Переход в Windows Azure Cloud Services также дает возможность обновить ваш механизм аутентификации и авторизации, особенно если вы считаете, что вам необходим некоторый рефакторинг кода. Современные приложения все чаще используют механизм аутентификации на основе заявок (claims-based authentication), в том числе федеративную идентификацию и единый вход (single sign-on, SSO). Этот тип механизма позволяет входить в приложение, используя набор существующих удостоверений, не требуя специфических удостоверений только для вашего приложения, и входить только раз при обращении более чем к одному приложению или веб-сайту. Функция управления доступом в Windows Azure Active Directory наряду с Windows Identity Framework (WIF) упрощает реализацию аутентификации на основе заявок и федеративной идентификации. На рис. 3, который основан на аналогичной иллюстрации из руководства, показан пример для вымышленного приложения a-Expense вымышленной компании Adatum, где пользователей аутентифицируют по собственной Active Directory и выдают маркер, предоставляемый ими приложению для получения доступа к нему.
Где будут находиться мои данные?Почти все бизнес-приложения используют данные, и зачастую они хранятся в такой базе данных, как SQL Server, или в другой системе управления реляционными базами данных. Типичный сценарий при миграции приложения, использующего реляционную базу данных, — развертывание Windows Azure VM, в которой размещается сервер базы данных (Windows Azure предоставляет заранее сконфигурированные VM, содержащие либо SQL Server, либо MySQL). В качестве альтернативы вы можете установить почти любое другое хранилище данных, работающее в Windows или Linux в VM, выполняемой в Windows Azure. Вы подключаетесь к облачной базе данных из своего размещенного в облаке приложения точно так же, как делали бы это, если бы база данных и приложение находились в вашем информационном центре. Однако это только один из вариантов, доступных в Windows Azure. Как правило, вам придется решать, будете вы развертывать данные для своих приложений в облаке или хранить их на предприятии и взаимодействовать с сервером базы данных по виртуальной сети или через обмен сообщениями. Если вы выберете облако, то должны также решить, по какому пути вы пойдете — IaaS или PaaS (SQL Database). Шаблон Command Query Responsibility Segregation (CQRS) обычно использует обмен сообщениями для передачи обновлений данных и запроса результатов между компонентами приложения, а Windows Azure предоставляет два механизма очередей, которые ваше приложение может использовать для этих целей. Однако для стандартного доступа к данным введение сети вроде Интернета между приложением и базой данных может привести к задержкам и падению производительности. Если ваша ситуация или законодательные требования вынуждают вас использовать базу данных на предприятии, уменьшить эти задержки поможет Windows Azure Caching. (Подробнее о шаблоне CQRS см. «CQRS Journey» по ссылке msdn.microsoft.com/library/jj554200.) Windows Azure SQL Database — идеальное решение в качестве универсального хранилища данных при миграции существующего приложения, которое использует SQL Server. Если только код не требует некоторых более эзотерических средств SQL Server (например, поиска произвольного текста, обработки XML, процедур, требующих возможностей программирования CLR, или распределенных запросов, полагающихся на SQL Server Service Broker), существующее приложение будет работать безо всяких изменений в коде. Windows Azure SQL Database также весьма экономична, если вы храните в ней лишь обычные объемы данных. Однако в случае больших объемов данных или при необходимости развертывания множества баз данных более привлекательным решением становится применение сервера базы данных, размещенного в VM. Вы можете выбрать VM подходящего размера и даже задействовать несколько VM для реализации восстановления базы данных после сбоев или общего хранилища данных. Иногда потребности в хранилище данных и количестве запросов выходят за рамки возможностей систем управления реляционными базами данных. Например, корпорации часто используют петабайты данных в журналах веб-серверов, файлах финансовых транзакций, социальной медиа-информации, медицинских данных или других типах информации, которые не обрабатываются на регулярной основе, но запрашиваются время от времени или могут понадобиться в будущем. Windows Azure предлагает сервис HDInsight (основанный на технологиях Hadoop с открытым исходным кодом) как раз для этого сценария. Детали см. по ссылке hadooponazure.com. Таблицы, большие двоичные объекты, очереди и дискиWindows Azure также предлагает другой тип хранилища, не основанный на парадигме реляционной SQL. Вы можете использовать Windows Azure Storage Tables и Blobs для хранения данных приложения, очередей, через которые передаются сообщения между компонентами приложения, и диски-хранилища, которые действуют подобно традиционным системам на основе дисков. Windows Azure Storage Tables не используют схемы, а значит, каждая строка является некоей сущностью, содержащей контейнер свойств со значениями, и в каждой строке таблицы могут быть сущности разных типов. Это идеально для структурированных (по полям и строкам) и полу-структурированных данных. С другой стороны, Windows Azure Storage Blobs лучше подходит для хранения неструктурированных данных, например документов, двоичных данных, XML-файлов и изображений. Хранилище Windows Azure обходится очень недорого по сравнению с использованием сервера базы данных, размещенного в VM, или SQL Database, но это же означает, что существующий код доступа к данным должен быть переписан. Как правило, таблицы и большие двоичные объекты Windows Azure более полезны, когда вы проектируете свои приложения с нуля и рассчитываете их для работы в Windows Azure. Но, если ваше приложение имеет четко разграниченный уровень доступа к данным, который можно заменить другим уровнем, рассчитанным на использование таблиц и двоичных объектов Windows Azure, такая замена осуществляется гораздо легче, чем в случае реляционной базы данных. Как и в случае всех облачных сервисов, есть вероятность проблем с транзитной сетью или временного уменьшения полосы пропускания на пути доступа к ресурсам, что может привести к неудаче запроса на начальное соединение. Для автоматического обнаружения сбоев и повторных попыток выполнения всех операций, связанных с хранилищем, в том числе реляционной базой данных и хранилищем Windows Azure можно использовать ранее упоминавшийся Transient Fault Handling Application Block. Это хорошая практика для всех облачных приложений, и Transient Fault Handling Application Block позволяет легко реализовать ее. Рабочие роли и фоновые задачиОдна из сильных сторон Windows Azure Cloud Services — предоставление специального типа роли, предназначенной для выполнения фоновой обработки. Рабочая роль не ограничена использованием лишь в качестве вспомогательной части приложения; на самом деле это веб-роль без установленного веб-сервера (IIS). Однако типичный сценарий заключается в том, что вы выполняете в рабочей роли постоянные задачи, которые прослушивают очереди Windows Azure (или очереди Service Bus) для получения сообщений, инструктирующих эту роль выполнить какое-либо действие в фоне (рис. 4).
Так, в руководстве исследуется, как Adatum использует рабочие роли для сжатия и хранения изображений рецептов, загружаемых пользователями, чтобы сэкономить пространство хранилища, и для экспорта данных по расходам в приложение Adatum для расчета фонда заработной платы. Обе задачи инициируются сообщением, помещаемым в очередь. Сообщение содержит данные, релевантные для конкретной задачи. По мере рефакторинга вашего приложения для развертывания в ролях Windows Azure Cloud Services задачи, подходящие для выполнения в рабочей роли, обычно будут очевидны. Фоновые задачи могут инициироваться по расписанию, и вы сможете минимизировать расходы на хостинг, выполняя в рабочей роли более одной задачи — при условии, что вы включите код для перезапуска любой из них, если какая-то задача потерпела неудачу или зависла. Windows Azure обнаруживает, когда в роли происходит сбой, и пытается перезапустить ее, но она не может обнаружить сбой индивидуальной задачи в роли. Более подробная информацияРуководство «Moving Applications to the Cloud on Windows Azure» от Patterns & Practices доступно на msdn.microsoft.com/library/ff728592. Вы можете скачать PDF-копию этого руководства по ссылке microsoft.com/download/details.aspx?id=29252. Соответствующие руководства и инфраструктуры от Patterns & Practices с дополнительной информацией.
Главная страница Windows Azure находится по ссылке windowsazure.com, а сайт Windows Azure Developer Center — по ссылке windowsazure.com/en-us/develop/overview.
Могу ли я позволить себе Windows Azure?Как вы видели, Windows Azure содержит широкий набор средств и сервисов, которые должны удовлетворить все требования ваших приложений, даже если вы на данный момент не совсем уверены, что именно они собой представляют. Вы можете осуществлять развертывание в любой из информационных центров, расположенных по всему миру, и использовать преимущества огромного хранилища и колоссальных возможностей в масштабировании. Но действительно ли вы можете позволить себе размещать приложения в Windows Azure? В главе 6 «Evaluating Cloud Hosting Costs» руководства компания Adatum выполняет несколько исследований затрат, чтобы примерно оценить, сколько именно ей придется платить за выполнение своего приложения a-Expense в Windows Azure. Приложение будет использовать одну веб-роль и одну рабочую роль, и ему потребуется хранить около 20 Гб данных в реляционной базе данных и 120 Гб изображений в хранилище Windows Azure. По текущим ценам Adatum ожидает, что это обойдется ей примерно в $3000 за год. Хотя Adatum не может точно определить стоимость выполнения этого приложения в своем информационном центре из-за того, что многие используемые ресурсы являются общими с другими приложениями на предприятии, ожидаемая стоимость выполнения в Windows Azure оценивается очень положительно в сравнении с текущими затратами. Более того, введя решение по автоматическому масштабированию, такое как Enterprise Library Autoscaling Application Block, компания Adatum подсчитала, что она может выполнять приложение только в рабочие часы, но удваивать пропускную способность, добавляя дополнительные экземпляры роли в конце каждого месяца, когда регистрируется большинство расходов, и тем самым сократить общую стоимость решения до примерно $2000 в год. А если внедрить в приложение использование таблиц и двоичных объектов Windows Azure вместо SQL Database или SQL Server, то по расчетам Adatum это могло бы им экономить дополнительно $750 ежегодно. Конечно, требования к пропускной способности и схема эксплуатации вашего приложения будут другими и будут зависеть от нагрузки, которую должны обрабатывать ваши приложения, и от необходимых объемов хранилища. Однако должно быть очевидно, что вы можете позволить себе миграцию в Windows Azure, и этот перенос будет куда менее стрессовым, чем переезд вашей семьи в новый дом! Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:
Windows Azure.
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.
|
|