tomazmuraus

Joined 16 years ago

Karma
312
Submissions
42
Member since
May 18
[ my public key: https://keybase.io/kami; my proof: https://keybase.io/kami/sigs/LCgBS3xrRZ_Jw2KtJ6VpATle-rwZfm4rHgflMchZBNA ]
View on Hacker News

Recent submissions

Comment · 13 years ago
(disclaimer: I'm one of the Libcloud developers)

I want to add some context to this.

Our current abstraction provides a relatively simple API which is guaranteed to work across multiple providers.

If you want to access provider specific functionality we offer so called extension methods and arguments. This is similar to how jclouds and other cross-provider libraries handle that as well.

We support over 30 providers and for the more popular ones this means you can usually access most of the native cloud functionality through the base API + extension methods.

Doing that will obviously make it harder and more work to switch between different providers so we always put up a disclaimer and make sure our users are aware of that.

We are trying to standardize as many APIs as possible and promote extension methods to the to top level API (proposals and patches are always very welcome and appreciated!), but sadly in a lot of cases this is not possible. Usually this is because the provider APIs are too different and the glue code needed to make it work would be to complex.

In the end it's a trade-off, pretty much like everything else in life and a lot of other things in CS (CAP anyone?).

If you want good portability and easily switch between providers you will stick to the base API. If you don't care so much about the portability you will also use the extension API.

Side note: Even though official provider client libraries exists, a lot of people still tend to use Libcloud with extension methods.

Usually the reason is that we support a variety of Python versions and we have a stricter testing policy which tends to result in less buggy code.

Comment · 14 years ago
It shows how easy it easy to write your own function because all you need to do to send an email is perform a single HTTP request.
Comment · 14 years ago
Project Awesome is an HTTP proxy which means it's even a higher abstraction than a Ruby library :)

In any case, you should have a look at Libcloud (http://libcloud.apache.org/), jclouds (http://jclouds.org), deltacloud (http://deltacloud.apache.org/) and other libraries. Deltacloud exposes a similar functionality through an HTTP interface. We have recently also started working on "Libcloud REST" which will expose all the Libcloud functionality through an HTTP interface which means you will be able to talk to it through an arbitrary language which can speak HTTP.

Comment · 14 years ago
Comment · 15 years ago
Just FYI, apache mod_proxy_balancer also supports HTTP 1.1 and you can configure it during run-time if you have mod_status enabled.
Comment · 15 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton