Статьи редакцииДругие статьи

Сравнение ведущих облачных провайдеров: AWS, Azure, Google Cloud и другие

Как сравнить AWS, Azure, Google Cloud, Alibaba и Tencent с учётом ваших задач, полной стоимости, трудозатрат на эксплуатацию и возможности перейти к другому провайдеру.

Содержание

Лоток с моделями изображения, файла и базы данных стоит перед тремя миниатюрными серверными комнатами.

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

Допустим, небольшой компании нужен сайт с фотографиями товаров и списком заказов клиентов. Ей нужно где-то запускать приложение, где-то хранить изображения, а также нужна база данных, из которой можно получать заказы и в которой можно их обновлять. Начните с этих трёх задач. С ними сравнивать облачных провайдеров гораздо проще, чем со списком рыночных долей.

Разные названия для знакомых задач

Виртуальная машина — это компьютер, который вы настраиваете и используете удалённо. Объектное хранилище содержит файлы, например изображения. Управляемая реляционная база данных хранит структурированные записи, а часть работы по её эксплуатации берёт на себя провайдер. Ниже приведены примеры из каталогов разных провайдеров; это не одинаковые продукты и не рейтинг.

Провайдер

Виртуальные машины

Объектное хранилище

Управляемая реляционная база данных

AWS

Amazon EC2

Amazon S3

Amazon RDS

Microsoft Azure

Azure Virtual Machines

Azure Blob Storage

Azure Database for PostgreSQL

Google Cloud

Compute Engine

Cloud Storage

Cloud SQL

Alibaba Cloud

Elastic Compute Service (ECS)

Object Storage Service (OSS)

ApsaraDB RDS

Tencent Cloud

Cloud Virtual Machine (CVM)

Cloud Object Storage (COS)

TencentDB for MySQL

Названия и категории продуктов взяты из сравнения сервисов разных провайдеров от Google, обзора RDS от Alibaba и каталога продуктов Tencent. Системы управления базами данных, доступные конфигурации и поддерживаемые функции различаются; сервис MySQL нельзя просто подставить вместо PostgreSQL в использующее его приложение.

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

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

Начните с уже существующей у вас системы. Какую СУБД она использует? Как её развёртывают? Какие инструменты команда умеет поддерживать? Знакомое решение может сократить объём работы; незнакомый сервис тоже может быть оправдан, если решает конкретную проблему. Чётко сформулируйте эту пользу.

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

Рассчитайте стоимость полного месяца работы

Для каждого кандидата используйте одинаковые исходные данные: ожидаемую посещаемость, часы вычислений, объём хранимых файлов, размер базы данных, резервные копии и объём данных, передаваемых пользователям. Если команде понадобится поддержка, включите и её. Дешёвая виртуальная машина — лишь одна строка в таком расчёте.

Например, руководство по AWS Pricing Calculator показывает, как составить оценку на основе регионов, сервисов и предполагаемого использования, а также добавить поддержку. Оценка зависит от этих исходных данных и не гарантирует, какой счёт вы получите. Сохраняйте исходные предположения рядом с итоговой суммой, чтобы сравнение оставалось сопоставимым.

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

Проверьте путь обратно, прежде чем сделать окончательный выбор

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

Зафиксируйте три вещи: сколько работы потребовалось для запуска, какова стоимость при одинаковых предположениях об использовании и что нужно для переноса или восстановления. Успешная проверка даёт небольшой команде более надёжную основу для выбора, чем место бренда в рейтинге.

Соотносите выбор со своей целью

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

В статье «Модели облачных услуг» объясняется это разделение работы. Материал «Периферийные и облачные вычисления» рассматривает, где лучше выполнять разные задачи. Распределение компьютеров по разным местам и распределение полномочий принимать решения — отдельные вопросы; удачный выбор инфраструктуры помогает яснее увидеть оба.