En la era digital en la que vivimos, la nube (cloud computing) se ha convertido en una herramienta omnipresente y esencial para el almacenamiento y acceso a datos en línea.
Por Gigi Agassini, CPP*
Con la adopción masiva de servicios en la nube, surgen nuevas preocupaciones sobre la seguridad de la información y la protección de datos sensibles. La ciberseguridad y la nube están inextricablemente vinculadas, y es crucial entender los desafíos y oportunidades que esto presenta.
La idea de compartir recursos computacionales y servicios a través de una red tiene raíces en la década de 1950, en ese entonces, las computadoras eran muy costosas y se buscaban formas de poder optimizar lo mejor posible su uso. Los mainframes (grandes computadoras centrales) permitieron que múltiples usuarios pudieran acceder a éstos remotamente usando terminales.
A medida que evolucionaba la tecnología, surgieron conceptos como “computación distribuida” y la “virtualización” en las décadas de 1960 y 1970. La creación de lo que fue considerada la primera internet “ARPANET” tuvo como principal objetivo el uso como medio de comunicación entre diferentes instituciones académicas estatales en los Estados Unidos, su primer “nodo” se creó en la Universidad de California en los Ángeles (UCLA). ARPANET se convirtió en la espina dorsal de internet hasta 1990, tras finalizar la transición al modelo de protocolos TCP/IP iniciada en 1983, su invención estuvo a cargo por el Departamento de Defensa.
El término “cloud computing” comenzó a ganar popularidad a finales de la década de 1990 y principios de la década de 2000, para entonces varias empresas de tecnología comenzaron a explorar formas de proporcionar servicios y aplicaciones a través de la web. No olvidemos que el correo electrónico que hoy sin duda se ha convertido en una herramienta indispensable para todos a nivel personal y empresarial data del año 1962.
Amazon Web Services (AWS) en el 2006 marca un hito significativo en el desarrollo del “cómputo en la nube”, permitiendo a las empresas alquilar recursos informáticos, como servidores y almacenamiento generando ahorro. Este modelo innovador de negocios de “pago por uso” es característico de la nube, uniéndose después empresas como Microsoft con Azure y Google con Google Cloud creando competencia y fomentando la innovación en lo que refiere computo en la nube.
La computación en la nube es un término ampliamente utilizado, pero a menudo malinterpretado. Cuando las personas escuchan que “sus datos” están en la nube, a menudo imaginan un entorno informático y de almacenamiento amorfo, casi mágico. Otros asocian la computación en la nube con una oferta de servicio específica, como los servicios web de Amazon Web Services (AWS), la plataforma en la nube de Google, Microsoft Azure, la nube de Oracle, la nube de IBM, la nube de Alibaba y otros. Pero como lo dijo Paul Maitz, CEO de VMWare: "La nube se trata de cómo haces la computación, no de dónde la haces".
De hecho, la nube no es amorfa sino una colección muy física, pero en constante cambio de servidores y unidades de almacenamiento en centros de datos, unidas a través de redes de fibra óptica enrutadas a través de puntos de interconexión a los que se puede acceder a través de tu proveedor de servicios de Internet en tu hogar u oficina, o accesible a través de tu proveedor de red celular y tu teléfono inteligente.
Una de las características clave de la nube es la aparición de infinitos recursos informáticos y de almacenamiento. Cuando accedes a un proveedor de la nube, como Amazon Web Services (AWS), puedes activar cualquier cantidad de máquinas virtuales (VM) y vincularlas a tantos terabytes de almacenamiento como desees. Desde la perspectiva del proveedor de la nube, debes tener solo una VM más disponible que la mayor cantidad de VM ordenadas para crear la ilusión de una capacidad informática infinita. Del mismo modo, si hay al menos un terabyte de almacenamiento sin reservar en las instalaciones del proveedor de la nube, el consumidor mantiene su ilusión de almacenamiento infinito a su disposición.
Otra característica clave de la nube es la rápida escalabilidad. A menudo escuchamos sobre el caso de uso de Netflix en este contexto. Netflix duplicará su capacidad de transmisión justo antes del fin de semana ampliando su infraestructura de AWS el viernes. Luego, "apagará" el exceso de capacidad el lunes al nivel requerido para la semana laboral cuando haya menos demanda de su servicio de transmisión, lo que le permite generar ahorros sin interrumpir su servicio.
Otro ejemplo del uso de la escalabilidad es la prueba y creación de prototipos de sistemas. Activar múltiples entornos de prueba en la nube justo antes de un lanzamiento importante y luego liberar esos recursos al final del ciclo de control de calidad (QA) reduce los costos de prueba y aumenta la calidad del software al permitir un entorno de prueba más completo; muchas implementaciones se basan en esta agilidad para crear múltiples entornos de prueba.
El Instituto Nacional de Estándares y Tecnología (NIST, por sus siglas en inglés) define la computación en la nube como "un modelo ubicuo que habilita el acceso a la red, conveniente y bajo demanda a un grupo compartido de recursos informáticos configurables que se pueden aprovisionar y liberar rápidamente con un esfuerzo mínimo de gestión o interacción con el proveedor de servicios". Este modelo de nube se compone de cinco características esenciales, tres modelos de servicio y cuatro modelos de implementación" (NIST, 2011).
Los modelos de servicio comparten las mismas cinco características esenciales de la computación en la nube:
1. Autoservicio bajo demanda; donde el usuario final puede agregar o eliminar servicios por sí mismo sin la intervención de una persona de soporte técnico.
2. Amplio acceso a la red; generalmente a través del bus de Internet, pero también a través de enlaces de fibra dedicados.
3. Agrupación de recursos; a través de técnicas de virtualización y partición.
4. Elasticidad rápida; que permite agregar o quitar recursos informáticos de forma dinámica o en cuestión de segundos o minutos, como si se tuvieran recursos informáticos infinitos.
5. Servicio medido; con modelo de pago por uso.
Los tres modelos de servicio son:
1. El Software como Servicio (SaaS) es una aplicación específica que está diseñada para que los usuarios finales realicen un trabajo útil entregado a través de la web. El arrendatario de un servicio SaaS delega muchas actividades al proveedor del servicio SaaS.
Según el NIST, un SaaS es "la capacidad proporcionada al consumidor para utilizar las aplicaciones del proveedor que se ejecutan en una infraestructura de nube. Se puede acceder a las aplicaciones desde varios dispositivos cliente a través de una interfaz de cliente ligero, como un navegador web o una interfaz de programa.
El consumidor no administra ni controla la infraestructura de la nube subyacente, incluida la red, los servidores, los sistemas operativos, el almacenamiento o incluso las capacidades de las aplicaciones individuales, con la posible excepción de los ajustes de configuración de aplicaciones específicas del usuario.
SaaS tiene sentido cuando existen requisitos de movilidad extensos o interacciones significativas con partes interesadas de terceros que representan que la organización usuaria no tiene que construir una red de distribución extensa. Del mismo modo, con un amplio acceso de terceros, los controles y las organizaciones de usuarios no tienen que otorgar acceso externo a sus sistemas alojados internamente.
Las soluciones SaaS son populares para funciones comerciales no centrales que pueden operar de manera más o menos independiente, por ejemplo: CRM, nómina, reclutamiento, etc.
Otras áreas donde las soluciones SaaS son cada vez más dominantes son las videoconferencias, la gestión de contenido web, desarrollo de software, servicio al cliente y muchos otros.
2. Plataforma como Servicio (PaaS*) es el conjunto de herramientas y servicios diseñados para hacer que la codificación y la implementación de esas aplicaciones sean rápidas y eficientes. *PaaS es una marca comercial registrada de Signature Brands LLC para una marca de colorante para huevos de Pascua.
Según el NIST, PaaS (plataforma como servicio) es "la capacidad proporcionada al consumidor para implementar en la infraestructura de la nube aplicaciones creadas o adquiridas por el consumidor mediante lenguajes de programación, bibliotecas, servicios y herramientas compatibles con el proveedor. El consumidor no administra ni controla la infraestructura de la nube subyacente, incluida la red, los servidores, los sistemas operativos o el almacenamiento, pero tiene control sobre las aplicaciones implementadas y posiblemente los ajustes de configuración para el entorno de alojamiento de aplicaciones" (NIST, 2011).
Es una plataforma de desarrollo e informática que permite crear aplicaciones de forma rápida y sencilla y sin la complejidad de comprar y mantener el software y toda la infraestructura relacionada.
Aunque hay muchas opciones de PaaS, algunas de las comunes son:
- Servicios para desarrollar, probar, implementar, alojar y administrar aplicaciones en un entorno de desarrollo integrado
- Herramientas de creación de interfaz de usuario que permiten la creación, modificación, prueba e implementación de la capa de interfaz de usuario de la aplicación.
- Capacidad de escalar la potencia de procesamiento que admite el software implementado para cumplir con las variaciones en las cargas de trabajo.
- Integración con servicios web y servicios de base de datos.
Algunos ejemplos son SalesForce que ofrece Force.com como solución de Plataforma como Servicio, Heroku es una solución PaaS que tiene mayor independencia para lenguajes de programación y bases de datos, otros ejemplos de PaaS incluyen Google App Engine y Microsoft Azure Services.
3. Infraestructura como servicio (IaaS) es el hardware y el software que subyace a todos los servidores de almacenamiento y procesamiento informático, SAN, redes y sistemas operativos. El inquilino de IaaS delega un conjunto mucho más limitado de responsabilidades y se queda con el resto.
Según el NIST, Infraestructura como servicio (IaaS) es "la capacidad proporcionada al consumidor para proporcionar procesamiento, almacenamiento, redes y otros recursos informáticos fundamentales donde el consumidor puede implementar y ejecutar software arbitrario, que puede incluir sistemas operativos y el consumidor no administra ni controla la infraestructura de la nube subyacente, pero tiene control sobre los sistemas operativos, el almacenamiento, las aplicaciones implementadas y, posiblemente, un control limitado de los componentes de red seleccionados" (NIST, 2011).
Una solución IaaS es particularmente adecuada para ciertos casos de uso, como:
- Una start-up que no tiene mucho capital para invertir.
- Empresas que están creciendo rápidamente.
- Soluciones donde la demanda tiene fluctuaciones importantes.
- Para líneas específicas de negocio, pruebas o necesidades temporales
Los tres modelos presentan un servicio definido y utilizable para un consumidor, ya sea que ese consumidor sea un usuario de la aplicación, un desarrollador de software o un administrador de sistemas de TI. Cada servicio presenta un nivel diferente de abstracción del hardware físico real y difiere en lo que el arrendatario controla y administra en comparación con el proveedor "como servicio". La diferencia entre estos tres modelos está en la profundidad de los servicios prestados, en lo que comúnmente se denomina Cloud Stack.
Nota: La segunda parte de este artículo se publicará en la próxima edición (27-5), y pronto en el sitioweb, donde veremos los modelos de implementación para la computación en la nube y los riesgos a tener en cuenta en la adopción de esta tecnología.
* Gigi Agassini, CPP
Consultora Internacional de Seguridad
GA Advisory
[email protected]
Deje su comentario