Dr. Alfredo de Jesús Gutiérrez Gómez.
Dr. Alfredo de Jesús Gutiérrez Gómez.
Presentación
Instrucciones para la presentación
1. Piense en el nombre de un animal que inicie con la primera letra de su nombre.
2. Este no deberá repetirse.
3. Al presentarse deberá completar la siguiente frase: Mi nombre es: _______ y he venido sobre un/a: _______ a la escuela desde _____
4. Dar respuesta a las preguntas:
4.1 ¿Porqué estudio está carrera?
4.2 ¿Qué me ha gustado de la carrera hasta ahora?
Temas del curso
Unidad 1. Seguridad e implementación de aplicaciones
Temas del curso
Unidad 1. Seguridad e implementación de aplicaciones
Temas del curso
Unidad 2. Infraestructura y automatización
Temas del curso
Unidad 2. Infraestructura y automatización
Temas del curso
Unidad 3. Soluciones de redes administradas
Temas del curso
Unidad 3. Soluciones de redes administradas
Políticas de clase
Lineamientos de clase
El incumplimiento de las tareas en tiempo y forma llevarán a una no aprobación del curso.
Lineamientos de clase
Realizar el seguimiento personal desde el Aula Virtual.
Estar pendiente de los resultados de las evaluacion/es parcial/es y final/es.
Notificar al tutor por escrito, con copia a la coordinación académica, si, por alguna razón excepcional, se encontrara en una circunstancia especial que le impidiera continuar con el curso y recibir así indicaciones de cómo proceder a partir de ese momento.
Descripción de las actividades
Unidad 1 Seguridad e implementación de aplicaciones
Descripción de las actividades
Unidad 2. Infraestructura y automatización
Descripción de las actividades
Unidad 3 Solución de redes administradas
Actividades de encuadre
Actividades de encuadre
Instrucciones:
Tiempo de la actividad: 6 minutos.
Actividades de encuadre
Instrucciones:
Tiempo de la actividad: 6 minutos.
Actividades de encuadre
Instrucciones:
Tiempo de la actividad: 6 minutos.
Actividades de encuadre
Una vez contestadas las preguntas anteriores escribir en el foro respectivo la respuesta a cada pregunta.
Tiempo de la actividad: 6 minutos.
Recomendaciones para las actividades
Trabajos:
Párrafos:
Ortografía - Gramática
Recomendaciones para las actividades
Referencias bibliográfica
Lista referencia bibliográfica
Recomendaciones para las actividades
Introducción y conclusión
Formato del trabajo
Recomendaciones para las actividades
Tablas /imágenes / diagramas / gráficas:
¿Dudas / Preguntas / comentarios?
¿Automatización de la infraestructura digital?
Uso de tecnologías y herramientas para gestionar y operar los recursos de TI (Tecnologías de la Información) de manera automática y con mínima intervención humana.
optimizar el despliegue, la gestión, el monitoreo y la escalabilidad de su infraestructura de TI, que puede incluir servidores, redes, almacenamiento, bases de datos entre otras cosas.
Infraestructura como Código (IaC)
gestionar y aprovisionar la infraestructura de TI mediante archivos de configuración en lugar de configuraciones manuales. Los scripts de IaC permiten definir el estado deseado de la infraestructura y luego aplicar esos estados de manera automatizada.
Orquestación
Coordina y gestiona las tareas automatizadas en diferentes sistemas, asegurando que se ejecuten en el orden correcto y con las dependencias adecuadas.
Gestión y Configuración Automatizada
Automatizar la configuración de servidores y otros dispositivos para asegurar que sigan las políticas establecidas.
Chef y Puppet: Herramientas que permiten definir y aplicar configuraciones en servidores de forma repetible y escalable.
Monitoreo y Automatización de Respuesta
Monitoreo automatizado permiten la supervisión continua de la infraestructura y pueden ejecutar acciones automáticas en respuesta a eventos o condiciones predefinidas.
Escalabilidad
Permite escalar la infraestructura rápidamente para adaptarse a las demandas crecientes, sin la necesidad de intervención manual.
Al automatizar procesos repetitivos, se minimizan los errores humanos, lo que resulta en una infraestructura más confiable y segura.
Reducción de Errores
Velocidad y Agilidad
La automatización acelera el despliegue y la configuración de recursos, permitiendo a las organizaciones responder rápidamente a las necesidades del negocio.
Asegura que las configuraciones y políticas se apliquen de manera uniforme en toda la infraestructura, lo que es crucial en entornos de TI complejos.
Consistencia
Costos Reducidos
Al optimizar el uso de recursos y reducir la necesidad de intervención manual, la automatización puede conducir a una disminución en los costos operativos.
Despliegue Automatizado
Desplegar aplicaciones y servicios en entornos de producción sin intervención manual, asegurando consistencia y rapidez.
Infraestructura Dinámica
Gestionar infraestructuras que escalen automáticamente en respuesta a la demanda, utilizando recursos de nube pública o privada.
Gestión de Configuraciones
Asegurar que las configuraciones del sistema se mantengan alineadas con las políticas corporativas y se adapten automáticamente a los cambios.
Recuperación ante Desastres
Automatizar la recuperación de sistemas críticos después de una falla, reduciendo significativamente el tiempo de inactividad.
Complejidad Inicial
La configuración inicial de un sistema de automatización puede ser compleja y requiere una planificación cuidadosa.
Capacitación del Personal
El personal de TI necesita capacitación para gestionar y mantener infraestructuras automatizadas, lo que puede requerir inversión en tiempo y recursos.
Dependencia de Herramientas
Las organizaciones pueden volverse dependientes de herramientas específicas, lo que podría ser un riesgo si esas herramientas dejan de ser soportadas o actualizadas.
Identificar los entornos de trabajo en el proceso de desarrollo de software
# seg. AppPrincipales Entornos de Trabajo en el Desarrollo de Software
# seg. AppEntorno de Desarrollo (Development Environment)
Este es el entorno donde los desarrolladores escriben, prueban y depuran el código. Suele ser un entorno aislado que permite experimentar sin afectar otros sistemas.
Automatización y Herramientas Clave
Principales Entornos de Trabajo en el Desarrollo de Software
# seg. AppBeneficios
Actividad de Aprendizaje
# seg. AppIntegración e implementación continua (CI/CD)
# Auto-InfraestructuraLa Integración Continua (CI) y la Implementación Continua (CD), comúnmente denominadas CI/CD, son prácticas esenciales en el desarrollo de software moderno que buscan automatizar y mejorar la eficiencia del ciclo de vida del software, desde su creación hasta su despliegue.
Integración e implementación continua (CI/CD)
# Auto-InfraestructuraAspectos claves
Automatización de pruebas: Cada vez que se realiza una nueva integración de código, un sistema automatizado ejecuta pruebas para asegurar que los nuevos cambios no introduzcan errores o rompan funcionalidades existentes.
Compilaciones automáticas: El sistema CI realiza compilaciones automáticas del proyecto para verificar que todo el código se puede integrar correctamente.
Integración e implementación continua (CI/CD)
# Auto-InfraestructuraAspectos claves
Retroalimentación rápida: Los desarrolladores reciben comentarios inmediatos sobre la calidad de su código y la compatibilidad con el sistema completo.
El proceso de CI permite a los equipos detectar problemas rápidamente y resolverlos antes de que se conviertan en grandes obstáculos.
# Auto-InfraestructuraImplementación Continua (CD)
La Implementación Continua es una extensión de la CI que automatiza el proceso de entrega de software a entornos de producción (o casi producción, como un entorno de prueba o staging). Esta práctica garantiza que el software siempre esté en un estado desplegable.
# Auto-InfraestructuraImplementación Continua (CD)
Aspectos claves
# Auto-InfraestructuraVentaja CI/CD
# Auto-Infraestructura
# Auto-Infraestructura# Auto-Infraestructura# Auto-InfraestructuraInstalar Docker - Windows
# Auto-InfraestructuraInstalar Docker - MacOsX
# Auto-InfraestructuraInstalar Docker - linux
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker# Auto-InfraestructuraInstalar Docker - Verificar la ejecución de docker en la terminal
docker --versionSi se esta ejecutando correctamente debe de salir algo como lo siguiente
# Auto-InfraestructuraCrear un fichero docker-compose.yml
Ayudara a gestionar los servicios de Apache, PHP y MySQL es la forma más sencilla.
Crea un directorio y dentro de él se creará el archivo docker-compose.yml con la siguiente estructura. Usa el comando mkdir para la creación de la carpeta
# Auto-InfraestructuraCrear un fichero docker-compose.yml
version: '3.8'
services:
web:
image: php:7.4-apache
container_name: webserver
volumes:
- ./html:/var/www/html
ports:
- "8080:80"
depends_on:
- db
db:
image: mysql:5.7
container_name: mysqlserver
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: mydb
MYSQL_USER: user
MYSQL_PASSWORD: userpass
volumes:
- db_data:/var/lib/mysql
ports:
- "3306:3306"
volumes:
db_data:Este fichero configura el contenedor apache/php y mysql
# Auto-InfraestructuraCrea un directorio llamado html dentro de tu directorio de proyecto, que contendrá los archivos web. También, añade un archivo PHP de prueba.
<?php
phpinfo();
?>Escribe el siguiente contenido básico en el archivo index.php:
Se recomienda usar el comando mkdir para la creación de directorios
# Auto-InfraestructuraAbre una terminal y navega hasta el directorio donde se encuentra tu archivo docker-compose.yml. Luego, ejecuta el siguiente comando:
docker-compose up -dEsto descargará las imágenes necesarias (Apache, PHP y MySQL) y levantará los contenedores
# Auto-InfraestructuraAbre un navegador web y accede a http://localhost:8080. Se Debe ver la página de información de PHP que configuraste en el archivo index.php.
# Auto-InfraestructuraCrea otro archivo PHP para probar la conexión con la base de datos. Añade el siguiente código en un archivo llamado dbtest.php dentro del directorio html:
# Auto-Infraestructura<?php
$servername = "db";
$username = "user";
$password = "userpass";
$dbname = "mydb";
// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);
// Verificar conexión
if ($conn->connect_error) {
die("Conexión fallida: " . $conn->connect_error);
}
echo "Conexión exitosa";
?>Accede a http://localhost:8080/dbtest.php para ver si la conexión con la base de datos es exitosa.
# Auto-InfraestructuraFROM PHP:7.4-apache
RUN docker-php-ext-install mysqliSi causa un error de que no tiene instalada la librería mysqli crea un fichero docker-file.yml y guardalo alado del docker-compose.yml
# Auto-Infraestructuradocker psVer los contenedores en ejecución
docker-compose logsVer los logs de los contenedores
docker-compose downDetener los contenedores
docker-compose restart webReiniciar un contenedor específico (ej. Apache)
# Auto-Infraestructura