Apache LibCloud، یک API یا واسط برنامهنویسی نرمافزار به زبان Python را برای تمامی Cloudها ارائه نموده است.
Developerها میتوانند با استفاده از کتابخانه Python، به مدیریت فرآیندهای محاسبه، ذخیرهسازی و Containerها ، بر روی بیش از 30 ارائه دهندهی مختلف Cloud بپردازند.
Apache Software Foundation، اولین نسخه کامل Lipcloud را ارائه نموده که یک کتابخانه زبان پایتون است و برای ارائه مجموعهای از مفاهیم انتزاعی مشترک، جهت کارکردن با سرویسهای بیش از 30 ارائهدهندهی Cloud، شامل سرویسهای Container و Backup-as-a-Service طراحی شده است.
فرض بر این است که برنامهنویسان بدون نگرانی در مورد جزییات کماهمیتِ مربوط به نحوه اجرای ویژگیهای هر Cloud میتوانند از Libcloud جهت دسترسی و مدیریت هر تعداد Cloud در نرمافزارهای خود استفاده نمایند. لازم به ذکر است که Libcloud با Amazon web Services, Microsoft Azure, Google Compute Engine و Cloudهای مبتنی بر OpenStack کار میکند.
با Libcloud، چهار نوع اصلی از منابع Cloud در دسترس قرار میگیرند که عبارتند از: سرورها و Block Storage مانند Amazon EC2، Object Storage and CDN نظیر Amazon S3، Load Balancing مانند Amazon Elastic Load Balancer و DNS-as-a-service .
کار کردن با هر یک از این منابع یک روند تقریبا مشابه دارد که شامل ایجاد یک درایور، مقداردهی اولیهی آن با API Key و یا Credentialهای دیگر و استفاده از تعداد زیادی از عبارات استاندارد Python (مانند Context Manager) است که جهت مدیریت منابع در Cloud مورد استفاده قرار می گیرد. Deployment API در کتابخانهی محاسباتی (Compute Library) موجب تسهیلِ فرآیند تنظیم نرمافزار مبتنی بر SSL درسرور مورد نظر میگردد، اگرچه در اینجا جایگزینی کامل تکنولوژیهای پیادهسازی نظیر Puppet یا Chef مورد نظر نمیباشد.
نسخه جدید 1.0 حاوی دو نوع جدید از سرویس APIها میباشدکه هر دو در مرحله آزمایشی قرار دارند. Container API، این امکان را برای کاربران فراهم میکند که Containerها را روی پلتفرمهای مورد پشتیبانی، پیادهسازی نمایند اما در عین حال با موارد Local مربوط به Docker و پلتفرمهای Cloud که دارای Container API میباشند، نیز کار میکند. نوع جدید API جهت پشتیبانگیری، میتواند فرآیند Backup-as-a-Service را برای Cloudهایی که آن را پیشنهاد میکنند، مدیریت نماید.
Libcloud که در واقع در Cloudkick ارائه شده، به صورت متن باز در 2009 عرضه و در همان سال وارد Apache Incubator گردید. تا سال 2011، این تکنولوژی فقط فرآیندهای محاسباتی را پشتیبانی مینمود، اما بعد از آن به پشتیبانی از سرویسهای دیگر از جمله DNS پرداخت. Libcloud، درایورهای سرویس Third Party را برای بسیاری از ارائهدهندگان کوچکتر اضافه میکند و پروژههای خارجی برای مدیریت Libcloud نیز به سهم خود افزایش یافته است. (مانند Libcloud.Rest که یک RESTful API برای Libcloud میباشد.)
Libcloud فقط یک کتابخانه Multi-Cloud برای یک زبان مشخص نمیباشد. Node.js دارای Pkgcloud و جاوا نیز دارای پروژهی Apache دیگری به نام jCloud میباشد. (Apache Deltacloud برای توسعه دهندگانRuby در رابطه با یک پروژه غیر Apache به نام Fog کنار گذاشته شد). محبوبیت Python به عنوان یک زبان اسکریپتنویسی و توسعه برنامه تضمین مینماید که Libcloud مخاطب خود را خواهد یافت.