Следует также отметить, что каждая технология несет в себе скрытые угрозы, и должен пройти определенный период адаптации пользователей к этим угрозам – с тем, чтобы иметь возможность выработки плана противодействия. Цифровые технологии уже преподносили человечеству такие угрозы (хакерские атаки, вирусы, компьютерная и игровая зависимость, нарушение приватности), и каждый раз человечество находило ответы на данные вызовы. Поэтому сокращение циклов появления новых технологий говорит о проблеме сокращения (нехватки) времени на выработку механизмов управления ими и поиска противодействия потенциальным угрозам.
Вышеприведенные рассуждения подводят к концепции, которую часто приписывают директору по инженерным разработкам Google Рэю Курцвейлу, внесшему вклад в ее научное обоснование и популяризацию.
Суть концепции сводится к тому, что ускорение технологического прогресса приведет к моменту, когда прогресс станет настолько быстрым и сложным, что окажется недоступным для понимания и, соответственно, управления человеком [30].
Мы описали общие закономерности развития новых цифровых технологий. В следующем разделе мы рассмотрим эволюцию отдельных технологий и проанализируем их роль в осуществлении цифровой трансформации.
Глава 2. Новые технологии, определяющие цифровую трансформацию
Облачные вычисления, облачные сервисы
Несмотря на то, что специалисты по-разному определяют суть цифровой трансформации, все связывают эту трансформацию примерно с одним и тем же набором технологий. В первую очередь, это так называемые «четыре столпа третьей платформы» – облако, мобильность, социальные сети и «большие данные», а также целый ряд других, включая SDN/NFV, IoT, 3D-печать, беспилотный транспорт, «цифровых двойников». Очевидно, что для понимания сути термина «цифровая трансформация» необходимо кратко остановиться на описании данных технологий.
Облачные вычисления: трактовка термина и эволюция понятия
Исчерпывающее определение термина облачные вычисления может быть достаточно громоздким, поэтому начнем с самого простого и общего, а затем будем уточнять его по мере введения дополнительных понятий. Прежде всего следует отметить, что для использования облака нет необходимости быть с ним в непосредственной географической близости, облачные технологии позволяют предоставить ИКТ-ресурсы удаленным абонентам (рис. 2.1).
Под доступом к ИКТ-ресурсам здесь мы будем понимать доступ к разделяемым серверным (вычислительным) ресурсам, к ресурсам хранилища данных (как, например, в популярных сервисах типа DropBox или Google Drive) или к сетевым ресурсам, таким как коммутаторы и маршрутизаторы.
Рис. 2.1. Схема, поясняющая термин «облачные вычисления»
Основная идея сервисов на базе облачных вычислений состоит в том, что провайдер предоставляет вычислительные ресурсы динамически, по требованию. Ресурсы могут эластично наращиваться и «высвобождаться в облако» с минимальными эксплуатационными затратами и обращениями к провайдеру за счет наличия инструментов самообслуживания. При этом ответственность за функционирование и поддержку инфраструктуры, обеспечивающей эти ресурсы, ложится на провайдера сервиса. Оплата потребляемых ресурсов осуществляется пользователем так же эластично – то есть только за те ресурсы, которые фактически были использованы.
На рисунке 2.2 представлена эволюция технологий и продуктов, определивших облачные сервисы. Зачатки идеи облачных вычислений можно найти в идее так называемого Utility-компьютинга, который состоит в предоставлении компьютерных ресурсов в качестве сервиса, оплачиваемого в зависимости от объема потребления (рис. 2.2). Впервые эта концепция была предложена Джоном Маккарти еще в 1961 году, а ее название происходит от аналогии с коммунальными платежами. К данной категории могут быть отнесены технологии, известные уже не один десяток лет. Например, услуга предоставления пользователю приложений в виде терминального доступа по сети или технология Grid-компьютинга, позволяющая объединить несколько компьютеров для решения задачи и предоставить вычислительные ресурсы как сервис.
Рис. 2.2. Эволюция технологий и продуктов, определивших облачные сервисы
Технологическими предпосылками возникновения облачных вычислений можно назвать технологии виртуализации, веб-хостинга, сервис-ориентированную архитектуру (SOA) и наиболее близкое к облачным сервисам предоставление приложений в виде сервиса (ASP) (см. рис. 2.2).
На рисунке 2.2 отмечен также ряд событий, связанных с компаниями и сервисами, внесшими существенный вклад в становление облачных вычислений. Здесь следует назвать появление компании Salesforce.com – разработчика одноименной CRM-системы, и одного из пионеров предоставления ПО в виде услуги – компании VMwаre, внесшей наиболее весомый вклад в развитие рынка программной виртуализации. Важнейший вклад в развитие облачных услуг внесла компания Amazon, которая в 2006 году запустила проект под названием Elastic Computing Cloud (Amazon EC2). Также существенными шагами к развитию облачных вычислений стали запуск в 2008 году Google App Engine и запуск Windows Azure в 2009 году.
Внедрение облачных вычислений позволило получить экономию за счет стандартизации, объединения ресурсов и автоматизации многих сервисных операций, которые в традиционных ИТ выполняются вручную. Применение облачных вычислений стало возможным в результате слияния достижений в трех областях: стандартизации серверного оборудования, виртуализации и выработки новых принципов построения программных приложений, а также благодаря появлению новой бизнес-модели управления ИТ-инфраструктурой с оплатой только за те ресурсы, которые клиент действительно потребляет.
Каждая новая технология заменяет старую за счет того, что оказывается более эффективной.
Информационные технологии, подчиняясь общим законам развития, эволюционируют по спирали, – весьма наглядно это видно на примере эволюции от мейнфреймов к персональным компьютерам, затем к клиент-серверной архитектуре и позднее – к облачным вычислениям (рис. 2.3).
Рис. 2.3. Эволюция вычислительных архитектур
В некотором роде «облако» – это возвращение к архитектуре мейнфреймов, но на новом уровне. Действительно, мейнфреймы появились как жесткая централизованная ИТ-инфраструктура. Будучи дорогой, эта технология до сих пор доступна лишь крупным организациям. С ростом вычислительной мощности стоимость ИТ-инфраструктуры на базе мейнфреймов в расчете на один MIPS (million instructions per second – миллион команд в секунду) быстро снижается (см. рис. 2.4), но до определенного предела, что объясняется невысокой степенью задействования серверов, а также тем, что мейнфреймы – это сложное уникальное оборудование, и специалисты по его обслуживанию обходятся недешево.
Появление персональных компьютеров и клиент-серверной архитектуры создало условия для модульного потребления ИТ. С развитием клиент-серверной технологии и ростом потребляемой вычислительной мощности стоимость ИТ-инфраструктуры на базе клиент-серверной модели в расчете на MIPS снижается до более низкого уровня вследствие меньшей стоимости обслуживания (рис. 2.4). Однако проблема низкой загрузки серверов остается и в клиент-серверной архитектуре.
Рис. 2.4. Влияние масштаба вычислительной системы (количество MIPS) на ее стоимость. Источник: Microsoft
В модели облачных вычислений соединяются преимущества мейнфреймов и клиент-серверной архитектуры, что позволяет существенно выигрывать в стоимости на один MIPS при масштабировании технологии (см. рис. 2.4). Основной стимул внедрения облачных технологий состоит в том, что они дают экономическую выгоду при построении ИТ-инфраструктуры по целому ряду параметров. Подобно тому как клиент-серверная модель потеснила мейнфреймы, облачные технологии вытесняют клиент-серверную архитектуру в силу экономических преимуществ.
Облачные сервисы можно также представить как эволюцию видов хостинга, с постепенной передачей все большего количества функций на сторону провайдера (см. рис. 2.5).
Рис. 2.5. Степень разделения бизнес-рисков с провайдером сервиса. Источник: IDC
На рисунке 2.5 показаны семь вариантов взаимоотношений между клиентом (К) и провайдером хостинга (П). Эти варианты представлены на плоскости в координатах «ответственность за управление» – «степень необходимости разделения контента и приложений с провайдером».
Colocation – это вид хостинга, при котором клиент размещает оборудование в дата-центре провайдера, то есть и приложения, и инфраструктура принадлежат клиенту (К), провайдер предоставляет минимальное количество сервисов по управлению, а ответственность за работу приложений и серверов лежит на клиенте.
Противоположный вариант – «ПО как услуга» – представляет собой схему, при которой и приложение, и инфраструктура являются собственностью провайдера (П) и им же управляются.
Облачные вычисления и виртуализация
Для рассуждения о сущности технологии облачных вычислений стоит напомнить о понятии серверной виртуализации. В самом общем плане виртуализация аппаратного обеспечения заключается в разбиении его ресурсов на логические части, управляемые отдельно друг от друга, то есть позволяет в рамках одного физического сервера создать несколько независимо функционирующих сред (виртуальных машин).
Поскольку необходимо, чтобы сервер поддерживал приложения по запросу, то технологию виртуализации требуется оснастить неким промежуточным звеном, цель которого – выделение физических ресурсов под нужды отдельных приложений. Виртуализация системы чаще всего осуществляется с помощью технологии гипервизора – программного обеспечения, позволяющего абстрагировать системные ресурсы. По функциям гипервизор похож на операционную систему, но его клиентами являются не приложения, а гостевые операционные системы (на которых непосредственно поднимаются клиентские приложения) (см. рис. 2.6).
Реализация виртуализации зависит от конкретного производителя. Фактически у каждого крупного вендора имеется своя реализация гипервизора, то есть того приложения, с помощью которого возможно изолировать виртуальные машины друг относительно друга.
Виртуализация серверов позволяет запустить несколько операционных систем в виртуальной среде на одном сервере. Операционная система, запущенная внутри виртуальной машины, напрямую не связана с типом оборудования физического сервера, внутри которого она работает.
Рис. 2.6. Виртуализация серверов с помощью гипервизора
В результате абстрагирования физических ресурсов от вычислительных появляется возможность объединить в единый пул вычислительные ресурсы разных серверов. Следует отметить, что абстрагированию подлежат не только вычислительные ресурсы, но и дисковое пространство.
Для введения понятия облака напомним читателю концепции вертикального и горизонтального масштабирования.
Вычислительные ресурсы можно наращивать за счет приобретения все более мощного сервера с большими ресурсами (см. верхний вариант на рис. 2.7) – этот метод называют вертикальным масштабированием (Scale Up), а можно объединить в единый пул группу серверов и предоставлять их ресурсы по требованию – такое масштабирование называют горизонтальным или Scale Out (см. нижний вариант на рис. 2.7). Можно сказать, что второй метод и является основой облачных технологий.
Можно провести аналогию с автобусами и поездами. Если вам не хватает возможностей обычного автобуса, можно купить более вместительный, например, двухъярусный (аналог вертикального масштабирования), другой подход – соединить в цепочку несколько автобусов: по сути, именно эта идея и используется в железнодорожных перевозках – поезд по требованию может наращивать возможности грузоперевозок, а в случае отсутствия такой необходимости, – уменьшать, передавая свободные вагоны другим поездам.
Рис. 2.7. Вертикальное и горизонтальное масштабирование
Таким образом, горизонтальное масштабирование (Scale Out) – это метод, который позволяет объединять вычислительные мощности под управлением разных типов гипервизоров и реализовать технологию облачных вычислений (см. рис. 2.8).
Рис. 2.8. Схема, поясняющая принцип работы облачных вычислений
Реализация облачной операционной системы может быть разной, например, OpenStack, VMware vCloud, Microsoft Azure и другие.
Задачей облачной операционной системы является оркестрация вычислительных ресурсов и хранилища данных. Процесс оркестрации похож на формирование пакета, в который входит требуемое количество виртуальных процессоров, выделяемых гипервизором, емкости хранилища данных и необходимых сетевых ресурсов для объединения разрозненной многофункциональной инфраструктуры воедино.
Технология облачных вычислений формирует рынок облачных услуг. Следует различать термины «облачные услуги» и собственно облачные вычисления, которые можно определить как технологическую основу для предоставления облачных услуг. Согласно IDC, облачные сервисы – это стандартизованные услуги, потребляемые в режиме совместного использования, позволяющие производить более быстрое развертывание и апгрейд системы по сравнению с традиционной моделью доставки, а также освобождающие пользователя от забот по поддержке ИТ-инфраструктуры. Для того чтобы отнести услуги провайдера к облачным, необходимо выполнение следующих условий:
• эластичное масштабирование – по мере необходимости дополнительных вычислительных ресурсов или памяти, они выделяются динамически в широких пределах;
• наличие средств самообслуживания для пользователей, что обеспечивает высокую скорость внедрения сервиса;
• оплата по мере потребления – система оплаты основана на измерении объема потребленного ресурса;
• сервисы доступны через интернет и опираются на стандартные технологии, такие как SSL, IP VPN, CDN и т. п.;
• в рамках сервиса осуществляется поддержка технологий, которые де-юро и де-факто стали стандартами интернета, таких как Dynamic HTML, XML, Flash, HTML, JavaScript, SVG и пр.;
• открытость API, что позволяет комбинировать сервисы, а также интегрировать их с уже установленными в организации системами. IDC различает облачные ИТ-сервисы и бизнес-сервисы, построенные на их основе (последние определяются как облачные бизнес-сервисы или Business process as a service). На базе облачных ИТ-сервисов могут быть реализованы любые бизнес-сервисы в форме услуги – развлекательные (например, игры), финансовые (платежные системы) медицинские и многие другие.
IDC выделяет разные схемы доставки услуг: