Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 267

компьютер Python SDK. Это позволит вам разрабатывать для облачных API от

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/). Это бесплатное решение