Hi folks,
We are working on a project, which has distributed topology, i.e. a set to tier 1 servers, some several regional servers, some local office servers, bunch of hand-held devices and workstations. We serve to medical institutions, which deploy our product throughout their organizations (hence the distributed nature of the product). As you would imagine, the upgrade story giving us headaches.
We looked at the Octopus and we like what we see, especially the use of NuGet packages and decent degree of deployment automation. The challenge is that the “production” environments are very isolated (hospitals) and super locked down. Also, the local IT staff is not always helpful and normally overwhelmed with other work. So I imagine the following issues:
- The servers need to be upgraded in certain order, because updates are not forward-compatible (only backward-compatible, meaning that newer version can talk to both old and new servers, but older version can only talk to old servers).
- We need to collect authorization from hospital IT staff before deploying. This should be under their management.
- Customers don’t necessarily want to deploy a 3rd party deployment tools worldwide, this would be nightmarish to push through from regulations perspective.
So my “ideal” scenario would be like this:
- We make this a self-contained solution. So that customers put updates on the local server in a hospital and then updates are pushed to local servers and workstations the same way we push data.
- Once the software is distributed, we first upgrade the endpoints, then upgrade travels up the hierarchy to the root servers.
Hence the questions:
- Does it make sense?
- Is there a way to embed octopus server or tentacle services into our product?
- Overall, what would you recommend in this situation?
Thank you very much in advance,
Dan