Workflow

Observability

Monitoring

Blackbox

what is broken

Whitebox

anticipate known possible failure

Alerting/visualization

Distributed systems tracing infrastructure

Log aggregation/analytics

Operate

Provisioning

I need resources:

  • Network
  • Server
  • Service

Commissioning

  • OS
  • Dependencies

Configuration

  • Security

Deployment

Where

How many

Scalabity

Releasing

Artifact

“blob” between Ops and Dev

Versioning

Semantic Versioning (SemVer)

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards compatible manner, and
  3. PATCH version when you make backwards compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Tests

static code analysis (linting)

Format

Convention

non-adherence to coding standards

Mess Detection

pointing possible logical errors

Complexity

Cyclomatic complexity

Dependencies

  • Deprecation
  • Vulnerabilities

Dynamic Testing

Unit Tests

Input → Function → Output

→ coverage

End to End (e2e)

Auditing

Building

code -> artifact

Must be

  • Deterministic
  • Reproductible

Should be

  • automated
  • distributed

Code

Source Control

  • git
  • svn

Language

ecosystem

Dev platform

End

return