Microsoft Certified: DevOps Engineer ExpertConfigure processes and communicationsMedium

A team is developing a microservices-based application. They need to implement a versioning strategy that clearly communicates the impact of changes to consumers of their APIs and allows for independent evolution of each service. They want to ensure that breaking changes are explicitly signaled. Which versioning scheme is best suited for this requirement?

  1. ASequential versioning (e.g., 1, 2, 3...)
  2. BGit commit hash versioning
  3. CSemantic Versioning (SemVer)
  4. DDate-based versioning (e.g., YYYY.MM.DD)
Show answer & explanation

Correct answer: C. Semantic Versioning (SemVer)

Semantic Versioning (SemVer) is specifically designed to communicate the nature of changes (major for breaking, minor for new features, patch for bug fixes) through a three-part version number, which is crucial for API consumers to understand the impact of updates and for independent service evolution.

Why the other options are wrong

  • A. Sequential versioning provides no information about the type of changes, making it difficult for consumers to assess the impact of an update.
  • B. Git commit hash versioning provides unique identifiers for code snapshots but does not convey any semantic meaning about the changes or their impact on consumers.
  • D. Date-based versioning indicates release timing but does not inherently communicate the nature or impact of changes (breaking, features, fixes).

Semantic Versioning (SemVer)

Semantic Versioning (SemVer) is a versioning scheme using MAJOR.MINOR.PATCH numbers to communicate the type of changes in a release: MAJOR for breaking changes, MINOR for new features (backward-compatible), and PATCH for backward-compatible bug fixes. It is crucial for API and library consumers.

  • MAJOR.MINOR.PATCH format.
  • Major: Breaking changes.
  • Minor: New features (backward-compatible).
  • Patch: Bug fixes (backward-compatible).
  • Crucial for API stability and consumer understanding.

Memory trick: Versions tell a story of change.

More Configure processes and communications questions