domingo, 31 de julio de 2022

APLICABLE A TODAS LAS PROFESIONES! La computación en la nube y la importancia de la nueva generación de profesionales en IT

Tomado de https://www.novatica.es/
Resumen
Este artículo pretende plantear el concepto de computación en la nube de manera general, para después abordar el programa Amazon Web Services (AWS) Academy, sus objetivos y los beneficios para instituciones de educación superior, profesores y estudiantes. 

AWS Academy es un programa de colaboración entre AWS e instituciones de educación superior para poder acercar conocimiento de manera formal sobre la computación en la nube a profesores y estudiantes. Esta colaboración pretende junto con las universidades crear profesionales e investigadores que sepan utilizar los beneficios de la computación en la nube a su favor en cualquier área del conocimiento, ya que esta tecnología es completamente transversal. Desarrollos y proyectos de áreas como negocios, el marketing, la energía, la física, la biología, las ciencias naturales y otras, se aprovechan del uso de infraestructura y servicios de computación que hoy más que nunca son accesibles tecnológicamente pero también a un coste más eficiente.

Alejandro Martínez
Administrador del Programa Amazon Web Services Academy para Latinoamérica

Biografía
1. Introducción a la computación en la nube
La computación en la nube es la entrega de servicios de computación sobre demanda, almacenamiento, aplicaciones y otros recursos de Tecnologías de Información a través de una plataforma de servicios que se accede vía internet y que se pagan conforme se utilizan.

Es flexible ya que se adapta a las necesidades de los negocios de mejor manera: si las necesidades del negocio crecen la infraestructura tecnológica que respalda los procesos y los negocios también crecen o en su defecto, si los requerimientos decrecen la infraestructura puede tomar un tamaño más pequeño, todo esto de manera ágil y a un costo mucho más eficiente que el hardware o las infraestructuras on-premise.

De manera general podemos decir que la computación en la nube tiene muchas ventajas tanto tecnológicas como económicas que se adaptan a organizaciones de todo tipo y tamaños, por lo que puede ser utilizado por una pequeña empresa que empieza su desarrollo, hasta un gran corporativo multinacional o entidades gubernamentales; entre las ventajas que tiene podemos destacar las siguientes:

Transferir inversión de capital a gastos variables.
Obtener beneficios de una economía de escala.
Aprovisionamiento de capacidad.
Incremento de agilidad y velocidad de pruebas e implementación.
Inversiones estratégicas.
Facilidad de implementación.
Elasticidad.
Amazon Web Services cuenta actualmente con más de 125 servicios con los que se pueden implementar cualquier tipo de aplicación para todo tipo de necesidades, además cuenta con una infraestructura que permite a sus clientes gozar de una plataforma global y de sus beneficios en tan solo minutos.

La computación en la nube está siendo rápidamente adoptada por miles de clientes alrededor del mundo quienes ahora enfrentan el reto de poder contar con profesionales capacitados con las habilidades necesarias que les permitan colaborar tecnológicamente con los retos del negocio (véase1 el vídeo explicativo donde se provee una explicación breve y muy ilustrativa sobre la computación en la nube y AWS).

Figura 1. Algunas de las compañías que están invirtiendo en computación en la nube.
De acuerdo con un estudio de Global Knowledge (2018) [2] más de la mitad de los empleadores que contestaron este estudio, estuvieron de acuerdo en que la computación en la nube es una prioridad alta para ellos, mientras que el 68% menciona que existe una brecha entre el nivel de las habilidades y conocimientos que se requieren para alcanzar los objetivos. El 29% de esas mismas empresas, reportan que es difícil adquirir talento capacitado en computación en la nube. El mismo estudio menciona el área de computación en la nube, entre las áreas funcionales con mejores salarios en promedio.

Figura 2. Brecha entre habilidad requeridas por los empleadores.
La tecnología avanza de manera tan rápida, que para las universidades que se encuentran preparando a los futuros profesionales de TI, es difícil estar actualizando constantemente los contenidos de sus programas académicos, así que deben buscar soluciones innovadoras para brindar a sus estudiantes, además de la preparación académica, una preparación orientada a los nuevos retos que la tecnología demanda, con cursos y conocimientos pertinentes.

Este ritmo de innovación también supone un reto para los educadores, quienes ante tanta información suelen tener múltiples opciones para actualizarse, lo que les demanda tiempo adicional para conocer en profundidad los nuevos paradigmas que están ocurriendo en la industria, así como el tiempo para desarrollar nuevos materiales y contenidos relacionados.

Es por eso que AWS inició un programa de colaboración académica con las universidades denominado AWS Academy [3] para sumar esfuerzos en la formación de profesionales que cuenten con habilidades que el mercado les demanda y que además enriquezca a los estudiantes con experiencias de aprendizaje que les permitan tener más conocimientos orientados a la computación en la nube y aplicarlos transversalmente con otros conocimientos que adquieren a lo largo de su carrera universitaria y con miras a su desarrollo profesional.

Ya sea que el futuro del estudiante sea obtener un empleo, hacer una carrera en investigación o iniciar su propio emprendimiento, la computación en la nube es, en todos los casos, una herramienta valiosa para desarrollarse y uno de los paradigmas tecnológicos con más potencial de crecimiento hacia el futuro. Muchas tendencias tecnológicas se aprovechan de la computación en la nube como la plataforma por defecto para poder operar, tal es el caso de la Industria 4.0 que se basa en el Internet de las Cosas o Internet of Things (IoT) para almacenar millones de mensajes provenientes de millones de sensores y que requieren de una plataforma no solo para almacenar esos mensajes y datos resultantes, pero también recursos para ejecutar los procesos analíticos y predictivos necesarios para el verdadero aprovechamiento de esta información.

El programa AWS Academy alinea por un lado, las necesidades del mercado laboral entregando, no solo los conocimientos necesarios sobre computación en la nube, sino también alienando el contenido para que el estudiante pueda, si así lo desea, presentar un examen de certificación relacionado con el curso que tomó, brindándole a la larga además de un título profesional otorgado por la universidad, una certificación con validez internacional y reconocida por la industria.

Por otro lado, cubrir la necesidad de las universidades de innovar y entregar contenido que también sea pertinente en cuanto a las tendencias y nuevos paradigmas tecnológicos.

Estudios a nivel global han mencionado que los empleadores valoran las certificaciones profesionales ya que les brindan la confianza de saber que cuentan con profesionales con capacidades evaluadas y reconocidas por la industria a nivel global, con esto AWS en colaboración con las universidades miembros del programa, hacen un esfuerzo por reducir la brecha de profesionales requeridos por la industria al mismo tiempo que colabora con las universidades, educadores y estudiantes con el objetivo de reducir la brecha de profesionales existente en la industria.

2. Funcionamiento del programa académico
AWS prepara a profesores y estudiantes universitarios con cursos sobre computación en la nube, entregando un paquete con los contenidos y los materiales para impartir los cursos, ya sea para entregarlo como parte de un curso o como un curso completo del plan de estudios de la carrera. Finalmente, los estudiantes pueden obtener una certificación reconocida por la industria si así lo deciden. Estos materiales, contenidos y laboratorios incluyen las herramientas necesarias para preparar a sus estudiantes con los conocimientos de computación en la nube que han sido considerados en el programa en función de las necesidades de los empleadores con el objetivo de que la universidad pueda insertar el contenido en sus programas de grado, posgrado o educación continua.

El programa funciona mediante un modelo conocido como train de trainers en el que primero se capacita a los profesores mediante el acceso a cursos profesionales, una vez concluida la capacitación el profesor se certifica y una vez certificado replica el conocimiento a los estudiantes (a este proceso se le conoce como proceso de acreditación y es mandatorio para todas aquellas universidades que deseen impartir estos cursos a sus estudiantes); tiene una duración variable dependiendo del curso, la certificación y el tiempo que tiene el profesor disponible para estudiar, este periodo puede ser de entre 2 a 6 meses.

Este proceso es útil no solo para transmitirles el conocimiento a los profesores, sino que también les permite tener acceso a herramientas y plataformas para utilizarlas en clase con sus alumnos, esto con la intención de que se familiaricen, conozcan el material y contenidos antes de estar frente al grupo. Creemos que el profesor en base a su experiencia y conocimientos puede agregar mucho valor al contenido que diseñamos, por lo que promovemos que los profesores incluyan material adicional o que ellos consideren que agrega valor a los cursos, además de que el educador tiene amplia experiencia en el proceso de enseñanza-aprendizaje con los estudiantes para adoptar diferentes modelos de entrega de los contenidos y materiales.

El entrenamiento del profesor se lleva a cabo totalmente en línea, con la ventaja de que puede realizar el seguimiento del curso en el momento que lo requiera y a la hora que lo desee. Es importante mencionar que existe un plazo máximo para concluir el entrenamiento y que es mandatorio que el profesor lo termine por completo y que obtenga su certificación. Durante su proceso de aprendizaje y familiarización con nuestra plataforma, el profesor recibe la asistencia de un asesor o mentor que en todo momento estará a cargo de su aprendizaje, seguimiento de dudas, soporte y asistencia.

Una vez que el profesor concluye su entrenamiento, se le brindan herramientas adicionales con el fin de que esté completamente listo para su examen de certificación, posteriormente presenta su examen y una vez acreditado, dependiendo del curso que haya tomado y el examen de certificación realizado, está listo para enseñar o para presentar su validación técnica. El componente de la validación técnica consiste en una conversación con el asesor del docente que ayuda a corroborar que domina los temas técnicos vistos en el curso y únicamente es requerido para el curso de AWS Academy Cloud Computing Architecture.

Actualmente el programa AWS Academy ofrece dos cursos, un curso introductorio que lleva por nombre AWS Academy Foundations y que tiene como objetivo introducir la computación en la nube, sus conceptos y sus beneficios. El contenido del curso está orientado a la certificación AWS Certified Cloud Practitioner. También ofrecemos un curso más avanzado, orientado específicamente a la arquitectura de soluciones de computación en la nube llamado AWS Academy Cloud Computing Architecture, este curso sirve de preparación para el examen AWS Certified Solutions Architect – Associate. Los dos cursos tienen distinta duración y requieren de conocimientos previos en diferentes niveles e implican un esfuerzo en tiempo y conocimientos distintos.

Figura 3. Detalles de los cursos de AWS Academy.
A medida que el programa evolucione tenemos proyectado incluir más cursos relacionados con otras áreas como el desarrollo de software, administradores de sistemas (SysOps) y análisis de datos. La intención es ampliar a medio plazo nuestra oferta de cursos y poder trabajar con distintos perfiles profesionales mediante diferentes cursos para permitir a los profesores y estudiantes elegir entre diferentes rutas de aprendizaje, permitiendo hacer uso de la gran cantidad de servicios y beneficios de la computación en la nube.

3. Componentes de Aprendizaje
Los cursos cuentan con 3 componentes de aprendizaje, la parte teórica/conceptual que es la clase. Para este componente entregamos los manuales de la asignatura y las presentaciones necesarias para poder impartirla. Como ya he mencionado, el profesor es un elemento clave al enriquecer el contenido con experiencias y conocimientos propios.

El segundo componente son las evidencias de conocimiento, estas pueden ser usadas para reafirmar lo aprendido en clase o para hacer una evaluación previa que permita determinar el nivel de los estudiantes al iniciar el módulo o al finalizarlo.

Por último, tenemos los laboratorios, que son prácticas guiadas con explicaciones paso a paso para realizar ciertas actividades directamente en la consola de AWS, estos laboratorios sirven como herramientas que complementan el aprendizaje y que les permite a los estudiantes tener una experiencia práctica aplicando el aprendizaje teórico. Los laboratorios son una característica única de nuestros cursos ya que los estudiantes y los profesores acceden directamente a nuestra consola durante todo el tiempo que dure el curso, permitiéndoles explorar y aprender a hacer configuraciones reales que muy probablemente les serán demandas en el futuro dentro del ejercicio de su profesión o posiblemente configurando la infraestructura tecnológica y servicios de su tesis de maestría o doctorado. Para lo anterior no es necesario tener una tarjeta de crédito, por lo que se elimina esta fricción que se suele tener al adquirir conocimiento de plataformas de computación en la nube y que limita de manera importante la experiencia de aprendizaje.

Los laboratorios plantean una serie de pasos donde se aplican los conceptos técnicos, llevando al profesor y estudiante de la mano hasta conseguir una implementación práctica y funcional de los mismos con resultados tangibles, de hecho los últimos pasos de los laboratorios suelen ser pasos que se realizan para comprobar que la implementación fue exitosa, en caso contrario el estudiante tiene la oportunidad de revisar los pasos realizados para encontrar el error de implementación o en caso extremo de volver a comenzar con el ejercicio.

En el curso de AWS Academy Cloud Computing Architecture se integra un componente adicional de aprendizaje llamado aprendizaje por proyectos, en este componente se incluyen dos proyectos en los que se plantean escenarios reales de arquitecturas y en los que se solicita al estudiante que realice el análisis y posteriormente la implementación de estas arquitecturas en la consola de AWS, esta experiencia enriquece aún más el aprendizaje del estudiante exponiéndolos a casos reales y no triviales.

Para todos los componentes anteriormente mencionados AWS Academy ofrece todas las plataformas y herramientas necesarias, por lo que abstraemos la plataforma de clases, laboratorios y proyectos de los recursos que las universidades suelen poner en marcha cuando imparten un nuevo curso.

Figura 4. Componentes de aprendizaje dentro de AWS Academy.
Para poder explicar mejor cómo es el proceso de enseñanza-aprendizaje abordaremos un ejemplo de un módulo de nuestros cursos que cubre el servicio de Virtual Private Cloud.

3.1 Ejemplo de módulo de aprendizaje 1: Virtual Private Cloud
El servicio de Amazon Virtual Private Cloud (VPC) es un servicio que permite al usuario personalizar la definición de una red dentro de AWS. Con este servicio se puede diseñar e implementar una red independiente que opera en la nube, básicamente es un entorno de red que permite crear redes privadas dentro de AWS y que utiliza los mismos conceptos y construcciones que una red on-premise, sin embargo, mucha de la complejidad de configurar una red ha sido abstraída sin sacrificar control, seguridad y usabilidad.

Amazon VPC es el servicio dentro del cual muchos de los recursos y servicios que se utilizan dentro de AWS serán lanzados. Está diseñado para proveer gran control sobre el aislamiento de los entornos y recursos de red de manera individual.

Figura 5. Este diagrama muestra una nueva VPC con un bloque de CIDR IPv4 y la tabla de ruteo principal.
Amazon VPC brinda completo control de las configuraciones de red. Los clientes pueden definir configuraciones de elementos de red estándar como rangos de direcciones de IPs, creación de subredes, crear tablas de rutas, gateways de red y configuraciones de seguridad, esto permite controlar lo que se expone a internet y lo que se aísla dentro de la VPC.

Se puede implementar Amazon VPC de modo que las capas de seguridad y controles en la red incluyan aislamiento de subredes, definición de listas de control de acceso y reglas personalizadas de ruteo, además, de que se tiene control completo del tráfico permitido o denegado hacia adentro o hacia afuera de la Amazon VPC.

Finalmente, existen numerosos servicios que pueden ser implementados dentro de Amazon VPC que heredan y toman ventajas de la seguridad que ya existe en la red.

La Amazon VPC define un rango de dirección de IPs que están divididas en subredes, estas subredes están dentro de zonas de disponibilidad y están aisladas lógicamente de otras redes virtuales, de acuerdo con la complejidad de la topología de red, se puede limitar o no la conectividad. También se pueden configurar las tablas de ruteo para cada subred y el tráfico entre ellas.

Las subredes generalmente se clasifican como públicas o privadas, las públicas regularmente tienen acceso directo a internet, mientras que las subredes privadas, no tienen acceso directo a internet. Para que una subred sea pública se necesita adjuntar un internet Gateway a la Amazon VPC y actualizar la tabla de rutas de la subred pública para mandar tráfico no local al internet Gateway.
Cuando se crea una Amazon VPC, se debe especificar el rango de direcciones IPv4 seleccionando un rango de bloques Classless InterDomain Routing (CIDR), este rango puede ser tan grande como /16 lo que permite 65.536 direcciones disponibles, o tan pequeñas como /28 que da una capacidad de 16 direcciones de IP disponibles, este proceso es muy importante porque no puede ser cambiado después de que se crea.

Se pueden usar múltiples componentes dentro de una Amazon VPC como son subredes, rutas de tablas de ruteo, grupos de seguridad, Network Access control list y algunos componentes opcionales como Internet Gateway, IPs elásticas, interfaces de red elásticas, endpoints, peering, y NAT addresses translation.

Además, el servicio de Amazon VPC ofrece la posibilidad de conectividad con VPN mediante el uso de Hardware o Software.

Una vez que todos estos detalles son visto en la clase con los conceptos y el material que entregamos al profesor, se proporciona un ejemplo con los diagramas y la información necesaria para comenzar los laboratorios, después, dentro del laboratorio se guiará paso a paso al estudiante para completar la implementación.

Dentro del laboratorio se describe que se usará el servicio de Amazon VPC para crear una Amazon VPC y agregar componentes adicionales que permitan producir una red personalizada. También se crearán grupos de seguridad para una instancia Amazon EC2 creada y configurada como servidor web dentro de la Amazon VPC.

El laboratorio especifica los objetivos que se buscan en el desarrollo del mismo, las instrucciones para acceder a la consola, así como todos los pasos a seguir para concluirlo.

3.2 Ejemplo de módulo de aprendizaje 2: Aprendizaje de Proyectos
El curso de arquitectura de soluciones cuenta también con un componente de aprendizaje basado en proyectos, son dos proyectos que se realizan a lo largo del curso y son casos reales donde el estudiante es retado a realizar un proceso completo de implementación desde la interpretación y el análisis de los requerimientos, hasta la implementación final y prueba de la arquitectura.

Todas estas experiencias brindan un aprendizaje completo que le permite al profesor y a estudiantes no solo comprender conceptualmente la computación en la nube, sino que además les ofrece una experiencia práctica para implementar soluciones.

Debido a las características de la computación en la nube, la cual puede ser utilizada sin la necesidad de adquirir ningún tipo de equipo físico o licenciamiento, el acceso a la plataforma de aprendizaje, los laboratorios y la consola de AWS, no requieren de ningún software especial o requerimiento específico de hardware. Esto también ayuda a eliminar las complicaciones o demanda de recursos que suelen existir para preparar un laboratorio físico con ordenadores o un aula de clases especial, ya que no hay grandes instaladores que ejecutar, ni actualizaciones posteriores que les demanden un ancho de banda considerable.

3.3 Proyectos de investigación
Los proyectos de investigación pueden verse enormemente beneficiados por la utilización de la computación en la nube, por lo que estos cursos no sólo habilitan a los profesores y estudiantes para el desarrollo profesional, sino que también permite que todos aquellos involucrados en proyectos de investigación puedan utilizar estos conocimientos para desarrollar proyectos que impliquen una gran dependencia de recursos de computación, de gran capacidad de procesamiento de datos o de grandes cantidades de almacenamiento.

La computación en la nube permite a los investigadores acceder a poder de procesamiento y almacenamiento que difícilmente de otra forma son accesibles para ellos, ya que estos recursos suelen ser limitados o existen procesos administrativos que muchas veces limitan su acceso. La computación en la nube permite desarrollar proyectos en los que comprobar resultados o plantear nuevas hipótesis, que antes tardaban meses en procesarse, ahora pueden realizarse en mucho menor tiempo y con mucha más disponibilidad de los recursos de computación en caso de necesitar repetir los procesos, realizar iteraciones o validar los resultados.

Por ejemplo, en un grupo de investigación que está desarrollando un proyecto de petróleo y gas en donde se requiere procesar grandes cantidades de información para obtener con base en diferentes modelos de machine learning, la solución más óptima, la computación en la nube permitiría crear un clúster para procesar esta información y generar resultados. Posteriormente las instancias que forman parte de este clúster pueden detenerse mientras los resultados son analizados o contrastados, para después volver a ejecutar el proceso, todo esto con la posibilidad de pagar únicamente por los recursos utilizados en determinado tiempo y con la flexibilidad de contar con los recursos de manera ágil [1].

4. Conclusiones
Como ya hemos visto, la computación en la nube puede usarse para todo tipo de aplicaciones y Amazon Web Services está colaborando con las universidades para poder llevar los conocimientos necesarios, tanto teóricos como prácticos, primero a los profesores y después a los estudiantes, quienes en un futuro pueden utilizar estos conocimientos en su campo particular de desarrollo profesional2.

Referencias
[1] AWS. “Investigación e informática técnica en AWS”. <https://aws.amazon.com/es/government-education/research-and-technical-computing/>. Último acceso: 31 de octubre de 2018.
[2] Global Knowledge. “2018 IT Skills and Salary Report”. <https://www.globalknowledge.com/us-en/content/salary-report/it-skills-and-salary-report/>. Último acceso: 31 de octubre de 2018.
Notas
1. Vídeo explicativo Servicios AWS en la nube <https://youtu.be/mZ5H8sn_2ZI>. Último acceso: 31 de octubre de 2018.

2. Más información sobre el programa AWS Academy <https://aws.amazon.com/training/awsacademy/>. Último acceso: 31 de octubre de 2018.