Apache Libcloud: открытая библиотека для объединения облаков
Одной из крупных проблем облачных вычислений всегда была интероперабельность. Организация Apache Software Foundation (ASF), взявшись за ее решение, выпустила библиотеку для обеспечения интероперабельности облачных сервисов в виде релиза Apache Libcloud 1.0.
Возможно, вы не слышали об этом проекте, но у Libcloud давняя история. Он зародился в 2009 г. Кодом является библиотека Python, скрывающая различия между программными интерфейсами приложений (API) разных облачных провайдеров. Она позволяет разработчикам и системным администраторам управлять разными облачными ресурсами через унифицированный и легкий в использовании API.
На первых порах облачные провайдеры пользовались моделью IaaS (инфраструктура как сервис) с хостингом виртальных машин под KVM, VMware или XenServer VM. Apache Libcloud абстрагировалась от различий между этими платформами. Это делалось через предоставление единого Python API для сбора данных из разных облаков, управления средами и автоматизации использования серверов. Со временем, когда облачные провайдеры начали предлагать простые услуги PaaS (платформа как сервис), такие как DNS, балансировка нагрузки и резервное копирование, проект Libcloud расширился для поддержки этих новых облаков.
«Когда мы впервые организовали Apache Libcloud, было много неудачных попыток создать для облачных провайдеров стандартную спецификацию API, — рассказал Томаш Мураус, вице-президент Apache Libcloud. — И мы решили построить Open-Source-библиотеку интероперабельности в рамках Apache Software Foundation. Apache Libcloud 1.0 предоставляет мощную мультиоблачную абстракцию не только для IaaS, но и для таких компонентов, как DNS, хранение данных, балансировка нагрузки приложений, резервное копирование и контейнеры в виде сервиса (CaaS)».
Libcloud, как сильный Open-Source-проект, приняли на вооружение более полусотни провайдеров облачных сервисов. В их число вошли Amazon Web Services, Apache CloudStack, Rackspace, Google Cloud Platform, Microsoft Azure, OpenStack и VMware. В результате библиотека стала общим средством для обслуживания мультиоблачной интеграции и прямой интеграции API.
Легко догадаться, что библиотека также стала популярным вариантом выбора у DevOps-разработчиков, заинтересованных в пополнении своего инструментария простым средством мультиоблачной автоматизации. «Коллективу Apache Libcloud удалось создать один из самых стабильных и практичных API для управления облачными средами. Без этой библиотеки мы практически не смогли бы организовать облачную оркестровку SaltStack Cloud, — отметил Томас Хатч, технический директор компании SaltStack. — Я очень хочу уделить больше времени работе по включению этой библиотеки в мои проекты!»
Вышедшая новейшая версия Apache Libcloud поддерживает CaaS, Amazon EC2 Container Service (ECS), Google Cloud Container Engine (GKE) и локальные опции Kubernetes и Docker. «Apache Libcloud предоставляет простую API-абстракцию для развертывания контейнеров Docker в частных и публичных облаках, — пояснил Мураус. — Библиотеку также стали использовать академические и некоммерческие организации, заинтересованные в эксплуатации бесплатных или недорогих облачных сервисов при сохранении их совместимости с публичными облаками, используемыми на коммерческой основе».
Так что вопрос «Кто уже внедрил Libcloud?» не стоит. Правильный вопрос: «Кто еще не внедрил Libcloud?» Если вам надо работать с несколькими облачными провайдерами или с гибридным облаком, без Libcloud вам не обойтись.