Azure awesomesauce: взгляд на его архитектуру
Сегодня было так много разговоров об облачных вычислениях. Вы когда-нибудь задумывались, почему этой технологии уделяется так много внимания?
Что ж, облачные технологии радикально изменили то, как мы разрабатываем и используем приложения. Прошли те времена, когда нам приходилось устанавливать программное обеспечение в нашей локальной системе, сохранять файлы и часто делать резервные копии, чтобы предотвратить потерю данных из-за проблем с компьютером. Сегодня вы можете открыть приложение в Интернете, завершить свою работу, сохранить ее в облаке и получить ее в любом месте и с любого устройства. Создание приложений не может быть проще, чем это, поэтому неудивительно, что компании по всему миру широко применяют облачные технологии.
Облачные услуги можно условно разделить на программное обеспечение как услугу (SaaS), платформу как услугу (PaaS) и инфраструктуру как услугу (IaaS). Каждый из этих типов предоставляет вам аппаратное и программное обеспечение, необходимое для проектирования, разработки, запуска и обслуживания приложений в облаке.
Сегодня доступно множество облачных платформ и приложений, и Azure — одна из них. Windows Azure предлагает множество услуг, включая вычислительную службу, хранилище и платформу, необходимые для создания приложений, поэтому вы можете иметь все в облаке. Вы даже можете смешивать и сочетать различные предложения, чтобы получить комбинацию услуг, подходящую именно для вашего бизнеса. Он также очень гибкий, поскольку его можно использовать как SaaS, PaaS и IaaS, в зависимости от потребностей вашего бизнеса. Посмотрим, как.
- PaaS — в Azure есть как файлы приложений, так и файлы конфигурации, и когда они объединены, вы можете легко запускать свои приложения и управлять ими. Кроме того, Azure позаботится об операционной системе и предоставит вам пакеты SDK, чтобы вы могли сосредоточиться на создании приложений, необходимых для вашего бизнеса. В этом смысле Azure упрощает разработку, создание, развертывание и масштабирование корпоративных и мобильных приложений. В качестве бонуса он также поставляется с торговой площадкой, где вы можете продавать свой продукт клиентам, находящимся по всему миру.
- IaaS — Azure предоставляет вам сервер в облаке, который действует для вас почти как виртуальная машина. Вы будете иметь полный контроль над всем — от операционной системы до установленных в ней приложений. Вы можете подключиться к нему через виртуальную сеть из своего помещения, а его балансировщик нагрузки и хранилище обеспечат вам полную настройку для запуска вашего приложения.
- SaaS — веб-сайты Azure также могут служить SaaS, поскольку вы можете настроить Drupal, WordPress и другие службы через Azure. Очевидным преимуществом является то, что ваше приложение будет масштабироваться по мере роста вашей клиентской базы, а Microsoft позаботится о большей части управления, например обновлениями программного обеспечения. Кроме того, IIS уже установлен и настроен, а это значит, что вы можете приступить к работе со своим приложением за считанные минуты.
Теперь, когда у вас есть общее представление об Azure и о том, как он может упростить вам жизнь, давайте подробно рассмотрим различные компоненты, обеспечивающие эти функции.
Составные части
Вот обзор всех отличных компонентов в инфраструктуре Azure.
Теперь давайте кратко рассмотрим каждый из них.
Вычислить
Вычислительные ресурсы состоят из виртуальных машин, которые на самом деле являются не чем иным, как виртуальными жесткими дисками. Однако эти машины могут быть как на базе Windows, так и на базе Linux, поэтому у вас больше гибкости при выборе операционной системы. Веб-сайты включают сайты.NET, Python, Ruby, Java, Node.js и PHP, а облачные службы включают в себя различные роли, такие как рабочие роли и роли PM. Вы можете смешивать и сочетать каждый из этих компонентов в зависимости от ваших потребностей.
Управление данными
Управление данными включает в себя базы данных SQL, которые в некотором роде являются SQL-сервером в облаке. Однако есть много разных способов доступа к этому серверу. Например, у вас может быть SQL Server в вашем помещении и иметь доступ к веб-сайтам и другим облачным приложениям, вы можете разместить SQL-машину в облаке и иметь к ней прямой доступ приложений, или вы можете иметь SQL Server в облаке и иметь доступ к нему. локальные приложения получают к нему доступ. Этот выбор полностью зависит от ваших эксплуатационных требований.
Второй компонент, таблицы, — это не таблицы вашей реляционной базы данных, а таблицы NoSQL, которые могут хранить большие объемы данных. Большие двоичные объекты — это еще один тип хранилища, предлагаемый Azure, и, как и в случае с SQL Server, к таблицам и большим двоичным объектам можно получить доступ через REST API. Если вы хотите переместить большой объем данных в Azure, вы можете использовать компонент импорта/экспорта, который дает вам возможность отправлять 3,5-дюймовые жесткие диски SATA с шифрованием Bitlocker непосредственно в центры обработки данных Azure. Эта опция помогает сэкономить на расходах на пропускную способность. Наконец, компонент File Services позволяет приложениям обмениваться файлами между виртуальными машинами через API.
Сеть
Что касается сети, вы можете настроить виртуальную сеть между вашей локальной системой и виртуальной системой в облаке. Если вам нужна более выделенная сеть, которая не проходит через общедоступный Интернет, вы можете выбрать ExpressRoute. Он, как правило, имеет большую пропускную способность, безопасность, а также может помочь вам сэкономить деньги.
Диспетчер трафика — это интеллектуальная система, которая помогает автоматизировать схемы трафика. Допустим, у вас есть пользователи, заходящие на ваш сайт со всего мира. Вы можете переместить некоторые данные на серверы, расположенные ближе к вашим пользователям, чтобы они могли быстрее получать доступ к данным.
Разработчик и ИТ-инструменты
Инструменты для разработчиков и ИТ упрощают создание различных типов приложений в облаке. С этой целью он предлагает широкий спектр SDK, таких как.NET, Ruby, Python, Java, PHP и Node.js. Эти SDK помогают создавать, развертывать и управлять всеми видами приложений. Кроме того, Visual Studio Team Services предлагает контроль версий и отслеживание рабочих элементов, чтобы помочь вам оставаться в курсе изменений. Доступны средства автоматизации на основе модулей Runbook для управления процессами, не требующими взаимодействия с пользователем.
Личность и доступ
Управление идентификацией и контролем доступа осуществляется с помощью Windows Azure Active Directory. Кроме того, еще один компонент, называемый многофакторной аутентификацией (MFA), обеспечивает дополнительный уровень безопасности для проверки личности.
Мобильный
Если вы хотите создать мобильное приложение, мобильные компоненты Azure гарантируют, что вы будете писать гораздо меньше кода. Компонент мобильных услуг отвечает за подготовку, управление данными, мониторинг и ведение журнала. Кроме того, множество собственных клиентских библиотек и надстроек значительно упрощают вашу работу. Еще одним мобильным компонентом являются концентраторы уведомлений, которые могут отправлять миллионы персонализированных push-уведомлений всего за несколько минут, тем самым экономя ваше время и силы.
Резервное копирование
Вы можете использовать Azure для резервного копирования и восстановления данных. Его компонент Site Recovery помогает реплицировать данные на разных сайтах. Кроме того, он постоянно следит за состоянием вашего сайта и в случае сбоя быстро восстанавливает службы. Компонент резервного копирования создает резервную копию ваших данных непосредственно из Windows Server.
Обмен сообщениями и интеграция
В системе обмена сообщениями очереди позволяют процессам взаимодействовать друг с другом несвязанным образом, а служебная шина позволяет приложениям взаимодействовать друг с другом через облако. Наконец, компонент BizTalk позволяет приложениям с различной схемой соединяться друг с другом.
Вычислительная помощь
В Azure есть несколько удобных компонентов для программ, которые не нужно запускать постоянно. Компонент планировщика выполняет определенные функции, такие как отправка сообщения HTTP или HTTPS в определенное место назначения в заранее определенное время или с заданным интервалом. Вы можете управлять этими задачами через Scheduler API.
Производительность
Для повышения производительности вашего приложения в Azure есть два компонента кэширования, а именно: кэширование и сеть доставки контента (CDN). Кэширование, как вы знаете, — это временное хранилище данных для удобного поиска, а CDN помогает в процессе перемещения данных ближе к месту нахождения пользователей.
Большие вычисления и большие данные
Важным компонентом больших данных является Hadoop. Если вы не знакомы с Hadoop, это аналитический инструмент, который используется для технологии больших данных. Как правило, он берет огромные данные, хранящиеся в NoSQL, и анализирует их для вас с помощью процесса, называемого Map Reduce. Другой компонент под названием High-Performance Computing обрабатывает все ваши чрезвычайно сложные вычислительные потребности, такие как инженерные расчеты.
Медиа-сервисы
Службы мультимедиа обеспечивают поддержку видео и других мультимедийных файлов и приложений.
коммерция
Marketplace — это магазин электронной коммерции, где вы можете продавать свои приложения всему миру.
Услуги
Благодаря этим компонентам Azure предлагает три расширенных сервиса: вычислительные ресурсы, хранилище и управление.
Вычислить
Служба вычислений размещает ваши веб-службы IIS и фоновые процессы.NET с помощью двух компонентов, называемых веб-роль и рабочая роль. Веб-роль состоит из ваших веб-приложений, а рабочая роль аналогична службам Windows, которые работают в фоновом режиме. Любая служба Azure может состоять из веб-роли и/или рабочей роли.
Хранилище
Второй тип службы — это служба хранилища, в которой Azure хранит все ваши данные. Существует три основных типа хранилищ: большие двоичные объекты, очереди и таблицы. Все три типа доступны вам через прямой доступ или через REST API. Самое приятное то, что сервис Compute и Storage можно использовать независимо друг от друга, и это дает вам большую гибкость при работе с вашими приложениями.
Службы вычислений и хранилища работают независимо друг от друга, поскольку Fabric Controller абстрагирует компоненты инфраструктуры, такие как DNS, балансировщики нагрузки и виртуализированные серверы. Таким образом, когда поступает запрос на обслуживание, он направляется через балансировщик нагрузки в соответствующий компонент Compute или Storage. Если вычислительный компонент хочет взаимодействовать с компонентом хранилища, он должен использовать только те же REST API.
Управление
Служба управления упрощает управление данными и приложениями с помощью вызовов REST API. Это означает, что вы можете управлять своим приложением и службами хранилища, вызывая API управления службами через интерфейс REST.
Короче говоря, Azure — это популярная облачная платформа от Microsoft, которая использует различные компоненты, такие как рассмотренные выше, чтобы предоставить вам ряд функций. В будущем количество компонентов и предложений будет только увеличиваться, что даст вам больше возможностей и гибкости для простого создания, размещения и управления вашими приложениями.
Вам не кажется, что пришло время попробовать Azure, чтобы увидеть все преимущества, которые вы можете извлечь из него?