Google API на собственном компьютере. Далее рассмотрим детали развертывания
вашего приложения на AppEngine.
На главной странице Google (https://cloud.google.com/), касающейся темы облаков,
вы можете найти детали о его службах, включая следующие:
App Engine — высокоуровневая платформа, включающая такие инструменты
Python, как Flask и django;
Compute Engine — создает кластеры виртуальных машин для объемных задач,
связанных с распределенными вычислениями;
Cloud Storage — хранилище объектов (объектами являются файлы, здесь нет
иерархий каталогов);
Cloud Datastore — крупная база данных NoSQL;
Сети
343
Cloud SQL — крупная база данных SQL;
Cloud Endpoints — обеспечивает доступ к приложениям с помощью Restful;
BigQuery — большие данные в стиле Hadoop.
Службы Google конкурируют со службами компаний Amazon и OpenStack.
Amazon
По мере роста компании Amazon от сотен до тысяч и миллионов серверов разра-
ботчики столкнулись со всеми проблемами распределенных систем. Однажды
в 2002 году (или около того) СЕО компании Джефф Безос (Jeff Bezos) объявил
работникам Amazon, что с этого момента все данные и функционал должны быть
доступны только через интерфейсы сетевых служб — не через файлы, базы данных
или локальные вызовы функций. Им пришлось разрабатывать эти интерфейсы так,
как если бы их код стал общедоступным. Письмо заканчивалось мотивирующей
фразой: «Тот, кто этого не сделает, будет уволен».
Неудивительно, что разработчики взялись за дело и с течением времени созда-
ли очень крупную архитектуру, ориентированную на службы. Они позаимствова-
ли или придумали сами множество решений, включая Amazon Web Services (AWS)
(http://aws.amazon.com/), которое сейчас доминирует на рынке. Теперь оно состоит
из множества служб, но самыми важными являются следующие:
Elastic Beanstalk — высокоуровневая платформа для приложений;
EC2 (Elastic Compute) — распределенные вычисления;
S3 (Simple Storage Service) — хранилище объектов;
RDS — реляционные базы данных (MySQL, PostgreSQL, Oracle, MSSQL);
DynamoDB — база данных NoSQL;
Redshift — хранилище данных;
EMR;
Hadoop.
Чтобы подробнее узнать об этих и других службах AWS, загрузите Amazon
Python SDK (http://bit.ly/aws-py-sdk) и прочтите раздел Помощь.
Официальная библиотека AWS для Python, boto (http://docs.pythonboto.org/),
также все еще не полностью портирована на Python 3. Вам понадобится использо-
вать Python 2 или искать альтернативу, что вы можете сделать, введя в строку
поиска Python Package Index (http://pypi.python.org/) aws или amazon.
OpenStack
Вторым самым популярным облачным сервисом был Rackspace. В 2010 году компа-
ния создала необычное партнерство с NASA, чтобы объединить свои части облачной
инфраструктуры в OpenStack (http://www.openstack.org/). Это бесплатное решение