Being Multi-Cloud with Cloudflare
billforward.net
billforward.net
We could have been more clear in the post but the availability gain here is focussed on internal tasks. As an example, we retry failed payments on a user defined schedule - we'd like to be able to do that from anywhere we choose.
Keeping these background processes going matters, and that's what we've worked hard to ensure we can achieve.
As a 2nd data point check-out https://www.backplane.io/ - from Blake Mizeranyt the (former) technical lead of etcd
Actually architecting and running your app in multiple clouds is the hard part.
The only challenging part is the database access. Except cassandra, there isn't anything common or free that can take writes from multiple data centers simultaneously.
Not sure if Riak is considered common, and the multi DC is not yet free.
http://www.computerweekly.com/news/450426130/Riak-NoSQL-snap...
I really hope that the Entreprise version will be open sourced and will be happy to add it to the list of multi cloud options. At the moment, I can't do it in good faith since it's not gonna be released any time soon, and it's impossible to procure now that the vendor is bankrupt.
It's also legal data requirements. Many EU businesses ask that their data never leave Europe. How do you separate your product in to multiple continents and still work seamlessly.
It is not easy. Sometimes it is just easier to stand up everything you have in NA in the EU, and get a new tld (like .eu). It's a mess. Multi-cloud is HARD.
Whatever the "application" is, making it work across multiple clouds/regions will be complex, but load-balancing is usually not a big challenge today.
There are a few commercial products that can substitute but they don't have good advertising on HN.
If I were creating a new app I'd probably contain each backend service to a single cloud environment. Different services can be in different cloud environments, but no cross-cloud services. I'm uncertain the extra complexity would be worth it, at least for many of the use-cases I'm considering. Having fewer environments to setup and maintain is a big win in my book.
Running multiple Kubernetes clusters in different cloud vendors with configuration details abstracted away in a more self-contained service that can be deployed by itself as the bootstrap process makes things much easier. Consul is a good system for this, deploy it once (manually if necessary) then everything else refers to it to figure out the environment details automatically.
One of the best cloud agnostic platforms is CloudFoundry. It has so many capabilities it’s mind blowing
I'll take a close look at CloudFoundry, thanks for the tip.