The Objective of the paper is to provide details about the various architecture specific requirements for good implementation of continuous delivery. The paper emphasizes on the need of the system to be architected/designed for continuous delivery.
The methodology used for this paper is an expert opinion based approach where the author has provided his perspective based on the experience of working in 22 different projects where continuous delivery is implemented.
The key findings of the paper is that the software architecture should be considered to be designed from the following perspective for continuous delivery-
· Deployability- The system should be well thought from the perspective of ease of deployment.
· Security-Security vulnerability should be well thought and should be built into the architecture.
· Loggability: The system architecture should consider aspects related to the logging requirements. It should cover what to log, logging mechanism/ log format, log size etc.
· Modifiability: The size of the requirements should be considered so that the modifications in the systems can be easily deployed.
· Monitorability: The system should be designed in such a way that the interfaces should be able to monitor the state and performance (and related aspects) of the system.
· Testability: The system should cover the aspects of testability of the system and cover details of pipeline (where each pipeline serves as quality gate)
The paper provides pointer towards the need for designing the system for continuous delivery. It also sets the context for further research options where there is need of coming up with architectural patterns and tactics for continuous delivery.