¿Qué significa entorno de producción?
Entorno de producción es un término utilizado sobre todo por los desarrolladores para describir el entorno en el que el software y otros productos se ponen realmente en funcionamiento para los usos previstos por los usuarios finales.
Un entorno de producción puede considerarse como un entorno en tiempo real en el que se ejecutan programas y se instalan configuraciones de hardware en las que se basa la organización o las operaciones comerciales diarias.
Definición de entorno de producción
Una forma de definir un entorno de producción es contrastarlo con un entorno de pruebas o de desarrollo. En un entorno de pruebas, un producto se sigue utilizando teóricamente. Los usuarios (normalmente ingenieros) buscan fallos o defectos de diseño. En el entorno de producción, el producto se ha entregado y tiene que funcionar a la perfección.
El entorno de producción es diferente del entorno de desarrollo, ya que es el lugar donde la aplicación está realmente disponible para uso empresarial. Permite a las empresas mostrar a los clientes un servicio «en vivo».
Mientras que los desarrolladores necesitan su propia versión para trabajar, los clientes y usuarios finales deben disponer de una versión distribuible que puedan utilizar.
Se crean builds distintos para permitir a los desarrolladores probar nuevas funcionalidades, buscar errores que aplastar y añadir nuevo código sin afectar a la versión del cliente. El propósito de esta diferencia es permitir que se realice cualquier prueba sin afectar a la operatividad del producto vivo.
Cada desarrollador puede trabajar en su propio entorno de desarrollo específico con diferencias claras, y las distintas versiones de desarrollo pueden tener características únicas, como mostrar datos contextuales que normalmente están ocultos. En cambio, hay un único entorno de producción, que se utiliza para evitar confusiones con los clientes, así como para prevenir problemas de seguridad.
A veces existe un tercer entorno, que se denomina entorno de puesta en escena o de preproducción. Aquí se prueba la mejor versión candidata para el lanzamiento, y suele ser un espejo del entorno de producción.
La preproducción suele durar poco, y sólo sirve para realizar las pruebas de estrés finales de la «próxima» versión del producto antes de que salga al mercado. Cuando una determinada característica está suficientemente comprobada para alcanzar la aprobación, se puede trasladar del entorno de pruebas al de preproducción antes de lanzarla al entorno de producción.
El despliegue en producción es un asunto especialmente delicado, ya que los clientes o usuarios pueden no ser indulgentes si se encuentran fallos o errores en la versión final, o si una nueva característica no funciona como se pretendía. Por ello, a veces el producto se ejecuta en entornos de control de calidad (CC), que pueden o no ser lo mismo que la preproducción.
Por ejemplo, los cambios en los parches de un videojuego podrían ser probados por jugadores elegidos a dedo en un servidor de CC para pedirles su opinión. Los cambios no deseados o inesperados podrían revertirse para evitar reacciones negativas de la comunidad.
Un término relacionado, código de producción, se refiere al código que utilizan los usuarios finales en una situación en tiempo real, o al código que es útil para las operaciones del usuario final.
El debate sobre lo que constituye el código de producción muestra que hay mucha ambigüedad sobre la aplicación formal de uno u otro término a un escenario concreto, debido a las muchas etapas por las que pasan el código y los productos tecnológicos en sus respectivos ciclos de vida.