Добавлен: 15.06.2023
Просмотров: 314
Скачиваний: 2
СОДЕРЖАНИЕ
1. Облачные сервисы: основные понятия и возможности
1.1. Понятие и свойства облачных технологий
1.2. Модели и стандарты облачных сервисов
1.3. Тенденции развития облачных технологий
2. Особенности развертывания облачной среды в исследовательской лаборатории
2.1. Обзор технологий внедрения и адаптации облачных сервисов
Введение
Актуальность темы исследования.
Современные тенденции, прослеживаемые в индустрии информационных технологий, лишний раз подтверждают, что мир развивается по спирали, а новое - это зачастую хорошо забытое старое. Так, принцип коллективного использования вычислительных ресурсов, реализованный на базе «больших ЭВМ» в 1960-х годах, на рубеже 1980-1990-x годов с появлением персональных компьютеров был временно забыт, но теперь приобретает популярность уже в новом качестве.
Благодаря персональным компьютерам пользователи вычислительных систем в полной мере смогли насладиться свободой, которую дает понятие «персональный». Однако персональные устройства принесли с собой и персональные хлопоты, связанные с обслуживанием аппаратного и программного обеспечения, информационной защитой, резервированием данных, - все то, что раньше входило исключительно в должностные обязанности системных администраторов. Другим недостатком персональных компьютеров является низкая эффективность их использования. С одной стороны, производительности персонального компьютера часто не хватает для решения сложных вычислительных задач, с другой стороны, большую часть времени персональный компьютер простаивает. Поэтому уже с конца 1980-х годов начался обратный процесс, связанный с консолидацией вычислительных ресурсов в общедоступные пулы для решения пользовательских задач.
В настоящее время эти тенденции развития IT-технологий привели к появлению облачных сервисов, которые приобретают все большее распространение в сфере хранения данных, объединения большого количества пользователей на одной платформе и других областях.
Объект и предмет исследования.
Объектом исследования данной курсовой работы является семейство облачных сервисов OpenStack. В качестве предмета исследования выступают понятие и тенденции развития облачных технологий, а также их использование в исследовательской лаборатории.
Цель и задачи исследования.
Целью курсовой работы является изучение сущности облачных технологий. В качестве средства достижения данной цели будут изучены возможности внедрения облачных сервисов в исследовательской лаборатории.
Задачи в работе следующие:
1) рассмотреть понятие и свойства облачных технологий, а также их основные модели и стандарты;
2) изучить работу провайдеров, предоставляющих облачные сервисы, а также содержание данных услуг;
3) обозначить тенденции развития облачных технологий в настоящее время;
4) показать особенности развертывания облачных технологий в рамках исследовательской лаборатории.
Структура курсовой работы.
Исследование состоит из введения, двух глав (теоретической и практической), заключения, списка использованных источников, приложения.
1. Облачные сервисы: основные понятия и возможности
1.1. Понятие и свойства облачных технологий
В технологиях распределенной обработки данных в последние годы наметилась тенденция предоставления арендуемых вычислительных мощностей в виде облачных Интернет-сервисов. Сосредоточение очень большой вычислительной мощности в специализированных центрах обработки данных (ЦОД) облачных провайдеров по всему миру в разных странах (например, в США, Великобритании, государствах Евросоюза, Японии, России и в других странах), а также современная оперативная доступность ЦОД в различных точках Земли за счет стремительного увеличения пропускной способности сети Интернет, привели к созданию геоинформационной инфраструктуры. Эта инфраструктура основана на огромном количестве разнообразных разного назначения Web-сервисов, серверы которых территориально рассредоточены по всему миру, но реально совместно работают в больших информационных проектах.[1]
Говоря о понятии облачных технологий, следует отметить, что в настоящее время можно встретить много толкований термина «облачные технологии». Например, Е. Гребнев предлагает следующее: «Облачные технологии (облачные вычисления CloudComputing) - это технологии распределённой обработки данных, в которой компьютерные ресурсы и мощности предоставляются пользователю как Интернет-сервисы».[2]
Облачные сервисы позволяют организовать хранение информации различного вида; предоставить инструменты для обработки данных; помочь в организации совместной деятельности групп пользователей (см. рис.1 в приложении 1).
Как отмечают М.В. Кузьмина, Т.С. Пивоварова и Н.И. Чупраков, «преимуществами облачных технологий является управление большими инфраструктурами, обеспечение безопасности, отсутствие зависимости от модификаций компьютеров и программного обеспечения. К недостаткам относятся зависимость от наличия и качества канала связи, риски технических сбоев и правовые вопросы».[3]
В настоящее время число поставщиков, предлагающих облачные решения, исчисляется сотнями и количество новых облачных предложений продолжает увеличиваться. При этом основными поставщиками облачной инфраструктуры считаются Amazon, Google и Microsoft.[4] У каждой из компаний имеется целая линейка предоставляемых услуг.
Национальный Институт стандартов и технологий NIST (National Institute of Standards and Technology, USA) в своем документе «The NIST Definition of Cloud Computing»[5] определяет следующие характеристики облаков:
- возможность в высокой степени автоматизированного самообслуживания системы со стороны провайдера;
- наличие системы Broad Network Access;
- сосредоточенность ресурсов на отдельных площадках для их эффективного распределения;
- быстрая масштабируемость (ресурсы могут неограниченно выделяться и высвобождаться с большой скоростью в зависимости от потребностей);
- управляемый сервис (система управления облаком автоматически контролирует и оптимизирует выделение ресурсов).
Самообслуживание по требованию.
У потребителя есть возможность получить доступ к предоставляемым вычислительным ресурсам в одностороннем порядке по мере потребности, автоматически, без необходимости взаимодействия с сотрудниками каждого поставщика услуг.
Широкий сетевой доступ. Предоставляемые вычислительные ресурсы доступны по сети через стандартные механизмы для различных платформ, тонких и толстых клиентов (мобильных телефонов, планшетов, ноутбуков, рабочих станций и т.п.).
Объединение ресурсов в пулы. Вычислительные ресурсы провайдера объединяются в пулы для обслуживания многих потребителей по многоарендной (multi-tenant) модели. Пулы включают в себя различные физические и виртуальные ресурсы, которые могут быть динамически назначены и переназначены в соответствии с потребительскими запросами. Нет необходимости в том, чтобы потребитель знал точное местоположение ресурсов, однако можно указать их местонахождение на более высоком уровне абстракции (например, страна, регион или ЦОД). Примерами такого рода ресурсов могут быть системы хранения, вычислительные мощности, память, пропускная способность сети.
Мгновенная эластичность. Ресурсы могут быть легко выделены и освобождены, в некоторых случаях автоматически, для быстрого масштабирования соразмерно спросу. Для потребителя возможности предоставления ресурсов видятся как неограниченные, то есть они могут быть присвоены в любом количестве и в любое время.
Измеряемый сервис. Облачные системы автоматически управляют и оптимизируют ресурсы с помощью средств измерения, реализованных на уровне абстракции применительно для разного рода сервисов (например, управление внешней памятью, обработкой, полосой пропускания или активными пользовательскими сессиями). Использованные ресурсы можно отслеживать и контролировать, что обеспечивает прозрачность как для поставщика, так и для потребителя, использующего сервис.[6]
1.2. Модели и стандарты облачных сервисов
В облачных технологиях принято выделять следующие модели: инфраструктура как сервис (IaaS), платформа как сервис (PaaS) и программное обеспечение как сервис (SaaS).[7]
За последнее десятилетие облачные вычисления уже успели зарекомендовать себя, но многие разработчики и потребители облачных служб до сих пор выбирают IaaS с отделом администраторов, вместо PaaS без необходимости в команде (дорогостоящих) администраторов. Тем не менее, если вы занимаетесь разработкой программного обеспечения, вы бы хотели фокусироваться своих прикладных программных задачах. PaaS хотя и не выглядит таким привлекательным на первый взгляд из-за своих расценок, в сравнении с IaaS, зато избавляет от самостоятельной необходимости администрирования. Но выбор PaaS провайдера несколько сложнее, чем просто сопоставление цены и предоставляемых мощностей за эту цену. Поскольку PaaS в большинстве случаев не предоставляет возможности самому управлять виртуальными машинами, то и выбор нужно начинать с выяснения поддержки провайдером языка программирования, на котором написано ваше приложение. Затем нужно определиться с компонентами приложения, и выбрать того провайдера который удовлетворяет всем требованиям. Одним из качеств, которое присуще облачным платформам, это автоматическая масштабируемость, поэтому рациональнее и компоненты выбирать по такому же принципу, т.е. вместо того чтобы подключить компонент MySQL к виртуальной машине, который просто установит базу данных, следует использовать сервисы. Например, в случае с MySQL это может быть Xeround, позволяющий забыть о масштабируемости не только на уровне приложения, но и на уровне базы данных.[8]
В настоящее время в технологиях облачных сервисов существуют активно обсуждаемые в настоящее время стандарты. Перечислим некоторые из них:
- ISO/IEC JTC 1/SC 27
- Cloud Security Alliance
- Cloud Standards Customer Council
- Distributed Management Task Force (DTMF)
- IEEE
- National Institute of Standards and Technology (NIST)
- OASIS
- Open Cloud Consortium (OCC)
- Storage Networking Industry Association (SNIA)
- Рабочая группа по облачным вычислениям в составе Open Group.
Безусловно, одним из лидеров и родоначальников облачных технологий является компания Amazon с их серией продуктов из Amazon Web Services. Компания Amazon насчитывает 338 историй успеха в 9 категориях.[9] Ниже приведен перечень наиболее известных проектов, причем отметим в скобках оценочные статистические данные по количеству успешных крупных проектов по категориям.
- Хостинг приложений (196), среди них Ericsson, Global Blue, ThoughtWorks и UniCredit.
- Резервное копирование (26) - 37signals, Amazon.com, Ericsson, NASDAQ OMX и Yelp.
- Доставка контента (7) - IMDb и Linden Lab (Second Life).
- Электронная коммерция (4).
- Облачные вычисления (34) - foursquare, NYU Langone Medical Center, Nokia Siemens Networks, University of Melbourne и University of Barcelona.
- Мультимедийный хостинг (25) - Shazam.
- Поисковые системы (4) - Alexa.
- Веб-хостинг (36) - SEGA.
- On-demand workforce (6).
Поскольку платформа (в контексте облачных технологий) подразумевает, отсутствие необходимости самим настраивать среду запуска приложений, то критичным является выбор этой платформы, т.к. кроме языка программирования, поддерживаемого платформой, критичным являются и сопутствующие технологии, такие как базы данных, почтовые сервера, системы мониторинга, очереди сообщений, кэш сервера и другие.
В таблице представлены некоторые характерные данные, полученные в процессе обзора популярных облачных платформ, которые перечислены в заголовке таблицы.
В качестве критериев для анализа были выбраны такие параметры как: поддерживаемые языки программирования, количество дополнений, причем общие и в различных категориях, базы данных, почтовые сервисы, средства мониторинга и очередей сообщений.
Таблица 1
Характерные данные популярных облачных платформ
|
Cloud Control |
App Harbor |
appfog |
Heroku |
Engine Yard |
Joyent |
|
|
Количество дополнений |
23 |
31 |
13 |
90 |
52 |
34 |
|
Clojure |
+ |
|||||
|
Java |
+ |
+ |
||||
|
Python |
+ |
+ |
||||
|
Scala |
+ |
|||||
|
node.js |
+ |
+ |
+ |
+ |
||
|
Ruby |
+ |
+ |
+ |
|||
|
Go |
+ |
|||||
|
PHP |
+ |
+ |
+ |
+ |
||
|
NET |
+ |
+ |
||||
|
БД |
4 |
12 |
4 |
16 |
7 |
7 |
|
Почта |
2 |
3 |
2 |
4 |
3 |
1 |
|
Мониторинг |
1 |
5 |
3 |
18 |
13 |
1 |
|
Очередь сообщений |
2 |
2 |
2 |
4 |
2 |
0 |