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

Работаем в облаках

Не так давно вам приходилось покупать собственные серверы, размещать их на

стойках в дата-центрах и устанавливать на них множество программ: операцион-

ные системы, драйверы устройств, файловые системы, базы данных, веб-серверы,

серверы электронной почты, балансировщики нагрузки, мониторы и т. д. Эффект

новизны пропал, когда вы начали пытаться поддерживать работоспособность не-

скольких систем. Кроме того, вам приходилось постоянно волноваться о безопас-

ности.

Многие хостинговые службы предлагали позаботиться о ваших серверах за не-

которую плату, но вам все равно приходилось брать в аренду физические устройства

и постоянно платить за пиковую нагрузку.

С увеличением количества компьютеров ошибки становились все более рас-

пространенными. Вам нужно было масштабировать службы горизонтально и хра-

нить избыточные данные. Вы не можете предполагать, что сеть будет работать как

одна машина. Согласно Питеру Дойчу (Peter Deutsch), восемь ошибок восприятия

распределенных вычислений заключаются в следующем.

 Сеть надежна.

 Латентность равна нулю.

 Полоса пропускания бесконечна.

 Сеть безопасна.

342

Глава 11. Конкуренция и сети

 Топология не меняется.

 Существует всего один администратор.

 Стоимость транспортировки равна нулю.

 Сеть гомогенна.

Вы можете попробовать создать сложную распределенную систему, но для

этого потребуется много работы и другой набор инструментов. Можно сравнить

серверы с домашними животными — вы даете им имена, знаете их характер и ле-

чите их по мере необходимости. Но по мере роста их количества они становятся

больше похожими на скот: выглядят одинаково, имеют номера, и их просто заме-

няют, если возникает какая-то проблема.

Вместо того чтобы создавать систему, вы можете арендовать сервер в облаке.

В рамках этой модели обслуживание серверов является заботой кого-то другого,

а вы можете сконцентрироваться на своей службе, блоге или чем-то другом, что

хотели бы показать миру. Используя онлайн-панель инструментов и API, вы мо-

жете выбрать серверы с любой необходимой вам конфигурацией быстро и легко —

они эластичны. Вы можете отслеживать их статус и получать предупреждения в том

случае, если какой-то показатель превысил лимит. Облака в данный момент явля-

ются довольно популярной темой, и корпоративные расходы на облачные компо-

ненты все больше растут.

Рассмотрим, как Python взаимодействует с некоторыми популярными обла-

ками.

Google

Google часто использует Python для внутренних нужд и нанимает именитых раз-

работчиков Python (у них какое-то время работал сам Гвидо ван Россум).

Перейдите на сайт App Engine (https://developers.google.com/appengine/) и затем

в меню Choose a Language (Выберите язык) установите флажок Python. Вы можете

вводить код Python в Cloud Playground и видеть результаты внизу. Сразу после

этого раздела вы увидите ссылки, с помощью которых можете загрузить на свой