Looking for Advice: CI/CD + Kubernetes Setup for ASP.NET Core Microservices

Hey everyone, I recently got a freelance DevOps project and wanted to get some opinions/suggestions from experienced people before I finalize the architecture.

Project details:

  • 15 independent microservices
  • Each service has its own GitHub repository
  • Backend built with ASP.NET Core (.NET 8)
  • PostgreSQL database
  • Infrastructure will be hosted on DigitalOcean
  • Requirement is zero-downtime deployments

Current plan:

  • GitHub Actions for CI/CD
  • Docker for containerization
  • DigitalOcean Container Registry
  • DigitalOcean Kubernetes (DOKS)
  • Helm for deployments
  • NGINX Ingress Controller
  • cert-manager + Let’s Encrypt
  • Managed PostgreSQL from DigitalOcean
  • Rolling updates with readiness/liveness probes

Planned flow:
Code Push → GitHub Actions → Build/Test → Docker Build → Push Image → Helm Deploy to Kubernetes

I’m avoiding monorepo architecture since every service already has its own repository.

I’d appreciate suggestions on:

  • Best deployment strategy for zero downtime
  • Helm vs ArgoCD for a project of this size
  • Recommended Kubernetes structure for 15 services
  • Common mistakes to avoid with .NET microservices on Kubernetes
  • Database migration strategy during deployments
  • Any DigitalOcean-specific limitations or recommendations

Would love to hear how you’d approach this in production.

I believe these kinds of questions cover a large part of your job. You can ask AI and brainstorm with it, then provide more details and context to get the best approach.