Skip to content

v4.0.0: Merge pull request #25 from mazenaly256/dev

Choose a tag to compare

@mazenaly256 mazenaly256 released this 22 Jun 12:15
· 8 commits to main since this release
e3deea6

v4.0.0 — Fully Functional Live Cloud-Native Production Application

Overview

This release transitions the system from a local development setup to a fully functional, fully deployed, cloud-native distributed system with observability.


What's Complete

Cloud Deployment

  • All 4 services connected to remote databases instead of local ones (MongoDB Atlas, Neon PostgreSQL)
  • Azure VM provisioned for deploying via Docker Compose
  • Two Docker Compose files — one for the hosting VM, one for local development

API Gateway Enhancements

  • CORS policy centralized at the Gateway level
  • OpenAPI documentation for each service accessible through the Gateway
  • Request timeout increased to 8 seconds to improve request success rate

Resilience

  • Replaced raw HttpClient with IHttpClientFactory, that helps in reusing underlying sockets.
  • Polly retry (2 retries, 250ms/500ms backoff) and circuit breaker (3 failures, 30s open) on Reservation Service → Movie Service calls

Observability

  • OpenTelemetry tracing, logging, and collecting metrics across all services
  • Trace-log correlation achieved
  • Grafana Cloud integration — Tempo (traces), Loki (logs), Prometheus (metrics)

CI Pipeline Enhanced

  • 4 path-filtered GitHub Actions workflows, one per service, to avoid CI workflow due to change a file that it is not related to source code of the service.