Hoy se me ha ocurrido pensar que un paso a producción es casi casi como un examen. Y para los que no seáis de informática y os parezca que hablo en chino, no os preocupéis que empiezo por el principio.
Tal como está ahora el mundo, las empresas dependen completamente de sus sistemas informáticos; cada vez se llevan a cabo más gestiones de manera automática, y un simple fallo puede llegar a suponer grandes pérdidas, ya sean monetarias o de otro tipo. Por eso los sistemas
de producción de las empresas son (¡o deberían ser!) entornos estables y de acceso muy controlado.
Para conseguir ese nivel de control lo que se hace es no dejar a casi nadie tocar en el entorno de producción (que es donde las cosas ocurren "de verdad"), y a cambio mantener uno o más entornos "de mentira" donde desarrollar apicaciones, hacer pruebas, ensayar cambios, etc.
Os hablo de aplicaciones porque es en lo que yo trabajo, pero esto que estoy contando se aplica a bases de datos, servidores y todo lo que se os ocurra. En total, lo suyo es que haya al menos tres entornos con los que trabajar:
-
Desarrollo: es donde se construyen y se empiezan a probar las nuevas aplicaciones. Como los datos que hay ahí son sólo para pruebas, si las cosas fallan no pasa nada, se puede acceder tranquilamente y retocar todo lo que haga falta.
-
Preproducción: debería ser una copia lo más parecida posible a producción, para lo que se "refresca" (se copian los datos de producción) cada relativamente poco. Es donde se hace el "ensayo general": se instala la nueva aplicación y se estudia su comportamiento en situaciones "casi reales", se hacen pruebas más exhaustivas, y si falla algo todavía se está a tiempo de arreglarlo (con la diferencia de que hay que pedir permiso para tocar cualquier cosa, lo que en la práctica es un engorro, y además tu jefe se entera siempre de si algo falla, así que más vale hacerlo bien)
-
Producción: es el entorno "de verdad", el "pata negra", al que los desarrolladores no tienen acceso (o si acaso lo tienen sólo para leer datos). Todos los cambios en producción tienen que estar aprobados previamente por un responsable, y sólo los pueden realizar determinadas personas; es tarea de los desarrolladores preparar unos
scripts de instalación y unas instrucciones detalladas para que el instalador siempre sepa qué pasos tiene que seguir, incluyendo cómo dar marcha atrás si algo va mal.
A eso es a lo que llamamos
paso a producción, al momento de instalar la nueva aplicación en el entorno real. En la preparación de ese momento hay que tener en cuenta muchos detalles (cómo afectará el cambio a otros sistemas, o a los usuarios, si habrá que interrumpir temporalmente el servicio, etc.), y todo lo que pueda fallar tiene que estar ya previsto, para eso precisamente sirve instalar primero en el entorno de preproducción.
Pero como todos conocemos ya la
ley de Murphy y sabemos que no se puede preverlo absolutamente todo (y menos si hablamos de informática), los días que hay paso a producción se tienen unos nervios parecidos a los del día de un examen, o al menos a mí me pasa: cruzas los dedos, respiras hondo y piensas "Dios mío, que salga todo bien".