Файл: Облачные сервисы (Облачные услуги).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.05.2023

Просмотров: 357

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Data Management — нереляционные хранилища данных: таблицы, диски, очереди, хранение двоичных объектов + реляционное хранилище данных в виде SQL Database.

Таблицы — хранилище таблиц используется приложениями, которые хранят большие объёмы данных с дополнительными требованиями к структурированию. В таблице хранятся структурированные данные, между которыми не устанавливаются отношения.

Очереди — очереди обеспечивают надежный и непрерывный обмен сообщениями между приложениями.

Блобы — хранилище BLOB-объектов — это простейший способ хранения больших объёмов неструктурированных текстовых или двоичных данных, таких как видео, музыкальные файлы и изображения.

SQL Database — реляционная база данных — это высокодоступная масштабируемая облачная служба базы данных, построенная на основе технологий SQL Server.

SQL DataSync — облачная служба синхронизации данных, обеспечивающая как однонаправленную, так и двунаправленную синхронизацию. Служба Data Sync позволяет легко обмениваться данными между SQL в Azure и локальными базами данных SQL Server, а также между несколькими базами данных SQL Databases (SQL Azure);

SQL Reporting — служба Microsoft SQL Reporting позволяет легко встроить в приложение Windows Azure возможности работы с отчётами. Данная служба более не поддерживается и не разрабатывается.

SQL Federations — федерация SQL в Azure значительно упрощает масштабирование множества баз данных, размещенных на сотнях узлов, что позволяет клиентам платить только за реально используемые ресурсы. Данная служба более не поддерживается и не разрабатывается.

Backup — этот сервис предлагает возможность организации защищённой инфраструктуры сохранения бэкапов Windows Server в облаке. Windows Azure Backup осуществляет поддержку бэкапов информации из систем на базе Windows Server 2008 R2 SP1 и Windows Server 2012, Windows Server 2012 Essentials и System Center Data Protection Manager 2012 SP1 в Windows Azure. Поддерживаются инкрементальные бэкапы. Поддерживаются политики и все стандартные средства бэкапов Windows Server для организации сжатия данных и шифрования.

Azure Files - этот сервис дает возможность обращаться к данным хранилища Azure Storage как к сетевому ресурсу по протоколу SMB, что позволяет осуществлять привычный доступ к данным из виртуальных машин через сетевое взаимодействие.

Performance and mobile:

Content Delivery Network — сеть кэширующих серверов (сеть CDN) повышает производительность приложений путём кэширования контента ближе к клиентам и пользователям, например, сеть CDN позволяет доставлять фрагменты мультимедийных файлов для динамического адаптивного воспроизведения мультимедиа поверх HTTP-контента.


Caching — распределённый кэш — распределённый кэш в памяти, с помощью которого вместо медленного дискового хранилища приложения получают высокоскоростной доступ к данным, хранящимся в оперативной памяти, с возможностью масштабирования;

Кэш на базе Redis — сервис Azure Redis Cache представляет собой готовое redis-хранилище с требуемым размером для задач кеширования данных

Media Services — службы мультимедиа включают в себя облачные версии многих существующих технологий платформы мультимедиа Microsoft и многих партнёров, в том числе для просмотра, кодирования, преобразования формата и защиты контента, а также потоковой передачи по запросу и в реальном времени.

Mobile Services — предлагает облачную инфраструктуру для всех популярных мобильных платформ: Windows 8, Windows Phone, iOS и Android. На основе сервиса можно построить облачный бэкенд, на который перенести задачи по хранению данных, аутентификации и Push-уведомлений. Поддерживается Xamarin.

Identity — служба идентификации обеспечивает управление удостоверениями и доступом к приложениям, с помощью службы Microsoft Azure Active Directory (бывший Access Control Service) можно обеспечить единый вход, повышенную безопасность и простое взаимодействие с уже развернутыми в Active Directory приложениями, а также выполнить интеграцию с другими провайдерами аутентификации (Live ID, Google, Facebook и т. п.). Windows Azure Active Directory позволяет решать задачи единой авторизации пользователей для множества сервисов (Single Sign On), вести единый каталог пользователей, синхронизировать данные каталога с Active Directory на предприятии и т. д. Microsoft Azure Active Directory — это полноценная реализация каталога в облаке. Сервис поддерживает популярные открытые стандарты обеспечения федераций: SAML 2.0, OData, WS-FED, OAuth 2.0/OpenID.

Connectivity:

Messaging:

Service Bus — интеграционная шина предоставляет возможности ретрансляции и безопасного обмена сообщениями и позволяет создавать распределённые и слабосвязанные приложения в облаке, а также гибридные приложения, размещенные одновременно в частных и общедоступных облачных службах. Оперирует терминами Relay, Topics, Queues, Notification Hubs. С июня 2013 года в Service Bus была внедрена глобальная доступность поддержки открытого стандарта AMQP.

BizTalk Services — сервис, который предназначен для решения задач интеграции разнородных окружений на уровне предприятия и облака, предлагая возможности Business-to-Business (B2B) и Enterprise Application Integration (EAI) взаимодействий.

Networking:

Virtual Network — сервис для соединения облачных инфраструктур с локальными методом Site-To-Site VPN и Point-To-Site VPN.


Connect — сервис более не поддерживается (заменен Virtual Network).

Traffic — диспетчер трафика обеспечивает балансировку нагрузки по входящему трафику между несколькими размещенными службами Windows Azure независимо от того, работают ли они в одном центре обработки данных или распределены по нескольким.

RemoteApp - Azure RemoteApp, который позволяет размещать в облаке Azure существующие клиентские Windows-приложения и получать к ним доступ с любых компьютеров, планшетов, ноутбуков или телефонов через RDP-клиент (Windows, Mac OS X, iOS и Android).

ExpressRoute — сервис Azure ExpressRoute предлагает пользователям возможность подключить собственную инфраструктуру напрямую к датацентрам Microsoft Azure минуя сеть интернет как промежуточное звено.

Store — Windows Azure Store предлагает унифицированный доступ к сервисам (не Microsoft) для проектов Microsoft Azure с единым биллингом и панелью управления.

Marketplace — это магазин облачных сервисов и данных для организаций. В настоящий момент в Marketplace доступно более 600 облачных решений и 170 источников данных.

HPC и Big Data — параллельные вычисления или планировщик HPC позволяет разрабатывать на платформе Microsoft Azure параллельные приложения, требующие больших вычислительных мощностей, кроме того, это средство позволяет по требованию запускать в облаке виртуальные узлы, предоставляя таким образом доступ к вычислительным ресурсам, необходимым для обработки пиковых или непредсказуемых нагрузок. Это позволяет использовать малые локальные кластеры и подключаться к Microsoft Azure, когда требуются дополнительные ресурсы. Кроме этого, в Microsoft Azure доступен сервис Microsoft Azure HDInsight (Hadoop). HDInsight — это облачный сервис, предлагающий экосистему и кластеры Hadoop по запросу. С помощью портала Microsoft Azure можно создавать кластеры Hadoop с размером до 32 узлов. Кроме создания задач MapReduce, можно получить доступ к интерактивной консоли, которая позволяет писать запросы к данным на JavaScript и Hive.

API Management - этот сервис предлагает разработчикам собственных API возможность получить окружение по управлению, мониторингу и администрированию своего API, размещенного в любом месте, как в облаке, так и на любом хостинге, включая собственную инфраструктуру. [1]

Для удобства приведём таблицу соответствий сервисов трёх гигантов:

Google Cloud Platform

Amazon Web Services

Microsoft Azure

Google Compute Engine

Amazon EC2

Azure Virtual Machines

Google App Engine

AWS Elastic Beanstalk

Azure Cloud Services

Google Container Engine

Amazon EC2 Container Service

Azure Container Service

Google Cloud Bigtable

Amazon DynamoDB

Azure Cosmos DB

Google BigQuery

Amazon Redshift

Microsoft Azure SQL Database

Google Cloud Functions

Amazon Lambda

Azure Functions

Google Cloud Datastore

Amazon DynamoDB

Cosmos DB

Google Storage

Amazon S3

Azure Blob Storage


2. Принципы обслуживания облачных ресурсов с точки зрения поставщика

2.1. DevOps

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

Термин "DevOps" был популяризирован на конференции «Дни DevOps» ("DevOps Days") в 2009 году в Бельгии. После этого «Дни DevOps» проводились в Индии, США, Бразилии, Австралии, Германии, Швеции и даже в Росси, - где сумел побывать в 2017 году и я.

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

Большинство идей для DevOps взяты из методологии управления системами предприятия и движения Agile (операции и инфраструктура). [2]

2.2 Agile

Agile - Гибкая методология разработки (англ. Agile software development, agile-методы) — серия подходов к разработке программного обеспечения, ориентированных на использование итеративно-инкрементной разработки, динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля. На каждой итерации Agile-евангелист решает, кто из разработчиков при разработке в данный момент является самым компетентным. Существует несколько методик, относящихся к классу гибких методологий разработки, в частности экстремальное программирование, DSDM, Scrum, FDD.

Применяется как эффективная практика организации труда небольших групп (которые делают однородную творческую работу) в объединении с управлением ими комбинированным (либеральным и демократическим) методом.


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

Agile-методы делают упор на непосредственное общение лицом к лицу. Большинство agile-команд расположены в одном офисе, иногда называемом англ. bullpen. Как минимум, она включает и «заказчиков» (англ. product owner — заказчик или его полномочный представитель, - бизнес-аналитик, системный аналитик или сам клиент, определяющий требования к продукту). Офис может также включать тестировщиков, дизайнеров интерфейса, технических писателей и менеджеров.

Основной метрикой agile-методов является рабочий продукт. Отдавая предпочтение непосредственному общению, agile-методы уменьшают объём письменной документации по сравнению с другими методами. Это привело к критике этих методов как недисциплинированных. [3]

2.3 Ценности Agile

Манифест практики agile был придуман и объявлен 11-13 февраля 2001 года на съезде величайших системных аналитиков, архитекторов и разработчиков:

  1. Люди и взаимодействие важнее процессов и инструментов
  2. Работающий продукт важнее исчерпывающей документации
  3. Сотрудничество с заказчиком важнее согласования условий контракта
  4. Готовность к изменениям важнее следования первоначальному плану

То есть, не отрицая важности того, что справа, мы всё-таки больше ценим то, что слева.

2.4 Основные принципы Agile

  1. Наивысшим приоритетом является удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения;
  2. Изменение требований приветствуется, даже на поздних стадиях разработки;
  3. Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев;
  4. На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе;
  5. Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им;
  6. Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды;
  7. Работающий продукт — основной показатель прогресса;
  8. Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно;
  9. Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта;
  10. Простота — искусство минимизации лишней работы — крайне необходима;
  11. Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд;
  12. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.