ArgoTech blog
Технологии News

Технологии мейнфреймов, ставшие мейнстримом

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



До поры виртуализация оставалась особенностью именно таких сложных и дорогих систем, как мейнфреймы. Последующее появление линейки персональных компьютеров IBM PC/XT/AT и решение основных производителей процессоров (Intel, AMD, Cyrix) выпускать совместимые процессоры архитектуры x86 обусловило безоговорочное лидерство персональных компьютеров, совместимых с IBM.

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

Мир всё больше погружался в информационные технологии. Электронный документооборот, бухгалтерия, веб, – количество сервисов росло в геометрической прогрессии, и каждый из них требовал выделения вычислительных ресурсов. Но, с увеличением сложности систем, снизилась их надежность. Ошибка в одной программе могла негативно повлиять на другую программу. Для минимизации взаимного влияния программ друг на друга принято было размещать системы на выделенных серверах. Стабильность становилась выше, но росли и затраты на оборудование. Так неэффективное использование оборудования предопределило триумфальное возвращение технологий виртуализации.

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

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

Почему они облачные? Это, конечно, метафора. Долгое время было принято на схемах сети обозначать Интернет в виде символа облака - как совокупность сетей вне сети организации. С появлением сервисов предоставления удаленных вычислительных мощностей термин «облако», показывающий, что хранение данных и вычисления происходят не в сети организации, а «где-то там» - показался многим удобным и стал общеупотребительным.

В настоящее время облачные вычисления так широко используются, что их стали стандартизировать. Институтом стандартов и технологий США (NIST) определены следующие основные характеристики, сервисные модели и модели развертывания:

Основные характеристики:


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

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

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

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

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

Сервисные модели:


  • Платформа как услуга (Platform as a Service, PaaS). Потребителю предоставляется возможность развертывания в облачной инфраструктуре созданных или приобретенных потребителем приложений, созданных с использованием языков программирования, библиотек, сервисов и инструментов, поддерживаемых поставщиком. Потребитель не управляет облачной инфраструктурой, включая сеть, серверы, операционные системы или хранилище, и не контролирует ее, но имеет контроль над развернутыми приложениями и, возможно, параметрами конфигурации для среды размещения приложений. Известны такие PaaS сервисы, как Microsoft Azure, Google App Engine. В основном, ими пользуются разработчики программного обеспечения.

  • Инфраструктура как услуга (Infrastructure as a Service, IaaS). Потребителю предоставляется возможность использования ресурсов обработки, хранения, сетей и других основных вычислительных ресурсов, где потребитель может развертывать и запускать произвольное программное обеспечение, которое может включать операционные системы и приложения. Потребитель не управляет облачной инфраструктурой и не контролирует ее, но имеет контроль над операционными системами, хранилищем и развернутыми приложениями; и, возможно, ограниченный контроль над отдельными сетевыми компонентами (например, межсетевыми экранами). Типичные примеры IaaS – это Microsoft Azure, Amazon EC2, VMware vCloud. «Клиенты» IaaS – это системные администраторы.

  • Программное обеспечение как услуга (Software as a Service, SaaS). Потребителю предоставляется возможность использования приложений (программного обеспечения) поставщика в облачной инфраструктуре. Приложения доступны с различных клиентских устройств через интерфейс тонкого клиента, такой как веб-браузер (например, электронная почта через Интернет), или интерфейс самого ПО. Потребитель не управляет базовой облачной инфраструктурой, включая сеть, серверы, операционные системы, хранилище или даже возможности отдельных приложений, за возможным исключением ограниченных пользовательских настроек конфигурации приложений. Примерами SaaS могут служить сервисы хранения файлов (iCloud, Google Drive, Mega), офисные приложения (Microsoft Office 365, МойОфис, Google Docs). Такие сервисы могут использовать любые (обычные) пользователи.

Модели развёртывания:


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

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

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

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

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

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