Добавлен: 14.05.2023
Просмотров: 351
Скачиваний: 3
СОДЕРЖАНИЕ
1. Облачные технологии с точки зрения клиента
1.2. Обязательные признаки облачных сервисов
1.4 Крупнейшие поставщики облачной инфраструктуры
2. Принципы обслуживания облачных ресурсов с точки зрения поставщика
2.9. Подходы к разработке программного обеспечения для облачных ресурсов
Введение
21 век обозначился как век информационных технологий. Потребности бизнеса диктуют потребность во всё больших вычислениях и распределённых нагрузок. Появилось такое явление как Digital технологии: когда и входными данными и результатом деятельности бизнеса является информация. Информацию необходимо хранить, перерабатывать, обмениваться и делать легкодоступной.
До недавнего времени инфраструктурой внутри компаний занимались системные инженеры и системные администраторы, которые настраивали сети и средства обработки данных внутри компаний. С ростом потребностей бизнеса в количестве обработки данных часть вычислений перекочевала в дата-центры, - системы серверов, предоставляемые специальными организациями – провайдерами. Первоначально на этих серверах были расположены сайты компаний, затем появились порталы для внутреннего документооборота.
Сегодня дата-центры предоставляют целый спектр информационных услуг. Такие услуги называются облачными технологиями. И, если первоначально они были направлены на удовлетворение потребностей бизнеса, то сегодня облачные услуги стали доступны самым простым пользователям разного возраста. И, если вчера мы только что-то о них только слышали, то на сегодняшний момент облачные технологии вошли не только в домашние компьютеры, но и в мобильные устройства: в телефоны, планшеты, в бытовую технику, в программное обеспечение умных домов.
1. Облачные технологии с точки зрения клиента
1.1. Облачные услуги
Итак, что же такое облачные технологии и облачные вычисления?
Облачные вычисления (англ. cloud computing) — модель обеспечения удобного сетевого доступа по требованию к некоторому общему фонду конфигурируемых вычислительных ресурсов (например, сетям передачи данных, серверам, устройствам хранения данных, приложениям и сервисам — как вместе, так и по отдельности), которые могут быть оперативно предоставлены и освобождены с минимальными эксплуатационными затратами или обращениями к провайдеру.
Само понятие облачных технологий к нам пришло в 2006 году, и с тех пор этот принцип занимает всё более твёрдые позиции в сфере ИТ. В 2014 году затраты организаций на облачные услуги оцениваются в $175 млрд.
Концепция распределённых вычислений по принципу коммунального хозяйства появилась ещё в 60-х годах прошлого века. Она была предложена Джоном Маккарти, - автором языка Лисп а также таких понятий, как искусственный интеллект и функциональные языки программирования.
Следующим шагом в 1999 году было появление CRM-системы от salesforce.com, предоставляемой по подписке через веб-сайт. Amazon.com в 2002 году представила доступ к книжному интернет-магазину. В последствие Amazon стала технологичной компанией, которая стала развивать идею вычислительной эластичности, и в августе 2006 года представила миру проект Elastic Computing Cloud (Amazon EC2). В том же году упоминание о cloud и cloud computing прозвучали в одном из выступлений главы Google Эрика Шмидта.
Отсылка к «облаку» использовалась как метафора, основанная на изображении Интернета на диаграмме компьютерной сети, или как образ сложной инфраструктуры, за которой скрываются все технические детали:
Рисунок 1.1
В 2009 году появился сервис Google Apps, который привёл к популяризации и осмыслению облачных вычислений.
В 2009—2011 годы были сформулированы несколько важных обобщений представлений об облачных вычислениях, в частности, выдвинута модель частных облачных вычислений, актуальная для применения внутри организаций, выделены различные модели обслуживания (SaaS, PaaS, IaaS).
1.2. Обязательные признаки облачных сервисов
В 2011 году Национальный институт стандартов и технологий сформировал определение, которое структурировало и зафиксировало все возникшие к этому времени трактовки и вариации относительно облачных вычислений в едином понятии:
- Самообслуживание по требованию (англ. self service on demand) — потребитель самостоятельно определяет и изменяет вычислительные потребности, такие как серверное время, скорости доступа и обработки данных, объём хранимых данных без взаимодействия с представителем поставщика услуг;
- Универсальный доступ по сети — услуги доступны потребителям по сети передачи данных вне зависимости от используемого терминального устройства;
- Объединение ресурсов (англ. resource pooling) — поставщик услуг объединяет ресурсы для обслуживания большого числа потребителей в единый пул для динамического перераспределения мощностей между потребителями в условиях постоянного изменения спроса на мощности; при этом потребители контролируют только основные параметры услуги (например, объём данных, скорость доступа), но фактическое распределение ресурсов, предоставляемых потребителю, осуществляет поставщик (в некоторых случаях потребители всё-таки могут управлять некоторыми физическими параметрами перераспределения, например, указывать желаемый центр обработки данных из соображений географической близости);
- Эластичность — услуги могут быть предоставлены, расширены, сужены в любой момент времени, без дополнительных издержек на взаимодействие с поставщиком, как правило, в автоматическом режиме;
- Учёт потребления — поставщик услуг автоматически исчисляет потреблённые ресурсы на определённом уровне абстракции (например, объём хранимых данных, пропускная способность, количество пользователей, количество транзакций), и на основе этих данных оценивает объём предоставленных потребителям услуг.
1.3. Модели услуг
Давайте рассмотрим три основные модели обслуживания облачных сервисов:
Программное обеспечение как услуга (SaaS, англ. Software-as-a-Service) — модель, в которой потребитель использует прикладное программное обеспечение провайдера, работающего в облачной инфраструктуре и доступного с разных устройств посредством тонкого клиента, - например, из браузера (как то, веб-почта), - или через интерфейс программы. Основная физическая и виртуальная инфраструктура облака находится под управлением и влиянием облачного провайдера, - в том числе сети, серверы, операционные системы, хранение, или даже индивидуальные возможности приложения (за исключением ограниченного набора пользовательских настроек конфигурации приложения).
Платформа как услуга (PaaS, англ. Platform-as-a-Service) — модель, когда потребитель может использовать облачную инфраструктуру для размещения базового программного обеспечения с последующим размещением на нём новых или существующих приложений (собственных, разработанных на заказ или приобретённых тиражируемых приложений). В состав таких платформ входят инструментальные средства создания, тестирования и выполнения прикладного программного обеспечения — системы управления базами данных, связующее программное обеспечение, среды исполнения языков программирования — предоставляемые облачным провайдером.
Физическая и виртуальная инфраструктура облака, - в том числе сети, серверы, операционные системы, хранение, - осуществляется облачным провайдером, за исключением разработанных или установленных приложений, а также, по возможности, параметров конфигурации среды (платформы).
Инфраструктура как услуга (IaaS, англ. Infrastructure-as-a-Service) предоставляется как возможность использования облачной инфраструктуры для самостоятельного управления ресурсами обработки, хранения, сетями и другими фундаментальными вычислительными ресурсами, например, потребитель может устанавливать и запускать произвольное программное обеспечение, которое может включать в себя операционные системы, платформенное и прикладное программное обеспечение. Потребитель может контролировать операционные системы, виртуальные системы хранения данных и установленные приложения, а также обладать ограниченным контролем за набором доступных сетевых сервисов (например, межсетевым экраном, DNS). Контроль и управление основной физической и виртуальной инфраструктурой облака, в том числе сети, серверов, типов используемых операционных систем, систем хранения осуществляется облачным провайдером.
Эти три термина дают понимание принципов работы облаков. Они замещают для пользователей и организаций собственную инфраструктуру, позволяя пользоваться ими без дополнительных издержек на собственное оборудование и сократить штат ИТ-отдела.
1.4 Крупнейшие поставщики облачной инфраструктуры
Большинство современных дата-центров уже предоставляют в той или иной степени облачные услуги: на их основе можно поднять инфраструктуру, воспользоваться готовыми платформами для размещения своих разработок или пользоваться порталами для обеспечения собственных нужд.
Самыми большими поставщиками облачной инфраструктуры IaaS на сегодня являются Microsoft Azure, Google Cloud Platform и Amazon Web Services.
1.5. Облако от Microsoft
Microsoft Azure (Windows Azure) — название облачной платформы Microsoft. Предоставляет возможность разработки и выполнения приложений и хранения данных на серверах, расположенных в распределённых дата-центрах. Первоначально называлась Windows Azure. В 2014 году платформа была переименована в Microsoft Azure.
Microsoft Azure реализует две облачные модели — платформы как сервиса (PaaS) и инфраструктуры как сервиса (IaaS). Работоспособность платформы Microsoft Azure обеспечивает сеть глобальных дата-центров Microsoft.
Основные особенности данной модели:
- оплата только потреблённых ресурсов;
- общая, многопоточная структура вычислений;
- абстракция от инфраструктуры.
В основе работы Microsoft Azure лежит запуск виртуальной машины для каждого экземпляра приложения. Разработчик определяет необходимый объём для хранения данных и требуемые вычислительные мощности (количество виртуальных машин), после чего платформа предоставляет соответствующие ресурсы. Когда первоначальные потребности в ресурсах изменяются, в соответствии с новым запросом заказчика платформа выделяет под приложение дополнительные или сокращает неиспользуемые ресурсы дата-центра.
Microsoft Azure как PaaS обеспечит не только все базовые функции операционной системы, но и дополнительные: выделение ресурсов по требованию для неограниченного масштабирования, автоматическую синхронную репликацию данных для повышения отказоустойчивости, обработку отказов инфраструктуры для обеспечения постоянной доступности и многое другое.
Microsoft Azure также реализует другой тип сервиса — инфраструктуру как сервис. Модель предоставления инфраструктуры (аппаратных ресурсов) реализует возможность аренды таких ресурсов, как серверы, устройства хранения данных и сетевое оборудование. Управление всей инфраструктурой осуществляется поставщиком, потребитель управляет только операционной системой и установленными приложениями.
В галерее образов доступны образы следующих операционных систем: Windows Server (2008, 2012, Technical Preview), CoreOS, Ubuntu Server, CentOS, openSUSE, SUSE Linux Enterprise Server, Oracle Linux.
В 2013 году было представлено новое хранилище образцов виртуальных машин — VM Depot — это проект для сообщества Windows Azure, запущенный командой Microsoft Open Technologies. Содержимое портала, а также настроенные для разных задач виртуальные машины, будут создаваться и публиковаться силами сообщества.
Microsoft Azure состоит из:
Compute — компонент, реализующий вычисления на платформе Windows Azure.
Storage — компонент хранилища предоставляет масштабируемое хранилище. Хранилище не имеет возможности использовать реляционную модель и является альтернативной, «облачной» версией SQL Server.
Fabric — Windows Azure Fabric по своему назначению является «контролёром» и ядром платформы, выполняя функции мониторинга в реальном времени, обеспечения отказоустойчивости, выделении мощностей, развертывания серверов, виртуальных машин и приложений, балансировки нагрузки и управления оборудованием.
Практически все сервисы Microsoft Azure имеют интерфейс взаимодействия API, построенный на основе ограничений для распределённых гипер-систем REST, что позволяет разработчикам использовать «облачные» сервисы с любой операционной системы, устройства и платформы.
Microsoft Azure предоставляет набор сервисов, покрывающих широкий спектр сценариев:
Cloud Services:
Web-роль — веб-роли в Microsoft Azure имеют особое назначение: предоставление выделенного веб-сервера служб IIS для размещения интерфейсных веб-приложений. Веб-роли позволяют развертывать веб-приложения с последующим масштабированием вычислительных ресурсов.
Worker-роль — приложения, размещенные в рабочих ролях, могут выполнять асинхронные, продолжительные или непрерывные задачи независимо от действий пользователей. Изоляция фоновых процессов приложения в рабочей роли и размещение интерфейсной части в веб-роли позволяет распределить логику приложения и управлять масштабированием приложения.
Web Sites — веб-сайты поддерживают ASP.NET, Java, Node.js или PHP (либо CMS — WebMatrix, Joomla, Drupal, WordPress, DotNetNuke, Umbraco и др.) и разворачивать за секунды с использованием FTP, Git, TFS, Mercurial и Dropbox. Использование в режиме Free бесплатно (однако накладываются серьёзные ограничения). По умолчанию веб-сайты находятся в состоянии Free, то есть мощности делятся между веб-сайтами, но при необходимости можно увеличить количество экземпляров и перевести веб-сайт в режим резервирования ресурсов. С июня 2013 года сервис Web Sites официально поддерживает пользовательские сертификаты SSL (ранее поддерживались только сертификаты, предлагаемые Microsoft) как по IP-адресу, так и на базе SNI.