The API Lifecycle itself builds upon the existing concepts that have been discussed. At the highest level, three core aspects exist – Design, Implement, and Manage – each containing their own respective lifecycles.
![](/storage/temp/4960800-picture2.png)
Design
The Design lifecycle maintains similarities to the RAML Development Lifecycle (noted above). This is by design, since the RAML specification was founded as a result of successful API design.
![](/storage/temp/4960801-picture3.png)
Conceptualize: Includes the initial design and requirements-gathering tasks surrounding the API. Prior to the RAML specification, some degree of building was required to return a set of results for the Mock/Simulation phase.
Mock/Simulate: Provides results from the API in a mocked or simulated manner. The actual API itself has not been built, but calling the API simulates data that is expected – paving the way for the feedback phase.
Feedback: Brings the stakeholder or product owner into the discussion so that they can review the results (while only mocked at this point) and compare them with the expectations that were set during the conceptualize phase.
Validation: Upon receiving feedback, the API design is validated and considered ready for the Implement aspect of the API Lifecycle.
Implement
The implement aspect of the API Lifecycle focuses on the development and testing/validation of the actual program code and processes required for the API itself. This simple flow is depicted below:
![](/storage/temp/4960811-picture4.png)
Development: The actual programmatic development, including unit and integration tests, required to meet the needs of the API.
Testing & Validation: Handles the Quality Assurance (QA) effort of validating that the acceptance criteria is being met by the API service being tested.
Manage
With the API designed, developed, and validated, the Manage aspect handles the remaining tasks associated with making the API available to consumers. Six elements are part of this final flow:
![](/storage/temp/4960814-picture5.png)
Secure: Handles aspects related to securing the API. This includes adding options for thresholds and varying service levels and setting access levels to the API. It is at this point that Information Security teams get involved by reviewing the API and/or performing penetration tests against the pre-production version of the service.
Deploy: With the API created, validated, and secured, the deployment of the API is handled using Continuous Delivery/Continuous Integration (Jenkins, Bamboo/Pipelines, GitLab, Travis CI) tools as the next part of the management lifecycle.
Monitor: At this point, DevOps or Network Operations participates in the flow by monitoring usage of the API.
Troubleshoot: When issues arise with a deployed API, the logs from the runtime are utilized to help diagnose the cause. If a tracing framework exists within the design, the ability exists to trace a given message/request/transaction through the lifecycle to help identify the situation.
Manage: Makes sure the API has the necessary capacity to meet current and future needs. This can include increasing the number of instances running and the overall sizing of a given run-time environment hosting the service.
Sunset: When the API is no longer required or needed, this final step of the lifecycle handles properly sunsetting the API. In regulated environments, additional tasks may be required to provide insight into APIs that were relied on at one time but are no longer available.
Conclusion
RESTful API Lifecycle Management consists of three core aspects: Design, Implement, and Manage. These three aspects span the full life of an API from conception, to validation, to implementation, to finally deprecation. The lifecycle is built upon the proven RESTful API design and wraps the simplicity around concepts that will assure a stable and secure implementation with the ability to scale as required.
The introduction of RAML has helped standardize elements in the Design phase, but is architected to align well within the entire RESTful API Lifecycle Management structure. Usage of RAML places organizations in a better position to build, deliver, and document APIs – all using standard nomenclature.