Облачные вычисления

Автор: Пользователь скрыл имя, 19 Декабря 2011 в 10:16, курсовая работа

Краткое описание

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

Оглавление

Введение 6
1 Теоретические основы 7
1.1 Основные виды 7
1.2 Терминология 7
1.3 История развития 8
1.4 Распределенный подход и облака 9
1.5 Коммунальный подход и облака 10
1.6 Самоуправляемые системы 11
2 Достоинства и недостатки 12
2.1 Достоинства. 12
2.2 Недостатки. 13
3 Безопасность 15
3.1 In-the cloud-безопасность 15
3.2 Вопрос необходимости 15
3.3 Преимущества безопасности in-the-cloud 16
3.4 Двусторонняя связь 17
3.5 Недостатки in-the-cloud-безопасности 17
4 Обзор популярных облаков 19
5 Разработка облачного приложения 21
Заключение 23
Список использованных источников 24

Файлы: 1 файл

kurs.doc

— 558.00 Кб (Скачать)

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

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

     Не  все программы  или их свойства доступны удаленно. Если сравнивать программы для локального использования и их "облачные" аналоги, последние пока проигрывают в функциональности. Например, таблицы Google Docs имеют гораздо меньше функций и возможностей, чем Microsoft Excel.

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

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

 

  1. Безопасность
    1. In-the cloud-безопасность

     Принцип in-the cloud безопасности схож с обычным антивирусом, различие лишь в том, что он функционирует на удаленном сервере (облаке). У пользователя установлен только лишь клиент.

     В феврале 2006 г. Брюс Шнайер (Bruce Schneier) писал в своем блоге о безопасности «из облака». И он не был единственным, кто занимался этой темой. Вопрос о реализации концепции in-the-cloud-безопасности обсуждался весьма активно, причем все сходились на том, что внедрять ее действительно необходимо. Почему же тогда антивирусной отрасли потребовалось больше двух лет на то, чтобы приступить к реализации этой технологии в своих продуктах?

    1. Вопрос  необходимости

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

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

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

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

     Удаление  из баз старых записей, относящихся  к вредоносному ПО для MS-DOS, не поможет, поскольку позволит высвободить  объем памяти гораздо меньший, чем  прирост ее потребления, вызванный  появлением новых сигнатур за одни сутки. Несмотря на то, что более эффективные сигнатуры способствуют решению этой проблемы, по сути это борьба с симптомами заболевания, а не с самой болезнью. В конечном счете, рост числа записей в антивирусных базах таким образом остановить не удастся.

     В 2007 г. некоторые антивирусные компании пришли к выводу, что in-the-cloud-безопасность – единственный выход из создавшейся  ситуации. Необходимость постоянного  соединения с Интернетом по-прежнему была минусом, который отсутствовал в традиционных антивирусных решениях, но, в конечном счете, преимущества этой технологии перевешивают ее недостатки.

    1. Преимущества  безопасности in-the-cloud

     Суть  идеи in-the-cloud-безопасности состоит в  том, что потенциально опасный файл или Web-сайт проверяется онлайн, а  не с помощью сигнатур, которые хранятся локально, на самом компьютере. Проще всего это реализовать так: подсчитать контрольную сумму (т. е. цифровой «отпечаток пальца») файла, а потом проверить на соответствующем сервере, не определялся ли файл с такой контрольной суммой как вредоносный. Если приходит ответ «да», то пользователь получает сообщение с предупреждением, а вредоносный файл помещается в карантин.

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

     Меньшее потребление оперативной памяти и меньший размер обновлений. Через  несколько лет классические базы сигнатур достигнут неприемлемого для пользователей размера. Решения in-the-cloud легко справляются с этой проблемой: все «отпечатки пальцев» хранятся на сервере антивирусной компании. На компьютере пользователя находится лишь само антивирусное ПО, а также кэшируемые данные. Соединение с сервером устанавливается только в тех случаях, когда на локальном диске обнаруживается новая, еще неизвестная программа. Если пользователь не устанавливает новых программ, то нет необходимости загружать новые данные. В этом и состоит принципиальное отличие от нынешней ситуации, при которой сигнатуры необходимо постоянно обновлять на случай установки в системе новой программы (которая может оказаться вредоносной).

     Более быстрая реакция на появление  новых угроз. Скорость реакции всегда была в антивирусной отрасли горячей темой. Выпуск новых сигнатур – важное дело. Но если сигнатура попадет на компьютер через несколько часов после того, как пользователь откроет зараженное вложение, может быть уже поздно: к этому времени компьютер может оказаться втянут в ботнет. Не исключено, что он уже загрузит дополнительные вредоносные компоненты, для которых пока нет процедур обнаружения. Методы проактивного обнаружения и технологии эмуляции, используемые на стороне клиента, могут отчасти компенсировать разрыв между появление угрозы и выпуском баз сигнатур, но проблема остается. Эффект от in-the-cloud-безопасности очевиден: сигнатурная проверка проводится по требованию и в реальном времени, а скорость реакции значительно увеличивается. Как только вирусные аналитики признают файл вредоносным, эта информация становится доступной клиенту, сокращая время реакции до минут или даже секунд.

     С помощью технологии in-the-cloud можно  передавать не только сигнатуры троянских  программ, вирусов и червей, но и  почти все остальные данные, входящие в состав стандартных обновлений антивирусных баз: URL опасных Web-сайтов, заголовки и ключевые слова, фигурирующие в последних рассылках спама, а также целиком профили программ, используемые локальной системой предотвращения вторжений (Host-based Intrusion Detection System, HIPS). Эта технология годится не только для персональных компьютеров. Ее имеет смысл использовать и для защиты мобильных устройств – тем более что у смартфонов объем оперативной памяти значительно меньше, чем у ПК, и каждый байт на счету. Большинство антивирусных решений для мобильных телефонов ориентировано на обнаружение мобильных угроз, поскольку обнаружение всего вредоносного ПО, нацеленного на Windows XP и Vista, потребовало бы слишком много ресурсов. Технология in-the-cloud способна полностью решить эту проблему.

    1. Двусторонняя  связь

     Очевидно, что системы in-the-cloud способны помочь пользователю выяснить, заражен файл на его компьютере или нет: клиентский компьютер посылает запрос, а сервер отвечает. Но – в зависимости от реализации – система может работать и в обратном направлении, давая пользователям возможность помочь антивирусной компании в выявлении новых угроз. Предположим, что антивирусный продукт анализирует файл на клиентской машине с помощью технологий эмуляции или проактивной защиты и делает вывод о вредоносности файла. Для того чтобы аналитики антивирусной компании могли провести дальнейшее исследование файла, его нужно загрузить на ее сервер. Конечно, это означает, что пользователь должен предоставить сам файл, на что он может и не согласиться. Однако есть и другой путь: вместо отправки бинарного файла клиентское ПО может послать на сервер сигнатуру файла вместе с полученной из проводивших анализ модулей информацией о файле (размер, наименование угрозы по классификации и т. п.). Если новый червь быстро распространяется, аналитики антивирусной компании заметят внезапное появление на тысячах компьютерах нового файла, отмеченного как подозрительный. После этого они должны решить, действительно ли речь идет о новом вредоносном файле. Если аналитики приходят к заключению, что это реальная угроза, добавить ее детектирование несложно: «отпечаток пальца» файла уже существует, и его достаточно переместить в базу данных, получающую запросы от клиентских компьютеров.

    1. Недостатки in-the-cloud-безопасности

     Приведенный выше пример показывает, как обнаружение  новых вредоносных программ с помощью статистического мониторинга позволяет эффективно бороться с внезапными эпидемиями. Однако при этом резко возрастает вероятность ложных срабатываний. Предположим, выходит новая версия популярной условно-бесплатной программы. Новость о ее выходе разлетается быстро, и очень скоро программу начнет загружать множество пользователей. Если программа затрагивает системные файлы, не подписана, да еще и обновляется, загружая при этом другие исполняемые файлы, то с большой степенью вероятности автоматическая система in-the-cloud-безопасности определит ее как вредоносную. Еще несколько секунд – и по всему миру пойдет волна ложных срабатываний. Конечно, этого не произошло бы, если бы на программу обратил внимание аналитик, но это требует времени, сводя на нет потенциальный эффект от ускоренного обнаружения. Несмотря на то что на внесение в базу изменений, исключающих ложные срабатывания, занимает всего несколько секунд (в отличие от ситуации с классическими базами сигнатур, которые остаются неизменными до загрузки следующего обновления), негативных последствий не избежать. Если пользователь обнаружит, что использование in-the-cloud-безопасности привело к росту числа ложных срабатываний, он, вероятнее всего, отключит соответствующую функцию или перейдет на продукты другого производителя, применяющие классический сигнатурный подход к обнаружению угроз. Чтобы не допустить подобного развития событий, антивирусным компаниям приходится создавать и поддерживать собственные коллекции гарантированно чистых файлов. При выпуске нового патча или программы антивирусной компании необходимо очень оперативно проанализировать новый файл и добавить его в белый список – до того, как клиенты начнут загружать файл.

     Таким образом, переход в «облачную» сферу  означает большой объем дополнительной работы для антивирусных компаний. Им не просто нужно активно поддерживать коллекции чистых файлов – их серверы должны абсолютно устойчиво работать 24 часа в сутки. Конечно, подобная устойчивость требовалась всегда, ведь если сервер не находится на связи, то он не способен доставлять обновления. Но классический подход позволяет работать и с сигнатурами, созданными несколько часов назад, хотя уровень обнаружения угроз при этом снижается. А в случае с «облачным» подходом при отказе сервера клиенты оказываются совершенно незащищенными, поскольку вся концепция in-the-cloud-безопасности основана на связи с сервером по требованию и в реальном времени. Чтобы обеспечить защиту пользователей при отказе сервера, необходимо задействовать эвристические механизмы в сочетании с мощной технологией HIPS (Host-based Intrusion Prevention System).

 

  1. Обзор популярных облаков

     Команда сайта HighScalability.com провела исследование на основе стандартного теста производительности Web-приложения TPC-W (серия тестов TPC-* предполагает выполнение детально описанного теста различных технологий, баз данных, хранилищ, Web-приложений, полезен тем, что каждый поставщик публикует свои достижения, а не сравнивает свою очень оптимизированную конфигурацию с настройками по умолчанию конкурента).

     В исследовании сравнивались “облака” от Microsoft, Amazon, Google с применением различных  вариантов хранилища: 

Рисунок 3 Структура тестируемых систем 

     Цель  теста проверить масштабируемость решения (для этого замеры для  теста TPC-W были модифицированы -  выполнялось постепенное увеличение кол-ва одновременных пользователей от 1 до 9000). Результаты на Рисунке 4. 

Рисунок 4 Зависимость производительности от числа пользователей

     Amazon при использовании S3 (Simple Storage System – табличного хранилища строк без поддержки полной реляционной базы данных) и Windows Azure при использовании SQL Azure (реляционной базы данных в облаке) наиболее близки к идеалу.

     Результат Amazon S3 вполне предсказуем, т.к. в качестве Web-части использовался EC2 (Elastic Compute Cloud) – простое размещение виртуальных машин в Amazon DataCenter без каких-либо ограничений, то есть достижение высоких результатов зависит от умений разработчиков. Также логично, что максимум достигнут с S3(Simple Storage Service), а не с RDS (Relational Database Service) и SimpleDB, т.к. реляционность и транзакционость обычно не лучшим образом сказывается на производительности и масштабируемости.

Информация о работе Облачные вычисления