Los automatizadores lo que van a hacer es automatizar tareas por nosotros. Tareas repetitivas, diarias y que debemos configurar una a una manualmente antes del proyecto y usarlas durante todo el proceso. Entonces lo que podemos hacer es utilizar alguna librería como por ejemplo grunt o gulp.
DevOps es un acrónimo inglés de desarrollo (development) y operaciones (operations) es una práctica de ingeniería de software que tiene como objetivo unificar el desarrollo de software (Dev) y la operación del software (Ops). La principal característica de DevOps es defender la automatización y el monitoreo en todos los pasos de la construcción del software, desde la integración, las pruebas, la liberación hasta la implementación y la administración de la infraestructura. DevOps apunta a ciclos de desarrollo más cortos, mayor frecuencia de implementación y lanzamientos más confiables, en estrecha alineación con los objetivos del negocio.
Los proyectos DevOps utilizan procesos estandarizados, permitiendo la automatización de estos para mejorar su fiabilidad y, por extensión, la calidad del software. De esta forma, la automatización, combinada con otros principios de DevOps, facilita que los equipos puedan focalizarse en proporcionar valor a la entrega del software, siguiendo el primer principio del Manifiesto Agile: “Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor”.
CI/CD es una de las mejores prácticas que pueden implementar los equipos de desarrollo. También es una práctica recomendada de metodología ágil, ya que permite a los equipos de desarrollo de software centrarse en cumplir los requisitos comerciales, la calidad del código y la seguridad, porque los pasos de implementación están automatizados.
La integración continua (CI) es una filosofía de codificación y un conjunto de prácticas que impulsan a los equipos de desarrollo a implementar con frecuencia pequeños cambios y registrar el código en los repositorios de control de versiones. Como la mayoría de las aplicaciones modernas requieren desarrollar código en diferentes plataformas y herramientas, el equipo necesita un mecanismo para integrar y validar los cambios.
La entrega continua (CD) comienza donde termina la integración continua. CD automatiza la entrega de aplicaciones a determinados entornos de infraestructura. La mayoría de los equipos trabajan con múltiples entornos además de la producción, como los entornos de pruebas y desarrollo, y CD garantiza que haya una forma automatizada de enviarles los cambios de código.
La automatización de CI/CD realiza las llamadas de servicio necesarias a los servidores web, bases de datos y otros servicios que pueden necesitar reiniciarse o seguir otros procedimientos cuando se implementen las aplicaciones.
La integración continua y la entrega continua requieren pruebas continuas, porque el objetivo es entregar aplicaciones y código de calidad a los usuarios. Las pruebas continuas a menudo se implementan como un conjunto de regresión automatizada, rendimiento y otras pruebas que se ejecutan en la canalización CI/CD.
Un desarrollador Full Stack es el encargado de manejar cada uno de los aspectos relacionados con la creación y el mantenimiento de una aplicación web. Para ello es fundamental que el desarrollador Full Stack tenga conocimientos en desarrollo Front-End y Back-End. Además de manejar diferentes sistemas operativos y lenguajes de programación.
Como habilidades mínimamente debería de saber manejar las siguientes:
-HTML5, CSS3, JavaScript para el desarrollo de la web.
-UX básico y principios de diseño.
-Conocimiento de frameworks de JavaScript (por ejemplo, AngularJS)
-Dominio en distintos lenguajes de programación
1. Desarrollo Web Lamp.
2. Desarrollo Web Mean.
3. Modelamiento.
4. Control de versiones.
5. PAAS Y Soluciones Cloud.
6. Métricas.
7. Aplicaciones móviles.