Книга «Руководство разработчика по Azure»

ik2gotwyadnbqcjeusitbjdk550.pngЭта электронная книга написана разработчиками для разработчиков. В ней описаны основы платформы Azure, ее возможности для разработчиков и организаций, а также способы их эффективного применения.

Во второй половине руководства приведены сценарии, например тур по порталу Azure и создание виртуальной машины. Там также описана разработка и развертывание веб-приложения на платформе Node.js с БД MongoDB. Мы рассмотрим типичные задачи, например CI/CD, промежуточные среды, масштабирование и мониторинг. И наконец, вы научитесь создавать серверную часть для своих мобильных приложений, предусматривающую проверку подлинности и автономную синхронизацию.
Сегодня мы публикуем часть первой главы этой книги. Полную версию вы можете скачать бесплатно по ссылке.


Оглавление


  • Руководство разработчика по Azure — 1;
  • Начало работы с Azure — 12;
  • Внедрение интеллектуальных функций в приложение — 27;
  • Защита приложения — 33;
  • Где и как развернуть сервисы Azure — 36;
  • Пошаговое руководство по Azure — 40;
  • Использование Azure Marketplace — 60.


Введение


Во множестве книг, статей, документов, блогов и других источников описаны преимущества облачных вычислений, и вы легко найдете зеттабайты информации по технической стороне этого вопроса. Однако прежде чем начать подробное изучение, вам необходимо ответить на несколько простых вопросов: зачем мне переходить на облачные технологии, что даст этот переход мне, моей команде и моей компании?

Информационные технологии — польза, а не бремя


Облачные вычисления можно использовать как услугу. Что мы подразумеваем под этим? Для наглядности рассмотрим одну из повседневных услуг — электроснабжение.

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

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

Отвлекаясь от нашей аналогии, мы увидим, что облако предлагает множество других значимых преимуществ для ИТ-процессов, например масштабируемость и возможность использования интеллектуальных служб, таких как поиск и распознавание лиц в приложениях, а также многое другое.

Вычисления как услуга


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

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


Итак, подытожим:

Облако и Azure предоставляют службы, которые помогут вам выполнять множество задач: от простых, таких как добавление поиска в приложение, до более сложных, например внедрение процесса непрерывной интеграции (CI) и непрерывного развертывания (CD). Вы сможете удобно и быстро автоматически настраивать свои базы данных и push-уведомления для мобильных устройств. Это лишь несколько примеров стандартных задач, которые ранее приходилось многократно выполнять разработчикам, но теперь они доступны как услуга. Такие службы можно использовать практически без усилий — не сложнее, чем нажать кнопку выключателя! При этом вы сможете сосредоточиться на уникальных элементах своего приложения: функциях, которые представляют реальную ценность для пользователей.

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

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

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

Пожалуй, самая важная особенность облачных служб и ресурсов — это то, что их можно свернуть при снижении спроса. Возвращаясь к нашей аналогии с электроснабжением, если у вас на вечеринке собралось много друзей и родственников, вы включаете свет дома и во дворе, часто используете микроволновую печь, слушаете музыку и, как правило, потребляете больше электроэнергии. Но когда праздник закончился и гости ушли, расход электроэнергии и затраты на нее возвращаются к обычным показателям. То же самое происходит при использовании облака и Azure: вы платите только за фактически израсходованные ресурсы, а не за те, которые могут вам понадобиться при всплеске спроса.

Дополнительная информация Чтобы узнать больше о портале Azure и создать свою первую виртуальную машину, посетите страницу.


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

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

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

Дополнительная информация Чтобы узнать больше о том, как Azure защищает ваши приложения и данные, см. разделы Как Центр безопасности Azure обнаруживает DDoS-атаки с помощью аналитики киберугроз, Обзор средств безопасности Azure и Как Microsoft борется с киберпреступностью.


Мы кратко рассмотрели причины для перехода к облачным технологиям и Azure. Теперь давайте изучим основные компоненты облака, их назначение и место в общей схеме.

Типы развертывания облачных вычислений


Облако предлагает продукты и службы нескольких уровней, например инфраструктура как услуга (IaaS) и платформа как услуга (PaaS). Однако прежде чем приступить к их рассмотрению, остановимся на трех основных типах облака: публичное, частное и гибридное. Эти термины стремительно вошли в современный технический жаргон. Давайте узнаем, что они означают.

Публичное облако


Используя модель публичного облака, вы не владеете оборудованием — за его приобретение и обслуживание отвечает ваш облачный поставщик. Публичное облако предоставляет службы и вычислительные ресурсы, которыми вы также не владеете, но которые можно использовать с помощью поставщика. Поставщик поддерживает все в рабочем состоянии и обеспечивает соблюдение соглашений об уровне обслуживания (SLA). Вы платите за то, что используете, а не за то, чем владеете.

Частное облако


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

Но как развернуть частное облако в традиционном локальном центре обработки данных? Вам поможет уникальное решение Azure Stack, которое предназначено для работы в такой среде. В общих чертах, Azure Stack — это ваш готовый собственный экземпляр Azure, который можно выполнять в локальных ЦОД.

Выполнение служб в частном облаке не равнозначно их выполнению в локальном центре обработки данных. Azure Stack предлагает все преимущества Azure, включая интеллектуальные сервисы, которые можно использовать в своих приложениях, — и все это в рамках вашего локального ЦОД. Таким образом, если по каким-либо причинам, связанным с безопасностью или управлением, вам необходимо выполнять определенные процессы в локальном центре обработки данных, вы можете по-прежнему использовать все преимущества Azure и облака.

Гибридное облако


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

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

Типы облачных вычислений


В рамках облачных вычислений можно разделить службы и ресурсы по типам. Существует множество определений различных типов облачных вычислений. Эти типы отличаются соотношением степени контроля и обязанностей, а также количества времени и усилий, которые вы тратите на создание бизнес-преимуществ для своей компании или клиентов. На рисунках 1–1 и 1–2 показано, как мы определяем типы облачных вычислений для Azure.

dl7q6osytukvjkm7mc9yvglpe8y.png
Рисунок 1. Типы облачных вычислений

mzv0cyjwrr-7nilavf4_eoxec8a.png
Рисунок 2. Примеры облачных решений

Инфраструктура как услуга


Используя модель «инфраструктура как услуга» (IaaS), вы отвечаете за все, кроме оборудования. В свою очередь Azure несет ответственность за оборудование: твердотельные диски (SSD), сетевые кабели, маршрутизаторы, источники питания, резервные генераторы, системы охлаждения и т. д. К этой категории относятся следующие сервисы Azure: виртуальные машины, виртуальные сети и контейнеры.

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

Платформа как услуга


Используя модель «платформа как услуга» (PaaS), вы отвечаете за свое приложение и его настройку, а Azure — за операционную систему и оборудование. Как видно на рисунке 1–1, PaaS — это уровень абстракции, расположенный над IaaS. По сравнению с IaaS, у вас гораздо меньше обязанностей, но при этом меньше и прямого контроля над своим оборудованием. К категории PaaS относятся Azure App Service, базы данных SQL Azure, Кэш Redis для Azure и Azure Batch.

Благодаря PaaS вы можете не только разместить свое приложение, но и использовать дополнительные встроенные возможности: push-уведомления для мобильных устройств (с помощью сервиса мобильных приложений Azure) и автоматическую настройку баз данных (с помощью базы данных SQL Azure).

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

Попробуйте Создайте приложение на основе Node.js с БД MongoDB на платформе Azure с помощью пошаговой инструкции на странице.


Функция как услуга


Используя модель «функция как услуга», вы отвечаете только за свое приложение и бизнес-логику. Вам не придется беспокоиться о масштабировании, операционной системе и оборудовании. FaaS иногда называют бессерверные вычисления. К услугам категории FaaS относят функции Azure, Azure Logic Apps и сетку событий Azure.

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

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

Программное обеспечение как услуга


Используя модель «программное обеспечение как услуга» (SaaS), вы только настраиваете программное обеспечение. SaaS обеспечивает самый высокий уровень абстракции среди типов облачных вычислений. К сервисам категории SaaS относят Azure Cognitive Services и Azure oT Suite. Office 365 — это еще один пример набора решений SaaS Azure, который содержит надежные бизнес-приложения, такие как Microsoft Word, Excel, PowerPoint и многие другие. И все они доступны без необходимости установки и обслуживания.

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


Бесплатно скачать полную версию книги и изучить ее вы можете по ссылке ниже.

Скачать

© Habrahabr.ru