Enterprise AI Project Wiki · Environments, versions, and release
Production environment
Also calledProduction · Live environment · Prod
A production environment is the complete operating context formally used for real users, business data, and business operations. It is neither a server nor deployed code alone. It includes entry points, compute and runtime, networking, data stores, identities and permissions, configuration and secrets, external dependencies, monitoring and alerting, backup and recovery, and the people and procedures responsible for keeping the system running.
Start with the boundary
A production environment is defined by its formal use for real operations, not by where its machines are located or whether its URL is public. An employee-only back office, a private-network system, or software running in a company data center can all be production.
Production is a complete operating state. The same code connected to a different database, secret set, domain, permission model, or external API is a different environment. Conversely, renaming a test server to production does not make it ready for live operations.
A formal system must answer three questions: what is running now, whether it is healthy, and who will take which action when it fails. If any answer is unavailable, the production environment is incomplete.
What belongs to a production environment
These elements do not need to come from one vendor, but every one of them needs an explicit owner and boundary.
Entry points and traffic path
Where users and systems enter, which components handle traffic, and how requests are encrypted, routed, limited, and blocked.
- Domain and DNS
- TLS certificates
- Load balancer, gateway, or reverse proxy
- Firewall, WAF, CDN, private network, or VPN
Compute and runtime
The hosts, containers, clusters, functions, or managed platforms that run the application, plus operating systems, runtimes, and foundational software versions.
- CPU, memory, and storage quotas
- Container images or executable artifacts
- Runtime versions
- Scaling and process management
Network and environment isolation
How production is separated from development and test, which entry points are allowed, which services may connect, and whether outbound access is controlled.
- Network segments and security groups
- Ingress and egress rules
- Internal service discovery
- Separate production and non-production accounts or projects
Data and storage
Where live business data is stored and how it is classified, encrypted, retained, archived, and deleted, including who operates each data service.
- Databases, caches, and queues
- File and object storage
- Encryption at rest and in transit
- Retention and deletion rules
Identity, access, and secrets
Permissions for users, administrators, and service accounts; approval and audit of sensitive operations; and storage and rotation of passwords, tokens, certificates, and encryption keys.
- Least privilege
- Multi-factor authentication
- Service accounts
- Secret management and access auditing
Configuration and external dependencies
Environment-specific settings and dependencies such as models, payment, messaging, maps, identity providers, or internal systems, including behavior when those dependencies fail.
- Environment configuration
- Feature flags
- Third-party APIs and quotas
- Timeouts, retries, circuit breaking, and degradation
Observability and alerting
How health is evaluated across user experience, business outcomes, and technical components, and how actionable failures reach the responsible people.
- Metrics, logs, and traces
- Health checks
- Errors, latency, capacity, and business anomalies
- Alert severity, ownership, and escalation
Backup, recovery, and operating records
How data and service are restored after deletion, failure, a bad release, or disaster, and where routine procedures, incident steps, and contacts are recorded.
- Backup scope and frequency
- RPO and RTO
- Recovery exercises
- Runbooks, incident playbooks, and contacts
Operating requirements for production
Isolation from non-production
Production accounts, data, secrets, and privileged actions should not be casually shared with development or test. Isolation reduces mistakes and limits the impact of a compromised account or component.
Identifiable and reproducible state
The running application, configuration, infrastructure, and database state should be identifiable. Critical parts should be reproducible from version control, automation, or controlled documentation.
Controlled, reversible change
Code, configuration, database schemas, models, prompts, and dependency upgrades are all production changes. They need review, testing, records, a release strategy, and a stop or rollback plan.
Least privilege and traceable actions
People and programs receive only the access required for their tasks. High-risk operations have extra controls, and administrative actions leave searchable audit records.
Observable service health
A running process is not enough. Teams must observe whether critical business journeys succeed, dependencies remain available, latency and errors stay within limits, and capacity has headroom.
Failure handling and recovery
Alerts need owners and response instructions. Backups must be proven restorable, and critical failure scenarios need exercised rollback, failover, degradation, or restoration procedures.
Managed capacity, performance, and cost
Expected demand, peaks, service quotas, and scaling methods must be understood, with monitoring for resource consumption and ongoing cost.
Durable operating ownership
System owners, technical owners, business contacts, supplier boundaries, on-call arrangements, and escalation paths must remain current when teams or vendors change.
How a change reaches production
Tooling differs, but a controlled production change normally passes through these states.
Create an identifiable artifact
Code, configuration, dependencies, and database changes produce a versioned artifact with traceable origins.
Validate outside production
Run functional, integration, security, performance, and necessary recovery tests, recording unresolved risks.
Approve the change
Confirm scope, impact, timing, ownership, observation signals, and the response to failure.
Deploy
Place the selected artifact and configuration into production, using rolling, blue-green, canary, or another risk-reducing strategy where appropriate.
Release and observe
Make the change available to target users and watch health signals, business outcomes, logs, and alerts.
Confirm or reverse
Confirm completion after the observation criteria pass. Otherwise pause, roll back, degrade, or fail over and preserve the incident record.
Production-readiness evidence
Deployment alone is not evidence of production readiness. The following questions should have concrete answers and records.
- Is the formal boundary unambiguous?
Production domains, accounts, cloud projects, clusters, databases, and third-party production accounts are distinguishable from test resources.
Inspect: environment inventory, resource identifiers, network diagram, and official endpoint.
- Can the running state be identified?
The current application, configuration, database schema, model, and knowledge index can be traced to a release.
Inspect: version page, build number, deployment record, and change record.
- Is access approved and reviewable?
User, administrator, operator, and service-account permissions are separated, with approval, removal, and audit paths for privileged access.
Inspect: role matrix, account inventory, audit logs, and secret-management records.
- Is the data boundary documented?
Sources, purposes, storage locations, retention, encryption, backup scope, and deletion methods for live data are known.
Inspect: data-flow diagram, data inventory, retention policy, and backup configuration.
- Are dependencies and failure behavior known?
Critical dependencies, quotas, timeouts, retries, and degradation paths are recorded and tested.
Inspect: dependency inventory, quotas, and timeout or degradation test results.
- Does monitoring cover real business journeys?
Monitoring detects failure of critical actions, not merely CPU use or a live process.
Inspect: dashboards, metric definitions, synthetic checks, and alert rules.
- Does every alert lead to action?
Alerts have severity, recipients, response steps, and escalation; notification channels have been tested.
Inspect: alert tests, on-call roster, incident playbook, and escalation contacts.
- Can a bad release be stopped or reversed?
Observation periods, stop conditions, rollback or degradation methods, and handling of irreversible database changes are defined.
Inspect: release plan, rollback procedure, exercise record, and last rollback result.
- Can backups actually restore service?
Backup success is not enough; data integrity, RPO, RTO, and full-application recovery must be tested.
Inspect: restoration exercise, recovery time, integrity checks, and open gaps.
- Are capacity and ongoing cost acceptable?
Representative load and service quotas are tested, and continuing compute, model, storage, network, and vendor costs are understood.
Inspect: load test, capacity plan, quota list, cost budget, and cost alerts.
- Can ownership and documentation be handed over?
System, technical, and business owners and supplier boundaries are clear, and a new operator can follow the available procedures.
Inspect: responsibility matrix, runbook, deployment guide, contacts, and handover record.
Additional checks for enterprise AI systems
AI systems add models, prompts, knowledge sources, and generated behavior that can change independently from application code.
Model and invocation path
Record the model, version or alias, service region, calling account, quotas, timeouts, retries, and fallback. A vendor change behind a model alias can be a production change.
Prompts, policies, and tool permissions
Version system prompts, output rules, and tool permissions. Reading information and changing orders, sending messages, or approving payments carry very different risks.
Knowledge and retrieval state
Define production knowledge sources, authorization, freshness, chunking and index versions, citation behavior, and removal of deleted material from retrieval.
Data transfer and retention
Confirm which inputs, files, business data, and logs go to a model or external service, whether they are retained, used for training, or processed across regions, and configure the service accordingly.
Output quality and safety boundaries
Use representative cases to evaluate correctness, citations, refusal, insufficient evidence, sensitive content, and unauthorized actions. One average accuracy number is not a complete production standard.
Human handoff and stop conditions
For money, responsibility, inventory, scheduling, compliance, high-risk actions, or missing evidence, define when automation stops and how context reaches the responsible person.
Change monitoring and re-evaluation
Models, knowledge, prompts, data distributions, and external APIs change. Re-run evaluations after material changes and monitor refusal, handoff, error categories, and business outcomes.
Concepts commonly confused with production
| Related concept | Difference from a production environment |
|---|---|
| Server | A server is one compute resource. Production also includes network, data, access, configuration, dependencies, observability, recovery, and ownership. |
| Production version | The production version is the software or configuration version running at a point in time. The production environment is the complete operating context that hosts it. |
| Deployment | Deployment places an artifact and configuration into an environment. A successful deployment does not prove user release or production readiness. |
| Go-live or release | Go-live normally starts formal service; release makes a version available to target users. Both occur within the production lifecycle but are not the environment itself. |
| Staging | Staging validates a change before release and should resemble production, but normally does not carry live operations. Use of live data or dependencies must be agreed separately. |
| Publicly reachable test URL | Internet reachability is a network property. It does not make an environment production unless it is formally designated for real operations. |
Sources and scope
This entry explains a general software production environment. It does not prescribe public cloud, private cloud, on-premises infrastructure, containers, or any vendor. Environment tiers, availability targets, security controls, backup frequency, and operating ownership must be set according to business impact, data classification, regulatory obligations, and budget.
- Microsoft Learn: development, test, staging, and production environments
- AWS Well-Architected: change management for reliability
- AWS Well-Architected: mitigate deployment risks
- Google Cloud Well-Architected: operational readiness and performance
- Google Cloud Well-Architected: test recovery from data loss
- NIST: least privilege