Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Переход в облако. Практическое руководство по организации облачных вычислений для ученых и IT-специалистов

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
739 Кб
Скачать

ГЛАВА 4

4.6.5. Обзор и принятие решения

Все данные получены (см. табл. 4.2), и теперь можно провести первичный отбор, чтобы отсеять явно неудовлетворительные варианты, где не выполняются многие требования.

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

Связаться напрямую с отделами продаж выбранных поставщиков: стандартная цена, как правило, не дает представления о доступных скидках или специальных условиях.

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

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

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

4.7. Выводы

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

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

61

ПЕРЕХОД В ОБЛАКО

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

Г Л А В А 5

Инструментарий в облаке

5.1. Саше нужен лучший инструментарий

Как руководитель исследовательской организации Саша стремится усовершенствовать доступный ему инструментарий и услуги, применяя в работе наилучшие методики и следуя передовым тенденциям. Одним из требований является доступность инструментов в сети, так что SaaS являются удачным вариантом. Более того, решения SaaS не требуют наличия ИТ-команды.

5.2. Общая производительность

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

5.2.1. Office

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

Google Docs / G Suite: Google Docs — облачный пакет офисных приложений, созданный Google, включает в себя текстовый редактор, электронные таблицы и приложение для презентаций. Бесплатная версия

63

ПЕРЕХОД В ОБЛАКО

доступна для всех пользователей, а платная ежемесячная подписка (G Suite), предлагающая расширенные функции и хранилище, доступна профессионалам и компаниям (https://www.google.com/docs/ about/). У G Suite множество пользователей по всему миру, и один из ярких примеров — транснациональная фармацевтическая компания Roche, частная организация, занимающаяся исследованиями.

Office 365: Облачная версия популярного пакета Microsoft предоставляет онлайновые варианты приложений Word, Excel и PowerPoint. Предоставляется по платной годовой подписке (https://www.office.com/).

Zoho Office: Веб-решение, помимо прочего предоставляющее текстовый редактор, электронные таблицы и презентации, базы данных и ПО для управления проектами. В наличии есть бесплатная (с ограничением на группу из 25 пользователей) и платная версия с помесячной оплатой за каждого пользователя, который получает расширенное пространство и функционал (https://www.zoho.com/docs/).

5.2.2. Коммуникации

ПО для организации чатов и коммуникаций существует уже продолжительное время. Но в последние годы инструменты и платформы для организации онлайн-общения набирают популярность и пользуются все большим спросом в обществе. Чаще всего используются следующие платформы.

Slack: это не столько коммуникационная платформа в чистом виде, сколько ориентированный на совместную работу инструмент со многими хорошо известными пользователю функциями (в том числе непосредственно адаптированными из IRC), а также интеграциями с расширенными платформами или продуктами, такими как Jira и GitHub. Slack также поддерживает аудио- и видеоформат. Небольшим командам подойдет и бесплатная версия; также существует коммерческая с помесячной оплатой за каждого пользователя (https://slack.com/).

Google Hangouts: коммуникационная платформа, интегрированная со всеми инструментами и платформами Google (такими как G Suite), предлагает услуги аудио- и видеосвязи (https://hangouts.google.com/).

Zoom: платформа для видеоконференций и звонков предоставляет пространство для чата и возможность обмениваться контентом (https://www. zoom.com/).

64

ГЛАВА 5

IRC: существующий с 1988 г. IRC (Internet relay chat) является хорошо известным протоколом связи. Для разных платформ существует выбор бесплатных клиентов. IRC не теряет актуальности, т. к. многие облачные поставщики предоставляют доступ к своим IRC-серверам, причем иногда бесплатно.

5.3. Наука и инженерия

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

5.3.1 Редактирование и обмен документами (LaTeX)

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

Overleaf: веб-редактор LaTeX представляет собой платформу совместного составления и публикации документов. Для небольших и средних проектов подойдет ограниченная бесплатная версия, в которой не может быть приватного или защищенного контента. Также доступна годовая платная подписка (https://www.overleaf.com). Overleaf позволяет напрямую отправить статью в выбранный вами журнал.

LaTeX Base: еще одна доступная система совместного редактирования, которая удовлетворит потребности большинства самостоятельных авторов или небольших команд (https://latexbase.com).

5.3.2. Управление проектами и решение проблем

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

65

ПЕРЕХОД В ОБЛАКО

SaaS — отличные инструменты для управления проектами и решения проблем — прекрасно справятся с этими задачами. Вот несколько наиболее популярных платформ.

Jira Cloud: Jira (и Atlassian) — пожалуй, самое известное ПО для управления проектами. Эти платформы позволяют пользователям выполнять самые разные задачи — от решения наиболее простых проблем до осуществления комплексного управления проектами (включая гибкие панели мониторинга и интеграции). Также отметим еще одну систему, предоставленную Atlassian. Trello (https://trello.com) предлагает достаточно простую карточную систему управления небольшими проектами, ориентированную на методику Agile. Отличная бесплатная версия Trello обеспечивает полную интеграцию с прочими проектами Atlassian, в том числе Bitbucket. На каждого пользователя требуется лишь продлевать лицензию (https://www. atlassian.com/software/jira).

Basecamp: набор интегрированных инструментов для управления проектами, коммуникациями и т. д., требующий ежемесячной оплаты. Однако для использования в образовательных целях предоставляются бесплатные версии (https://basecamp.com/).

Asana: эта платформа, используемая крупнейшими игроками сферы ИТ, ориентирована на отслеживание и временные рамки. Небольшим командам подойдет бесплатная версия; для доступа к расширенным функциям потребуется помесячная оплата (https://asana.com).

5.3.3. Контроль версий

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

Git: система, которой чаще всего пользуются сторонники открытого ПО, была изначально создана Линусом Торвальдсом для управления разработкой ядра Linux. Git предлагают в качестве SaaS многие поставщики, например:

GitHub: веб-сервис предлагает бесплатные публичные репозитории и является центральным узлом для сообщества свободного ПО (https://github.com/).

66

ГЛАВА 5

GitLab: альтернатива GitHub, набирающая популярность в последние годы, предлагает частные репозитории и расширенные функции для тестирования и разработки. Привлекательность GitLab

всравнении с GitHub возросла после покупки последнего Microsoft

в2018 г., что вызвало ряд проблем с точки зрения научной воспроизводимости65 (https://gitlab.com/).

Bitbucket: разработка Atlassian, которая отлично взаимодействует с экосистемой Jira (https://bitbucket.org).

Mercurial: представленный сообществу одновременно с Git, Mercurial являет собой единый подход, менее сложный, чем Git. Его используют многие крупные проекты, например Mozilla и Nginx (https://www.mercurial-scm.org/).

SVN: Apache Subversion (SVN), одна из старейших систем управления версиями (существует с 2000 г.), предлагает более централизованный подход, чем Git (https://subversion.apache.org/).

Хотя обсуждение Git не было целью написания этой книги, мы бы настоятельно рекомендовали изучить ее основной функционал и рабочие процессы; в целом это необходимый навык66.

5.3.4. Другие релевантные SaaS

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

65Nature (2018) Microsoft’s purchase of GitHub leaves some scientists uneasy. Nature 558:353 https://doi.org/10.1038/d41586–018–05426–0

66Git gittutorial — A tutorial introduction to Git. https://git-scm.com/docs/gittutorial. По состоянию на 20 января 2019 г.

67Lancaster University (2019) Lancaster University launch pioneering chatbot companion for students. https://www.lancaster.ac.uk/news/lancaster-university-launch-pioneering- chatbotcompanion-for-students. По состоянию на 10 марта 2019 г.; AWS (2019) Building a multi-channel Q&A chatbot at Saint Louis University using the open source QnABot. https://aws.amazon.com/es/blogs/publicsector/building-a-multi-channel-qa-chatbot-at- saint-louis-university-using-the-open-source-qnabot/. По состоянию на 17 октября 2019 г.

67

ПЕРЕХОД В ОБЛАКО

5.3.4.1. Интегрированная среда разработки

Перечислим несколько из наиболее актуальных ИСР:

Codeanywhere: кроссплатформенная облачная ИСР, позволяющая совместно разрабатывать программные проекты с помощью веб-браузера на любом устройстве (https://codeanywhere.com/).

AWS Cloud 9: аналогична Codeanywhere, но разработана AWS (https:// aws.amazon.com/cloud9/).

Ideone: облачный инструмент для компиляции и отладки исходного кода на нескольких языках программирования (https://ideone.com/).

5.3.4.2 Составление диаграмм

В облаке доступны также инструменты для совместного рисования и создания диаграмм с использованием одного только веб-браузера. Заинтересованному читателю мы можем посоветовать ознакомиться с тремя инструментами: draw.io (https://www.draw.io/), yEd Live (https://www.yworks. com/yed-live/) и Lucidchart (https://www.lucidchart.com/).

5.4. Саша принимает решение

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

Создание и совместное использование документов: G Suite для общих документов (и обсуждений), Overleaf для LaTeX (и совместных изданий).

Связь: Slack, т. к. это, по-видимому, современный стандарт; кроме того, Slack включает множество полезных плагинов.

Управление задачами: Trello, потому что он бесплатный и простой; более сложный продукт команде не требуется.

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

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

Г Л А В А 6

Эксперименты в облаке

6.1. Саша готов приступить к новому эксперименту

Теперь, когда у Саши есть четкое представление об облачных технологиях, а главное, о том, как получить финансирование и как его использовать, можно приступать к новому эксперименту или запуску проекта. С момента возникновения облачных технологий одной из их целей было массовое распространение ПО, что обеспечивало бы повсеместный и прозрачный доступ к любым необходимым ресурсам68. Запуск и разработка ПО наряду с интерпретацией результатов являются, вероятно, самыми распространенными задачами для ученого или инженера. Одна из основных проблем, с которой сталкиваются разработчики ПО в облаке, это некоторые накладки, связанные с непониманием абсолютно распределенной природы облака (или и того хуже — с попытками бороться с ней), где «готовые» ресурсы не всегда совпадают с теми, какие ожидаешь получить в традиционной среде HPC, например, сети с низкой задержкой по умолчанию.

6.2. Выполнение кода в облаке

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

68Mell P., Grance T. (2011) SP 800–145. The NIST definition of cloud computing. National Institute of Standards & Technology, Gaithersburg.

69

ПЕРЕХОД В ОБЛАКО

6.2.1. Особенности разработки ПО в облаке

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

Использование «локальных» ресурсов — особого набора ресурсов (например, рабочих станций) с легким и быстрым доступом, но при этом весьма статичных. В случае, если требовалось дополнительное оборудование, его приходилось приобретать; иногда доступные ресурсы, такие как пространство на диске или память, и вовсе не использовались.

Использование инфраструктуры HPC: разработчики или ученые из числа входящих в группу участников или аффилированных организаций получали доступ к общему пулу ресурсов (например, к вычислительным узлам) и могли запросить доступ к ресурсам более высокого уровня для решения конкретной задачи, например, проведения эксперимента. Доступ к любому ресурсу осуществлялся, как правило, через диспетчер ресурсов или планировщик69 и определялся уровнем предоставленного доступа. Доступные ресурсы и масштабируемость зависели от возможностей поставщика.

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

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

Подходит ли Сашино ПО для работы в облаке? Этот вопрос может показаться очевидным, однако на деле этот фактор способен оказаться

69Reuther A., Byun C., Arcand W., Bestor D., Bergeron B., Hubbell M., Jones M., Michaleas P., Prout A., Rosa A., Kepner J.(2018) Scalable system scheduling for HPC and big data. J Parall Distr Com 111:76–92.

70Wagstaff K. (2012) What, exactly, is a supercomputer? Time. http://techland.time. com/2012/06/19/what-exactly-is-a-supercomputer/. По состоянию на 9 августа 2018 г.

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]