DO Ideas 2

Deploy to physically separated hardware

If you have MySQL with master-slave setup and both are on the same physical host, you're totally screwed when there is a hardware failure - both master and slave are dead and there's no point in even doing replication.

Or, if you have 2 Rails application servers and they are on the same host, it's an SPOF.

In other words, whenever you have multiple droplets in a project, you need to confirm if any combination of droplets are on the same host or not.

Right now, we have to write a support ticket to confirm if those droplets aren't on the same host. But it's been quite a hassle to do so, as all of our servers need such a redundancy.

It would be great if there's a self-service way to verify that ourselves. Or better yet, offer a way to explicitly create a droplet on a different host.

Right now, some customers might be at risk that unknowingly have multiple droplets on the same host and learn the hard way when it goes down, that it had been an SPOF. Nobody wins from this.

This feature will save time for both customers and DO support staff. Win-win.

For the record, Linode offers this by showing the host name (like newark313) on the dashboard.

  • Kenn Ejima
  • Sep 11 2018
  • Sep 11, 2018

    Admin Response

    Hey everyone, You can now see which, if any, of your droplets are running on the same hardware by hitting the API. The endpoints are: /v2/droplets/:id/neighbors /v2/reports/droplet_neighbors You can read more about how to leverage this new feature in the API changelog: https://developers.digitalocean.com/changelog/ Thanks again for helping us make DO better! Sam Gimbel Product Manager
  • Attach files
  • Mike A. Owens commented
    September 11, 2018 18:43

    The neighbors thing is better than nothing, but way more complicated and less convenient than the solution Moisey posited in 2013.

    I'm having to write code now that looks like a dependency solver to generate a map of existing Droplets to (attempt to) get an instance that isn't shared on the same machine, and that's AFTER having to create the node and see if the roll of the dice went well.

    The best way I've seen this done:

    A created node should have something like an opaque "physical_id" which is unique to the physical machine. When I create a Droplet via the API, I'd be able to say something like:

    "avoid": {"physical_id": [ "id1", "id2", "id3"]}

    For extra Quality of Implementation points, DO could provision Droplets that avoid physical_ids "the furthest away" as possible from the hypervisors specified, (where "furthest away" means whatever DO decides is a good metric that'd minimize the chance that they'd fail together).

  • Rémy Sanchez commented
    September 11, 2018 18:43

    The API is nice, but how do you create droplets on different hardware? Besides playing russian roulette, of course.

  • Jeff commented
    September 11, 2018 18:43

    Guys (looking also at Nick Walke) where would you go if not DO for business class customers?

  • Christian Pekeler commented
    September 11, 2018 18:43

    Nice :)
    Any chance we can get that info also in the web UI on https://cloud.digitalocean.com/droplets ?

  • Justin Keller commented
    September 11, 2018 18:43

    @Sam

    Running: curl -i -u XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX: https://api.digitalocean.com/v2/reports/droplet_neighbors

    Results in:
    { "neighbors": []}

    That does not seem right.

  • SITCHI commented
    September 11, 2018 18:43

    +1

  • James Wong commented
    September 11, 2018 18:43

    hello DO, any news on this? long passed Q1.

  • Las commented
    September 11, 2018 18:43

    +1

  • Hawaii commented
    September 11, 2018 18:43

    +3 - I was just told that its too much work for support to tell me what droplets share a hypervisor. (we have 87 droplets) - thus we want to see if there are common issues between 2 of them.

  • Anonymous commented
    September 11, 2018 18:43

    Any update on this feature? Q1 has been and gone. Is there a new ETA?

  • Eric commented
    September 11, 2018 18:43

    +1

  • Laszlo Török commented
    September 11, 2018 18:43

    Hi,

    any update on this feature?

    I'm looking at deploying a multi-node Cassandra cluster, however I until I can be sure that my nodes are in fact running on different physical hardware, Cassandra's promise of fault-tolerance can't be fulfilled.

  • Justin Keller commented
    September 11, 2018 18:43

    Awesome, can't wait till this is deployed. If we find out that droplets that should be on different physical hardware, are in-fact on the same hypervisor, can we request the droplet be migrated?

  • Vincent commented
    September 11, 2018 18:43

    I really need this, it's a pain to keep asking if my new droplets are on the same physical hardware every time :(

  • Josiah commented
    September 11, 2018 18:43

    +1 - Multiple zones within the same region seems like a good idea (NY1, NY2, SF1, SF2). But at least having the ability to see the physical host or force a different physical host would be great. For now I will have Web and SQL droplets in NY and SF for redundancy.

  • Elgs commented
    September 11, 2018 18:43

    Now I have to put the master in SF and the slave in NY to just ensure they are not physically together.

  • Jeffrey A. commented
    September 11, 2018 18:43

    Would love to see a reply from DigitalOcean on this.

  • Justin Keller commented
    September 11, 2018 18:43

    + 3

    Have your create algorithm automatically do this, and show the host machine under each droplet.

  • woblit commented
    September 11, 2018 18:43

    +100

  • Anonymous commented
    September 11, 2018 18:43

    +10

  • Nick Walke commented
    September 11, 2018 18:43

    This along with multiple IPs, and elastic IPs, are keeping DO from getting business class customers. I can't refer any of our clients to DO because of this.

  • Wouter van Lent commented
    September 11, 2018 18:43

    Any updates from DO?

  • Evan commented
    September 11, 2018 18:43

    +1

  • Alice Bevan-McGregor commented
    September 11, 2018 18:43

    +1

  • Trevor Kensiski commented
    September 11, 2018 18:43

    Linode also by default puts you on separate hosts, its how they designed their systems.

    I agree, we need this functionality to be default. There are some cases where I wouldn't mind if the machines were on the same physical box. (2 separate projects and there is overlap of projects on the same host). But each of my projects need to be on separate physical machines.

    I know it sucks, being the new guys on the market, but the top dogs (Linode, Rack Space, Liquid Web, Amazon all provide this feature as well as multiple other ones that we are all requesting *cough* floating IP for host failover *cough*)

  • Vincent van Megen commented
    September 11, 2018 18:43

    It's now on the first page of suggestions, would like to hear about this from staff? For now I could ask the staff to see if my droplets are on different physical hardware, but would be a lot easier to see it myself.

  • Ste commented
    September 11, 2018 18:43

    I agree with this idea and there are one or two others on here regarding the same issue. What's baffling me is the lack of official response to this idea.

    Why is there no official response?
    Is there an issue with this information being public?

  • zoot commented
    September 11, 2018 18:43

    I concur, being a current linode customer (9 years). Trying to find a fail-over cloud provider, but too many missing, yet critical features on DO.

  • Frederico Araujo commented
    September 11, 2018 18:43

    This would be a great feature, kinda similar to EC2 availability zones.
    Very useful for master/slave replications schemes.

  • Anonymous commented
    September 11, 2018 18:43

    +1

  • Mark Tooth commented
    September 11, 2018 18:43

    this would be good. Could be an option when applicable..

    don't / do deploy to (same host as dropdown of other droplets in that dc)

    the counter is also nice. For example a mysql box and a web-box on the same pysical hw would also be nice. then a backup of each on different hardware.

  • Estel Smith commented
    September 11, 2018 18:43

    +3, I like the concept of having multiple "zones" located within the same data center that you can choose to deploy to.

  • Scott Robertson commented
    September 11, 2018 18:43

    +3

    Or even better, allow them to be in totally different "zones" within the datacenter like vps.net do.

  • Anonymous commented
    September 11, 2018 18:43

    +2

  • Jason Kurtz commented
    September 11, 2018 18:43

    +2

    I suggested this a few weeks ago. Glad other people think like me.

  • Vincent van Megen commented
    September 11, 2018 18:43

    +3

  • Ste commented
    September 11, 2018 18:43

    That was my comment below. Apologies.

    Regards,
    S.

  • Anonymous commented
    September 11, 2018 18:43

    I really want this too. Then we can really make our developments redundant.

    Regards,
    S.

  • Santhan commented
    September 11, 2018 18:43

    Yes, I would like to have access to such an identifier too.

  • Varun Priolkar commented
    September 11, 2018 18:43

    I too need that!