Un sistema profesional para tu web

La palabra DevOps, es un acrónimo formado por dos palabras en inglés, development -desarrollo- y operations -operaciones. Lo que en su conjunto significa desarrollo de operaciones. 

Este movimiento busca la integración de los desarrolladores y de los administradores de sistemas para que su trabajo se pueda realizar paralelamente sin entorpecer tareas del uno o del otro. Así consiguen una mejor resolución en cada una de ellas. 

¿En qué me beneficia el movimiento DevOps?

El objetivo del movimiento consiste en que el desarrollador pueda desplegar tu trabajo en cuestión de segundos, garantizando cumplir con los tiempos y asegurando una recuperación de la información de forma inmediata en caso de la presencia de cualquier fallo. 

Se podría decir que es una unión de fuerzas para que el trabajo fluya de forma rápida y sin problemas. La unión evita problemas. 

Tradicionalmente, en el proceso de desarrollo de una web, los distintos profesionales de desarrollo y de administrador de sistemas, conviven en empresas distintas, pero son necesarias sus aportaciones individuales laborales para poder finalizar cualquier tarea. Con el movimiento DevOps es mucho más sencillo que todas y cada de las mismas se realicen de forma segura. 

En Comonline trabajamos con el movimiento DevOps y también ofrecemos un servicio de Hosting Profesional dirigido a todas las plataformas del mercado en las que hayas desarrollado tu web.

A continuación explicamos los pasos que describen el método de trabajo:  

1 – PROGRAMACIÓN

El trabajo de la programación empieza con la instalación de un espacio de trabajo en el ordenador de cada programador, sin necesidad que esté conectado a internet. 

Entre los desarrolladores que van a llevar a cabo el proyecto, se dividen las funcionalidades concretas que necesitará la página (F1, F2, F3…) para ir creando el proyecto de forma paralela. 

Todo el trabajo lo van realizando en GIT.
GIT es un sistema de control de versiones, con él se guardan todas y cada una de las modificaciones que hace cada uno de los programadores, se encarga de unificar todas las modificaciones evitando unos «pisen» el trabajo de otros y pudiendo revertir los cambios de forma inmediata ante cualquier problema. Después cada uno irá subiendo su trabajo al repositorio Bitbucket y descargándose en su equipo las modificaciones que el resto del equipo haya realizado.

2 – BITBUCKET

BitBucket se podría definir como un entorno actualizado de todos los cambios hechos por los desarrolladores, tanto definitivos y testeados, como los que aún están en fase de testeo o incompletos. De forma que al estar online, todos los desarrolladores pueden acceder a ese código y ver los cambios con toda la información que necesitan.

Los cambios se suben progresivamente a esta plataforma donde se sitúan todos ellos clasificados por ramas de funcionalidades para su facilidad de detección y futura implementatación. 

La diferenciación de los trabajos mediante ramas, también sirve como aviso a los desarrolladores para evitar que trabajen a la vez sobre un mismo archivo.

3 – CONTINUOUS DELIVERY MANAGER

El Continuous delivery manager, es el eje central del trabajo, es el “director de orquesta”. Se encarga de recoger de Bitbucket todas las funcionalidades que están listas para el testeo por parte del cliente y las escribe en el servidor de desarrollo (espacio de trabajo online, no es la web definitiva). Una vez están testeadas dichas funciones, se marcan de nuevo en bitbucket como programadas o listas para ser subidas ya al servidor en producción (web definitiva que utiliza ya el dominio final). 

Este sistema tiene la ventaja de que previamente a subir cualquier cambio a la web, despliega y testea todos y cada uno de los cambios para comprobar su funcionalidad y asegurar que todos estos cambios se pueden llevar a cabo sin dificultades. Una vez estos cambios son chequeados, el propio sistema los sube a la web actual. 

Normalmente estos cambios se llevan a cabo sin ningún error, pero en caso de que existiera algún error, el sistema tiene la capacidad de restaurar la web a su estado anterior al cambio en pocos segundos. 

4 – SERVIDOR DE DESARROLLO

Los servidores son ordenadores que contienen la información real en archivos de una página web o varias, son los encargados de «servirnos» la página cuando tecleamos la dirección en el navegador. En este servidor esta información no está visible para ningún usuario, sólo para el equipo de Comonline y para el cliente.

El servidor de desarrollo se utiliza cuando el cliente tiene una página web en funcionamiento y solicita cambiar su web, tanto si es para cambiar su aspecto completamente como si es para cambiar alguna funcionalidad que pueda entorpecer su actividad habitual, en este servidor pueden verse y chequearse esos cambios antes de subirlos al entorno real.

El servidor de desarrollo contiene una réplica de la página web, en otro dominio. Esta es una réplica al milímetro de la web actual. Es en este servidor donde se podrá ver el avance de cualquier cambio solicitado para que tanto el cliente como el equipo de desarrolladores se cercioren que todo funcione correctamente cuando se haga la migración. 

5 – SERVIDOR DE PRODUCCIÓN

Este ordenador tiene como único objetivo, la responsabilidad de servir la web por internet a todo el mundo. Es importante que tenga recursos suficientes para poder atender muchas visitas simultáneamente, para agilizarlo lleva anexo un servidor de Varnish Caché. Este servidor almacena el contenido que se repite en todas las visitas a la página para aliviar la carga de los procesos php o de base de datos del servidor real de producción, al ser un contenido ya existente el tiempo que tarda en servir la página disminuye drásticamente y sin consumo de recursos, permitiendo multiplicar la cantidad de visitas simultáneas posibles y mejorando considerablemente la experiencia del usuario al tener al navegar la sensación de inmediatez.

6 – SISTEMA DE BACKUPS

El sistema de backups, es una colección de archivos originales previos a cada cambio, es decir, si la web ha sufrido alguna caída con un cambio, el desarrollador acudiría a este sistema para recuperar el archivo anterior a dicho cambio y la web volvería a su anterior estado, sin cambio, pero sin errores. 

La web puede restaurarse con cierta rapidez desde el servidor de desarrollo (4), o incluso usando el Sistema de desarrollo continuo (3), podría recuperar toda la información desde Bitbucket (2) y volver a levantar la web actualizada, pero en caso de crisis esto podría ser lento y tardar varias horas. Para eso tenemos el sistema de backup este sistema de backup saca una copia exacta del servidor de desarrollo cada 24 horas, incluidas las bases de datos y sus conexiones aquí (*), de forma que este servidor está capacitado para servir la web, igual que está el de producción (5). Si algo grave sucede, podríamos hacer un cambio y redirigir el tráfico directamente a este servidor de backup e inmediatamente la web vuelve a estar en funcionamiento para todo el mundo hasta resolver el problema que pueda haber sucedido en el servidor de producción. 

(*) Este tiempo en caso de necesidad podría ser mayor. Si por ejemplo se ha programado para sacar una copia a las 3:00 am todos los días y sucede una catástrofe en el servidor de producción (5), levantaremos en pocos minutos la web de nuevo pero los datos que figurarían en ella serían los de las 3:00 am.

hosting-magento

¿Necesitas más información? Contáctanos


    Todos los datos personales recopilados en este formulario serán tratados por Diego Mestre Proyectos en Internet S.L. como responsable de esta web. Los datos serán tratados para gestionar tu solicitud de información. Si además lo has aceptado, también podrán ser tratados para el envío de nuestras publicaciones, noticias, cursos, eventos, recursos exclusivos y resto de información relacionada con las actividades propias de la empresa. La base legal para el tratamiento de tus datos es el consentimiento del interesado.
    Podrás ejercer los derechos de acceso, rectificación, limitación y suprimir tus datos a través de info@globalbrand.es. Para información más detallada consulta nuestros Aviso legal.