Облачные службы
В этом разделе описываются альтернативные службы, предлагаемые тремя крупными игроками в области "облачных" вычислений – компаниями Amazon (AWS, Amazon Web Services), Google и Microsoft. Поскольку какие-либо стандарты пока еще отсутствуют, эти службы различаются во многих аспектах: бизнес-моделями, программными компонентами, используемыми на всех уровнях, и моделями программирования. Сводка различий и ключевых характеристик приведена в табл. 1. Для экспериментов, описываемых в разд. 6, наиболее уместна строка Архитектура (Architecture), и поэтому эта строка в табл. 1 выделена. Другой важной категорией является Конфигурация аппаратных средств (HW configuration). Для использования нескольких служб требуется указание нужного числа виртуальных машин, а также того, какие виды серверов должны быть установлены на этих машинах. Только в Google AppEngine аппаратные ресурсы на всех уровнях выделяются автоматически в зависимости от рабочей нагрузки. В SimpleDB и Azure ресурсы автоматически предоставляются и настраиваются на уровнях "сервера баз данных" и "системы хранения", но на уровне серверов Web и приложений требуется ручное конфигурирование аппаратных ресурсов. Компания Amazon обеспечивает службу AutoScaling, которую можно использовать для автоматического увеличения и уменьшения числа машин EC2 на уровне серверов Web и приложений. Однако мы не использовали эту службу при проведении экспериментов, чтобы иметь возможность управлять ими и сосредоточиться на масштабируемости на уровне баз данных.