Extensión de la arquitectura Docker para el despliegue automático de contenedores
Extension of the Docker architecture for automatic container deployment
Los contenedores se han convertido es una estrategia ideal para acelerar el proceso de desarrollo de plataformas. Su importancia radica en la capacidad que tienen de separar una aplicación e interactuar con sus partes sin que la totalidad de la aplicación tenga que ser afectada. Los contenedores pueden compartir procesos entre varias aplicaciones, de manera muy similar al esquema propuesto por la arquitectura orientada a servicios. El objetivo de esta investigación fue definir una arquitectura para el despliegue automático de contenedores en contextos académicos;la verificación y validación de la arquitectura se realizó mediante la construcción de una plataforma que adapta los conceptos de la arquitectura y permite visualizar nivel a nivel cada uno de sus componentes. Se realizó un análisis bibliográfico sobre las arquitecturas propuestas para la gestión de contenedores, conlo cual se evidenciaron fortalezas y debilidades. El resultado directo de esta investigación fue la propuesta arquitectónica para el despliegue de contenedores como una extensión de Docker. El resultado indirecto fue la plataforma web con mirasa la verificación y la validación de la arquitectura.
1. INTRODUCCIÓN
El diseño y la programación de algoritmos definen las bases y las competencias que debe adquirir un ingeniero de desarrollo, por tanto, los cursos de programación son de vital importancia en el proceso de formación [1]. Las habilidades en programación que un estudiante adquiere en su proceso de formación están calificadas como las competencias requeridas en el siglo XXI [2], lo que realza la importancia de aplicar un proceso de enseñanza aprendizaje que asegure la adquisición de competencias en el área de programación.
Facilitar la enseñanza de la programación es una actividad que no solo requiere conocimiento técnico por parte del docente, sino habilidades para motivar a los estudiantes a superar los obstáculos que se presenten en su formación [3]. Un estudiante frustrado, probablemente, incrementará las estadísticas de deserción [1].
El proceso de formación de un desarrollador de software requiere de tiempo y dedicación, y existen múltiples problemáticas que inciden en el éxito o el fracaso [4]. Entre estas problemáticas se encuentran la formación y la experticia del docente, los conocimientos previos que debe tener el estudiante, así como los recursos tecnológicos a los que tiene acceso el desarrollador, entre otros [5].
En [6]critical thinking and collaboration or recognized as Higher Order Thinking Skills (HOTS se plantea que los procesos actuales de enseñanza son ineficientes, lo cual crea en el estudiante una resistencia que, eventualmente, se transformará en miedo a la programación [7], [8]. Existe evidencia de trabajos —como, por ejemplo, [9]— en los que utilizan otras estrategias para enseñar programación (p. ej., el caso de los videojuegos).
Recursos
-
Formatopdf
-
Idioma:español
-
Tamaño:146 kb