Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development
by Dave Ingram
Chapter 6. Activities and Environments
This chapter takes a quick look at some of the testing and proving activities involved in the development lifecycle, and some potential environments where they can be carried out. You can use this information to flesh out tooling and configuration requirements, as well as to add to the testing and deployment approach, essentially working backwards from the production environment.
Once the system (or a particular release) is in live service, the live production environment is essentially deemed out-of-bounds for any testing activities, unless they are carried out during periods of scheduled down-time. Many different types of testing and proving activities are performed on a project prior to "go-live," and these include functional testing, technical testing, and acceptance testing. Each activity requires a fit-for-purpose environment where it can be carried out without impacting the live service, especially if you are developing multiple releases. To reduce costs, a single environment might even be used to perform multiple activities. However, the various activities would generally require careful planning and scheduling to avoid interfering with each other. Furthermore, each activity will have its own specific environment requirements that are driven by the individual scenarios being tested and proven. For example, to test the cluster failover, a clustered environment is required. To effectively test and gauge the overall performance characteristics ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access