Ответ 1
клиент-сервер
В широком мире вычислений есть только два вида приложений,
- автономное приложение и
- клиент-серверное приложение
Автономный просто означает, что пользовательский интерфейс и бизнес-логика, а также хранилище данных и все ресурсы полностью автономны внутри одной среды исполнения - машины конечного пользователя.
Напротив, клиент-сервер означает, что существует некоторая логическая сегрегация этих компонентов, сервисов и ресурсов. Как правило, мы видим пользовательские интерфейсы в локальном исполнении [aka "client" ] и бизнес и хранилище данных и другие ресурсы в удаленном исполнении [aka "server" ]. Некоторые примеры,
- MSN Messenger [содержит приложение, которое мы запускаем на нашей локальной машине, а вспомогательная служба упрощает связь в удаленном месте]
- Facebook [содержит тонкое приложение - наш веб-браузер - и удаленный сервис - их серверы)
- StackOverflow [тот же самый Facebook]
С этим в руке давайте посмотрим на облачные вычисления.
Облачные вычисления
Облачные вычисления - это абстракция традиционных серверных решений для хостинга. Вместо того, чтобы покупать 10 серверов самостоятельно, чтобы запускать и управлять в моем собственном операционном центре обработки данных, теперь я арендую X-серверы у поставщика, где X - это переменное число, определенное мной, когда захочу.
Существует явное преимущество использования облака. Если я купил 10 серверов, я должен управлять и поддерживать эти 10 серверов, даже если они недоиспользуются [говорят, что только 1 сервер используется в 90% случаев, а все 10 - 10% времени в часы пик]. Это означает, что я плачу слишком много в обслуживании в 90% случаев, будучи негибким, когда мне нужно вырастить оставшиеся 10%.
Преимущество облачных вычислений заключается в том, что "кто-то еще" управляет фермой серверов для нас и готов сдавать нам в аренду переменное количество машин по запросу. Таким образом, в нашем сценарии выше, я мог бы арендовать 1 машину в течение 90% времени в нерабочее время и масштабировать до 10 или более машин в оставшиеся 10% времени.
Microsoft делает эту абстракцию еще на один шаг в Windows Azure. Они не арендуют обобщенные серверы, а области приложений. Это один из примеров [для ума], когда реализация облака имеет фактические проектные последствия, но она основана на той же предпосылке, что и у эластичного хостинга.
Связь
По большей части, поскольку клиент-сервер представляет собой программную парадигму, а облачные вычисления - абстракция хостинга, они являются независимыми концепциями. Keeners, однако, поймет, что облачные вычисления подразумевают удаленно размещен бизнес, хранилища данных и другие ресурсы, что требует, чтобы любое приложение, работающее в "облаке", было частью приложения клиент-сервер.