1

Let's say I have a SaaS style project (similar to Databricks). We may make release 2.0.0 of this project, have automated testing and deployment to dev, automated promotion to nonprod, etc.

In production, I may have 200 instances of it running though.

What is the best way using GitLab CI to manage 200 instances/production environments? Obviously you wouldn't want 200 branches with deployments controlled by merges/etc... I assume.

How can you get a good overview over all of these environments and ensure they're deployed completely/view their versions and roll-out progress, ensure smoke tests completed for a successful pipeline/etc?

Its been implied to me that Spinnaker may be a good tool to plug this gap. Can someone explain how that is if so? Are there any better options?

1

Check out the GitLab Operations Dashboard feature (https://docs.gitlab.com/ee/user/operations_dashboard/)

There is a screenshot on that page, too, so you can get an idea of it.

| improve this answer | |
  • 1
    Thanks for the suggestion. It caps out at a very small number of projects though and its only personal / user specific. Its not very useful for a company/team at any scale (yet). I do know that they are working on scaling it though for greater purposes :). So, fingers crossed for the future! – John Humphreys - w00te Apr 12 at 0:07
  • 1
    Got it, thanks for the data! – Aleksey Tsalolikhin Apr 12 at 0:15
0

Regarding modern CD tools, such as Spinnaker, Argo, Flux, Jenkins X (depending on your stack and use case - most are k8s specific) - they will help you with roll-out of any specific code base (set of artifacts) to a large number of nodes / instances. However, they wouldn't help you with versioning or keeping track of versioning. Essentially, they would help you to deploy whichever version you tell them to deploy to a large scale.

I'm currently working on a project - https://relizahub.com - which integrates with any CI/CD solution to solve the problem of versioning there. Here's my latest demo video on approvals across different environments - https://www.youtube.com/watch?v=PzdZjMby6Is. It may help with a versioning issue and seeing what version you have at which instance and when it was deployed.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.