Importancia de la computación en la nube y Amazon Academy – entrevista al Ing. César Lara
En esta oportunidad, entrevistamos al Ing. César Lara, docente del Departamento de Ingeniería de Cayetano, quien nos comenta sobre la computación en la nube, sus tipos, importancia y el convenio que tiene nuestra universidad con Amazon Academy.
1. ¿Qué es la computación en la nube?
Antes de hablar de nube es importante tener en mente una descripción general de los modelos informáticos tradicionales, desde la computación centralizada monolítica hasta la computación distribuida, ya que ayudará a percibir la computación en la nube de la forma correcta. Además, existen diferentes modelos de computación que se ajustan a diferentes orientaciones o aspectos, y se han desarrollado diversos modelos informáticos para distintos propósitos.
Por ejemplo, podemos tener modelos informáticos que representan arquitecturas de aplicaciones empresariales que se basan en el concepto de programación modular, como es la computación centralizada monolítica, el modelo peer-to-peer y el cliente-servidor; modelos informáticos de alto rendimiento, como la computación en cluster y la computación grid, que involucran a múltiples organizaciones que se encuentran dispersas geográficamente compartiendo sus recursos para lograr un objetivo común, a través de nodos computacionales heterogéneos y de modelos informáticos, para vender recursos de tecnología de la información, como la computación de utilidad.
La computación de utilidad se puede visualizar como un tipo de computación que muestra cómo se pueden proporcionar los recursos informáticos a los usuarios, de la misma manera que los servicios públicos domésticos como la electricidad, el gas y el agua. Y son los usuarios, a su vez, quienes pagan a los proveedores de servicios de acuerdo con su uso. Por lo tanto, la computación de utilidad se basa en un modelo de prestación de servicios, en el que los usuarios pagan a los proveedores solo por la potencia informática que utilizan.
Desde una primera perspectiva, podemos decir que la computación en nube puede verse como una combinación de computación grid y computación de utilidad. Sin embargo, la computación en la nube está fuertemente motivada por el deseo de eliminar la necesidad de comprar infraestructura (software), que es un costo importante al establecer el soporte de Tecnología de la Información (IT) para una empresa y de establecer soporte de infraestructura de IT para sus usuarios/empresas en muy poco tiempo, desde minutos hasta un par de horas.
La computación en la nube se basa en Internet, que consta de varias redes conectadas entre sí. Aunque las redes están conectadas entre sí, es posible que una red no conozca todos los detalles de otra que está fuera del dominio de la primera red. Tradicionalmente, los ingenieros de redes usaban un símbolo de nube para representar el hecho de que Internet global tenía varios dominios que eran desconocidos entre sí.
Con todo esto, podemos definir a la computación en la nube como un tipo de computación basada en Internet en la que los proveedores de servicios en la nube alquilan sus recursos informáticos, como servidores, dispositivos de almacenamiento, dispositivos de red, plataformas y aplicaciones de software, como una utilidad para los consumidores, a través de Internet, mediante un pago por uso, de acuerdo con las demandas dinámicas de los consumidores.
2. ¿Existen tipos de nubes?
En caso de implementar servicios en la nube para una organización, hay que considerar qué modelo de implementación se adaptará a la empresa. La decisión se tomará en función de varios factores, como la industria en la que se encuentra, los problemas normativos y de cumplimiento, y también, la gestión de costos y la flexibilidad de configuración.
Así, existen tres modelos principales de implementación, que se enumeran a continuación: nube pública, nube privada, nube híbrida y múltiple.
Expliquemos algo de esto:
– Una nube pública es un modelo de implementación en la nube en el que una empresa consume servicios de IT de un proveedor externo, como AWS, a través de Internet. Este es el modelo más popular de computación en la nube debido a la amplia gama de servicios que se ofrecen. Los servicios ofrecidos por los proveedores de nube pública incluirán servicios gratuitos, basados en suscripción o pago por uso bajo demanda, en los que se le cobrará en función de la cantidad que consuma.
– Una nube privada es cuando una empresa adquiere, instala, configura y administra todos los componentes de infraestructura y software necesarios internamente. El elemento de la nube proviene del hecho de que el software de administración adicional generalmente se implementa para permitir que diferentes partes de la empresa lleven a cabo tareas de autoservicio en el aprovisionamiento de servicios de cómputo, almacenamiento, red y software de un catálogo de servicios disponible. Además, está diseñada únicamente para una empresa, donde no se compartirá los recursos informáticos subyacentes con nadie externo. Por otro lado, es altamente personalizable para adaptarse a las necesidades de la organización, brindando el máximo control en áreas clave, como el diseño de opciones de configuración de infraestructura y seguridad.
– Nube híbrida es una combinación de servicios de IT implementados en las instalaciones (y administrados únicamente por su empresa) e integrados con uno o más proveedores de nube de terceros. Muchas empresas que se aventuran en la nube pública generalmente comienzan con algún tipo de modelo híbrido. Las implementaciones de esta nube también pueden ayudar a las empresas a comenzar a probar nuevas tecnologías de vanguardia o adoptar un enfoque de migración por etapas, para garantizar una interrupción mínima de las funciones comerciales normales, mientras se lleva a cabo la migración, tema que es muy importante.
– Nube múltiple se da cuando los servicios de más de una nube pública se integran para lograr un objetivo comercial para un individuo o una organización. Uno de los principales criterios para la nube múltiple es que debe combinar más de una nube pública. Además, una nube múltiple puede combinarse con un centro de datos/activos heredados en las instalaciones y una nube privada.
3. ¿Cuáles son las ventajas y desventajas de utilizarla?
Como el tipo de nube va a depender de varios factores, diremos que cada uno de los tipos de nubes tienen sus ventajas y desventajas:
El beneficio principal de la implementación de la nube pública es el ahorro de costos. Las organizaciones no necesitan comprar, instalar, operar o mantener servidores u otros equipos. Así, desarrollan sus propias aplicaciones y las alojan en la nube pública, las cuales ofrecen capacidad ilimitada a menor costo. Utilizan tecnologías recientes y respaldan la modernización de aplicaciones. Son altamente escalables.
El principal inconveniente de la implementación de la nube pública es la tenencia múltiple. La oferta de los proveedores de servicios en la nube se implementan en la misma infraestructura física que la de múltiples usuarios a través de la virtualización. Entonces, aunque los espacios de trabajo de los usuarios están lógicamente separados, aún comparten la misma infraestructura física y otras plataformas de software fundamentales. Esto conduce a problemas de seguridad.
La implementación de la nube pública proporciona solo visibilidad y control restringidos. Y cualquier dato almacenado es necesariamente inseguro. Los usuarios no tienen idea de dónde se almacenan sus datos en el entorno de nube pública.
En general, dado que el almacenamiento de datos como resultado de la implementación de la nube pública se distribuye en diferentes ubicaciones geográficas, lo cual puede dar lugar al problema de incumplimiento de las normas de seguridad y privacidad de la empresa en cuestión.
Una nube privada permite automatizar procesos consistentes e incluye una interfaz de autoservicio y un catálogo de servicios que permiten a los desarrolladores internos brindar servicios a pedido. Está altamente automatizada en la administración de grupos de recursos, incluidos servidores informáticos, almacenamiento, redes, plataformas, plataformas de desarrollo e implementación, middleware, servidores de aplicaciones, servidores web, servidores de bases de datos y middleware. Controla el nivel de servicio de la plataforma en función de las necesidades de los constituyentes y los requisitos de cumplimiento.
Algunas desventajas vienen desde el costo y el mantenimiento: Tiene un costo elevado debido a los gastos de hardware, como servidores, infraestructuras de red, centros de datos y licencias de software. Además, debe contratar un personal independiente en el sitio para cuidar y mantener la nube. Esa es la razón principal por la que las grandes empresas suelen preferir la nube privada.
El costo de configuración y mantenimiento es generalmente más alto en los servicios de nube privada y no solo necesita una inversión en hardware, sino que requiere un mantenimiento continuo que puede llevar mucho tiempo. La única forma de reducir este costo de mantenimiento es mediante el uso de un entorno virtual.
En el ámbito de seguridad, el aumento de la seguridad en la nube privada significa que el acceso remoto es limitado. Esto es especialmente cierto en el caso de los usuarios móviles, quienes no podrán conectarse a las funciones comerciales necesarias cuando lo deseen.
Las nubes híbridas se diseñaron para aprovechar los beneficios de las nubes públicas y privadas. Una nube privada proporciona un nivel significativo de seguridad. Sin embargo, tiene la desventaja de sufrir recursos limitados, es decir, su escalabilidad es pobre, mientras que una nube pública proporciona escalabilidad suficiente a un costo reducido pero tiene una seguridad reducida. Una nube híbrida tiene como objetivo lograr una alta escalabilidad, bajo costo y alta seguridad mediante la integración de una nube pública y una privada.
Una desventaja es que no es fácil diseñar un ecosistema de nube híbrida para garantizar una sincronización perfecta entre la nube privada y la pública. Así, las empresas necesitarán los servicios de ingenieros o arquitectos de la nube para garantizar que no tengan problemas informáticos a largo plazo.
Además, dificulta mantener una visibilidad clara de los recursos de la nube. Cuando hay falta de claridad, se vuelve difícil monitorear los costos y cumplir con las normas.
Las ventajas de la nube múltiple es el retorno de la inversión optimizada: diferentes proveedores de nube ofrecen sus servicios con una amplia gama de características, funcionalidades, modelos de precios y políticas. Aquí un usuario de la nube puede elegir la mejor oferta para cada requisito. Podemos tener una seguridad superior: una infraestructura de nubes múltiples permite a las organizaciones mantener un entorno de nube híbrida que permite una combinación de seguridad y ahorro de costos al mismo tiempo. Tinen una baja latencia y es menos propenso a desastres
Una infraestructura de nubes múltiples permite a las organizaciones mezclar, combinar plataformas y proveedores de manera que sus cargas de trabajo no estén bloqueadas en proveedores de nube individuales. Cambiar de proveedor se vuelve más fácil e incluso automatizado en ocasiones, ya que el rendimiento de la carga de trabajo nunca está vinculado a proveedores individuales. Como resultado de la menor dependencia de los proveedores, los clientes obtienen la autonomía para abordar las necesidades comerciales cambiantes de rendimiento, seguridad y retorno de la inversión.
Una desventaja es la complejidad ya que un entorno en varias nubes es dificil administrar y monitorear las operaciones administrativas, como la copia de seguridad de datos, el acceso a los recursos.
4. ¿Cuál es su importancia dentro de la carrera de Ingeniería Informática?
La importancia para la carrera de Ingeniería Informática es total. La computación en la nube se ha desarrollado muy rápidamente como resultado de varios impulsores tecnológicos: tecnología multicore, programación paralela, virtualización y contenedorización, computación grid y utilidad, Internet, arquitectura orientada a servicios, arquitectura de microservicios (MSA), DevOps, Agile desarrollo de software, herramientas de software de código abierto, redes definidas por software y seguridad definida por software y por tanto muchas de los tópicos tratados en la carrera se pueden utilizar con herramientas de la computación de la nube.
Me explico, visto desde un nivel superior, la ingeniería de aprendizaje automático (ML) se puede considerar como una división que involucra una tres conceptos básicos:
– Tecnología (herramientas, frameworks, algoritmos)
– Personas (trabajo colaborativo, comunicación)
– Proceso (estándares de desarrollo de software, rigor de experimentación, metodología Agile)
Si un proyecto que se enfoca en cada uno de estos elementos generalmente tiene éxito, mientras que aquellos que omiten uno o muchos de ellos tienden a fallar. Esta es la verdadera razón de las tasas de fracaso y citados con frecuencia de los proyectos de ML en la industria.
Emplear el equilibrio apropiado de cada uno, centrado en la creación de soluciones mantenibles que se desarrollen conjuntamente con los clientes internos de manera colaborativa e inclusiva, aumentará en gran medida las posibilidades de crear soluciones de ML que perduren. Ajustar los patrones de trabajo a una metodología comprobada que se enfoca en la mantenibilidad y la eficiencia se traduce directamente en resolver más problemas con mucho menos esfuerzo. Y la computación en la nube puede ayudarnos a conseguirlo.
Por ejemplo, AWS ofrece una amplia gama de soluciones para ayudar a automatizar un flujo de trabajo de aprendizaje automático (ML) con solo unas pocas líneas de código. El aprendizaje automático automatizado en AWS comienza con una descripción general rápida de cómo se ve el pipeline de ML y se entrega varias soluciones de AWS, como Amazon SageMaker Autopilot, AutoGluon, AWS Step Functions que sirven para automatizar un proceso de aprendizaje automático de extremo a extremo.
Podemos ver el proceso de aprendizaje automático centrado en datos al trabajar con Amazon Managed Services para Apache Airflow y es más visible la implementación del ciclo de vida de desarrollo de software de aprendizaje automático (MLSDLC) y el proceso de creación de un pipeline de CI/CD utilizando el CDK desde la perspectiva del equipo de ingeniería de la plataforma.
5. ¿Cayetano tiene una membresía con AWS Academy?
Sí, Cayetano es una institución miembro de la AWS Academy. Los estudiantes de la carrera de Ingeniería Informatica pueden inscribirse en cursos que enseñan habilidades en la nube. Además, hay una lista de cursos de data, seguridad, entre otros temas en tendencia que prepara a los estudiantes.