Google стремится на деле доказать разработчикам и ИТ-департаментам предприятий, что ее мощная платформа Google Compute Engine хорошо сочетается с широким кругом корпоративных приложений, обладающих открытым исходным кодом. О нынешней просветительской работе Google недавно в блоге Google Cloud Platform рассказал Эрик Джонсон, управляющий программой Google Compute Engine.

“Объявив недавно о всеобщей доступности сервиса Google Compute Engine, мы подумали, что людям интересно будет узнать, что многие популярные свободные решения способны взаимодействовать с этим сервисом, — пишет Джонсон. — Теперь, когда поддержка Compute Engine уже встроена непосредственно в инструменты, разработчикам гораздо проще опробовать сервис, пользуясь знакомой средой”.

Для успешной работы с популярными языками программирования Google предоставляет общий набор интерфейсов Client API, обеспечивающих доступ к Compute Engine, равно как и к другим сервисам Google. Однако ваш код или приложения могут быть рассчитаны на API иного языка, и тогда переход на Google Client API окажется под вопросом, утверждает он.

В этом случае, считает Джонсон, стоит подумать об использовании с Google Compute Engine свободных приложений, таких как Ruby, Python и Java. Для Ruby облачный API fog.io поддерживается Compute Engine начиная с вышедшей в мае версии 1.11.0. “Прежде чем приступать к работе с Compute Engine и fog, почитайте документацию Compute Engine. Сервис изначально поддерживает обычные операции с виртуальными машинами, такие как создание, уничтожение и инициализация их экземпляров”.

Что касается Python, то API-проект Apache libcloud “…основательно поддерживается и обновляется для Compute Engine с июля. Он поддерживает широкий круг функций Compute Engine, включая экземпляры виртуальных машин, виртуальные диски, сети и сетевые экраны, а также балансировку нагрузки. Полезная вводная демонстрация дает пример хорошего кода, показывающий, как надо использовать libcloud и Compute Engine.”

Однако в случае Java облачный API jclouds пока поддерживается Compute Engine на уровне лабораторных разработок, пишет Джонсон. “Репозитарий jclouds-labs-google дает информацию о проделанной работе по обеспечению поддержки Compute Engine и освоению jclouds-core”.

В ряде случаев разработчикам нужны средства для автоматизации управления конфигурациями своих экземпляров виртуальных машин Compute Engine. На этот счет им предлагается выбор среди инструментов управления конфигурациями: продукт Puppet фирмы PuppetLab, применяемый с 2005 г. — вначале для поддержки внутренних и арендуемых у провайдера дата-центров, а в более новых вариантах и для управления инфраструктурой публичного облака; Chef фирмы Opscode, модульная платформа автоматизации с расширением для поддержки Compute Engine через плагин knife-google; SaltStack, средство управления конфигурациями с высокомасштабируемой и быстродействующей инфраструктурой сбора данных и выполнения заданий системного администрирования; Ansible компании AnsibleWorks, который не использует сервер централизованного конфигурирования и не нуждается в агентах, работающих на управляемых виртуальных машинах. По словам Джонсона, вместо этого Ansible задействует SSH для удаленного выполнения скриптов на управляемых узлах.

Compute Engine поддерживает и ряд других свободных проектов, включая CoreOS, очень тонкую Linux-систему с минимальным числом компонентов, предназначенную для запуска Linux-контейнеров; Docker, приложение для запуска Linux-контейнеров, которое теперь можно использовать на виртуальных машинах Compute Engine; Packer, инструмент создания одинаково сконфигурированных образов машин для различных платформ виртуализации; Vagrant для легкого описания и тиражирования рабочих сред.

“Google всецело содействует развитию экосистемы открытого исходного кода, и мы приветствуем вашу помощь в улучшении и расширении функций перечисленных инструментов в дополнение к любым другим средствам, которые, по вашему мнению, следует внести в перечень”, — написал, обращаясь к разработчикам, Джонсон.

В последние месяцы Google активно помогает разработчикам находить новые возможности и способы использования Google Compute Engine. В августе компания расширила средства разработки для ряда своих ключевых облачных продуктов, в том числе Google Compute Engine, Google Cloud Datastore и Google App Engine, поскольку гигант интернет-поиска продолжает функционально обогащать и усиливать свою Google Cloud Platform. Сюда, в частности, входят балансировка нагрузки на четвертом сетевом уровне для Google Compute Engine и ряд улучшений в рабочем цикле PHP для последней версии Google App Engine.

В июле Google представила несколько новых функций инфраструктуры Google Cloud Storage, облегчающих для разработчиков управление данными, доступ к ним и их загрузку в облако. Широкий круг сервисов платформы теперь включает политики автоматического удаления, Regional Buckets (размещение данных территориально близко к пользователю) и более быструю облачную загрузку.

В июне Google представила новую среду “облачной игровой площадки” Cloud Playground, позволяющую разработчикам быстро проверять сиюминутные идеи, не пользуясь локальной средой разработки ПО, что создает безопасные условия для тестирования экспериментального кода вне продуктивной инфраструктуры. Идея Google состоит в том, что Cloud Playground служит местом, где создатели приложений могут опробовать всё что угодно, от образцов кода до просмотра поведения продуктивных API, в безопасной и контролируемой обстановке, не нуждаясь в управлении средой тестирования. Пока возможности нового сервиса ограничиваются поддержкой приложений Python 2.7 в Google App Engine. Программа Cloud Playground является проектом с открытым исходным кодом и включает mimic, регулярное приложение Python App Engine, играющее роль сервера для разработок, и bliss, обычный редактор кода на базе браузера, позволяющий править код в виртуальной файловой системе mimic.

В том же июне Google раскрыла для разработчиков Google Maps Engine API, чтобы они могли создавать для домашних пользователей и бизнеса приложения, обладающие функциональностью и гибкостью карт Google Map. Работая с Maps API, разработчики могут задействовать облачную инфраструктуру Google, добавляя поверх Google Map свои данные и предоставляя пользователям разных категорий созданные специальные машапы. Такими картами можно коллективно пользоваться в компаниях и организациях либо публиковать их в Интернете.

Помимо этого Google в прошлом году создала новый сервис Mobile Backend Starter, позволяющий разработчикам сосредоточиться на написании и продаже своих приложений благодаря автоматизации серверной стороны разработки ПО. Mobile Backend Starter работает с Google App Engine.

В январе 2013-го Google объявила о переносе платформы Google Cloud Platform (GCP) в среду совместной разработки GitHub, чтобы разработчики ПО могли внести свой вклад в развитие этой палатформы. Проект GCP пошел в рост после того, как в июле 2012 г. Google запустила новую партнерскую программу, помогающую бизнес-заказчикам ориентироваться во всех своих облачных сервисах. GitHub представляет собой быстро развивающуюся платформу коллективной разработки ПО для публичного и частного совместного использования кода и хостинга.