Переход в облако: Практическое руководство по организации облачных вычислений для ученых и IT-специалистов
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

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

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

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

Вступительное слово

Перед прочтением этой книги задайте себе вопрос: знаете ли вы, что такое облака? Если в первую очередь вам пришло на ум облачное хранилище файлов, то вы правы. Но это лишь малая толика возможностей облачных технологий не только для бизнеса, но и для частных пользователей. Предприятия с помощью «облаков» могут как создавать удаленные рабочие места и виртуальные сети, так и помогать тестировать и разрабатывать приложения в облачных средах, использовать технологии машинного обучения. Облачный рынок даже во время кризиса и пандемии Covid-19 не потерял высоких темпов развития.

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

Компания SberCloud — один из российских и достаточно известных облачных провайдеров — создана в январе 2019 года. Мы неоднократно получали награды, в том числе, международные, за свои продукты и решения. Мы предоставляем облачную IT-инфраструктуру в аренду, предлагаем 50+ платформенных сервисов, а также являемся разработчиком самого мощного в России суперкомпьютера Christofari, доступного из облака, и платформы ML-разработки — ML Space. Наши услуги популярны как среди бизнеса и государственных организаций, так и среди физических лиц.

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

Предисловие

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

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

Работая с Хуаном и Диего еще до написания этой книги, мы уделили немало времени проработке различных моделей применения IaaS в сфере наук об окружающей среде, и в частности — о климате. Следовательно, многие замечания, сделанные в книге, были выработаны авторами на практике, а не в ходе теоретических изысканий. Помимо этого, с учетом моего опыта разработки общеевропейских федеративных облачных сервисов для исследований, я отчетливо вижу, что уроки об особенностях использования облака, извлеченные в том числе из неудач, можно было усвоить быстрее и легче, если бы тогда существовал подобный текст, которым мы могли бы поделиться с пользователями. Я считаю также, что эта книга будет крайне полезна не только тем исследователям, кто со временем станет пользователем крупных публичных облачных служб, но и тем, кто выберет облачный проект European Open Science Cloud, который становится все более популярным инструментом среди европейских исследователей.

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

Профессор Дэвид Уоллом

доцент и заместитель директора по инновациям Оксфордского центра электронных исследований,

Оксфорд, Великобритания

Введение

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

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

Хуан Аньель

Диего Монтес

Хавьер Родейро Иглесиа

Оренсе, Испания

Ноябрь 2019 г.

Благодарность

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

Кроме того, мы хотим поблагодарить Springer за интерес к этой книге и возможность опубликовать ее, и особенно Закари Романо, нашего ответственного редактора, а также редакторскую службу AJE. Особая благодарность Пауло Родригесу из Dropbox за полезные дискуссии и содействие в работе, за внесенный в эту книгу вклад. Кроме того, мы хотели бы поблагодарить Google Enterprise, Microsoft Research и Amazon Web Services за предоставленные вычислительные ресурсы и техническую поддержку для проведения экспериментов с использованием их облачных платформ. Том Грей, Барак Регев и Шайлеш Рао из Google, Кендзи Такеда из Microsoft Research — мы выражаем вам глубокую признательность. Также мы благодарим коллег из ClimatePrediction.net в Оксфордском университете, особенно Дэвида Уоллома, всех сотрудников Галисийского центра суперкомпьютерных вычислений (CESGA), в частности Карлоса Фернандеса, а также Томаса Фернандеса Пену из Университета Сантьяго-де-Компостела.

Мы благодарим преподавателя кафедры физиологии Университета Сантьяго-де Компостела Сулаю Тóвар и профессора Хосе Агустина Гарсию из Университета Эстремадуры за отзывы о черновых версиях этой книги. Кроме того, мы выражаем признательность Александре Иглесиас за ее вклад в дизайн обложки.

Часть исследований, проведенных в течение многих лет и позволивших нам накопить знания для создания этой книги, финансировались различными агентствами и учреждениями, в т.ч. Европейским фондом регионального развития (ERDF). Кроме того, в последние годы Хуану Аньелю была оказана поддержка в виде гранта Рамона-и-Кахаля от правительства Испании (RYC-2013–14560).

Список сокращений

AI

Artificial Intelligence

Искусственный интеллект

API

Application programming interface

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

AWS

Amazon Web Services

Облачный сервис; коммерческое публичное облако, поддерживаемое Amazon

BOINC

Berkeley Open Infrastructure for Network Computing

Открытая программная платформа университета Беркли; некоммерческое межплатформенное ПО для организации распределенных вычислений

CDC

USA Centers for Disease Control and Prevention

Центры по контролю и профилактике заболеваний США

CERN

Conseil Européen pour la Recherche Nucléaire

Европейская организация ядерных исследований (ЦЕРН)

CLI

Command Line Interface

Интерфейс командной строки

CNCF

Cloud Native Computing Foundation

Фонд, созданный при поддержке Linux Foundation для разработки и продвижения облачных технологий

DoD

US Department of Defense

Министерство обороны США

EC2

Elastic Cloud Compute

Один из сервисов AWS, позволяющий пользователю арендовать виртуальный сервер с настраиваемым объемом ресурсов

ERP

Enterprise Resource Planning

Планирование ресурсов предприятия; ПО для управления бизнес-процессами

ESA

European Space Agency

Европейское космическое агентство (ЕКА)

EU

European Union

Европейский союз

FaaS

Function as a Service

«Функция как услуга»

FDA

U.S. Food and Drug Administration

Управление по санитарному надзору за качеством пищевых продуктов и медикаментов США

FMI

Finnish Meteorological Institute

Финский метеорологический институт

GCP

Google Cloud Platform

Набор облачных служб, предоставляемый Google

GCS

Google Cloud Storage

Служба хостинга файлов в инфраструктуре GCP

GPL

GNU Public License

Генеральная общедоступная лицензия GNU, проекта по разработке свободного ПО

HIPAA

Health Insurance Portability and Accountability Act

Закон о медицинском страховании и обмене идентификационными данными участвующих при этом сторон

HIV

Human Immunodeficiency Virus

Вирус иммунодефицита человека, ВИЧ

HPC

High performance computing

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

HPCaaS

HPC as a Service

«Суперкомпьютер как услуга»

IaaS

Infrastructure as a Service

«Инфраструктура как услуга»

IOPS

Input/output operations per second

Количество операций ввода-вывода в секунду

IoT

Internet of Things

Интернет вещей

IRC

Internet relay chat

Протокол прикладного уровня для обмена сообщениями в режиме реального времени

IT

Information Technologies

Информационные технологии (ИТ)

JPL

Jet Propulsion Laboratory

Лаборатория реактивного движения, NASA

JSON

JavaScript object notation

Текстовый формат обмена данными

Met Office

United Kingdom’s National Weather Service

Главная метеорологическая служба Великобритании

MPI

Message Passing Interface

Программный интерфейс для передачи информации

NAS

Network Attached Storage

Сервер для хранения данных на файловом уровне

NASA

National Aeronautics and Space Administration

Национальное управление по аэронавтике и исследованию космического пространства, США

NOAA

USA National Oceanic and Atmospheric Administration

Национальное управление океанических и атмосферных исследований, США

NREL

National Renewable Energy Laboratory

Национальная лаборатория по изучению возобновляемой энергии

OS

Operating system

Операционная система (ОС)

PaaS

Platform as a Service

«Платформа как услуга»

POSIX

Portable Operating System Interface

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

PUE

Power Usage Effectiveness

Эффективность использования электроэнергии

RAM

Random-Access Memory

Запоминающее устройство с произвольным доступом

S3

AWS Simple Storage Service

Веб-служба файлового хостинга, предоставляемая AWS (Amazon)

SaaS

Software as a Service

«ПО как услуга»

SDK

Software Development Kit

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

SEO

Search Engine Optimization

Поисковая оптимизация

SSD

Solid-State Drive

Твердотельный накопитель

SSL

Secure Sockets Layer

Криптографический протокол, обеспечивающий безопасную связь

TLS

Transport layer security

Криптографический протокол на транспортном уровне

UI

User Interface

Пользовательский интерфейс (ПИ)

VPC

Virtual private cloud

Виртуальное частное облако

VPN

Virtual private network

Виртуальная частная сеть

VPS

Virtual private server

Виртуальный выделенный сервер

Глава 1

Почему вам нужна эта книга?

Активное использование компьютеров в научных целях постоянно стимулировало развитие технологий. В исследовательской работе компьютеры используются по-разному, но наиболее востребованными их функциями являются хранение данных и высокопроизводительные вычисления (HPC). При таком использовании наличие сетевого оборудования всегда являлось обязательным требованием; однако оно потеряло актуальность с развитием концепции облачных вычислений в последнее десятилетие и внесерверной обработки данных в последние годы. И действительно, отчет проекта top500.org1 гласит: за период 2016–2017 гг. рынок HPC вырос примерно на 1,6%, тогда как использование облачных HPC-сервисов возросло с 7 до 44%. Скорее всего, объяснить эту разницу можно тем, что HPC как услуга (HPCaaS) используется для дополнения ресурсов локальных инфраструктур HPC, когда таких ресурсов недостаточно для удовлетворения нужд пользователя. Это, пожалуй, одна из самых привлекательных особенностей облачных вычислений, стимулирующая их использование в исследованиях: удовлетворение потребности в вычислительных ресурсах при реализации тех или иных проектов.

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

...