Облачными называют те вычисления, которые выполняются не на локальной машине пользователя, а внутри кластера удаленных серверов — в облаке.
Большие облака могут быть распределены географически — в этом случае группы серверов располагаются в разных центрах обработки данных, соединенных между собой.
В этом и заключается сущность облачных вычислений — вычисления основываются на совместном (совокупном, словно единое целое) использовании ресурсов отдельных физических машин.
Как следствие, модель оплаты — по мере задействования доступных ресурсов в реальных задачах. Сколько используешь, столько и платишь. Почти линейная зависимость.
Стандартный набор облачных услуг включает:
Возможности облака и условия его предоставления зависят от конкретного провайдера — того, кому принадлежат физические сервера.
Когда интернет только зарождался, понятия облака не существовало. В 2000-х годах среднестатистическая компания могла иметь собственные небольшие серверы (мини дата-центр), обслуживаемые парой специалистов. И таких компаний было много — подход стандартный.
Но инфраструктура глобальной сети становилась сложнее. Стали появляться островки централизации — компании, имеющие в одном месте большое количество физических серверов, сдаваемых в аренду.
По сути «вырождение» сети в такую архитектуру — продукт разделения труда, особенно на фоне глобализации. Каждый занимается своим делом. Одни работают с сетью и серверами, контролируя оборудование и продавая его мощности. Другие разрабатывают сервисы и клиентские приложения. У каждого своя зона ответственности.
Однако с точки зрения инфраструктурного устройства облако — это не просто сдача серверов в аренду. Это более широкое понятие.
Обычный выделенный сервер (VDS/VPS) дифференцирует физические или виртуальные машины друг от друга, что влияет на тарификацию.
Облако более пластично. Все физические серверы провайдера объединены в некую цельную сущность, «кусочки» которой предоставляются клиентам. Отсюда более высокая гибкость и масштабируемость, причем мгновенно по запросу клиента.
Облако четко разграничивает физический и программный уровень. Именно такая высокая степень абстрагированности — «визитная карточка» облачных вычислений.
Всю совокупность облаков, облачных сервисов и приложений, построенных на их основе, можно поделить на программных несколько слоев:
Иерархия IaaS, PaaS и SaaS
В этом смысле с позиции пользователя облако представляет собой так называемые бессерверные вычисления — модель, при которой задачи управления сетевой инфраструктурой перекладываются «на плечи» провайдера, тем самым позволяя разработчикам фокусировать ресурсы на бизнес-логике.
Такой подход позволяет автоматически масштабировать инфраструктуру в зависимости от количества запросов, обрабатывая логику приложения только тогда, когда это действительно нужно — клиенты платят за реальные вычисления, а не простаивающие мощности.
Такую модель (четвертую по счету, относительно трех перечисленных выше) еще называют FaaS или «Функция как услуга». FaaS позволяет разработчикам выполнять куски кода (функции) в ответ на определенные события — триггеры. Счетчик оплаты «крутится» только в тот момент, когда выполняется конкретный код.
cloud
Модель облака — не то же самое, что тип.
Первое подразумевает отношение внутреннего устройства инфраструктуры к особенностям коммуникации (как технической, так и экономической) провайдера с клиентом.
Второе же указывает на отношение облака ко всей сетевой инфраструктуре интернета — то, насколько сильно (или слабо) физические сервера провайдера дифференцированы в глобальной сети.
Поэтому можно выделить несколько основных типов облака.
Публичное облако (Public cloud)
Самый распространенный тип. Большинство облаков (особенно SaaS) публичны — то есть открыты для всех и не изолированы от глобальной сети. Это значит, что любой пользователь может подключиться к удаленным серверам через любой доступный интерфейс — чаще всего это браузер или специальный клиент.
Например, Google Drive доступен через веб-страницу, а Dropbox можно использовать через десктопное приложение.
Как правило, публичные облака монетизируются по модели платной подписки, предоставляющей расширенные возможности. Если облако создано для обычных пользователей, то в большинстве случаев есть ограниченная «free-версия». Если для корпоративных клиентов — нужно оплачивать все заранее.
По сравнению с другими типами облаков, публичные всегда имеют много клиентов, и чаще чего это физические лица. Например, количество пользователей таких сервисов, как Amazon Web Services (AWS), Google Cloud, IBM Cloud, Microsoft Azure и Oracle Cloud исчисляется миллионами.
При этом провайдер несет ответственность за дата-центры. Пользователи вполне оправданно предъявляют значительные требования к защите и безопасности. На помощь приходит хороший внутрикорпоративный контроль (внутри структур провайдера) и криптографические методы — шифрование, например.
Однако нередки случаи, когда конфиденциальные данные оказываются взломаны и скомпрометированы — используя публичное облако, вы никогда не будете на 100% уверены, что утечек не случится.
Именно поэтому корпоративные участники рынка предпочитают некоторые другие типы облаков.
Частное облако (Private cloud)
Это облачная среда, в которой вычислительные ресурсы полностью выделены (изолированы) и доступны только одному клиенту — физическому или корпоративному.
Частное облако такое же гибкое и масштабируемое, как и публичное, однако лишено одного недостатка — публичности. Такое облако тяжелее взломать — оно закрыто от остального мира и контролируется непосредственно клиентом.
При этом это облако размещено локально — где-то в дата-центре самого пользователя. Хотя иногда облако может размещаться и у провайдера — просто серверные мощности одного клиента будут дифференцированы от серверных мощностей другого.
Основная причина использования приватного облака — защита конфиденциальных документов, интеллектуальной собственности, финансовых данных и личной информации.
С другой стороны, архитектуру собственного облака можно построить по-своему — в соответствии с внутрикорпоративными требованиями или с учетом личного опыта и инсайтов.
Тем не менее, частное облако требует экспертности — для его развертывания и управления нужны специалисты. Для молодых проектов это может оказаться довольно дорого.
Гибридное облако (Hybrid cloud)
Гибридное облако — новая «порода», выведенная из скрещивания публичного и приватного облака. Все ради достижения большей гибкости и безопасности.
Такое облако состоит из публичных и частных облачных ресурсов, которые определенным образом оркестрируются — рабочие нагрузки распределяются в зависимости от задач.
Важные данные находятся в приватной части, обслуживание которой может быть более дорогим. Бизнес-логика размещается в публичном облаке — там, где не нужен повышенный контроль, а рабочие процессы уже отлажены.
Все это позволяет организациям эффективнее и экономичнее достигать своих целей, чем при использовании только общедоступного или частного облака.
Построив архитектуру частного облака на основе своего видения, компания может в случае необходимости перемещать рабочие нагрузки в публичное облако, оптимизируя ресурсы.
Мультиоблако (Multicloud)
Мультиоблако — это своего рода абстракция над несколькими облаками от разных провайдеров. Это разные облака, объединенные в одну экосистему, выполняющую общие задачи. Причем возможна комбинация облаков с разными моделями — SaaS, PaaS, IaaS.
Например, сервис электронных писем может быть предоставлен одним поставщиком, репозиторий для кодовой базы другим, а хранилище медиафайлов третьим.
Мультиоблако, так же как и обычное облако, может быть гибридным. В этом случае мощности публичных поставщиков совмещены со средой частного облака.
Компаниям выгодно использовать мультиоблако, чтобы не привязываться к одному поставщику и его продукту. Напоминает диверсификацию — всегда есть возможность отказаться от одного облака в пользу другого, возможно, более инновационного.
С другой стороны, большое количество различных инструментов усложняет управление мультиоблачной средой. Тут важно найти баланс — лишние зависимости тоже ни к чему.
По сравнению с локальным размещением серверной инфраструктуры или арендой выделенных мощностей можно выделить ряд существенный преимуществ облачных вычислений:
Облака, поддерживаемые другими участниками глобальной сетевой инфраструктуры, снимают с разработчиков (пользователей) большую часть усилий и затрат.
Не требуется приобретение, установка, настройка серверных машин и управление ими. А самое главное, не требуется специализированная экспертиза в управлении серверами.
Компания-разработчик использует уже готовое облако, содержа в своем штате только необходимых специалистов — тех, что требуются непосредственно для разработки продукта и его бизнес-логики, а не выполнения низкоуровневых манипуляций с вычислительными мощностями.
Все это кардинально снижает затраты — как денежные, так и временные.
Предоставляемое провайдером облако, как правило, включает в себя серверные приложения и сервисы, помогающие в разработке и администрировании.
Доступ к ним мгновенный. Ровно как и вариативность в выборе. Все доступно сразу по запросу. Никакого ожидания от провайдера традиционной серверной архитектуры или собственного IT-отдела организации.
В некоторых случаях облачный провайдер предоставляет больше гибкости своим клиентам, позволяя разработчикам вносить изменения в работу той части облака, которая была арендована.
Облако можно легко перестраивать в зависимости от размера вашей бизнес-логики. Вместо приобретения избыточных мощностей «про запас» облачное приложение может масштабироваться «вверх» и «вниз» в зависимости от нагрузки. Причем происходит это мгновенно — в пределах конвейера обработки пользовательских запросов.
Конфиденциальность
Облачные вычисления, как и любая технология, имеют свои недостатки. Большая их часть связана с проблемами конфиденциальности.
Провайдер-держатель публичного облака очевидно имеет доступ к хранящимся данным — кодовой базе, медиафайлам, базам.
Крупные облачные провайдеры внимательны к безопасности — данные их клиентов им вряд ли нужны, а сами серверы имеют системы безопасности, защищающие от утечек.
Однако мелкие и малоизвестные провайдеры могут продавать информацию третьим лицам либо использовать ее в своих целях самостоятельно. В некоторых случаях придраться к «сливу» данных не получится — такая возможность со стороны провайдера может быть явно указана в политике конфиденциальности, с которой соглашается каждый пользователь перед началом применения облачных вычислений.
В некоторых соглашениях вопрос о праве собственности не упоминается вообще — в случае возникновения проблем судебные разбирательства не принесут результата.
Поэтому здесь важна репутация и размер бренда компании-поставщика. Этому нужно уделить внимание и быть осторожным с «ноунеймами».
Небезопасные интерфейсы
Общение клиента с удаленными серверами провайдера — одно из самых узких мест безопасности облака. Поэтому важен правильный контроль учетных данных и использование специальных протоколов шифрования.
Чтобы минимизировать риски своих клиентов, поставщику услуг необходимо продумать простую, удобную и безопасную архитектуру API.
Многие пользователи облачных сервисов до конца не понимают всех проблем, возникающих при подключении к удаленным серверам. Поэтому грамотность в теме безопасности — важный компонент защищенности интерфейсов. Особенно сегодня, когда облачные вычисления стали частью повседневности. Какой смысл шифровать все подряд, если клиент хранит пароли в обычном txt-файле?
Сбои и потеря данных
Провайдер не застрахован от проблем, возникающих на его стороне. К тому же, для клиента сервера облачного поставщика — своего рода «черный ящик». Клиент не контролирует его сетевую инфраструктуру.
Сбои могут привести к самым разным проблемам, начиная от потери данных до полной остановки вычислений и обработки запросов.
Зависимости и гарантии поддержки
Как правило, инфраструктурой облака (исключением являются собственные приватные облака) владеет не пользователь, а провайдер. Поэтому серверная инфраструктура, находящаяся на аутсорсе (out-house), превращается в еще одну зависимость от внешнего поставщика.
Мелкие и средние провайдеры не могут дать 100% гарантий, что завтра из бизнес не перестанет существовать. В этом плане, крупные поставщики с собственным брендом (Google, Amazon) более надежны. Тем не менее, пользователям придется считаться с их политикой, особенностями работы и возможными проблемами — как техническими, так и правовыми.
В этом смысле, физический контроль над компьютерным оборудованием (как в случае полностью частного облака) более предпочтителен, хотя и требует больше расходов и опыта.
Разверните свой облачный сервер<br>в Timeweb Cloud
Главная отличительная черта облака — разграничение физического и логического уровня — превратилась в основной двигатель эволюции современной сетевой инфраструктуры.
Глобальная сеть все ближе приближается к такому состоянию, когда разбросанные по миру электронные устройства подключены к неким локализованным точкам — дата-центрам или облакам.
Такую пронизывающую реальный физический мир сеть сегодня принято называть «Интернет вещей» — концепция, при которой каждая вещь связано с миллионом другим вещей через глобальную общую сеть.
Это мир, в котором у каждого пылесоса и кофеварки есть свое отражение (можно сказать, свой аватар) в интернете. Физический мир как бы отражается в зеркале виртуальной реальности.
В итоге весь глобальный интернет постепенно превращается в распределенную сеть из локальных облаков, связанных и коммуницирующих между собой.
Да, интернет всегда был децентрализован. Однако, эпоха облака несет в себе большую гибкость, адаптивность и пропускную способность. Такая сеть намного более отзывчива к любым изменениям, в отличие от классической архитектуры. И надо сказать, этот глобальный облачный тренд будет только продолжаться.