Источник:
http://www.nbuv.gov.ua/old_jrn/Soc_Gum/VSUNU/2011_3/Antipin.pdf



    Антипин Е.Г.
         Панченко Д.С.

                                                            ПЕРСПЕКТИВЫ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ

 

        Рассматриваются облачные вычисления. Приведены достоинства и недостатки, а также перспективы развития облачных вычислений.

        

        Ключевые слова: облачные вычисления, вычислительные мощности, распределенные задачи.

        

        Введение

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

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

   Впервые идею «облачных вычислений» озвучил J.C.R. Licklider в 1970 году. В это время он был ответственным за создание ARPANET. Его идея заключалась в том, что каждый человек на планете будет подключен к сети, из которой он будет получать не только данные, но и программы. Другой ученый, изобретатель языка LISP, John McCarthy высказал идею о том, что вычислительные мощности будут предоставляться пользователям как услуга (сервис). На этом развитие облачных технологий было приостановлено до 90-х годов. Появление первой технологии, близкой к современному пониманию термина «cloud computing», приписывается компании Salesforce.com, основанной в 1999 году. Данная компания стала первой компанией, предоставившей доступ к своему приложению через сайт, по сути данная компания стала первой компанией, предоставившей свое программное обеспечение по принципу – программное обеспечение как сервис (SaaS). Следующим шагом стала разработка облачного веб-сервиса компанией Amazon в 2002 году. Данный сервис позволял хранить информацию и производить вычисления. В 2006 Amazon запустила сервис под названием Elastic Compute cloud (EC2) как веб-сервис который позволял его пользователям запускать свои собственные приложения. Следующим свою технологию постепенно ввела Google, начав с 2006 года предложение SaaS сервисов под названием «Google Apps», а затем и модели предоставления платформы как сервиса (PaaS) под названием “Google App Engine”. И, наконец, свое предложение анонсировала компания Microsoft, презентовав ее на конференции PDC 2008 под названием «Azure Services Platform» 1].

         Целью статьи является анализ существующих облачных вычислений, их достоинства и недостатки и поиск перспектив развития этой технологии.

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

        С понятием облачных вычислений часто связывают такие сервис-предоставляющие (Everything as a service) технологии, как «Программное обеспечение как сервис» (“Software as a Service” или “SaaS”), «Инфраструктура как сервис» (“Infrastructure as a Service” или “IaaS”) и «Платформа как сервис» (“Plaatform as a Service”, “PaaS”). Рассмотрим каждую из этих технологий подробнее.

        Software-as-a-Service (SaaS) – модель развертывания приложения, которая подразумевает предоставление приложения конечному пользователю как услуги по требованию (on demand). Доступ к такому приложению осуществляется посредством сети, а чаще всего – посредством Интернет-браузера. По сути, это те самые веб-приложения, вокруг которых сегодня так много шума. Наиболее старым примером, пожалуй, можно считать сервисы веб-почты. Google является, наверное, одним из главных апологетов SaaS и пытается довести этот подход до некоего логического завершения в виде платформы Android, тесно интегрированной с многочисленными онлайновыми сервисами и предполагающей (в идеале) постоянное подключение к ним. Хотя среди поставщиков SaaS немало и других громких имен .

        Platform-as-a-Service (PaaS) демонстрирует иной подход, непосредственно следующий из его названия. По сути, это размещенная в Интернете программная платформа, т.е. некоторая вычислительная среда (подробности организации которой полностью скрыты от наших глаз) с документированными API. Она, естественно, рассчитана на независимых разработчиков, которые могут строить на ее основе собственные SaaS-решения. Принципиальным моментом здесь является поддержка тех или иных технологий и инструментальных средств. Дополнительно к собственно платформе поставщиками обычно также предлагаются облачные СУБД и другие вспомогательные сервисы.

        Infrastructure-as-a-Service - это самый базовый уровень облачных вычислений, на котором клиент получает возможность использования готовой информационной инфраструктуры (кластеров, серверов, сетевых устройств, хранилищ данных), опять же, без малейших знаний о ее устройстве и принципах функционирования. IaaS позволяет запускать в «облаке» собственные (либо арендованные) виртуальные машины, в которых можно исполнять практически любые обычные приложения. Понятно, что такие услуги в первую очередь востребованы ИТ-подразделениями, расширяющими собственную инфраструктуру или решающими другие задачи.

        Преимущества облачных технологий. Множество ИТ-экспертов полагают, что в недалеком будущем облачные вычисления войдут в топ-список технологических трендов. Во всяком случае, для такого смелого утверждения должны существовать определенные причины, почему именно cloud computing вскоре выберут множество Интернет-бизнесов. Таким образом, попытаемся проанализировать преимущества облачных технологий:

1.  Доступность - облака доступны всем, из любой точки, где есть Интернет, с любого компьютера, где есть браузер. Это позволяет пользователям (предприятиям) экономить на закупке высокопроизводительных, дорогостоящих компьютеров. Также сотрудники компаний становятся более мобильными, так как могут получить доступ к своему рабочему месту из любой точки земного шара, используя ноутбук, нетбук, планшетник или смартфон. Нет необходимости в покупке лицензионного ПО, его настройке и обновлении, вы просто заходите на сервис и пользуетесь его услугами, заплатив за фактическое использование.

2.    Низкая стоимость - основные факторы снизившие стоимость использования облаков, следующие:

3.    Гибкость - неограниченность вычислительных ресурсов (память, процессор, диски) за счет использования систем виртуализации, процесс масштабирования и администрирования «облаков» становится достаточно легкой задачей, так как «облако» самостоятельно может предоставить вам ресурсы, которые вам необходимы, а вы платите только за фактическое их использование.

4. Надежность - надежность «облаков», особенно находящихся в специально оборудованных ЦОД, очень высокая, так как такие ЦОД имеют резервные источники питания, охрану, профессиональных работников, регулярное резервирование данных, высокую пропускную способность Интернет-канала, высокая устойчивость к DDOS-атакам. Данные хранятся разнесенно, а не в одной точке. Хранилища могут сохранить информацию даже после катастроф за счет географического разнесения.

5.    Безопасность - «облачные» сервисы имеют достаточно высокую безопасность при должном ее обеспечении, однако при халатном отношении эффект может быть полностью противоположным.

6.   Большие вычислительные мощности - вы как пользователь «облачной» системы можете использовать все ее вычислительные способности, заплатив только за фактическое время использования. Предприятия могут использовать данную возможность для анализа больших объемов данных.

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

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

1.    Постоянное соединение с сетью – для получения доступа к услугам «облака» необходимо постоянное соединение с сетью Интернет. Однако в наше время это не такой и большой недостаток, особенно с приходом технологий сотовой связи 3G и 4G.

2.     Программное обеспечение и его кастомизация – есть ограничения по ПО, которое можно разворачивать на «облаках» и предоставлять его пользователю. Пользователь ПО имеет ограничения в используемом ПО и иногда не имеет возможности настроить его под свои собственные цели.

3.   Конфиденциальность – конфиденциальность данных, хранимых на публичных «облаках», в настоящее вызывает много споров, но в большинстве случаев эксперты сходятся в том, что не рекомендуется хранить наиболее ценные для компании документы на публичном “облаке”, так как в настоящее время нет технологии, которая бы гарантировала 100% конфиденциальность хранимых данных.

4.    Надежность – что касается надежности хранимой информации, то в большинстве случаев, за исключением резервных хранилищ, если вы потеряли информацию, хранимую в “облаке”, то вы ее потеряли навсегда.

5.    Безопасность – “облако” само по себе является достаточно надежной системой, однако при проникновении на него злоумышленник получает доступ к огромному хранилищу данных. Еще один минус – это использование систем виртуализации, в которых в качестве гипервизора используются ядра стандартных ОС, таких как Linux, Windows и др., что позволяет использовать вирусы.

6. Дороговизна оборудования – для построения собственного “облака“ компании необходимо выделить значительные материальные ресурсы, что может быть выгодно только большим компаниям.

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

        Потенциал облачных вычислений. По оценкам экспертов, потенциал облачных вычислений очень высок. А соответственно можно будет попасть в этот поток и отхватить его часть работая в следующих направлениях:

1.     Предоставление услуг облачных вычислений – данная возможность доступна не многим компаниям, так как нужны значительные вложения в построение и разработку ЦОД.

2.   Разработка ПО для построения виртуальной инфраструктуры, не следует забывать и про тех, кто будет внедрять и настраивать это ПО, т. е. потребуются специалисты в этой области.

3. Аутсорcинг, администрирование облаков – потребуются специалисты по администрированию и консультированию в сфере облачных вычислений.

4. Аппаратное обеспечение – компании, занимающиеся разработкой и проектированием аппаратного обеспечения для создания «облаков».

5. Проектирование – данная сфера охватывает практически все вышеперечисленные сферы начиная от проектирования ЦОД и заканчивая проектированием программного обеспечения.

          

         Выводы

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

        

            Литература

2.    Software on-demand.

3.    Platform as a service.

4.    Infrastructure as a service.

       

        Аннотация

       

        Considered cloud computing. Shows the advantages and disadvantages, and the prospects of cloud computing.

        Keywords:cloud computing, computing power, distributed tasks.

        Сведения об авторах:

        Е.Г. Антипин – ассистент кафедры автоматизации и компьютерно-интегрированных технологий ВНУ им. В. Даля.

        Д.С. Панченко – студент кафедры автоматизации и компьютерно-интегрированных технологий ВНУ им. В. Даля

        Рецензент д.т.н., проф. Ульшин В.А.