En este artículo, veremos una Introducción a los conceptos de Cloud Computing. Es una excelente manera de sumergirse realmente en las tecnologías de computación en la nube y obtener una sólida comprensión de los fundamentos de lo que necesitamos saber para tener éxito en un mundo cada vez más virtualizado y conectado a la nube. Muchas plataformas en la nube ofrecen kits de herramientas de código abierto disponibles de forma gratuita hechos exclusivamente para la computación en la nube. Una interfaz de programación de aplicaciones hace posible controlar grupos de recursos como computación, almacenamiento y redes en hardware basado en productos básicos. Estas API generalmente se manejan de manera RESTful, por lo que podemos hacer uso de los verbos HTTP familiares para varias llamadas a la API. Echemos un vistazo más de cerca a una introducción a la computación en la nube ahora.


Computación en la nube frente a virtualización

Comenzaremos analizando las similitudes y diferencias entre la computación en la nube y la virtualizaciónEn la edad de piedra de las computadoras torre en el centro de datos, teníamos un flujo de trabajo que podría parecerse a algo como esto. Un usuario solicitaría acceso a una nueva aplicación. Luego, el administrador proporcionaría un servidor real, una pieza de hardware, para respaldar esa aplicación. Ahora, tal vez este usuario también sea un desarrollador, y él o ella necesitará un entorno de desarrollo separado para trabajar. Bien, seguiremos adelante y le proporcionaremos otro servidor.
servidores tradicionales
Quizás también deba considerar la recuperación ante desastres y la copia de seguridad. Adivina qué, sí, ¡otro servidor! Esto conduce a una expansión de servidores que se vuelve difícil de mantener. Las antiestéticas computadoras de torre estarían saturando el centro de datos a medida que avanzara este proceso. Esto era ineficiente, pero así es como se solían hacer las cosas, ya que no teníamos otra opción.

A medida que este proceso continuaba, finalmente hicimos un cambio hacia lo que la gente denomina un entorno blade. Entonces, ¿qué es una espada? Bueno, si está familiarizado con la música en vivo o es músico, es posible que esté familiarizado con la idea de colocar su equipo de procesamiento en un estante. La misma idea exacta se aplica aquí en la informática del centro de datos. Lo que hicimos fue tomar las computadoras torre tradicionales y pegarlas en una forma rectangular que pudiera montarse en un bastidor. Cada blade ocuparía normalmente uno o dos espacios de rack y ofrecería una solución más convergente al ofrecer potencia informática a los usuarios finales.
servidores montados en rack
En este punto, cuando un desarrollador necesitaba un nuevo campo de juego para jugar, implementaríamos un entorno de construcción en uno de nuestra colección de servidores en rack para satisfacer esta necesidad. También podríamos crear un escenario de recuperación ante desastres en el próximo servidor Blade disponible. Esto proporcionó una densidad y disponibilidad de servidores mucho mayor. En este punto, podríamos colocar unos 20 servidores en una unidad montada en bastidor. Esto estaba bien, pero todavía no habíamos comenzado a virtualizar cosas.

Entrar en virtualización

Avanzando más, necesitábamos hacer un mejor uso del rack de computación basado en blade. Mientras que antes, se instalaba un sistema operativo por servidor disponible y ejecutábamos las aplicaciones que necesitábamos. Fue la introducción del hipervisor lo que cambió todo esto. Desde que el hipervisor entró en juego, sería el software que se ejecutaba justo encima del metal desnudo. Además del hipervisor, se podría ejecutar una cantidad casi ilimitada de servidores virtuales o máquinas virtuales para admitir cualquier cosa que se le ocurra a nuestra imaginación. Por supuesto, el hipervisor sería algo así como VMWare, Xen, KVM o Hyper-V.
introducción a la virtualización
La capa de hipervisor hizo posible virtualizar máquinas enteras y proporcionar un conjunto de recursos informáticos a un usuario final. A partir de ahí, un usuario haría una solicitud de DevOps o TI para un recurso en particular. En los viejos tiempos, era necesario implementar un servidor físico para respaldar esta solicitud. Quizás el técnico de TI ni siquiera tenía uno disponible de inmediato, por lo que el usuario tendría que esperar. Esto no era ideal. Con el hipervisor en su lugar, nuestra persona de DevOps ahora podría iniciar sesión en la plataforma de virtualización y "iniciar" una instancia de un nuevo servidor. Como por arte de magia, "¡Puf!", Aquí tienes: una nueva máquina servidor Ubuntu. ¿Quiere otra instancia de prueba o recuperación ante desastres? No hay problema, encienda más servidores en segundos. Tal vez necesite un servidor Windows para las pruebas. Cheque. ¿Quiere probar la capacidad de escalar? Por supuesto, inicie otra instancia y configure el equilibrio de carga. En este punto, podemos ver que el hipervisor básico redujo el tiempo de comercialización para los usuarios, disminuyó la dependencia del hardware físico y, en general, facilitó mucho las cosas. Esta es la virtualización. Sin embargo, la virtualización ha progresado aún más.

Bienvenido a la nube

La nube significa muchas cosas diferentes para muchas personas diferentes. Sin embargo, al final del día, una nube se puede destilar en tres propiedades. Una nube debería ser ...

  • Bajo demanda

  • Elástico

  • Autoservicio

Examinemos algunas de estas propiedades en relación con la nube.

On Demand: La característica bajo demanda de una nube significa que puede proporcionar servicio casi de inmediato a petición de un usuario o un punto final. No ingresa un ticket con la mesa de ayuda y espera recibir comentarios dentro de dos días hábiles. On-demand significa ahora, y esto es exactamente lo que ofrecen la mayoría de los buenos proveedores de nube.

Elástico: cuando decimos elástico, lo que esto significa es que los recursos necesarios para respaldar su servicio deben poder crecer y reducirse con facilidad. Por supuesto, sabemos que Amazon Web Services usa el término Elastic para describir esta misma característica de sus ofertas en la nube.

Autoservicio: un servicio en la nube suele ser autoservicio. Esto significa que cualquier persona con una conexión de red puede iniciar sesión en un tablero o panel de administración e implementar recursos a voluntad sin la necesidad de la intervención de un tercero. No debería haber necesidad de ningún despliegue físico ni de construir una infraestructura minuciosamente. Simplemente seleccione su servicio de un catálogo de ofertas y presione "ir".


Ofertas de OnPrem vs XaaS

pila informática local
El tipo más común de pila informática local puede parecerse al diagrama que se muestra aquí. Actualmente, esto es muy común en la mayoría de los centros de datos y probablemente seguirá siéndolo incluso a medida que la nube se expanda, ya que muchas empresas quieren hacer uso de una solución de nube híbrida o privada. En lugar de colocar el 100% de sus activos de datos en la nube, algunas funciones basadas en productos básicos se pueden colocar en la nube, mientras que la propiedad intelectual altamente protegida puede continuar alojada en una solución local. Podemos ver que tenemos una capa de redes, una capa de almacenamiento y una capa de servidor para componer los componentes físicos de la infraestructura. Moviéndonos más arriba en la pila, tenemos nuestro hipervisor, el meollo real de esta operación, un sistema operativo invitado, varios middlewares, entornos de tiempo de ejecución y una capa de aplicación. Para ser justo, Incluso hay mucho más que esto sucediendo en un centro de datos moderno, pero esto hace entender la idea. Si trabaja para una gran corporación, este es probablemente el tipo de conjunto de hardware y software local que administra su departamento de TI. ¿Necesita un recurso de esta infraestructura? Ponga un boleto. Entonces prepárate para esperar, ¡quizás mucho tiempo! Con este tipo de modelo, depende de un tercero para el servicio. Aquí no hay autoservicio. Por lo tanto, si bien su personal de TI ciertamente está haciendo un buen uso de la virtualización, usted no obtiene los beneficios de la nube. Entonces prepárate para esperar, ¡quizás mucho tiempo! Con este tipo de modelo, depende de un tercero para el servicio. Aquí no hay autoservicio. Por lo tanto, si bien su personal de TI ciertamente está haciendo un buen uso de la virtualización, usted no obtiene los beneficios de la nube. Entonces prepárate para esperar, ¡quizás mucho tiempo! Con este tipo de modelo, depende de un tercero para el servicio. Aquí no hay autoservicio. Por lo tanto, si bien su personal de TI ciertamente está haciendo un buen uso de la virtualización, usted no obtiene los beneficios de la nube.

Ofertas de servicios de computación en la nube

Esto nos lleva a la idea de una oferta como servicio. Cuando hablamos de un Servicio en un entorno de computación en la nube, podemos pensar en estos rasgos.

  • Se utiliza para describir las capas de control en la pila informática.

  • Los servicios subyacentes se abstraen

  • Los usuarios finales no necesitan preocuparse por las capas de nivel inferior

  • Se pone un mayor énfasis en proporcionar capas de servicio agnósticas


Infraestructura como un servicio

Diagrama de infraestructura como servicio

Este diagrama nos muestra una buena aproximación de lo que implica una infraestructura como servicio. En la pila de servicios de TI tradicionales que vimos anteriormente, pudimos ver que el departamento de TI tenía el control completo de toda la infraestructura hasta la aplicación. El usuario final no participó en ninguna de las capas. IaaS toma este modelo y abstrae algunas de las capas de nivel inferior para que ni siquiera tenga que pensar en ellas. Es simplemente un hecho que están ahí, están disponibles y funcionarán para usted. La oferta en la nube permite al usuario final concentrarse en las capas superiores, que es lo que más les importa. La infraestructura como servicio es el tipo más popular de computación en la nube disponible. Los grandes jugadores que ofrecen este tipo de servicio incluyen Microsoft Azure, Amazon Web Services, Rackspace, Google Cloud Platform, vCloud Air,

Podemos ver que el diagrama de IaaS vs OnPrem es un poco diferente. Las capas inferiores, como la virtualización, los servidores, el almacenamiento y las redes, fueron abstraídas por el proveedor de IaaS. No podemos hacer referencia a este lote de capas como controlado por el proveedor de servicios. Por encima del Servicio, las capas del Proveedor son donde ahora entra en juego el consumidor. Es el consumidor el que no puede proporcionar el sistema operativo que le gustaría usar, los middlewares que pueda necesitar, un tiempo de ejecución específico como Java o PHP, almacenes de datos y, en última instancia, la capa de aplicación. Esto pone una enorme cantidad de poder en manos del usuario final. Considere esto, un servicio IaaS como AWS Amazon Web Services aloja sitios web tan humildes como un blog de WordPress Mom and Pop, todo el camino hasta aplicaciones de escala masiva que soportan literalmente millones de dólares en ingresos por año. ¡Todo en la nube! Una pequeña empresa de nueva creación no tiene necesidad de salir y comprar servidores físicos, sistemas operativos, equipos de red o incluso espacio de oficina. El metal desnudo ya no es un requisito, se ha abstraído. Además, el usuario final puede comenzar con servicios extremadamente mínimos y luego escalar bajo demanda a la cantidad de procesamiento, almacenamiento y potencia de cómputo que pueda necesitar en el futuro. IaaS proporciona lo siguiente. el usuario final puede comenzar con servicios extremadamente mínimos y luego escalar bajo demanda a la cantidad de procesamiento, almacenamiento y potencia de cómputo que pueda necesitar en el futuro. IaaS proporciona lo siguiente. el usuario final puede comenzar con servicios extremadamente mínimos y luego escalar bajo demanda a la cantidad de procesamiento, almacenamiento y potencia de cómputo que pueda necesitar en el futuro. IaaS proporciona lo siguiente.

  • Abstracción de capas de hardware

  • Los usuarios finales encargan los recursos de los huéspedes

  • Elimina la necesidad de comprar hardware físico

  • Escalado bidireccional bajo demanda

  • Paga sobre la marcha


Plataforma como servicio

Plataforma como servicio
Avanzando en esta introducción a la computación en la nube, hablaremos de PaaS o plataforma como oferta de servicio. PaaS es similar a IaaS pero ofrece un nivel de abstracción aún mayor que el paradigma IaaS. Consideremos un usuario final que es un desarrollador de PHP y quiere crear una aplicación para la nube. En el paradigma IaaS, necesitaría aprovisionar su propia máquina virtual y sistema operativo. Quizás desplegarías un Ubuntu Linux máquina con un servidor web Nginx, una base de datos MySQL y algunas otras tecnologías de almacenamiento de datos. Sin embargo, usted es solo el desarrollador, desea escribir su código y olvidarse de todos esos pasos. Configurar una pila LEMP o LAMP completa a mano es mucho trabajo con muchos diales para girar y configurar. Si el usuario final no está a la altura de esta tarea, se puede considerar seguir la ruta de la Plataforma como servicio. En este escenario, el proveedor de servicios se mueve más arriba en la pila y maneja, aún más, los recursos de la capa inferior por usted. Con el sistema operativo, el middleware y el tiempo de ejecución configurados para usted, todo lo que tiene que hacer es escribir y publicar su aplicación en este momento. Es un método aún más fácil de lanzar su propio servicio o aplicación, pero espera pagar una pequeña prima sobre las ofertas tradicionales de IaaS, ya que se hace más trabajo por usted.


Más tipos de nubes

Probablemente haya oído hablar de los términos nube pública, nube privada y nube híbrida. Hablemos un poco sobre este tipo de nubes.

Nube pública

Estos son los tipos de nubes con los que estamos más familiarizados, ya que es el tipo de oferta más común. Normalmente, lo que esto significa es que, como usuario final, simplemente realizamos solicitudes a la nube del proveedor de servicios a través de la Internet pública y obtenemos acceso a los recursos que se representan como una nube pública.

Nube privada

Una nube privada funciona de la misma manera que una nube pública, pero la diferencia es que el hardware que hace que todo esto sea posible es OnPrem o local. Esto es lo que encontrará comúnmente hoy en día en las grandes corporaciones que tenían redes y aplicaciones mucho antes de que existieran IaaS y la nube pública. Una nube privada podría funcionar de la misma manera que lo haría un Amazon Web Services, aunque está construida y administrada por una empresa privada para un conjunto específico de usuarios.

Nube híbrida

Finalmente, llegamos a la nube privada que está ganando popularidad rápidamente. La nube híbrida hace uso de las características de los paradigmas de la nube pública y privada para satisfacer mejor las necesidades de una organización. Por supuesto, existen pros y contras de los servicios de nube pública IaaS y los servicios de nube privada OnPrem. Los clientes exigentes en la industria de la tecnología ahora están haciendo uso de lo mejor de ambos mundos al usar aspectos de la nube pública cuando sea apropiado y aspectos de la nube privada para otros casos de uso. Un caso de uso de una nube híbrida es la capacidad de mover recursos entre las nubes pública y privada según sea necesario. Al desarrollar una aplicación durante la fase de prueba, se puede hacer uso de una nube pública. Cuando la aplicación está lista para la producción y la seguridad y la protección son de suma importancia,


Interfaces de programación de aplicaciones en la nube

El último tema que cubriremos en esta introducción a la computación en la nube es la idea de las interfaces de programación de aplicaciones de computación en la nube. El enfoque moderno para implementar esto es a través de REST, que significa Transferencia de Estado RepresentacionalREST hace uso de verbos HTTP como GET POST PUT PATCH y DELETE. Al utilizar este enfoque, los usuarios pueden enviar solicitudes de API a través de la Internet pública a través de estos verbos HTTP comunes y recursos de comando en la nube pública. Además, dado que se trata de mecanismos basados ​​en estándares, no importa con qué idioma esté familiarizado. Puede escribir solicitudes de API en PHP, Ruby, Python, C ++, Erlang, Node o cualquier otro que desee. La API simplemente responderá a los verbos HTTP. Estos verbos son suficientes para permitir a los usuarios crear recursos, leer información sobre recursos existentes, actualizar recursos o eliminar recursos. Esta idea de CRUD funciona de manera muy similar a la idea de trabajar con una aplicación basada en bases de datos donde un usuario puede Crear, Leer, Actualizar y Eliminar registros en una base de datos. La diferencia es que en la computación en la nube podríamos estar creando un grupo abstracto de recursos de almacenamiento. En otro caso, podríamos estar leyendo las propiedades existentes de un recurso informático o actualizando un recurso de red. ¡Solo asegúrese de no eliminar accidentalmente ningún recurso!