Введение в облачные и распределенные информационные системы - Тимур Машнин 2 стр.


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

Например, если вы работаете в компании X, а компания X имеет центр обработки данных или облако, доступное только для сотрудников компании, это приватное облако.

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

Таким образом, среди публичных облаков, есть такие популярные, как Amazon AWS, Google Compute Engine и Microsoft Azure.

Amazon S3  это простая служба хранения, которая позволяет хранить произвольные наборы данных, и вы платите за гигабайты в месяц, которые вы храните.

EC2  это вычислительное облако, которое позволяет загружать и запускать произвольные образы ОС.

По сути, это виртуальные машины, и вы платите за процессорные часы, которые вы используете.

Google AppEngine или Compute Engine предлагает возможность для разработки приложений с последующей загрузкой их в облако.

Например, вы можете использовать Google облако для размещения ваших собственных веб-сервисов.

И Microsoft Azure предлагает аналогичные Google продукты.

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

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

Облако позволяет все это сделать за несколько минут.

И в результате неудивительно, что сотни стартапов в Силиконовой долине используют облачных провайдеров.

Итак, что такое облако?

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

Некоторые скажут: «это просто кластер, куча серверов, соединенных сетью».

Другие могут сказать «это суперкомпьютер. У него больше мощности чем у простого кластера, который вы можете запустить в вашей лаборатории».

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

И нет единого определения для облака.

Мы будем исходить из очень простого определения.

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

И есть два вида облаков  это облако с одним сайтом и географически распределенное облако.

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



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

Эти переключатели стоек часто связаны через сетевую топологию.

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

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

Это могут быть узлы, которые имеют SSD диски.

И, наконец, есть программное обеспечение, которое работает на всех этих серверах, а также маршрутизаторы.

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

Так что это единственный центр данных.

И как правило, такой центр обработки данных размещается в одном здании.

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

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

Но теперь остается вопрос «чем это отличается от кластера?», потому что это похоже на кластер.

Облачные вычисления не являются первой распределенной системой, которая появилась.

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



Они были фактически центрами данных; они занимали целые, большие залы и большие лаборатории.

Они были фактически центрами данных; они занимали целые, большие залы и большие лаборатории.

Это была эпоха индустрии обработки данных, когда обработка данных была сосредоточена в таких центрах.

Затем в 1980-х годах появились персональные компьютеры, которые упростили создание кластеров или сетей рабочих станций, и это привело к появлению распределенных вычислений, а затем крупномасштабных систем, таких как одноранговые системы Peer-to-peer (P2P) в 1990-х и 2000-х годах.

С появлением персональных компьютеров эпоха индустрии обработки данных ушла.

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

И отличие сейчас от 1960-х и 70-х в масштабах и мощностях.

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

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

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

Доступ по требованию означает, что вы не подписывайте контракт по покупке ресурсов заранее.

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

Третий аспект, это интенсивность данных.

То, что раньше было мегабайтами, стало терабайтами данных.

И эти данные нужно сохранить, и их необходимо обработать, и, возможно, в режиме реального времени.

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

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

Так, это Hadoop  проект для разработки и выполнения распределённых программ.

И это MongoDB  NoSQL база данных и так далее.

И облачные сервисы классифицируются исходя из характера предоставляемых услуг.

HaaS означает «аппаратное обеспечение как услуга».



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

Например, если вы покупаете кластер, приватное облако, тогда, вы запускаете аппаратное обеспечение как сервис.

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

Поэтому существует IaaS  инфраструктура как сервис, которая позволяет получить к машинам, и установить свои собственные операционные системы, но без доступа администратора root.

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

PaaS  платформа как сервис, по сути, представляет собой разновидность IaaS.

Вы не получаете доступ к самим виртуальным машинам, но вы пишете свой код, и он тесно интегрирован с программной платформой.

Например, App Engine от Google позволяет писать код на Python, Java или Go, а затем автоматически масштабирует ваше приложение в зависимости от входящей нагрузки.

При этом вы не задумываетесь об установке дополнительных виртуальных машин.

И наконец, SaaS  программное обеспечение как сервис дает вам доступ к приложениям как сервисам, когда они вам понадобятся, и снова вы платите по требованию.

Например, это Google документы или облачный Microsoft Office.

Итак, какая связь между облаками и распределенными системами?

Облако на самом деле является распределенной системой.

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

Это мы называем серверной стороной.

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

Это возможно, веб-страницы, сайты, объекты, которые хранятся, и различные сервисы.

Серверы на стороне центра обработки данных обмениваются между собой данными.

А клиенты напрямую взаимодействуют с серверами.

И каждый клиент может связываться с одним или более серверами.

Назад Дальше