Сравнение ведущих облачных провайдеров: 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 показывает, как составить оценку на основе регионов, сервисов и предполагаемого использования, а также добавить поддержку. Оценка зависит от этих исходных данных и не гарантирует, какой счёт вы получите. Сохраняйте исходные предположения рядом с итоговой суммой, чтобы сравнение оставалось сопоставимым.
Для сайта с большим количеством фотографий передача изображений посетителям может быть более существенной статьёй расходов, чем для небольшой внутренней формы. Для системы, которую нужно быстро восстанавливать, важны также дополнительные мощности базы данных и организация восстановления. Проверяйте собственный сценарий, а не ищите провайдера, который дешевле всех при любых условиях.
Проверьте путь обратно, прежде чем сделать окончательный выбор
Запустите небольшую версию одного и того же приложения у провайдеров из своего короткого списка. Загрузите пробные изображения, создайте тестовые заказы, экспортируйте записи и восстановите их в отдельной тестовой среде. Выясните, чем вы сможете заменить сервисы, специфичные для конкретного провайдера. Копирование файлов — лишь часть переноса приложения.
Зафиксируйте три вещи: сколько работы потребовалось для запуска, какова стоимость при одинаковых предположениях об использовании и что нужно для переноса или восстановления. Успешная проверка даёт небольшой команде более надёжную основу для выбора, чем место бренда в рейтинге.
Соотносите выбор со своей целью
Вам не нужно строить систему сразу в нескольких облаках только ради демонстрации независимости. Один хорошо изученный сервис может оказаться самым практичным началом. Важно понимать, какие обязанности вы передали провайдеру и остаётся ли реальной возможность организовать работу иначе.
В статье «Модели облачных услуг» объясняется это разделение работы. Материал «Периферийные и облачные вычисления» рассматривает, где лучше выполнять разные задачи. Распределение компьютеров по разным местам и распределение полномочий принимать решения — отдельные вопросы; удачный выбор инфраструктуры помогает яснее увидеть оба.