Keeping in mind the growth possibility of a solution and the insertion of new components , new functionalities or even the need for performance testing, access, security or environment availability, the solution should include, besides the Production environment, a Staging and Development environment. The diagram represents a generic Production environment.
With the Staging environment, it is possible to perform all kinds of tests without interfering with the current production of the solution. After the testing and approval of new functionalities or new definitions of non-functional requirements such as performance, it can be migrated to the Production environment.
The Development environment provides all the necessary tools for creation and implementation of the new functionalities.
Figure 10-10 on page 236 shows a possible connection of all three environments. Since the people in charge of the production are not, in general, the same who test the new solutions and develop the new functionalities, the environments are protected by security layers .