Облачные вычисления
Содержание
Введение
На протяжении многих лет компьютерная индустрия следовала по пути постоянного наращивания вычислительной мощности. Программное обеспечение приходящее на смену старому, требовало все более мощных процессоров и больших объемов памяти. Затраты на дата-центры растут с той же скоростью.
С появлением подхода web 2.0, ориентированного на социальную составляющую информационной среды, начала бурно развиваться «философия» софта по запросу. Она основывается на том, что пользователь или компания платит только за те ресурсы, которые потребляет. Причем количество доступных ресурсов зависит от нагрузки, это достигается путем масштабирования платформы.
Целью данной работы является изучения перспектив развития облачных вычислений, выделение видов и подходов при их разработке. Изучение особенностей разработки облачного программного обеспечения, анализ рисков связанных с безопасностью информации и надежностью технологии, а так же рациональная составляющая такой технологии.
Облачные вычисления это технология, которая использует Интернет и удаленный центр обработки данных для предоставления данных и запуска приложений. Облачные вычисления позволяет потребителям и предприятиям использовать приложения без установки и иметь доступ к их личным файлам на любом компьютере с доступом в Интернет. Эта технология позволяет получить гораздо более эффективные вычислительные возможности путем балансирования объемов хранилищ, памяти, процессорного времени и пропускной способности в зависимости от загруженности и задач.
Простой пример облачных вычислений электронная почта Gmail. Пользователю не нужно программное обеспечение или сервер для использования сервиса. Всем потребителям необходимо только подключение к Интернету. Сервер электронной почты и управления программным обеспечением, все построено на облачных сервисах и полностью управляется поставщиком службы Google.
Облачные вычисления разбиваются на три сегмента: "приложения", "платформ" и "инфраструктура". Каждый сегмент служит своей цели, и предлагает различные продукты для юридических и физических лиц по всему миру. В июне 2009 года исследования, проведенного VersionOne, обнаружили, что 41% старших ИТ-специалистов на самом деле не знают об облачных вычислениях и две трети профессионалов финансовой структуры сомневаются в этой концепции, выделяя то, что технология еще не сформировалась. В сентябре 2009 года, группа исследования Aberdeen обнаружила, что компании перешедшие на облачные сервисы достигнули в среднем 18% сокращение ИТ-бюджета и 16% сокращение затрат на электроэнергию дата центров.
Облачные вычисления особенно подходят для малого и среднего бизнеса, которые нуждаются в масштабируемоти быстро, но не имеют финансовых ресурсов для работы крупных центров обработки данных и/или покупать дорогие лицензии на программное обеспечение. Компании могут уменьшить риск, предварительно инвестируя и постепенно расширяясь со спросом.
- Теоретические основы
- Основные виды
Software as a Service (SaaS) - Программное обеспечение как сервис.
Под данным определением понимается предоставление доступа к программам, запущенным на серверах, через веб-браузер. В качестве примера можно привести веб-интерфейс к серверам электронной почты, форумы, социальные сети, фотоальбомы, а также программы, ранее доступные только посредством установки их на локальный компьютер. Известнейшим разработчиком офисных программ, использующих веб-браузер, является компания Google. Ее коллекция программ под названием Google Docs позволяет редактировать файлы и таблицы прямо в сети Интернет.
Platform as a Service (PaaS) - Платформа как сервис.
Если нужна операционная система Линукс или веб-сервер и требуется построить продукт на их основе, добавить к веб-приложениям системы управления базами данных Oracle или MySQL, специалисту необязательно подбирать аппаратное обеспечение, устанавливать и настраивать сопутствующие программы и библиотеки. Ориентированная прежде всего на разработчиков, услуга "Платформа как сервис" предоставляет возможность гибкого и широкого выбора настроенных под конкретные задачи виртуальных вычислительных ресурсов и программ, с помощью которых можно построить уникальное решение или продукт. Хорошими примерами могут служить интегрированные среды разработки и выполнения программ Google Apps и Force.com.
Infrastructure as a Service (IaaS) - Инфраструктура как сервис
Услуга "Инфраструктура как Сервис" предназначается тем пользователям, которым нужны мощные вычислительные ресурсы. Последние, как правило, стоят больших денег - не только при покупке, но и в обслуживании. Виртуальная инфраструктура позволяет сэкономить на аппаратном обеспечении и на услугах IT (например, администрирование серверов, арендная плата за место, электричество и т.п.). Также данная услуга рассчитана на масштабируемость вычислительных ресурсов, например, количество оперативной памяти, процессоров, дискового пространства можно изменять буквально на лету. Одной из разновидностей IaaS стала услуга Data Storage as a Service (dSaaS) - Хранение данных как сервис. Самыми известными представителями IaaS и dSaaS на сегодняшний день являются Elastic Compute Cloud (EC2) и Simple Storage Service (S3) компании Amazon LLC.
- Терминология
В публикациях термин «Облако» обычно представляют как народный, объясняя его облачком, которым изображают на картинках Интернет, однако фольклор здесь ни при чем. Своим появлением термин cloud computing обязан Эрику Шмидту, в настоящее время глава совета директоров Google. Еще работая в должности директора по технологиям Sun Microsystems, Шмидт пришел к выводу о родственности сети и компьютера, позже растиражированном в девизе Sun Microsystems «Сеть – это компьютер». Этот девиз – доведенная до предельного лаконизма мысль, высказанная Шмидтом еще в 1993 году: «Когда сеть станет такой быстродействующей, как процессор, компьютер как таковой перестанет существовать, он распространится по сети». Три слова: «Сеть – это компьютер» много лет интриговали компьютерную общественность. Термин cloud computing Шмидт первым использовал в августе 2006 года в интервью по окончании конференции Search Engine Strategies Conference: «У нас на глазах рождается новая модель компьютерных систем, и мне кажется, что насчитывается не так много людей, которые способны понять открывающуюся перспективу. Суть ее в том, что сервисы, поддерживающие данные и архитектуру, размещены на удаленных серверах. Данные находятся на этих серверах, на них же выполняются необходимые вычисления... И если в вашем распоряжении соответствующий браузер и соответствующие права доступа, то вы можете получить доступ к этому облаку независимо от используемого устройства».
В русскоязычной IT-сфере укрепился перевод «облачные вычисления», с которым трудно согласиться, поскольку из двух значений, имеющихся в английском языке для слова computing, выбрано явно не соответствующее контексту. Исторически первым значением действительно является «вычисления», но со временем появилось и второе – «использование компьютеров».
- История развития
Большая часть используемых людьми технологических достижений потребляется в виде сервисов из почти известных им источников, причем предпосылки к тому, что теперь называют облачным подходом, возникли еще на заре информационных технологий. Раньше всех по этому поводу высказался Нильс Барричелли, математик, работавший в знаменитом Институте передовых исследований (Institute of Advanced Studies, IAS) вместе с Джоном фон Нейманом. В 1953 году он описал умозрительную на тот момент возможность существования некоего условного пространства, в котором машины смогут кооперироваться при выполнении задач. В 1961 году один из отцов искусственного интеллекта Джон Маккарти высказал предположение, что вычисления смогут быть организованы примерно так, как обычные коммунальные услуги. Ближе всех из первопроходцев к идее облака был Джозеф Ликлайдер, в своем меморандуме, посвященном «межгалактической компьютерной сети» (1963 год): «В будущем я смогу пользоваться определенными сетевыми функциями, осуществляя выборку нужных мне данных с помощью системы, которая подберет необходимые мне программы. Для этого она будет использовать предложенные ей описания, которые со временем можно будет делать на естественном языке. Между заимствованными программами и моими собственными можно будет устанавливать связь... выполнение задач может происходить где угодно». Идеология Ликлайдера стала базисом для создания первой компьютерной сети ARPAnet в 1969 году. Последующие события, в том числе создание стандарта на электронный обмен данными EDI (Electronic Data Interchange, 1975), запуск Web 1.0 (1994), создание XML (1998), опубликование Microsoft концепции Software as a Service, принятие стандартов WSDL, UDDI и SOAP (2000), начало эксплуатации Amazon EC2 (2006), в конечном итоге привели к появлению облаков.
На вопрос, почему именно облаков, можно найти ответ в предложенной директором по технологиям Sun Microsystems Грегом Пападопулосом технико-экономической теории, получившей название «Красное смещение» (Red Shift). В соответствии с этой теорией большинство цифровых показателей, относящихся к приложениям определенного типа, удваивается менее чем за два года, и для удовлетворения их потребностей требуется иная вычислительная среда, которая должна обладать качеством, названным «гипермасштабирование» (hyperscale). Традиционные ЦОД к этому не способны, к тому же они используются крайне неэффективно, и даже виртуализация не позволяет повысить их КПД выше 15%. Мало того, наращивание мощностей обычных корпоративных ЦОД вызовет отставание их возможностей от потребностей пользователей; возникающее при этом смещение Пападопулос по аналогии с известным астрономам эффектом именовал красным. Окончательный вывод – необходимо уходить в облака, где более эффективное совместное использование ресурсов может компенсировать последствия красного смещения.
У облачного подхода три типа организации компьютерных систем, о которых:
- распределенный (grid);
- коммунальный (utility);
- автономный (autonomy).
Основой архитектуры является распределенный, коммунальному подходу соответствуют идеи сервисов, а автономный определяет принципы функционирования.
- Распределенный подход и облака
Появлению распределенный подхода (grid) предшествовал метакомпьютинг – «мета» в том смысле, что вычислительная среда состоит из компьютеров (computing of computing). Точно так же, но как имя собственное, термин Metacomputing в 80-е годы использовался в проекте американского Национального центра суперкомпьютерных приложений по объединению суперкомпьютеров. Далее Ян Фостер и Карл Кессельман начали работу над проектом Globus Toolkit, в 1997 году они описали Globus Toolkit и доложили на семинаре в Арагонской национальной лаборатории, а спустя год опубликовали книгу The Grid: Blueprint for a New Computing Infrastructure, которая заслужила неофициальное название «Библия grid».
Бизнес-модель, типичную для grid, можно назвать проектно-ориентированной. Предприятия передают свои ресурсы под управление администрации grid, создавая таким образом распределенный буфер ресурсов, физическая организация которого может быть вообще неизвестна пользователю, он в форме сервиса получает потребные ему, возможно, очень большие по объему ресурсы, за которые он расплачивается по мере их использования.
Архитектуры
grid и облаков заметно различаются, поскольку
создавались исходя из разных предпосылок.
На первые повлияло стремление как можно
эффективнее использовать дорогостоящие
распределенные вычислительные ресурсы,
сделать их динамическими и однородными.
Поэтому архитектура сфокусирована на
интеграции уже существующих ресурсов,
включая оборудование и программное обеспечение,
операционные системы, локальные средства,
обеспечивающие управление и безопасность.
В результате создается «виртуальная
организация», ресурсы которой, переведенные
в логическую форму, могут потребляться
членами только этой организации. Существование
этой организации поддерживается пятью
уровнями протоколов, инструментами и
сервисами, построенными поверх них (Рисунок 1(а)).
Нижним является инфраструктурный уровень (fabric
layer), объединяющий компьютеры, системы
хранения, сети, библиотеки кодов. Выше
него расположен уровень связности(connectivity
layer), на нем определены коммуникационные
протоколы и протоколы аутентификации. Ресурсный
уровень обеспечивает предоставление
ресурсов, возможности управления ими,
разделение между отдельными пользователями
и оплату. Коллективный
уровень (collective layer) дополняет ресурсный,
позволяя оперировать наборами ресурсов. Уровень
приложений(application layer) служит для поддержки
приложений.
Рисунок
1 архитектура grid (а),
cloud computing (б)
Архитектура облаков открыта для доступа через Сеть, а не только в рамках grid. Обращение к пулам вычислительных ресурсов и системам хранения данных осуществляется по стандартным протоколам, например таким, как WSDL и SOAP, или с помощью более продвинутых технологий Web 2.0 (REST, RSS, AJAX), а также через существующие технологии grid. Протоколы облаков можно разделить на четыре уровня них (Рисунок 1(б)). Инфраструктурный уровень (fabric layer) содержит «сырые» компьютерные ресурсы (серверы, системы хранения, сети). Уровень унификации ресурсов (unified resource layer) содержит те же ресурсы, но в абстрагированном виде – они могут быть представлены пользователям и верхнему уровню как виртуализованные серверы, кластеры серверов, файловые системы и СУБД. Уровень платформ (platform layer) добавляет набор специализированных инструментов, связующее ПО и сервисы поверх универсальных ресурсов, образуя среду для разработки и внедрения приложений. Уровень приложений (application layer) содержит приложения, исполняемые в облачной среде.
- Коммунальный подход и облака
Идея
оптимизации использования
Облака
позволяют разрабатывать, внедрять
и выполнять приложения без ограничений
по масштабированию, выполнять их с
высокой скоростью и
Прежде всего, облака должны быть готовы к работе с корпоративными приложениями и должны подчиняться требованиям соглашений об уровне обслуживания. Управление облаками осуществляется в динамическом режиме с учетом таких факторов, как условия поставки сервисов, стоимость, приоритет пользователя (в случае пиковых нагрузок предпочтение может быть отдано клиенту с более высоким приоритетом). Все эти требования распространяются на IaaS и SaaS.
Предоставление инфраструктуры в качестве сервисов первоначально называли HaaS (Hardware as a Service), то есть «аппаратное обеспечение как сервис»; иногда еще говорят о «рабочем месте как сервисе» – WaaS (Workplace as a Service). Основное достоинство IaaS в возможности получать линейно масштабируемые ресурсы практически без ограничения и платить за них по мере использования. В основе IaaS лежат современные технологии виртуализации отдельных серверов и ЦОД в целом. Необходимость в переходе на нижний уровень в архитектуры IaaS возникает в том случае, если используется какое-то нестандартное ПО, то есть когда потребность не может быть удовлетворена на уровне SaaS. При оценке потенциала IaaS необходимо учитывать, что, несмотря на все слова об облачности и виртуальности, приложения работают на реальных физических серверах, а это значит, что надо учитывать, что эти серверы имеют определенные характеристики: большинство из них построено на платформе LAMP (Linux, Apache, MySQL и Perl/PHP/Python), и не для всех приложений это лучший выбор; предприятия уже имеют собственные ресурсы, которые надо загружать; могут иметь значение законодательные акты, действующие на той или иной территории.
Для
обеспечения линейного
Альтернативой multi-tenancy является архитектура multi-instance (instance – «образец», «экземпляр»), позволяющая для каждого пользователя выделять его собственную часть облака для выполнения своих приложений. Преимущества такого подхода в большей надежности: падение одного экземпляра не влияет на другие, а данные строго разделены. Можно сказать, что архитектура multi-instance возвращает нас в исторический период «одно приложение – один сервер», но на качественно ином уровне, серверы являются виртуальными машинами. Виртуальность обеспечивает multi-instance масштабируемость, сопоставимую с коммунальной архитектурой.
- Самоуправляемые системы
В ее нынешнем виде идея самоуправления в приложении к компьютерным системам была сформулирована IBM в 2001 году в специальном манифесте Autonomic Computing, опубликованном от лица директора корпорации по исследованиям и разработкам Пола Хорна. В этом документе проводится одна простая мысль: по достижении системой определенного уровня сложности исчерпываются ресурсы ручного управления и возникают потребности и возможности для автоматизации управления или самоуправления.
В
перспективе самоуправление должно
распространиться на нижние инфраструктурные
уровни (Рисунок 2), и их развитие не может
быть сведено к экстенсивному расширению
ЦОД, построенных на принятых сегодня
принципах. Если не вводить в них принципы
самоуправления, то с неизбежностью возникнут
неразрешимые проблемы структурной сложности.
Основная идея autonomic computing состоит
в том, что система сама может адаптироваться
к целям, которые ставит перед ней администратор,
чтобы она могла включать в себя дополнительные
компоненты без вмешательства человека.
Технологии виртуализации и сервисные
архитектуры, лежащие в основе облаков,
открывают возможности для практической
реализации идей самоуправления. Самоуправление,
в свою очередь, дает возможность для реализации
коммунальной архитектуры, поскольку
обеспечивает динамическую перестройку
инфраструктуры.
Рисунок
2 Архитектура облаков
Проанализировав
три источника, можно дать такое
определение облачному
- Достоинства и недостатки
- Достоинства.
Недорогие
компьютеры для пользователей. Пользовател
Увеличенная производительность пользовательских компьютеров. Так как большая часть программ и служб запускаются удаленно в сети Интернет, пользовательские компьютеры с меньшим числом программ быстрее запускаются и работают. Одним из хороших примеров является антивирусное решение Panda Cloud Antivirus, которое позволяет сканировать данные на вирусы удаленно на мощных серверах и тем самым в 2 раза снижает нагрузку на пользовательский компьютер.
Уменьшение затрат и увеличение эффективности IT инфраструктуры. Обычные сервера средней компании загружены на 10-15%. В одни периоды времени есть потребность в дополнительных вычислительных ресурсах, в других эти дорогостоящие ресурсы простаивают. Используя необходимое количество вычислительных ресурсов в "облаке" (например, Amazon EC2) в любой момент времени, компании сокращают затраты на оборудование и его обслуживание до 50%. При этом многократно увеличивается гибкость производства в постоянно меняющейся экономической обстановке. Если достаточно большая фирма обеспокоена тем, что ценная информация будет храниться и обрабатываться на стороне, для такой фирмы можно построить свое собственное "облако" и наслаждаться всеми выгодами от виртуализации инфраструктуры.
Меньше проблем с обслуживанием. Так как физических серверов с внедрением Cloud Computing становится меньше, их становится легче и быстрее обслуживать. Что касается программного обеспечения, то последнее установлено, настроено и обновляется в "облаке".
Меньше
затрат на приобретаемое
программное обеспечение. Вмест
Постоянное обновление программ. В любое время, когда пользователь запускает удаленную программу, он может быть уверен, что эта программа имеет последнюю версию - без необходимости что-то переустанавливать или платить за обновления.
Увеличение доступных вычислительных мощностей. По сравнению с персональным компьютером вычислительная мощь, доступная пользователю "облачных" компьютеров, практически ограничена лишь размером "облака", то есть общим количеством удаленных серверов. Пользователи могут запускать более сложные задачи, с большим количеством необходимой памяти, места для хранения данных, тогда, когда это необходимо. Иными словами, пользователи могут при желании легко и дешево поработать с суперкомпьютером без каких-либо фактических приобретений.
Неограниченный объем хранимых данных. По сравнению с доступным местом для хранения информации на персональных компьютерах объем хранилища в "облаке" может гибко и автоматически подстраиваться под нужды пользователя. При хранении информации в "облаке" пользователи могут забыть об ограничениях, накладываемых обычными дисками, - "облачные" размеры исчисляются миллиардами гигабайт доступного места.
Совместимость с большинством операционных систем. В Cloud Computing операционные системы не играют никакой роли. Пользователи Unix могут обмениваться документами с пользователями Microsoft Windows и наоборот без каких либо проблем. Доступ к программам и виртуальным компьютерам происходит при помощи веб-браузера или другими средствами доступа, устанавливаемые на любой персональный компьютер с любой операционной системой.
Улучшенная совместимость форматов документов. Если пользователи пользуются одной "облачной" программой для создания и редактирования документов, у них просто нет несовместимости версий и форматов, в отличие от тех, кто, например, получит документ Word 2007 и не сможет прочитать его на локальном компьютере с Word 2003 или OpenOffice. Хорошим примером совместимости является офисный пакет Google Docs, позволяющий совместную работу над документами, презентациями и таблицами имея под рукой любой компьютер с веб-браузером.
Простота совместной работы группы пользователей. При работе с документами в "облаке" нет необходимости пересылать друг другу их версии или последовательно редактировать их. Теперь пользователи могут быть уверенными, что перед ними последняя версия документа и любое изменение, внесенное одним пользователем, мгновенно отражается у другого.
Повсеместный доступ к документам. Если документы хранятся в "облаке", они могут быть доступны пользователям в любое время и в любом месте.
Всегда самая последняя и свежая версия. В "облаке" всегда находится самая последняя и самая свежая версия программы или документа.
Доступность
с различных устройств. Пользов
Дружелюбие к природе, экономное расходование ее ресурсов. Cloud Computing позволяет не только экономить на электричестве, вычислительных ресурсах, физическом пространстве, занимаемом серверами, но и разумно подходить к расходованию природных ресурсов. Центры обработки информации, те самые "облака", можно расположить в более прохладном климате, пользователи могут заменить тяжелые, ресурсоемкие компьютеры и ноутбуки на легкие и экономичные нетбуки. При этом экономится не только электроэнергия и место, но и материалы, из которых все это изготавливается.
Устойчивость данных к потере или краже оборудования. Если данные хранятся в "облаке", их копии автоматически распределяются по нескольким серверам, возможно находящимся на разных континентах. При краже или поломке персональных компьютеров пользователь не теряет ценную информацию, которую он к тому же может получить с любого другого компьютера. Можно предположить, что резервное копирование на другой персональный компьютер или на другие носители информации, например, DVD диски или флэш-накопители, также обезопасит данные. Но в последнем случае надо учесть два момента. Во-первых, за резервным копированием надо следить и регулярно его выполнять. Во-вторых, данные методы не обеспечивают физической безопасности, например, от пожара, воровства и т п.
- Недостатки.
Постоянное соединение с сетью Интернет. Cloud Computing всегда требует соединения с сетью Интернет. Или почти всегда. Некоторые "облачные" программы загружаются на локальный компьютер и используются в то время, когда Интернет недоступен. В остальных случаях, если нет доступа в Интернет - нет работы, программ, документов. Это амый сильный аргумент против Cloud Computing. Учитывая развитие современного мира, Интернет будет доступен всегда и везде, как, например, электричество и вода.

- Облачные вычисления
- Облачные вычисления в решении задач бизнеса
- «Облачные» сервисы и технологии
- "Облачные" технологии
- Облачные технологии
- Облачные технологии
- Облачные технологии в образовании
- Области применения файлов. Предметная область - экзамены
- Области совершенствования организации труда
- Область застосування та технологічні вимоги
- Область кругооборота оборотных средств предприятия
- Область применения микросхем приёмопередатчиков
- Область применения, принцип действия, устройство, выбор параметров цилиндрического циклона НИИОГАЗ
- Область проектирования частного ателье