I'm looking at a new architecture deployment of Cloud Foundry using multi-cpi with a single BOSH director deployment. If the BOSH director is deployed in DC-A and manages 2 vcenters, one in DC-A and the other in DC-B, if DC-A goes offline, what are the options for BOSH to run active/standby in DC-B so that it can immediately take over deployments without having to perform a backup and restore?
CF Bosh Director Multi-DC High Availability
220 Views Asked by Mike Cruz At
1
There are 1 best solutions below
Related Questions in CLOUD-FOUNDRY
- WSO2 IS - Do a Single Logout using the IdentitySAMLSSOService
- OAuth & SAML integration or better approach
- SAML service provider signature verification
- How to generate saml 2.0 sso service metadata
- Mule ESB & PING Identity Integration
- Ensuring SAMLSecurityToken was not intercepted
- Simplesamlphp wrong metadata
- Is is possible to use Azure AD as a SAML compliant Identity Provider?
- SAML Authentication request to Gluu server
- AEM as IDP( Identity Provider) for CRM using SAML
Related Questions in CF-BOSH
- WSO2 IS - Do a Single Logout using the IdentitySAMLSSOService
- OAuth & SAML integration or better approach
- SAML service provider signature verification
- How to generate saml 2.0 sso service metadata
- Mule ESB & PING Identity Integration
- Ensuring SAMLSecurityToken was not intercepted
- Simplesamlphp wrong metadata
- Is is possible to use Azure AD as a SAML compliant Identity Provider?
- SAML Authentication request to Gluu server
- AEM as IDP( Identity Provider) for CRM using SAML
Related Questions in BOSH
- WSO2 IS - Do a Single Logout using the IdentitySAMLSSOService
- OAuth & SAML integration or better approach
- SAML service provider signature verification
- How to generate saml 2.0 sso service metadata
- Mule ESB & PING Identity Integration
- Ensuring SAMLSecurityToken was not intercepted
- Simplesamlphp wrong metadata
- Is is possible to use Azure AD as a SAML compliant Identity Provider?
- SAML Authentication request to Gluu server
- AEM as IDP( Identity Provider) for CRM using SAML
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Yes, multi-DC BOSH deployments with multi-CPI BOSH is working great! And your question is very often raised when people think of such multi-DC design.
There is no high availability (HA) for a BOSH Director, and there is no active/passive setup I'm aware of right now. The reason for this, is that loosing a BOSH Director is not a big deal. The nodes that this Director manages will still run on top of the infrastructure. They just won't be “manageable” until you bring your Director back.
But if we think about the requirements for such active/passive setup, here is what I would come up with:
They would have to share the exact same CPI installation and setup. Not a big deal.
They would have to share the same SQL database and same blobstore (object storage). This is not a big deal, but this leads to using both external SQL storage and external blobstore. Then the “passive” BOSH Director would at least have to disable its resurrector plugin, in order not to compete with the resurrector from the “active” BOSH Director. (In fact, the passive BOSH Director would have to be completely stopped, see below.)
They would have to share the same NATS message bus, which usually is co-located on the BOSH Director and thus dedicated to it. It's easy to extract this NATS from the Director and run it separately with a High Availability setup. But then the problem would be: which Director consumes NATS messages? Two Directors cannot compete in consuming those messages. That's why the “passive” BOSH Director would require its processes to be
monit stop
-ed, or the whole instancebosh stop
-ed.This
bosh stop
requirement cannot be achieved using thebosh
CLI (v2, including thisbosh-init
component which can act just like a local, stripped-down BOSH Director). So these two BOSH Directors would have to be deployed by a “bootstrap” BOSH Director (which is quite common, I've even seen up to four stages of such bootstrap Director pattern, on some customer production environments!)Now imagine you have it all. A bootstrap BOSH Director that deploys a separate HA NATS and two Directors, with same CPI setup, same external SQL database and same external blobstore. Then it would work! Whenever you loose the active one, you
bosh start
the passive one and it takes over. But the you should be careful that the previously active one doesn't pop up suddenly, or it would compete in consuming NATS messages, and possibly mess up the database and blobstore. That's where BOSH is missing some “lock” feature, to allow only one active Director at a time. Here, something very simple could be implemented, based on some database record that would designate which one is active and which one is passive. Switching this record manually would trigger the passive Director to become active.This is a very good idea for the next Cloud Foundry hackathon!