Руководство по архитектуре облачных вычислений
По сравнению с классической аппаратной конфигурацией архитектура облачных вычислений обеспечивает значительно большую гибкость, выбор дизайна и возможности экономии. Однако за эти преимущества приходится платить, поскольку облачная платформа, как правило, более сложна для понимания и имеет больше движущихся частей, чем обычная локальная физическая инфраструктура.
Эта статья представляет собой введение в архитектуру облачных вычислений. и компоненты, которые работают в облачной среде. Читайте дальше, чтобы узнать, как различные системы работают в тандеме для создания функционального облака и предоставления конечным пользователям ИТ-ресурсов по требованию (серверов, приложений, баз данных, сетей и т. д.).
Объяснение архитектуры облачных вычислений
Архитектура облачных вычислений относится к сочетанию систем и технологий, которые при интеграции создают ИТ-инфраструктуру, которая абстрагирует, объединяет и совместно использует ресурсы по запросу в сети. Каждая облачная архитектура состоит из двух основных компонентов:
- Внешний интерфейс (элементы, видимые конечному пользователю, такие как веб-приложения и браузеры, мобильные устройства, пользовательский интерфейс и т. д.).
- Бэкенд («облачная» часть системы с хранилищем данных, выделенными серверами, ОС, мерами безопасности и т. д.).
Архитектура облачных вычислений также требует сети, через которую взаимодействуют передняя и задняя части. Эти два компонента обычно обмениваются данными через Интернет, если только архитектор не предпочитает использовать частную сеть (вариант перехода в частной и гибридной облачной архитектуре).
Независимо от типа сети уровень связи между интерфейсом и сервером должен иметь:
- Высокая пропускная способность.
- Нет задержки.
- Высокая доступность
- Высочайшая безопасность сети.
По своей сути архитектура облачных вычислений представляет собой сочетание:
- Архитектура, управляемая событиями (EDA): Архитектура программного обеспечения, в которой несвязанные сервисы создают, обнаруживают системные события и реагируют на них.
- Сервисно-ориентированная архитектура (SOA): Система, в которой набор компонентов предоставляет услуги другим элементам через протокол связи.
У компании есть много причин для развертывания архитектуры облачных вычислений, несмотря на то, что эти системы более сложны, чем локальная установка. Вот некоторые из основных причин:
- Более быстрый выход на рынок.
- Ускоренное предоставление ресурсов.
- Масштабируемость в реальном времени (вверх и вниз).
- Возможность использовать облачные решения (например, Kubernetes).
- Более надежное соответствие требованиям благодаря лучшей видимости данных.
- Экономия (отсутствие необходимости в локальном оборудовании и жесткий контроль над использованием ресурсов).
Внедрение архитектуры облачных вычислений
Внешняя часть действует как клиент в архитектуре и может связываться с задней частью через Интернет или частную сеть. Интерфейсный компонент виден конечному пользователю и обеспечивает доступ к облачной платформе.
Два основных элемента внешнего интерфейса:
- Приложение или программное обеспечение (обычно веб-браузер или собственное приложение), которое клиент использует для доступа и взаимодействия с облачной платформой. Приложение или браузер имеет специальный пользовательский интерфейс, который некоторые облачные архитекторы считают отдельным интерфейсным компонентом.
- Клиентское устройство, через которое пользователь подключается к браузеру или приложению и взаимодействует с ним (мобильный телефон, планшет, ПК, ноутбук и т. д.).
Элементы интерфейса отвечают за:
- Предоставление пользователю возможности взаимодействовать с облаком.
- Отправка запросов на серверную часть через ПО промежуточного слоя.
- Запрос услуг из серверной части.
- Представление всей информации, связанной с облаком (использование ресурсов, проблемы безопасности, оповещения о мониторинге, шаблоны использования и т. д.).
Облако обрабатывает больше, чем клиентское устройство, что является еще одним заметным преимуществом облачных вычислений, особенно полезным для удаленных команд и компаний с политикой BYOD.
Внутренняя часть архитектуры облачных вычислений
В архитектуре облачных вычислений серверная часть относится к самому облаку. Этот компонент содержит различные системы, серверы и хранилища, которые выполняют несколько ключевых ролей:
- Запуск облачных программ и приложений.
- Добавьте функциональность внешнему интерфейсу и отвечайте на любой запрос, который отправляет пользователь.
- Развертывание и масштабирование ресурсов.
- Контролировать все операции и действия.
- Защитите облачные данные и процессы.
- Подключить все сервисы и приложения.
- Запустить механизмы управления трафиком.
- Управление облачными протоколами.
Облачный провайдер — это тот, кто управляет внутренним компонентом. Однако некоторые компании предпочитают разрабатывать и поддерживать свое облако, и в этом случае внутренняя команда берет на себя ответственность за внутренние операции. Компания также может разделить внутренние задачи между внутренней командой и командой поставщика (распространенный выбор в строго регулируемых компаниях, которые должны соответствовать требованиям HIPAA или PCI).
В то время как передняя часть — это просто пользовательский интерфейс с подключением, внутренняя часть — это то, что придает облаку основные принципы:
- Ресурсы по запросу, которые пользователь может настроить без помощи поставщика услуг.
- Возможность подключения клиента независимо от его местоположения.
- Объединение ресурсов, позволяющее поставщику объединять ресурсы и обслуживать нескольких пользователей в динамической многопользовательской среде.
- Быстрая эластичность для быстрой реакции на потребительский спрос.
- Отслеживаемый сервис, который позволяет конечному пользователю подробно отслеживать использование облака.
Задняя часть имеет больше компонентов и значительно больше, чем ее передняя часть. Ниже более подробно рассматриваются все серверные компоненты, которые могут существовать в архитектуре облачных вычислений.
Прикладной уровень
Когда конечный пользователь взаимодействует с внешним интерфейсом, уровень приложения серверной части получает запрос и обрабатывает запросы клиента. Этот слой играет несколько важных ролей:
- Предоставьте пользователям доступ к облачным службам.
- Соедините заднюю и переднюю часть.
- Отвечать на внешние запросы.
- Скоординируйте потребности потребителя с внутренними ресурсами.
Служебный уровень
Сервисный уровень добавляет полезности серверной части архитектуры облачных вычислений. Этот компонент обрабатывает все задачи и запросы через службы хранения данных, среды разработки приложений, веб-службы и т. д.
Службы могут выполнять различные задачи и функции в облачной среде выполнения. Тип услуг, которыми может воспользоваться клиент, зависит от модели доставки. Существует три основных метода облачной доставки:
- Инфраструктура как услуга (IaaS): IaaS обеспечивает доступ и контроль над ресурсами архитектуры облачных вычислений (хранилище данных, серверы, сетевая инфраструктура, виртуальные машины и т. д.).
- Программное обеспечение как услуга (SaaS): SaaS позволяет клиенту размещать прикладное программное обеспечение в облаке. В модели SaaS поставщик занимается всеми обновлениями и разработками, а поставщик поддерживает базовую инфраструктуру.
- Платформа как услуга (PaaS): Модель PaaS предоставляет пользователям платформу по запросу для разработки программного обеспечения. Поставщики размещают полный набор технологий и инструментов, но пользователь занимается разработкой программного обеспечения, управлением приложениями и обновлениями.
Модели доставки не являются моделями облачного развертывания (например, гибридными, общественными или мультиоблачными). В то время как модель доставки определяет тип сервисов, к которым имеют доступ пользователи, модель развертывания определяет тип рассматриваемого облака.
Промежуточное ПО
Промежуточное ПО относится к программным компонентам, которые позволяют сетевым устройствам и приложениям обмениваться данными. Этот компонент отвечает за соединения между:
- Приложения.
- Услуги.
- Облака среды выполнения.
- Единицы хранения.
- Устройства инфраструктуры.
- Решения для обеспечения безопасности.
- Внешний интерфейс.
Как и в традиционном центре обработки данных, ПО промежуточного слоя использует базы данных и коммуникационные приложения для обеспечения координации между различными системами.
Облачное хранилище
Хранилище — это часть серверной части, в которой хранятся все облачные данные. Тип и емкость облачного хранилища зависят от поставщика облачных услуг и требований клиента. Эта служба облачных вычислений позволяет пользователю хранить данные в облаке, а не в хранилище данных на месте, что является более безопасным и удобным вариантом.
Облачная инфраструктура
Хотя конечный пользователь никогда не видит облачную инфраструктуру и не взаимодействует с ней, облакам также требуется аппаратное обеспечение. Облачная инфраструктура включает в себя все функции стандартной серверной в центре обработки данных, в том числе:
- Серверы.
- Центральные процессоры (ЦП).
- Графические процессоры (GPU).
- Материнские платы.
- Единицы хранения (жесткие диски и твердотельные накопители).
- Сетевое оборудование с маршрутизаторами и коммутаторами.
- Сетевые и ускорительные карты.
- Инфраструктура охлаждения и электропитания.
Уровень инфраструктуры также включает программное обеспечение, необходимое для работы всего оборудования и управления им.
Гипервизор
Гипервизор — это часть программного обеспечения, которая создает и запускает виртуальные машины. Гипервизор выделяет ресурсы одного устройства (ЦП, память, хранилище и т. д.) и позволяет нескольким виртуальным машинам с отдельными операционными системами работать на одном устройстве.
Виртуализация, обеспечиваемая гипервизором, повышает эффективность серверов, хранилищ и сетей в многопользовательском облаке. Однако этот компонент может повлиять на общую производительность, если на хост-устройстве слишком много виртуальных машин.
Программное обеспечение для управления
Программное обеспечение для управления архитектурой облачных вычислений обеспечивает бесперебойную и эффективную работу всех операций и программ. Вот некоторые из задач, которые выполняют эти системы:
- Аудит безопасности и соответствия требованиям.
- Мониторинг производительности и емкости.
- Отслеживание использования.
- Развертывание новых приложений.
- Интеграция данных.
- Управление аварийным восстановлением.
Программное обеспечение для управления также включает в себя программы и инструменты для автоматизации. Автоматизация является основной ценностью облака и одним из основных преимуществ этой технологии. В архитектуре облачных вычислений средства автоматизации выполняют три важные задачи:
- Увеличьте или уменьшите масштаб в соответствии с потребностями использования или трафика.
- Обеспечить управление в облачной среде.
- Реагировать на события, следуя инструкциям из предварительно заданного порога или облачной политики.
Уровень безопасности
Уровень безопасности является жизненно важным аспектом облачной архитектуры. Поскольку большинство облачных сред на уровне поставщика представляют собой мультитенантную среду с высоким риском, поставщики обычно полагаются на различные методы обеспечения безопасности облачных вычислений, например:
- Регулярные неизменяемые резервные копии данных.
- Шифрование данных (в состоянии покоя, в движении и при использовании)
- Высококачественные инструменты отладки.
- Виртуальные брандмауэры (как для всей установки, так и для промежуточных клиентов).
- Принципы безопасности с нулевым доверием.
- Многофакторная аутентификация и надежные пароли.
- Системы обнаружения вторжений (IDS).
- Программное обеспечение для защиты от вредоносных программ и вирусов.
- Предотвращение программ-вымогателей.
Рекомендации по архитектуре облачных вычислений
Не существует единого способа построить эффективную архитектуру облачных вычислений, но несколько рекомендаций применимы к каждому проекту. Вот рекомендации, которые следует учитывать при разработке новой или адаптации существующей архитектуры:
- Приоритет безопасности: При создании архитектуры ваша команда безопасности или службы безопасности должна с самого начала внедрить защиту в проект. Чем надежнее будет система безопасности в начале, тем меньше у вас будет рисков, связанных с утечкой и взломом данных по мере расширения среды.
- Планируйте всплески использования: Постарайтесь спрогнозировать и понять, как установка будет вести себя при обычных и пиковых нагрузках. Убедитесь, что архитектура хорошо работает в любом сценарии, и подготовьте оптимальные механизмы для масштабирования.
- Не рискуйте с кибербезопасностью: Помимо планирования безопасности с самого начала, вы также должны защитить свою архитектуру всеми доступными мерами кибербезопасности. Найдите поставщика, который предлагает шифрование данных, регулярное управление исправлениями, защиту конечных точек, аварийное восстановление в облаке и надежные политики.
- Настройте непрерывный мониторинг: Непрерывный мониторинг среды с помощью такого инструмента, как Nagios, на наличие проблем с производительностью и использованием создает полезные шаблоны, которые помогают оптимизировать настройку.
- Оптимизируйте и сократите расходы: Воспользуйтесь преимуществами автоматизированных процессов и отслеживания использования, чтобы исключить ненужные расходы и убедиться, что вы не перерасходуете ресурсы.
Готовы отказаться от локального оборудования?
Концепция архитектуры облачных вычислений остается расплывчатой для многих менеджеров и команд. Предоставление этой статьи сотрудникам, не являющимся техническими специалистами, поможет демистифицировать облако и приблизит ваш бизнес к миграции в облако.
Облачные вычисления
- Проверка реальности облачных вычислений
- Руководство по облачным вычислениям в Linux
- Почему важно обучение облачным вычислениям
- 5 лучших сертификатов по облачным вычислениям
- Тенденции облачных вычислений, 2019 г. и последующие годы
- Советы и рекомендации по облачным вычислениям
- Облачные вычисления:все, что вам нужно знать
- Как стать экспертом по облачным вычислениям
- Изучите облачные вычисления с нуля
- 5 лучших облачных вакансий 2020 года