Zend Technologies вместе с IBM, Microsoft и другими компаниями запустила проект Simple API for Cloud Application Services (простой API-интерфейс для сервисов приложений в облаках). Эта инициатива, которая будет реализована по принципу Open Source, позволит разработчикам использовать общие сервисы приложений в облаках, применяя дополнительный функционал, предоставляемый провайдерами.
По словам представителей Zend, этот проект направлен на упрощение разработки облачных приложений, которые смогут обращаться к сервисам всех ведущих платформ, предназначенных для вычислений в облаках. Основателями и спонсорами этого проекта являются компании Zend, IBM, Microsoft, Nirvanix, Rackspace и GoGrid. Однако в этом списке отсутствуют гиганты рынка облаков, такие как Amazon и Google.
Проект Simple Cloud API позволит разработчикам с помощью одного набора интерфейсов взаимодействовать с множеством прикладных облачных сервисов и проще получать доступ к новым технологиям поставщиков облачных платформ, объяснил Дирк Никол, директор по развивающимся технологиям подразделения IBM Software Group: “Сейчас разработчикам приходится самостоятельно писать API-интерфейсы, однако благодаря этому проекту они смогут использовать общие API-интерфейсы, которые будут поддерживать платформы разных поставщиков. Такой подход обеспечит переносимость кода и независимость от платформ. К тому же он пригоден и для общедоступных, и для частных облаков”.
Сначала выйдут интерфейсы для систем хранения файлов, баз данных документов и организации простых очередей для платформ Amazon Web Services, Windows Azure, Nirvanix Storage Delivery Network и Rackspace Cloud Files. В результате разработчики смогут разворачивать приложения и обращаться к сервисам всех этих сред, избежав утомительной и дорогой процедуры внесения изменений в исходный код.
“По-моему, проект Simple Cloud API представляет собой очередной логический шаг в сторону достижения приемлемого уровня взаимодействия между облачными приложениями и средами, — сказал Стивен Огрэди, аналитик компании RedMonk. — Хотя распространение API-интерфейсов вызывает беспокойство у заказчиков и независимых провайдеров услуг, данная инициатива — пример того, каких результатов можно добиться, собрав вместе разные компании и сформировав рабочую коалицию. Если проект получит широкое распространение, то его результаты станут важным дополнением облачных API-интерфейсов нижнего уровня, ориентированных на управление”.
“Вычисления в облаках очень нравятся предприятиям, однако невозможность переносить приложения между разными облачными средами является серьезным препятствием широкому распространению облачного подхода, — считает Энди Гатманс, глава компании Zend Technologies. — Simple Cloud API позволяет объединить сообщество Open Source c поставщиками облачных платформ. Мы надеемся, что благодаря поддержке со стороны лидеров ИТ-отрасли и привлечения сообщества Zend Framework этот важный проект будет успешно развиваться и в нем примут участие многие разработчики и компании, строящие современные Web-приложения для облаков”.
Simple Cloud API предусматривает широкую вовлеченность членов сообщества Open Source, которые с помощью этого проекта будут создавать адаптеры для всех провайдеров облачных услуг.
Хотя Simple Cloud API возглавляет компания Zend — самый активный сторонник языка PHP, созданные в рамках этого проекта API-интерфейсы можно переводить на любые объектно-ориентированные языки, используемые для Web-приложений. Реализация интерфейсов на языке PHP будет доступна в качестве нового компонента Zend Cloud проекта Zend Framework. Разработчики, применяющие PHP, смогут с помощью этого компонента единообразно использовать клиентские библиотеки, имеющиеся в Zend Framework.
“Мы стараемся объединить сообщество вокруг вычислений в облаках, — сказал Никол. — Для этого очень важна открытость. Поэтому мы скомпоновали Simple API. Я надеюсь, что появятся и другие API-интерфейсы, дополнительные средства, функциональность и участники, а возможно, и другие языки помимо PHP”.
В рамках проекта Zend Cloud будут созданы адаптеры для следующих сервисов:
- хранения файлов, включая Windows Azure blobs, Rackspace Cloud Files, Nirvanix Storage Delivery Network и Amazon S3;
- хранения документов, в том числе таблиц Windows Azure и Amazon SimpleDB;
- организации простых очередей, включая очереди Amazon SQL и Windows Azure.
По словам представителей Zend, в Zend Cloud также войдут адаптеры для локальных служб, направленные на то, чтобы кодирование в режиме офлайн и тестирование вместе с облачными сервисами стало таким же простым, как и разработка в онлайновом режиме.
Другие адаптеры, например предназначенные для Rackspace Cloud Files API, будут работать с внешними библиотеками, не требуя внесения изменений в код приложения. Microsoft также вносит вклад в создание адаптеров для Simple Cloud API, предназначенных для будущих версий Zend Framework, в виде официальных клиентских библиотек на языке PHP для Windows Azure. С помощью этих адаптеров приложения смогут обращаться ко многим функциям Windows Azure через интерфейсы Simple Cloud API, а разработчики облачных приложений получат доступ к клиентским библиотекам Microsoft и инновационным функциям Windows Azure, таким как обработка транзакций и поддержка частичной загрузки.
“Microsoft с удовольствием продолжает сотрудничество с Zend и объединяет усилия с другими участниками этого проекта, — сказал Дуг Хогер, генеральный менеджер по продукту Microsoft Windows Azure. — Simple Cloud API показывает, что Microsoft продолжает инвестировать в открытость своих платформ и поддержку их взаимодействия с другими системами. Мы надеемся, что этот проект подстегнет использование платформ для вычислений в облаках среди разработчиков на языке PHP и что многие из них воспользуются Windows Azure”.
По словам Кристофа Клокнера, директора по технологиям подразделения IBM Cloud Computing, этот проект является значительным шагом в направлении повышения открытости облачных сред и расширения возможностей их взаимодействия: “Simple Cloud API позволит разработчикам одинаково использовать облачные сервисы на платформах разных провайдеров. Это существенно сократит стоимость разработки приложений и обеспечит заказчикам возможность выбора. Чтобы достигнуть этой цели, IBM будет вносить вклад в виде адаптеров для интерфейсов своих облачных сервисов и адаптеров для своих продуктов хранения данных, с помощью которых разработчики смогут легко переключаться между общедоступными облаками, частными облаками и традиционными центрами обработки данных”.
Лью Мурман, президент компании Rackspace Cloud, добавил: “Мы гордимся, что являемся участниками инициативы, которая значительно повышает эффективность труда разработчиков приложений для облаков. Наш вклад в Simple Cloud API связан с нашими действиями по объединению преимуществ Open Source и облаков. Многие наши компании-заказчики используют для веб-приложений язык PHP, и мы верим, что их разработчики смогли выбрать наиболее подходящие облачные сервисы с помощью интерфейсов, которые они помогают создавать”.
“Приятно, что группа по разработке стандартов для облаков работает над API-интерфейсами для приложений, — сказал Майкл Коут, аналитик компании RedMonk. — До сих пор основное внимание было направлено на уровень инфраструктуры, который, конечно, очень важен. Но в конце концов облака служат для прикладных целей. Сейчас для разработки приложений используются платформы типа PAAS (“платформа в качестве услуги”), к ним обращаются программисты, которые пишут API-интерфейсы для каждого облака. Однако идея создания общих API-интерфейсов для разработчиков — просто замечательная”.
Для успеха этого начинания главное — заручиться поддержкой провайдеров облачных услуг и поставщиков традиционных систем связующего слоя (middleware), считает Коут: “Они должны не только согласиться с составом общих API-интерфейсов, но и обеспечить их реализацию на каждой платформе. Хорошо, что IBM, Microsoft, Zend и другие уже участвуют в этом проекте. Совместная работа этих компаний — важный сигнал”.
Исходный вариант и эталонная реализация Simple Cloud API находится по адресу www.simplecloudapi.org. Разработчики могут оценить Simple API for Cloud Application Services, развернув использующие их приложения на облаке Amazon с помощью бесплатной службы Zend Server Community Edition Amazon Machine Image (AMI) for EC2. Компания Zend Technologies также предлагает продукт с коммерческой поддержкой Zend Server AMI. Предварительный вариант клиентской библиотеки на языке PHP для Windows Azure можно просмотреть и загрузить по адресу framework.zend.com/Zend_Service_WindowsAzure .