Hacker News new | ask | show | jobs
by halbritt 2917 days ago
You're going to have to go multi-cloud if you truly want to insulate yourselves from this sort of problem.

If and when you do, give serious consideration to how you handle DNS.

3 comments

Fwiw, Ansible makes the multicloud thing pretty straightforward as long as you aren’t married to services that only work for a specific cloud provider.

For that, you should consider setting up multiple accounts to isolate those services from the portable ones.

Wouldn't that be Terraform (perfect for setting up cloud infrastructure) vs. Ansible (can do all, but more geared to provisioning servers you already have)?
Ansible uses Apache Libcloud to run just about anything you need on any cloud provider in terms of provisioning. Once provisioned, it will handle all of your various configuration and deployment on those.

Also plays really nicely with Terraform.

How does ansible make it straighftorward? As far as I know, it neither helps with networking failover, load balancing, data consistency, or other aspects of distributed systems, and running one application across clouds is certainly a distributed systems problem, not a deployment problem.

Ansible helps deploy software, but deploying software is the smallest problem of going multi-cloud.

See reply to other comment.
I know what ansible is and can do. Your other comment is about how it can provision and deploy things. While true, it's unrelated to my point that that's the least of your problems in a multi-cloud world.
A lot of that depends on scale too. I was mostly talking about the ability to standardize configuration so that you could replicate your infrastructure on multiple providers. Essentially just making sure that you have a backup plan/redundancy in case something happens and you find yourself needing to spin things up elsewhere on short notice.

You're absolutely right that running them at the same time, data syncing, traffic flow, etc is much more complicated.

Also check out Mist.io. It's an open source multi-cloud management platform that abstracts the infrastructure layer to help you avoid the lock-in.

Disclosure: I'm one of the founders.

What's the difference between mist.io and Apache's libcloud?
Ansible is great a doing the things that Ansible does!
What are popular multi cloud solutions if you use AWS or GCP services that have proprietary APIs? Are there frameworks that paper over the API differences?
mist.io supports most public and private cloud platforms. Also, it's open source https://github.com/mistio/mist-ce
What's the difference between mist.io and Apache's libcloud?
Apache libcloud is a Python library that's used primarily to create, reboot & destroy machines in any supported cloud.

Mist.io is a cloud management platform that uses Apache libcloud under the hood. It provides a REST API & a Web UI that can be used for creating, rebooting & destroying machines, but also for tagging, monitoring, alerting, running scripts, orchestrating complex deployments, visualizing spending, configuring access policies, auditing & more.

What's the DNS solution here? Something like Cloudflare or Edge?
The correct DNS solution is to use multiple providers.

See: Route53 and Dyn outages in the past couple years.