Введение в Cloud Computing
Прежде чем начать рассматривать облачные вычисления, необходимо охарактеризовать методику распределенной обработки данных.
Распределенная обработка данных - методика выполнения прикладных программ группой систем. Таким образом, фактически пользователь получает возможность работать с прикладными процессами, расположенными в нескольких взаимосвязанных системах.
Распределенные вычисления являются способом решения сложных задач, требующих больших вычислительных мощностей, основанном на объединении нескольких компьютеров в параллельную вычислительную систему.
В качестве исторического примера распределенных вычислений можно привести решение французского математика и вычислителя при французском правительстве барона Гаспара де Прони.
Под его руководством была начата работа по уточнению логарифмических и тригонометрических таблиц, в связи с переходом на метрическую систему. Для того времени требовалось осуществление огромного объема вычислений. Де Прони перенес идею о разделении труда на вычислительный процесс, исполнители были распределены по трем уровням:
- низший уровень - люди-вычислители (computers), которые должны были только аккуратно складывать и вычитать числа;
- средний уровень - "технологи", которые занимались организацией конкретного рутинного вычислительного процесса;
- высший уровень - математики, организовывающие подготовку математического обеспечения и обобщения полученных результатов.
Характеристика распределенной обработки данных
Суть распределенной обработки данных заключается в том, что пользователь и прикладное программное обеспечение могут работать с удаленными средствами посредством каналов связи.
Компьютеры, являющиеся частями распределенной среды обработки данных делятся на серверы и клиенты. Первые предоставляют вычислительные ресурсы вторым.
Управление распределенной средой осуществляется сетевой операционной системой. Кроме того, данная среда подразумевает наличие распределенной базы данных и инструментарий для управления этой базой.
Преимущества распределенной системы обработки данных:
- возможность обслуживания большого числа пользователей;
- снятие пиковых нагрузок с централизованной БД, путем распределения обработки и хранения локальных БД;
- обеспечение доступа исполнителей к вычислительным ресурсам всей сети;
- обеспечение симметричного обмена данными между пользователями сети.
В зависимости от способа распределения данных, выделяют следующие способы организации обработки данных:
- централизованный;
- децентрализованный;
- смешанный.
Централизованная организация данных. С точки зрения реализации, является наиболее простым вариантом организации. Имеется единственная централизованная база данных, доступ к которой организовывается и регулируется сервером, на котором она находится. Доступ осуществляется при помощи удаленного запроса.
В настоящее время все большую популярность набирает идея добровольного использования для организации вычислений компьютеров обычных пользователей.
Преимуществом данного способа являются: простота реализации и поддержки; недостатком - ограничение на параллельную обработку данных, поскольку все запросы направляются к единственному серверу.
Децентрализованная организация данных. Данный подход предполагает разбиение логически единой базы данных на несколько физически распределенных. Каждый клиент имеет доступ к собственной локальной базе данных, которая является либо частью общей базы данных (распределение), либо копией базы в целом (дублирование), второй вариант приводит к дублированию базы у каждого клиента.
Существование копий отдельных частей базы не допускается.
Преимущества данного метода:
- большая часть запросов удовлетворяется локальными базами, что снижает временные затраты;
- увеличивается доступность данных;
- повышенная надежность хранения данных;
- частичная работоспособность системы при выходе из строя одного сервера.
Недостатки:
- могут возникнуть запросы или транзакции, требующие доступа ко всем серверам, что увеличивает время ожидания;
- необходимо наличие информации о хранении данных в БД.
Смешанный подход. Подразумевает объединение двух способов децентрализации: разбиения и дублирования. Возникает необходимость наличия информации о том, где в сети размещены данные. Достигается компромисс между требуемым объемом памяти под базу в целом и объемом памяти, необходимом каждому серверу. При этом легко организуется параллельная обработка данных. Тем не менее остаются такие проблемы как: надежность и выполнение требований к памяти. Данный подход можно реализовывать только при наличии сетевой системы управления базой данных, обеспечивающей хранение, целостность и безопасность хранимых данных.
Cloud computing
Небольшое отступление : термин "облачные" возник из способа представления Интернета, как облака на различных диаграммах, иллюстрациях и схемах.
Найти человека, чья работа или интерес связан со сферой информационных технологий, ничего не слышавшего про "облачные вычисления" будет крайне затруднительно.
Эта тема является одной из самых обсуждаемых в последнее время.
Такой ажиотаж объясняется просто - появилось решение, способ, позволяющий существенно сократить расходы на ИТ - услуги, отказаться от инвестирования в инфраструктуру и расходов, связанных с ее сопровождением и модернизацией, свести время развертывания приложения к минимуму.
Существует три основные модели расположения приложений:
- на стороне заказчика;
- хостинг;
- в "облаке".
Наиболее привычной и традиционной моделью расположения приложения является, безусловно, на стороне заказчика, локально, в рамках его инфраструктуры.
Основной сложностью данной модели являются существенные затраты на формирование ИТ - инфраструктуры, отвечающей требованиям бизнеса и используемых приложений, а также затраты, связанные с ее сопровождением и модернизацией.
В качестве положительно момента можно отметить, что инфраструктура, аппаратное и программное обеспечение полностью подконтрольны заказчику.
Хостинг. Данная модель развертывания приложений получила развитие в связи с распространением глобальной сети и увеличением ее роли в профессиональной деятельности человека. Ранее такая модель называлась Application Service Provider (ASP), теперь - Software as a service (SaaS).