Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:kea:introduction_to_cloud_computing_architecture

This is an old revision of the document!


Introduction to cloud computing architecture

Виртуальные машины как стандарт развертывания объектов

В течение последних нескольких лет виртуальные машины стали стандартом развертывания объектов. Виртуализация расширяет гибкость, так на на одном и том же аппаратном обеспечении в одном месте могут разворачиваться и сворачиваться приложения, не привязываясь к конкретному серверу. Виртуальные машины становятся распространенной абстракцией-единицей развертывания,потому что они приводят к общему знаменателю интерфейсы между поставщиками услуг и расработчиками. Использование виртуальных машин для развертывания объектов достаточно в 80 процентах случаев использованияи помогает удовлетворять потребностям быстрого развертывания и масштабирования приложений. Виртуальные приборы-это виртуальные машины, которые включают программное обеспечение, которое частично или полностью настроено для запуска специфических программ, таких как Web серверы или серверы баз данных и далее увеличивается возможность по созданию и быстрому развертыванию приложений. Комбинации виртуальных машин и виртуальных приборов, как стандарта развертывания объектов -ключевое свойство Cloud computing. Облачные вычисления обычно дополняются облачными хранилищами, которые предоставляются виртуальными хранилищами через API, которые облегчают хранение образоа виртуальных машин, исходных файлов для компонентов таких как веб-серверы, информация о состоянии приложений и важная бизнесс информация.

The on-demand, self-service, pay-by-use model

Все эти три модели,являющиеся первоначальными для СС так же рамширяются в условиях этих тенденций. Модель on-demand помогает поддерживать аспекты исполнения и качества на уровне сервисов. self-service позволяет организациям создавать эластичное окружение, которое являеся расширяемым и основывается на параметрах больших нагрузоки параметрах целевого исполнения. Pay-by-use- может предоставлять различные виды аренды оборудования, минимальный уровень обслуживания(услуг) которого гарантируется провайдером.

Виртуализация является ключевым моментом этих моделей. IT организации имеют представления о том, что виртуализация позволяет быстро и просто создавать копии существующего окружения, иногда вовлекая сложные виртуальные машины (поддержку тестов, разработки и перераспределение активности) Стоимость этих окужений минимальна, потому что они могут сосуществовать в окружении одного и того же production server-а, потому что они используют несколько ресурсов. Приложения здесь являются масштабируемыми и имеют возможность быстрого удаленного доступа.

Инфраструктура программируемая

Раньше архитекторы должны были определить каким образом различные компоненты будут располагаться на серверах, как они будут связаны между собой, должны бвли обеспечить определенную восстанавливаемость и масштабируемость.Сейчас разработчики могут исользовать cloud API не только для создания структур приложений на виртуальных машинах,но так же изменять их при изменении рабочей нагрузки.

Раньше для обеспечения многопоточного параллельного выполнения пользовались языком java, теперь существует возможность одновременного создания нескольких взаимосвязных машин. Очень важно смещение от архитектора к разработчику-архитектору.

Пример развертывания web-приложений

Пример как комбинация виртуализации и self-сервиса способствую развертыванию приложений, будем считать , что два связных приложения развертываются в облаке. 1. Разработчик должен выбрать балансировщик загрузки, Web служб и серверов БД из библиотеки с заданной конфигурацией образа виртуальной машины 2.Разработчик должен сконфигкрировать каждый компонент для получения требуемого образа. Балансировщик загрузки должен быть настроен. web- сервер заполняется этими статистическими данными для загрузки их на storage cloud ,приборы сервера приложений заполняются динамическим контентом для сайта. 3.Разрабатываемый код уровня надстройки в новой архитектуре соответствует требованиям специфичнеских приложений. 4. Разработчики выбирают шаблоны, которые берут образы для каждого уровня и разворачивают их, обрабатывают вопросы масштабирования, безопасности и сетевые. 5.Безопасности, высокий показатель надежночтии веб-приложений растет. Когда приложение нуждается в обновлении, образы виртуальных машин могут быть обновлены. Cloud computing принимает за истину то, что все временно и проще переразвернуть все приложение, нежеди ставить кучу патчей на виртуальные машины.

Сервисы предоставляемые через сеть

Почти само собой разумеется, что облачные вычисления имеют тентенцию расширения поскольку услуги становятся доступными через сеть. Практически каждая бизнес-организация использует веб-интерфейсы в своим приложениям,для возможности доступа клиентов к этим приложениям через интернет, или же они являются внутренними приложениями, которые становятся доступными для уполномоченных сотрудников, партнеров, поставщиков,и консультантов. Красота Интернет-услуг на базе, конечно, является то, что приложения могут быть доступны в любом месте и в любое время. Хотя предприятия, хорошо осведомлены о возможности безопасной связи с помощью Secure Socket Layer (SSL) шифрования, наряду с сильной аутентификацией, увеличение доверия к вычислительной среде облака требует тщательного изучения различий между компьютерной техникой предприятий и облачными вычислениями. При правильной архитектурае доставка чрез интернет может обеспечить необходимы гибкость и безопасность,предприятиям всех размеров.

Роль открытого программного обеспечения

Программное обеспечение с открытым исходным кодом позволяет приложениям, созданным Animoto, масштабироваться до 3500 случаев в течение нескаольких дней. Легкость компонентов с открытым кодом может быть использована для сборки больших приложения,это в свою очередь увеливичает роль открытого программного обеспечения, например алгоритм MapReduce, который может быть запущен в окружении cloud computing был одним из факторов стимулирования разработчиков.

Модели инфраструктур в cloud computing

Cуществуют три вида моделей:public, private,hybrid clouds public clouds запускаются тремя сторонами м приложения от различных клиентов похожи на смесь cloud’s servers, storage systems, и networks.

одним из преимуществ public cloud -это то, что они горвздо больше нежели private у частных компаний, и предлагают вохможности масштабирования вверх и вних по требованию. Части public cloud могут быть вырезаны для эксклюзивного использования единичными клиентами, создавая виртуальные приватные центры данных. Теперь клиенты могут манипулировать не только виртуальными машинами, но и серверами, системами хранения данных, сетевыми устройствами и топологией сети.

private cloud истроится для экслюзивного использования или для единичного клиента,предоставляет контроль над всей информацией. Инфраструктура компании собственниика имеет контроль на тем, как приложение разворачивается на ней. Private cloud может располагаться в датацентре ,компании так же можут быть запросто развернуть приложение.

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

Смешанные облака Это комбинация private и public моделей. Возможность увеличить частный облака за счет публичных может быть использования при быстрых колебаниях рабочей нагрузки(поддержка приложений Web2.0).Гибридная модель может так жи использоваться при запланированной рабочей нагрузке.Здесь среди вопросов, которые надо будет расспотреть -это отношение между жанными и обработкой данных.

Архитектурные уровни Cloud Computing

Cloud computing предлагает услуги, которые могут быть разделены на три катрегории:software as a service, platform as a service и infrastructure as a service. Общая структура соответствия аппаратного обеспечения и программного приведена ниже:

интерфейсы программирования приложений в cloud

Одной из ключевых характеристик, отличающих cloud computing стандартного-это то, что инфраструктура является программируемой. Вместо физического размещения серверов, хранилищ и сетевых ресурсов для поддержки приложений,разработчики определяют какие идентичные виртуальные компоненты настраивать и связывать , включая то, как образы виртуальных машин и данные приложений будут получаться и храниться в cloud storage. Они определяют как и когда компоненты будут развернуты через API, которые специфицируются cloud провайдером.

Это аналогично тому,как работает File Transfer Protocol (FTP) : FTP серверы контролируют связи с клиентом, которые остаются открытыми в течение всего срока сессии. Когда файлы должны быть переданы, управляющее соединение используется для обеспечить источника или имени файла на сервере, и обращаясь к источнику по нужному порту происходит передача фалов. В некотором смысле, “cloud computing API похож FTP управления каналом: он открыт в течение всего срока использования облаке, и он определяет, насколько используется облако в конце предоставить услуги предусмотренные разработчиками. Использование API для контроля как использующейся облачной инфраструктуры таит в себе подвозные камни. В отличие от ftp протокола cloud API не стандартизованы, что является естественным для любой отрасли, находящейся на началоной стадии развития.

Преимущества Cloud Computing

Использование cloud computing имеет множество преимуществ:

  • сокращение времени запуска и времени отклика.

(достаточно быстро решаются ресурсоемкие задачи, что и уменьшает временные затраты)

  • минизация рисков инфраструктуры.

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

  • снижение стоимости.

Есть ряд признаков Cloud Computing, который позволяет снизить затраты:

  1. Аренда инфораструктуры(нет затран на преобретение)
  2. Приложения разрабатываются в основном путем сборки а не программирования, что увеличивает темпы развертывания новых приложений.
  • увеличение темпов инноваций.

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

Архитектурные вопросы IaaS

Изменяются архитектурные подходы

В 90-х годах заше разговор, о том,как декомпозировать приложения на различные компоненты и далее как разворачивать эти приложения на отдельных серверахв порядке оптимизации нефункциональных требования таких как масштабируемость,доступность , легкость управления и безопасность. На сегодняшний день поддерживается декомпозиция архитектур приложений, а в итоге развертывается на объединенной архитектуре, которая использует виртуализацию. Сloud Computing продолжает идти по пути предоставления программируемого развертывания архитектур приложений, в конечном счете обещается предоставление динамических data центров. C cloud computing резко повышается эффективность. Если приложение нельзя сделать быстрым и программируемым, значит оно не соответствует модели.

Изменяется дизайн приложений

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

Высокая производительность

Кластерные вычисления, позволяют в разы увеличивать производительность приложений,cloud computing явяется прямым потомком grid технологий.

Системы управления базами данных

Системы управления базами данных адаптированны для работы в облачных средах путем горизонтального масштабирования серверов баз данных и таблиц разделов между ними. Эта техника, известна как sharding, позволяет нескольким экземплярам БД(часто MySQL)масштабировать производительность в среде облака. Вместо того, чтобы иметь доступ к единой центральной БД, приложения теперь имеют доступ к одним из многочисленных БД, в зависимости от той чести данных, в коотрых они нуждаются.

CPU обработка

Приложения, ориентированные на активность типа frame rendering, теперь вместо создания отдельного потока могут создвавть отдельную виртуальную машину, что увеличивает производительность за счет горизонтального масштабирования.

Обработка данных

Основные инструменты-инструменты развивающиеся open source сообществом, которые помогают в обработке больших объемов данных и далее сливают результаты в единый процесс обработки. Например Hadoop это open source разработка для фреймворка MapReduce которая совмещает развертывание рабочих виртуальных машин с данными, которые оин используют.

etc/users/kea/introduction_to_cloud_computing_architecture.1265468251.txt.gz · Last modified: 2010/02/06 17:57 by belka