A…repeatable Configuration or set of Configurations that…act as a contained, bordered or surrounding operational context and that allow one or more Entities such as Resources or Systems to perform one or more controlled functions or activities.
…phew!… Lets try putting that into something a bit more manageable shall we?
Imagine a big car insurance company – pick any you want. Lets pick a system they might hypothetically use – lets imagine a website to sell their policies. What does a website need to run? A database, some applications, a server or two? OK. But is that ALL it needs? No. It probably needs to connect to a bank for payments right? Do they connect to other insurers to verify No Claims Discount? Who is doing the premium calculations? How about that extra legal cover they are offering you? What looks simple and seamless from the outside can actually be made up of tens – or even hundreds – of configurations, components and integrations. To the business – this whole entity is the Production environment for this website.*
But wait! The insurance company wants to add or change something on their website – maybe they want to offer Home Insurance? No matter how much faith they have in their technical teams, no business is just going to let them tinker about with the Production environment.. What if they break it? No website = no new policies being bought = no money = someone is getting fired!
So you need to make a copy of all (or at least the relevant parts) of the functionality of the Production environment so that the Project team tasked with adding Home Insurance functionality to the website can construct, verify, and promote controlled changes through the various stages of readiness before they are considered ready for the Production environment. How big should those copies be? What data will they use? What other systems do they need to push/pull information to/from?
In businesses that have a broad or complex IT systems or are running significant IT change programs, an Environment Manager (or a team of them) are needed to keep a handle on building these ‘copies,’keeping track of what they are used for, what is in them, who is using them, and what to do with them once a Project has finished.
*For any technical bods out there that are shuddering in horror at my vast generalisations I apologise. I find it easier to ‘tell a story’ when trying to explain concepts, (and I would assume that you all would know what a Non Production Environment is anyway!)