Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Облачные сервисы (Amazon Web Services )

Содержание:

ВВЕДЕНИЕ

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

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

Цель данной работы заключается в анализе облачных сервисов, которые предоставляют различные облачные решения.

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

В рамках работы необходимо решить следующие задачи:

  • раскрыть понятие “облачные технологии”;
  • описать модели развертывания облачных сервисов;
  • проанализировать наиболее известные облачные сервисы;
  • провести сравнительный анализ облачных систем;
  • изучить соответствующую литературу.

Для решения поставленных выше задач была изучена соответствующая литература, список представлен в последнем разделе данной работы.

1. Анализ предметной области

1.1 Понятие «облачные технологии»

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

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

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

В то время как термин «облачные вычисления» был популяризирован с выпуском Amazon.com в апреле 2006 года в качестве продукта Elastic Compute Cloud, первые отссылки на фразу «облачные вычисления» появились еще в 1996 году, с первым упоминанием во внутреннем документе Compaq. [8]

Символ облака использовался для представления сетей вычислительного оборудования в оригинальной ARPANET еще в 1977 году и CSNET к 1981 году — обоих предшественников в самом Интернете. Слово облако использовалось как метафора для интернета, а стандартизованная облачная форма использовалась для обозначения сети на схемах телефонии.

Термин «облако» использовался для обозначения платформ для распределенных вычислений уже в 1993 году, когда Apple выделила General Magic и AT&T, использовав ее при описании своих (парных) технологий Telescript и PersonaLink.

Облачные вычисления имеют общие характеристики:

  • клиент-серверная модель — вычисления клиент-сервер широко распространяются на любое распределенное приложение, которое различает поставщиков услуг (серверов) и поставщиков услуг (клиентов);
  • компьютерное бюро — бюро обслуживания, предоставляющее компьютерные услуги, особенно с 1960-х по 1980-е годы;
  • параллельные вычисления — «Форма распределенных и параллельных вычислений, при которой «супер и виртуальный компьютер» состоит из кластера, слабо связанных компьютеров, действующих совместно для выполнения очень больших задач»;
  • интеллектуальная вычислительная система — распределенная вычислительная парадигма, которая обеспечивает услуги передачи данных, вычислений, хранения и приложений ближе к клиентским или почти пользовательским пограничным устройствам, таким как сетевые маршрутизаторы. Кроме того, облачные вычисления обрабатывают данные на сетевом уровне, на интеллектуальных устройствах и на стороне клиента конечного пользователя (например, мобильные устройства) вместо отправки данных в удаленное место для обработки;
  • компьютер для мэйнфреймов — мощные компьютеры, используемые в основном крупными организациями для критически важных приложений, обычно массовые обработки данных, такие как: перепись, статистика отрасли и потребителей, полиции и секретных разведывательных служб, планирование ресурсов предприятия, и обработки финансовых транзакций;
  • полезные вычисления — «упаковка вычислительных ресурсов, таких как вычисление и хранение, как услуга, подобная традиционной общественной утилите, такой как электричество»;
  • peer-to-peer распределенная архитектура без необходимости центральной координации, участники - как поставщики, так и потребители ресурсов (в отличие от традиционной модели клиент-сервер);
  • зеленые вычисления;
  • облачная песочница — живая, изолированная компьютерная среда, в которой может работать программа, код или файл, не затрагивая приложение, в котором оно выполняется.

Облачные вычисления демонстрируют следующие ключевые характеристики:

  • удобство для организаций может быть улучшена, поскольку облачные вычисления могут повысить гибкость пользователей при повторном предоставлении, добавлении или расширении ресурсов технологической инфраструктуры;
  • снижение затрат заявлено облачными провайдерами, модель доставки с использованием облачных вычислений преобразует капитальные затраты (например, покупая серверы) в операционные расходы. Это якобы снижает барьеры для входа, поскольку инфраструктура обычно предоставляется третьей стороной и не нуждается в приобретении для одноразовых или нечастых интенсивных вычислительных задач. Ценообразование на основе вычислительной техники «мелкозернистая», с вариантами выставления счетов на основе использования. Кроме того, для реализации проектов, использующих облачные вычисления, требуется меньше внутренних навыков ИТ;
  • независимость от устройства и местоположения позволяет пользователям получать доступ к системам с использованием веб-браузера независимо от их местоположения или того, какое устройство они используют (например, ПК, мобильный телефон). Поскольку инфраструктура за пределами площадки (как правило, предоставляется сторонней организацией) и доступ через Интернет, пользователи могут подключиться к ней из любого места.

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

Многоуровневое взаимодействие позволяет распределять ресурсы и затраты через большой пул пользователей, что позволяет:

  • централизация инфраструктуры в местах с более низкими затратами (например, недвижимость, электричество и т. д.);
  • максимальная грузоподъемность увеличивается (пользователям не нужно разрабатывать и оплачивать ресурсы и оборудование для удовлетворения их максимально возможных уровней нагрузки);
  • использования и повышения эффективности систем, которые часто используются только на 10-20%. [5, 11]

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

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

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

Масштабируемость и эластичность посредством динамического («по требованию») предоставления ресурсов на мелкозернистой основе самообслуживания в ближайшем реальном времени без необходимости инженеров для пиковых нагрузок. Это дает возможность масштабироваться, когда потребность в использовании увеличивается или уменьшается, если ресурсы не используются.

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

1.2 Модели предоставления и развертывания облачных сервисов

Ниже представлены сервисные модели облачных вычислений.

Software as a Service (SaaS) — программное обеспечение как услуга. В этой модели предоставления облачных вычислений потребитель использует приложения поставщика, запущенные в облачной инфраструктуре, которые доступны клиенту через интерфейс (web-браузер) или интерфейс программы. Потребители не могут управлять и контролировать лежащую в основе облака инфраструктуру, включая сеть, серверы, операционные системы, хранилища данных или даже изменять параметры настройки конкретного приложения.

Platform as a Service (PaaS) — платформа как услуга. Модель предоставления облачных вычислений, при которой потребитель получает доступ к использованию программной платформы: операционных систем, СУБД, прикладного ПО, средств разработки и тестирования ПО. Фактически потребитель получает в аренду компьютерную платформу с установленной операционной системой и специализированными средствами для разработки, размещения и управления веб-приложениями. Потребитель не управляет основной инфраструктурой облака, включая сеть, серверы, операционные системы или хранилища данных, но управляет развернутыми приложениями и возможно параметрами настройки конфигурации среды окружения.

Infrastructure as a Service (IaaS) — инфраструктура как услуга. Модель предоставление облачных вычислений, при которой потребитель получает возможность управлять средствами обработки и хранения, а также и другими фундаментальными вычислительными ресурсами (виртуальными серверами и сетевой инфраструктурой), на которых он может самостоятельно устанавливать операционные системы и прикладные программы под собственные цели. По сути, потребитель арендует абстрактные вычислительные мощности (серверное время, дисковое пространство и пропускную способность сетевых каналов) или использует услуги аутсорсинга ИТ-инфраструктуры. Потребитель не управляет основной инфраструктурой облака, но управляет операционными системами, хранилищем и развернутыми им приложениями. [14]

Модели развертывания облачных вычислений, т.е. cloud computing представлены на рисунке 1.

Private cloud (частное облако) — инфраструктура, предназначенная для использования облачных вычислений в масштабе одной организации.

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

Public cloud (публичное облако) — инфраструктура, предназначенная для свободного использования облачных вычислений широкой публикой.

Hybrid cloud (гибридное облако) — это комбинация различных облачных инфраструктур (частных, публичных или сообществ), остающихся уникальными объектами, но связанных между собой стандартизованными или частными технологиями, которые обеспечивают возможность обмена данными и приложениями. [14]

D:\studwork\Облачные сервисы\Модели Развертывания.png

Рисунок 1 — Модели развертывания облачных вычислений

Исходя из вышеизложенного определения облачных вычислений, облачные сервисы можно представить в виде многослойной модели, состоящей из слоев: IaaS, PaaS, SaaS. Базисом или фундаментом облачных сервисов является physical infrastructure (физическая инфраструктура), т.е. серверы, хранилища, сети и системное программное обеспечение Cloud data center (облачного дата-центра) или сети взаимосвязанных облачных Data centers.

В облачных дата-центрах или в центрах обработки данных (ЦОД) помещается физическое оборудование или hardware (серверы, хранилища данных, рабочие места), системное программное обеспечение (ОС, средства виртуализации и автоматизации), инструментальное и прикладное ПО, системы управления оборудованием (Equipment management systems), сетевая инфраструктура (Network infrastructure): маршрутизаторы и коммутаторы (routers and switches) для подключения и объединения физического оборудования. Кроме того, нормальную работу дата центров обеспечивают системы инженерного обеспечения (Systems of engineering support).

2. Обзор облачных сервисов

2.1 Основные облачные сервисы

В сфере инфраструктуры как услуги первоначально преобладала автоматизированная модель публичного облака Amazon Web Services, за которой последовали Rackspace и другие на основе открытых стандартов OpenStack. В настоящее время компании могут выбирать между публичной, частной и гибридной моделями. Сейчас главное — предоставить предприятиям удобный способ выбрать подходящее для них сочетание публичной и частной инфраструктуры. [13]

Приняв решение о внедрении облачной службы инфраструктуры, компании обращаются к поставщику платформы как услуги, который должен помочь им в переносе и управлении ИТ-ресурсами при переходе от собственного ЦОДа в облако. Это сложная задача, и такие компании, как RightScale, Heroku и Red Hat, представляют все более изобретательные и полезные решения.

Salesforce.com начала революцию ПО как услуги, но за ней быстро последовали другие. Microsoft, Google и другие ведущие поставщики предоставляют свои известные программы через облако. Многие начинающие фирмы предлагают вертикальные решения, в том числе для подготовки финансовых отчетов, тестирования, разработки ПО и другие.

Размещение ПО на серверах стороннего поставщика породило новую потребность в решениях безопасности, которую спешат удовлетворить как новые, так и старые поставщики. Создаются новые архитектуры безопасности для защиты ресурсов предприятия, которые теперь размещаются в удаленных ЦОДах, доступных с мобильных устройств. Среди конкурентов, пытающихся построить самое недорогое и эффективное решение, — давний лидер рынка хранения данных Symantec и начинающие компании, такие как Bromium и CloudPassage.

Благодаря облаку возник новый мир хранения с практически неиссякаемым репозиторием для данных. В этой категории мы видим новые компании, такие как Box и Dropbox, предлагающие недорогие облачные хранилища. Крупные облачные игроки, в том числе Google и Amazon Web Services, добавляют хранилища к списку своих облачных услуг, а опытные игроки, такие как EMC, осваивают облако.

Ниже будут приведены основные облачные сервисы.

Heroku (принадлежит компании Salesforce.com) — это открытая облачная платформа как услуга для программ на языках Ruby, Java, Python, Clojure, Scala и Node.js. Ее популярность растет благодаря возможности обработки больших данных с использованием службы базы ­данных Postres, а также общему доступу к результатам активных запросов.

Amazon Web Services прилагает максимум усилий, чтобы сохранить ведущее положение, предложив услуги вычислительной инфраструктуры Amazon Elastic Compute Cloud (EC2). Компания продолжала снижать цены, доба­вила хранилища большой емкости, организовала службу хранения данных Redshift и упростила процесс перемещения ИТ-ресурсов в сеть AWS для клиентов.

Сетевой гигант Cisco быстро развивает семейство продуктов CloudVerse (в него входят серверы Unified Computing System и коммутаторы Nexus) для построения частных, публичных и гибридных облаков на предпри­ятиях наряду с решением Cloud Connect Solution для переноса бизнес-приложений в облако.

Несмотря на сравнительно малый опыт работы с облаком, компания Dell предоставляет службу vCloud Datacenter Service для публичного облака IaaS наряду с Dedicated Cloud, продуктом виртуализации на основе VMware. Благодаря собствен­ным оборудованию и облачным продуктам Dell снижает цены на компоненты облачных услуг. [13]

Компания GoGrid получила известность как малый поставщик облачных услуг, ориентированных на IaaS. Эта услуга — фиксированного размера с виртуализацией на основе Xen и оплатой в зависимости от числа виртуальных машин — предоставляется как публичное и частное облако. По данным исследовательской фирмы Gartner, GoGrid входит в пятерку ведущих поставщиков публичного облака IaaS по использованию виртуальных машин.

Компания Google пересматривает традиционные модели лицензирования ПО для бизнеса, предоставляя через облако программы Google Apps, в том числе Docs и Gmail; хранилище Google Drive; а также Google Apps Marketplace, магазин программ для пользо­вателей Google Apps. В 2012 г. Google представила публичное облако IaaS — Compute Engine. [13]

Microsoft продолжила развивать Office 365, облачный комплекс бизнес-приложений, в состав кото­рого входят Microsoft Office, Exchange Online, SharePoint ­Online и Lync Online. Облачная служба IaaS компании Microsoft, Windows Azure, также привлечет пользователей по мере ухода партнеров от локальных приложений.

Salesforce.com получила широкую известность как первая компания, приступившая к хостингу приложений со своей службой SaaS для CRM-приложений. Компания продолжает поступательное развитие. Совсем недавно ее облако распространилось на взаимодействие в социальных сетях и маркетинге. Одновременно расширяется магазин AppExchange для облачных программ.

С помощью OneOps компании выполняют развертывание в любом облаке благодаря более простому управлению конфигурацией рабочей нагрузки приложений в публичном, частном и гибридном облаках. Для построения и управления сложными рабо­чими нагрузками пользователи OneOps могут визуально строить приложения из библиотеки готовых блоков. [13]

Внимание компании Plex Systems сосредоточено на облачных услугах для производственного сектора. Ее основной продукт — Plex Online, облачная система управления ресурсами предприятия. Plex Online объединяет и управля­ет приложениями почти во всех подразделениях производственной компании, в том числе для процессов производства, цепи поставок и бизнес-аналитики.

2.2 Amazon Web Services

Amazon Web Services (AWS) — это комплексная, развивающаяся платформа облачных вычислений, предоставляемая Amazon. Он предоставляет сочетание инфраструктуры как услуги (IaaS), платформы как услуги (PaaS) и упакованного программного обеспечения в качестве сервиса (SaaS).

AWS запущен в 2006 году из внутренней инфраструктуры, созданной Amazon.com для обработки своих онлайн-операций. AWS была одной из первых компаний, которые представили модель облачных вычислений с оплатой по мере роста, которая масштабируется для предоставления пользователям вычислительных ресурсов, хранения или пропускной способности по мере необходимости.

Amazon Web Services предоставляет услуги из десятков центров обработки данных, расположенных по доступным зонам (ДЗ) в регионах по всему миру. ДЗ представляет собой местоположение, которое обычно содержит несколько физических центров данных, а область представляет собой набор А-Я в географической близости, соединенных сетевыми ссылками с малой задержкой. Клиент AWS может развернуть виртуальные машины (VM) и реплицировать данные в разных ДЗ, чтобы получить высоконадежную инфраструктуру, устойчивую к отказам отдельных серверов или всего центра обработки данных. [3, 7]

Более 100 сервисов составляют портфолио Amazon Web Services, в том числе для вычислений, баз данных, управления инфраструктурой, разработки приложений и обеспечения безопасности. Эти услуги по категориям включают разные пункты.

Amazon Elastic Compute Cloud (EC2) предоставляет виртуальные серверы, называемые экземплярами, для вычислительной емкости.

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

AWS также предоставляет инструмент автоматического масштабирования для динамического масштабирования емкости для поддержания работоспособности и производительности экземпляров.

Amazon EC2 Container Service и EC2 контейнер реестра позволяет клиентам работать с Docker контейнеров и изображений на платформе AWS. Разработчик также может использовать AWS Lambda для серверных функций, которые автоматически запускают код для приложений и сервисов, а также AWS Elastic Beanstalk для PaaS. AWS также включает Amazon Lightsail, который предоставляет виртуальные частные серверы и пакет AWS, который обрабатывает серию заданий.

Amazon Simple Storage Service (S3) обеспечивает масштабируемое хранение объектов для резервного копирования данных, архивирования и аналитики. ИТ-специалист хранит данные и файлы в виде объектов S3, которые могут вмещать до 5 ГБ, внутри ведер S3, чтобы они были организованы. Бизнес может сэкономить деньги на S3 через уровень хранения нечетного доступа или использовать ледник Амазонки для длительного хранения в холодном состоянии. [8]

Amazon Elastic Block Store обеспечивает хранилища на уровне блоков для постоянного хранения данных и для использования с экземплярами EC2, в то время как Amazon Elastic File System предлагает управляемое облачное хранилище файлов.

Бизнес также может переносить данные в облако через устройства хранения данных, такие как AWS Snowball и Snowmobile, или использовать AWS Storage Gateway, чтобы локальные приложения могли получать данные из облака.

AWS предоставляет службы управляемой базы данных через свою реляционную базу данных Amazon , которая включает в себя опции для Oracle, SQL Server, PostgreSQL, MySQL, MariaDB и запатентованной высокопроизводительной базы данных Amazon Aurora. AWS предлагает управляемые базы данных NoSQL через Amazon DynamoDB .

Клиент AWS может использовать Amazon ElastiCache и DynamoDB Accelerator в качестве кэшей данных в памяти для приложений реального времени. Amazon Redshift предлагает хранилище данных, позволяющее аналитикам данных выполнять задачи бизнес-аналитики.

AWS включает в себя различные инструменты и службы, предназначенные для того, чтобы помочь пользователям перенести приложения, базы данных, серверы и данные в свое общедоступное облако. Миграции концентратор AWS предоставляет место для мониторинга и управления миграцией из помещения на в облако. Когда-то в облаке, EC2 Systems Manager помогает ИТ-команде настраивать локальные серверы и экземпляры AWS. [5]

Amazon также имеет партнерские отношения с несколькими поставщиками технологий, которые упрощают развертывание гибридных облаков. VMware Cloud на AWS предоставляет программно-ориентированную технологию центров обработки данных от VMware до облака AWS. Red Hat Enterprise Linux для Amazon EC2 — продукт другого партнерства, расширяющий операционную систему Red Hat до облака AWS.

Виртуальное частное облако Amazon (VPC) предоставляет администратору возможность контролировать виртуальную сеть для использования изолированной части облака AWS. AWS автоматически создает новые ресурсы в VPC для дополнительной защиты.

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

ИТ-специалист может установить выделенное соединение с локальным центром обработки данных в облаке AWS через AWS Direct Connect.

Разработчик может использовать средства командной строки AWS и комплекты разработки программного обеспечения (SDK) для развертывания и управления приложениями и службами. Интерфейс командной строки AWS - это собственный интерфейс кода Amazon. Разработчик также может использовать AWS Tools для Powershell для управления облачными службами из сред Windows и AWS безсерверной прикладной модели для имитации среды AWS для тестирования функций Lambda. AWS SDK доступны для различных платформ и языков программирования, включая Java, PHP, Python, Node.js, Ruby, C ++, Android и iOS.

Amazon API Gateway позволяет команде разработчиков создавать, управлять и контролировать пользовательские API, позволяющие приложениям получать доступ к данным или функциям из внутренних служб. API Gateway одновременно управляет тысячами одновременных вызовов API.

AWS также предоставляет пакетную службу транскодирования медиа, Amazon Elastic Transcoder и службу, которая визуализирует рабочие процессы для приложений на основе микросервисов, шаговых функций AWS.

Команда разработчиков также может создавать непрерывную интеграцию и непрерывные сети с такими сервисами, как AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy и AWS CodeStar. Разработчик также может хранить код в репозиториях Git с помощью AWS CodeCommit и оценивать производительность приложений на основе микросервисов с помощью снимков AWS.

Администратор может управлять и отслеживать конфигурацию облачных ресурсов с помощью AWS Config и AWS Config Rules. Эти инструменты вместе с AWS Trusted Advisor могут помочь ИТ-команде избежать ненастроенных и ненужных дорогостоящих развертываний облачных ресурсов.

AWS предоставляет в своем портфеле несколько инструментов автоматизации. Администратор может автоматизировать создание инфраструктуры через шаблоны AWS CloudFormation, а также использовать AWS OpsWorks и Chef для автоматизации инфраструктуры и системных конфигураций.

Клиент AWS может контролировать состояние ресурсов и приложений с помощью Amazon CloudWatch и Личного кабинета здоровья AWS, а также использовать AWS CloudTrail для сохранения вызовов активности пользователей и прикладного программирования (API) для аудита. [9]

AWS предоставляет ряд услуг для облачной безопасности, включая AWS Identity and Access Management (IAM), которая позволяет администраторам определять и управлять доступом пользователей к ресурсам. Администратор также может создать каталог пользователей с Amazon Cloud Directory или подключить облачные ресурсы к существующему Microsoft Active Directory с помощью службы каталогов AWS. Кроме того, организации AWS позволяют бизнесу устанавливать и управлять политиками для нескольких учетных записей AWS.

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

AWS также включает инструменты и службы, которые обеспечивают шифрование на основе программного и аппаратного обеспечения, защищают от атак DDoS , предоставляют сертификаты Secure Sockets Layer и Transport Layer Security и фильтруют потенциально опасный трафик для веб-приложений.

AWS включает в себя множество крупных аналитических данных и приложений. Amazon Elastic MapReduce предлагает инфраструктуру Hadoop для обработки больших объемов данных, а Amazon Kinesis предоставляет несколько инструментов для обработки и анализа потоковых данных.

AWS Glue — это сервис, который обрабатывает извлечение, преобразование и загрузку заданий, в то время как Amazon Elasticsearch Service позволяет команде выполнять мониторинг приложений, анализ журналов и другие задачи с помощью инструмента Elasticsearch с открытым исходным кодом. Чтобы запросить данные, аналитик может использовать Amazon Athena для S3, а затем визуализировать данные с помощью Amazon QuickSight.

AWS предлагает ряд моделей разработки и доставки моделей AI, а также упакованные приложения на базе AI. Amazon AI набор инструментов включает в себя Amazon Lex для передачи голоса и текста Chatbot технологии, Amazon Polly для перевода текста в речь и Amazon Rekognition для изображения и анализа лица. AWS также предоставляет технологии для разработчиков для создания интеллектуальных приложений, основанных на технологии машинного обучения и сложных алгоритмах.

С AMI Deep Learning AMI разработчики могут создавать и обучать пользовательские модели ИИ с помощью кластеров графических процессоров или оптимизированных для вычислений экземпляров. AWS также включает в себя основы глубокого обучения для MXNet и TensorFlow.

С точки зрения потребителей технологии AWS используют Alexa Voice Services, а разработчик может использовать набор Alexa Skills Kit для создания голосовых приложений для устройств Echo.

Mobile Hub AWS предлагает набор инструментов и услуг для разработчиков мобильных приложений, в том числе AWS Mobile SDK, который предоставляет примеры кода и библиотеки.

Разработчик мобильных приложений также может использовать Amazon Cognito для управления доступом пользователей к мобильным приложениям, а также с помощью Amazon Pinpoint для отправки push-уведомлений конечным пользователям приложений, а затем для анализа эффективности этих сообщений.

Службы обмена сообщениями AWS обеспечивают основную связь для пользователей и приложений. Amazon Simple Queue Service - это управляемая очередь сообщений, которая отправляет, сохраняет и принимает сообщения между компонентами распределенных приложений, чтобы гарантировать, что части приложения работают по назначению.

Amazon Simple Notification Service (SNS) позволяет бизнесу отправлять сообщения pub-sub конечным точкам, таким как конечные пользователи или службы. SNS включает в себя функцию мобильной передачи сообщений, которая позволяет передавать push-сообщения на мобильные устройства. Amazon Simple Email Service предоставляет платформу для ИТ-специалистов и маркетологов для отправки и получения электронной почты.

Amazon Web Services имеет ряд возможностей SaaS для повышения производительности. Услуга Amazon Chime позволяет онлайн-видео-встречи, звонки и текстовые чаты на разных устройствах. Бизнес также может использовать Amazon WorkDocs, службу хранения и обмена файлами и Amazon WorkMail, бизнес-службу электронной почты с функциями календаря.

Службы настольных и потоковых приложений включают Amazon WorkSpaces, удаленную платформу для настольных компьютеров и Amazon AppStream, которая позволяет разработчику передавать настольное приложение из AWS в веб-браузер конечного пользователя. [5]

AWS также имеет множество сервисов, которые позволяют использовать интернет-приложения (IoT). Служба AWS IoT предоставляет базовую платформу для управления устройствами IoT и приема данных для других служб хранения и баз данных AWS. Кнопка AWS IoT обеспечивает аппаратное обеспечение для ограниченной функциональности IoT, а AWS Greengrass использует возможности AWS для IoT-устройств.

AWS предлагает модель pay-as-you-go для своих облачных сервисов либо по часам, либо по секундам. Существует также возможность зарезервировать установленную сумму вычислительной мощности по сниженной цене для клиентов, которые оплачивают полностью или подписываются на одно- или трехлетние обязательства по использованию.

2.3 Microsoft Azure

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

Microsoft впервые представила свои планы по внедрению службы облачных вычислений под названием Windows Azure в 2008 году. Предварительные версии сервиса стали доступными, что привело к коммерческому запуску в начале 2010 года. Хотя ранние итерации облачных сервисов Azure отставали от более установленных предложений, таких как AWS, портфель продолжал развиваться и поддерживал большую базу языков программирования, каркасов и операционных систем (включая Linux). К началу 2014 года Microsoft признала, что последствия облачных вычислений простираются далеко за пределы Windows, и служба была переименована в Microsoft Azure. [12]

Microsoft Azure широко рассматривается как платформа как услуга (PaaS) и инфраструктура как услуга (IaaS).

По состоянию на июль 2018 года Microsoft классифицирует облачные сервисы Azure на 18 основных типов продуктов.

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

2. Веб — эти службы поддерживают разработку и развертывание веб-приложений, а также предлагают функции для поиска, доставки контента, управления интерфейсом прикладного программирования (API), уведомления и отчетности.

3. Хранение данных. Эта категория услуг обеспечивает масштабируемое облачное хранилище для структурированных и неструктурированных данных, а также поддерживает большие проекты данных, постоянное хранение и архивное хранилище.

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

5. Сеть. В эту группу входят виртуальные сети, выделенные соединения и шлюзы, а также службы для управления трафиком и диагностики, балансировки нагрузки, хостинга доменных имен (DNS) и защиты сети от атак типа распределенных атак типа «отказ в обслуживании» (DDoS).

6. Сеть доставки медиа и контента (CDN). Эти услуги включают потоковое вещание по требованию, защиту цифровых прав, кодирование и воспроизведение и индексирование мультимедиа.

7. Гибридная интеграция. Это службы для резервного копирования сервера, восстановления сайта и подключения частных и общественных облаков. [12]

8. Управление идентификацией и доступом (IAM). Эти предложения гарантируют, что только авторизованные пользователи могут получить доступ к службам Azure и помогут защитить ключи шифрования и другую конфиденциальную информацию в облаке. Сервисы включают поддержку Azure Active Directory и многофакторную аутентификацию (MFA).

9. Интернет вещей - эти услуги помогают пользователям захватывать, контролировать и анализировать данные IoT от датчиков и других устройств. Услуги включают в себя уведомления, аналитику, мониторинг и поддержку для кодирования и исполнения.

10. Разработка. Эти службы помогают разработчикам приложений делиться кодами, тестировать приложения и отслеживать потенциальные проблемы. Azure поддерживает ряд языков программирования приложений, включая JavaScript, Python, .NET и Node.js. Инструменты этой категории также включают поддержку Visual Studio, комплектов разработки программного обеспечения (SDK) и блокировки.

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

12. Искусственный интеллект (AI) и машинное обучение. Это широкий спектр услуг, которые разработчик может использовать для внедрения машинного обучения, AI и когнитивных вычислительных возможностей в приложения и наборы данных.

13. Контейнеры — эти службы помогают предприятию создавать, регистрировать, организовывать и управлять огромными объемами контейнеров в облаке Azure, используя общие платформы, такие как Docker и Kubernetes.

14. Базы данных. Эта категория включает предложения базы данных как службы (DBaaS) для SQL и NoSQL, а также другие экземпляры базы данных, такие как Azure Cosmos DB и база данных Azure для PostgreSQL. Он также включает поддержку SQL Data Warehouse, кеширование и гибридную интеграцию, и миграцию баз данных.

15. DevOps — эта группа предоставляет инструменты для проектов и совместной работы, такие как Visual Studio Team Services, которые облегчают разработку программного обеспечения DevOps. Он также предлагает функции для диагностики приложений, интеграции инструментальных средств DevOps и тестовых лабораторий для тестирования и экспериментов сборки.

16. Миграция. Этот набор инструментов помогает организации оценивать затраты на миграцию рабочей нагрузки и выполнять фактическую миграцию рабочих нагрузок из локальных центров обработки данных в облако Azure.

17. Mobile - эти продукты помогают разработчику создавать облачные приложения для мобильных устройств, предоставлять службы уведомлений, поддержку фоновых задач, инструменты для создания API-интерфейсов и возможность связывать геопространственный (локальный) контекст с данными. [14]

18. Управление. Эти службы предоставляют ряд средств резервного копирования, восстановления, соответствия, автоматизации, планирования и мониторинга, которые могут помочь администратору облака управлять развертыванием Azure.

На рисунке 2 изображены основные компоненты Microsoft Azure.

D:\author24\Облачные вычисления. Построение транзакционных Web-приложений, установка виртуальных серверов для их поддержки\Схема Microsoft Azure.png

Рисунок 2 — Основные компоненты Microsoft Azure

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

Вместо того, чтобы инвестировать в локальные серверы и хранилища, эти организации предпочитают запускать некоторые или все свои бизнес-приложения в Azure. [4, 12]

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

D:\author24\Облачные вычисления. Построение транзакционных Web-приложений, установка виртуальных серверов для их поддержки\Базовая архитектура распределенного развертывания Microsoft Azure Pack-Страница 1.png

Рисунок 3 — Базовая распределенная архитектура Microsoft Azure

На рисунке 4 показана предлагаемая минимальная архитектура для распределенного развертывания. Затем следует установить хотя бы один необязательный компонент на дополнительных компьютерах.

D:\author24\Облачные вычисления. Построение транзакционных Web-приложений, установка виртуальных серверов для их поддержки\Минимальная архитектура развертывания Microsoft Azure Pack-Страница 2.png

Рисунок 4 — Минимальная архитектура для распределенного развертывания

Для обеспечения доступности Microsoft располагает центрами обработки данных Azure по всему миру. По состоянию на июль 2018 года службы Microsoft Azure доступны в 54 регионах, расположенных в 140 странах. Поскольку не все службы доступны во всех регионах, пользователи Azure должны обеспечить, чтобы места загрузки и хранения данных соответствовали всем существующим требованиям соблюдения или другим законодательным актам. [3, 12]

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

Учитывая множество факторов, связанных с ценообразованием на облачные услуги, организация должна анализировать и управлять своим облачным сервисом для минимизации затрат. Средства Azure-native, такие как Azure Cost Management, могут помочь контролировать, визуализировать и оптимизировать расходы облачных вычислений. Также можно использовать сторонние инструменты, такие как Cloudability или RightScale, для управления использованием ресурсов Azure и сопутствующими расходами.

Microsoft Azure является одним из нескольких крупных поставщиков облачных услуг, работающих в крупном глобальном масштабе. Другие основные поставщики включают Google Cloud Platform (GCP), Amazon Web Services (AWS) и IBM.

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

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

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

2.4 Сравнительный анализ облачных сервисов

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

В Amazon Web Services центральной вычислительной службой является сервис Elastic Compute Cloud (EC2). EC2 стал главным синонимом для понятия «масштабируемые вычисления по требованию». Для того, чтобы еще более тщательно планировать и снижать расходы при запуске проектов, компания ввела новые подсервисы, такие как AWS Elastic Beanstalk, Amazon EC2 Container Service. [15]

На данный момент AWS поддерживает 7 различных семейств экземпляров и 38 типов экземпляров. Он одновременно предлагает и региональную поддержку, и поддержку зоны.

Основа вычислительных систем Microsoft Azure – это классические виртуальные машины и высокопроизводительные Virtual Machine Scale Sets. Клиентские приложения для Windows могут быть развернуты с помощью сервиса RemoteApp. Azure Virtual Machine включает 4 различных семейства, 33 типа экземпляров, которые вы можете развернуть в разных регионах. Но поддержка определенной зоны региона пока не поддерживается.

Google Cloud Platform использует сервис Compute Engine для обработки вычислительных процессов. Одним из главных недостатков является ценообразование, оно менее гибкое по сравнению с AWS и Azure.

Compute Engine поддерживает большинство основных облачных услуг - развертывание контейнера, масштабируемость и обработка данных. Google Cloud поддерживает 4 семейств экземпляров, 18 различных типов экземпляров, а также обеспечивает как региональное размещение, так и выбор зоны.

Если выбирать лидера, то AWS и Microsoft Azure сейчас наиболее востребованные облачные платформы. Предлагаемые вычислительные мощности у компаний находятся практически на равных уровнях, список предлагаемых сервисов также постоянно растет.

Платформы облачных вычислений обеспечивают также мощные аналитические инструменты для бизнеса.

В области анализа данных AWS сделал большой скачок, отдельный сервис Quick Sight – предоставляет собой легкую в использовании бизнес-аналитику с готовыми шаблонами и по стоимости в 10 раз дешевле, чем традиционные BI-решения. [15]

Сервис Microsoft Azure за последние годы сильно улучшил инструменты аналитики и машинного обучения, создав отдельное направление, включающее подсистему обработки аналитики Data Lake Analytics и машинное обучение в составе Cortana Intelligence Suite.

Google Cloud Platform запустил также отдельное направление по аналитике больших данных и имеет большие перспективы развития в будущем. Уже сейчас программные среды Cloud Vision API, Cloud Speech API, и Google Translate API имеют множественные интеграции в сторонние сервисы и приложения.

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

AWS Simple Storage Service, известный как S3, в значительной степени является промышленным стандартом. В целом, S3 создало понятие объектно-ориентированного хранения данных, а для архивации данных был создан отдельный сервис Amazon Glacier.

Azure и Google Cloud Platform имеют также достаточно надежные и мощные средства хранения.

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

В Amazon Web Services вы можете использовать Virtual Private Cloud для создания VPN с настройкой подсети, таблицы маршрутизации, частных диапазонов IP-адресов и сетевых шлюзов. Кроме того, есть сервис Route 53 для реализации веб-службы DNS.

Microsoft Azure также предлагает обширные инструменты настройки сетей. Виртуальная сеть (VNET) позволяет установить VPN, настроить публичный IP, подключить гибридное облако, а также активизировать межсетевой экран и DNS. [15]

Предложения Google Cloud Platform не столь обширны. Платформа пока имеет только виртуальную сеть Cloud с поддержкой подсетей Public IP, собственный брандмауэр, и необходимые настройки DNS.

Облачные сервисы имеют довольные различные подходы к ценообразованию использования облачных сервисов.

AWS использует несколько моделей оплаты:

1. По требованию: Плата только за ресурсы и услуги, которые используются.

2. Резервирование: Пользователь выбирает необходимое количество ресурсов, которые хочет заказать авансом от 1 до 3-х лет и оплачивает на основе использования. Часто на такие предложения действуют хорошие скидки (до 75 %).

3. Частичное резервирование. Чем больше ресурсов используется, тем меньше стоимость предоставленных услуг

Округление в Amazon Web Services работает на основе часов использования.

Microsoft Azure использует более гибкую систему ценообразования, оплата идет за пользование облачными ресурсами, с округлением по минутам. Вы можете использовать готовые подписки MSDN с определенным количеством денежных средств на облачные вычисления, либо оплачивать ресурсы обычным способом с ежемесячным выставлением счетов. Скидки также работают на основе объема заказанных услуг.

Google Cloud Platform имеет схожую систему выставление счетов, как и Azure, но с округлением использования ресурсов за период в течение 10 минут.

Каждая платформа предлагает ценовой калькулятор, который помогает оценить затраты. В плане удобства, Microsoft Azure вышел вперед, сервис предлагает оценить затраты не только с помощью калькулятора на сайте, но и при создании новых проектов, непосредственно в портале управления. [15]

В данной главе был рассмотрен сравнительный анализ основных облачных сервисов.

ЗАКЛЮЧЕНИЕ

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

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

В рамках данной работы были рассмотрены наиболее популярные облачные системы. В начале работы было раскрыто понятие «облачные технологии» и приведены модели развертывания облачных систем.

Далее был проведен анализ основных облачных поставщиков. В последнем разделе был проведен сравнительный анализ облачных систем. Наиболее лучшие показатели по таким критериям как качество и надежность у Amazon Web Services, Microsoft Azure и у облачных решений Google.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Вьюгин В.В. Математические основы машинного обучения и прогнозирования. — МЦНМО, 2014. — 305 с.
  2. Губарев В. Введение в облачные вычисления и технологии. — Новосибирский государственный технический университет, 2013. — 48 с.
  3. Денисов Д. В. Перспективы развития облачных вычислений / Часть сборника Прикладная информатика №5 — Университет, 2009. — 7 с.
  4. Джордж Риз Облачные вычисления. — БХВ-Петербург, 2009. — 281 с.
  5. Ли Атчисон Масштабирование приложений. Выращивание сложных систем. — Питер, 2016. — 256 с.
  6. Теджасви Редкар, Тони Гвидичи Платформа Windows Azure. — ДМК Пресс, 2012. — 657 с.
  7. Kenneth P. Halla Deeper Learning Through Technology: Using the Cloud to Individualize Instruction. — Corwin, 2015. — 176 p.
  8. Igor Faynberg, Hui-Lan Lu, Dor Skuler Cloud Computing: Business Trends and Technologies. — Wiley, 2016. — 376 p.
  9. Kevin L. Jackson, Scott Goessling Architecting Cloud Computing Solutions: Build cloud strategies that align technology and economics while effectively managing risk. — Packt Publishing, 2018. — 378 p.
  10. Dr. Kris Jamsa Cloud Computing: SaaS, PaaS, IaaS, Virtualization, Business Models, Mobile, Security and More 1st Edition. — Jones & Bartlett Learning, 324 p.
  11. Mr. Ray J Rafaels Cloud Computing: From Beginning to End – CreateSpace Independent Publishing Platform, 2015. — 152 p.
  12. Microsoft [Электронный ресурс]. Архитектура Windows Azure Pack Режим доступа: https://docs.microsoft.com/ru-ru/previous-versions/azure/windows-server-azure-pack/dn296433(v%3Dtechnet.10) (Дата обращения: 08.02.2019)
  13. CRN IT-бизнес [Электронный ресурс]. 100 самых перспективных поставщиков облачных решений Режим доступа: https://www.crn.ru/numbers/spec-numbers/detail.php?ID=79648 (Дата обращения: 08.02.2019)
  14. Обучение в интернет [Электронный ресурс]. Облачные вычисления (Cloud computing) Режим доступа: https://www.lessons-tva.info/archive/nov031.html (Дата обращения: 08.02.2019)
  15. Портал об облачных технологиях [Электронный ресурс]. Сравнение услуг облачных провайдеров: Microsoft Azure, AWS или Google Cloud. Режим доступа: http://la.by/blog/sravnenie-uslug-oblachnyh-provayderov-microsoft-azure-aws-ili-google-cloud (Дата обращения: 08.02.2019)