Abstract SDLC process

The raw engineering process for new API server projects is something like:

  1. Project code from central registry
  2. Define high level solution or solution on a page document (draft work in progress)
  3. Define subject domain (for use Domain Drive Design principles). Either create new domain name or use existing deomain name. This is centrally registered.
  4. Register exposed APIs in CMDB. OpenAPI and AsyncAPI can be serviced by same server. If following microservices principles, then discourage having multiple OpenAPIs.
  5. Determine infrastructure platform and register with infra
  6. Create Git repo based on naming standards
  7. Select framework
  8. Create shell OpenAPI with base level routes such as health and search (if applicable)
  9. Define OpenAPI (if applicable)
  10. Create shell AsyncAPI with base level routes such as health and search (if applicable)
  11. Define AsyncAPI (if applicable)
  12. Architecture and peer review of design
  13. Data lineage
  14. Server management SLAs
  15. Governance on privacy and availability, resilience and cyber rating
  16. Cyber security review of design, data flows and infrastructure
  17. Catalogue OpenAPI/AsyncAPI
  18. Lint the OpenAPI/AsyncAPI
  19. Create server code - could initially be generated based on OpenAPI/AsyncAPI followed by manual tweaks
  20. Create unit tests
  21. Create build script
  22. Create unit test script
  23. Create build pipeline
  24. Authentication and authorisation registration of API server
  25. Register consumption of upstream API, in operations management gide, for security and access rights
  26. Register API server with routes in external and internal gateways
  27. Register health monitoring (e.g. health route)
  28. Include and register for standards such as monitor, logging, security, fraud, feature switch, alerts
  29. Define external and internal gateway configurations for API
  30. Create roll out script
  31. Create roll back script
  32. Deploy to staging and test roll out and roll back processes
  33. Register solution for release / deployment either immediately or next change window