Está en la página 1de 13

CLOUD COMPUTING

Elaborado por:

MANUEL ALBERTO VALDÉS ARREDONDO

Presentado a:

JUAN JOSE CRUZ GARZON

CORPORACIÓN UNIFICADA NACIONAL

OCTUBRE 2021

BOGOTÁ D.C
INTRODUCCIÓN

La tecnología como bien lo sabemos, ha facilitado muchas tareas para el ser humano a lo

largo de la historia, diferentes creaciones se han basado en la solución de problemas que

van a surgiendo, en este caso, la virtualización nace en la búsqueda de solucionar mucho

más las cosas a las empresas grandes y chicas, las cuales necesitaban ofrecer sus servicios a

múltiples usuarios y utilizando la tecnología existente era muy complicado, por lo que nace

la tecnología de la virtualización, permitiendo bajo una misma maquina o hardware

manejar múltiples aplicativos o software.


Tecnologías de virtualización.

Aunque esta tecnología fue creada en los 60. Su uso se vio en gran escala a principios de

los 2000, hipervisores, fueron quienes permitieron el acceso simultaneo de usuarios a

computadoras, a esto se le llamó procesamiento por lotes los cuales permitían ejecutar

tareas rutinarias las veces que fueran necesarias.

Luego la tecnología de virtualización perdió su auge con el pasar de los años lo que dio

paso a sistemas operativos como UNIX (hoy conocido como Linux). Al pasar el tiempo, las

empresas contaban con servidores físicos y pilas de TI de un solo proveedor lo que no

permitía pasar aplicaciones heredadas a servidores de otros proveedores.

Por lo tanto, con este gran problema la virtualización tomo fuerza nuevamente

permitiéndole a las empresas dividir los servidores y ejecutar sus aplicaciones heredadas en

varios de estos sin importar el sistema operativo y reduciendo mucho los costos en

compras, instalación, refrigeración, y mantenimiento.

Servicios de virtualización basada en la tecnología en contenedores.

Esta es una variante dentro de la virtualización, “Un contenedor virtualiza el sistema operativo

subyacente y hace que la aplicación en contenedor perciba que tiene el sistema operativo (incluidas

la CPU, la memoria, el almacenamiento de archivos y las conexiones de red) todo para ella sola.

Dado que se abstraen las diferencias en el sistema operativo y la infraestructura subyacente, siempre

que la imagen base sea coherente, el contenedor se puede implementar y ejecutar en cualquier lugar.

Para los desarrolladores, esto es sumamente interesante.”


Esto permite a los contenedores ser más eficaces, tener mucha más ligereza y abrir mucho más

rápido los aplicativos, al compartir un sistema operativo su gran ventaja es reducir la sobrecarga en

cuando a mantenimiento, actualizaciones y demás, la desventaja de esta tecnología es el no poder

compartir entre sistemas operativos, es decir, un contenedor de Linux no puede ser ejecutado en

Windows.

Introducción a los Contenedores Dockers, que son sus características, ventajas y

desventajas.

Tecnología en contenedores que permite la creación y el uso de contenedores Linux, Docke

permite utilizar contenedores como máquinas virtuales muy livianas y modulares, tienen

tan alta flexibilidad que se puede crearlos, implementarlos, copiarlos y pasarlos de un

entorno a otro.

Las características principales de estos contenedores son la portabilidad, la ligereza y la

autosuficiencia:

• Portabilidad: El contenedor Docker podremos desplegarlo en cualquier otro

sistema (que soporte esta tecnología), con lo que nos ahorraremos el tener que

instalar en este nuevo entorno todas aquellas aplicaciones que normalmente usemos.

• Ligereza: El peso de este sistema no tiene comparación con cualquier otro sistema

de virtualización más convencional que estemos acostumbrados a usar. Por poner un

ejemplo, una de las herramientas de virtualización más extendida es VirtualBox, y

cualquier imagen de Ubuntu que queramos usar en otro equipo pesará entorno a

1Gb si contamos únicamente con la instalación limpia del sistema. En cambio, un

Ubuntu con Apache y una aplicación web, pesa alrededor de 180Mb, lo que nos
demuestra un significativo ahorro a la hora de almacenar diversos contenedores que

podamos desplegar con posterioridad.

• Autosuficiencia: Un contenedor Docker no contiene todo un sistema completo,

sino únicamente aquellas librerías, archivos y configuraciones necesarias para

desplegar las funcionalidades que contenga. Asimismo, Docker se encarga de la

gestión del contenedor y de las aplicaciones que contenga.

Para obtener esta fluidez Docker extiende LXC (LinuX Containers), un sistema de

virtualización ligero que permite crear múltiples sistemas totalmente aislados entre

si sobre la misma máquina o sistema anfitrión. Y todo dado que no se emula un

sistema operativo completo, sólo las librerías y sistemas de archivos necesarios para

la utilización de las aplicaciones que tengamos instaladas en cada contenedor.

Además, hay otras características y funcionalidades de Docker:

• Autogestión de los contenedores.

• Fiabilidad.

• Aplicaciones libres de las dependencias instaladas en el sistema anfitrión.

• Capacidad para desplegar multitud de contenedores en un mismo equipo físico.

• Puesta en marcha de los servicios en un abrir y cerrar de ojos.

• Contenedores muy livianos que facilitan su almacenaje, transporte y despliegue.

• Capacidad para ejecutar una amplia gama de aplicaciones (prácticamente cualquier

cosa que se nos ocurra podrá ejecutarse en un contenedor Docker).

• Compatibilidad Multi-Sistema, podremos desplegar nuestros contenedores en

multitud de plataformas.
• La aplicación base de Docker gestionará los recursos existentes para asignarlos

responsablemente entre los contenedores desplegados.

• Podremos establecer una base desde la que comenzar nuestros proyectos, lo que nos

ahorrará el tiempo de preparar el entorno para cada uno de ellos.

• Podremos compartir nuestros contenedores para aumentar los repositorios de

Docker, así como beneficiarnos de los que compartan los demás.

Ventajas

• Portabilidad multiplataforma: empaquetado de acuerdo con un estándar unificado

(en el espejo) y se puede extender.

• Orientado a aplicaciones: Optimice el despliegue de aplicaciones (filosofía de

diseño) → API, interfaz y documentación (encarnar).

• Control de versiones: seguimiento, consulta, información de versión de registro

(historial de cambios de la aplicación) y versión de reversión, etc.

• Reutilización de componentes: construcción basada en componentes (imagen

básica) → Python (entorno de ejecución) postgreasql (imagen básica).

• Compartir: servidor de registro público (el código fuente se puede descargar de

forma gratuita).
Desventajas

La instalación de Docker es muy fácil. Actualmente, Docker es compatible con todos los

sistemas de la serie Linux (Ubuntu, RHEL, Debian, etc.). A través de la herramienta virtual

Boot2Docker, también puede ejecutarse normalmente en OS X y Windows Docker.

Limitaciones del entorno operativo de Docker:

• Debe ejecutarse en una máquina de 64 bits, actualmente solo se admiten x86_64 y

AMD64, y los sistemas 32 no lo admiten.

• El kernel de Linux del sistema debe ser 3.8 o superior, y el kernel es compatible con

Device Mapper, AUFS, VFS, btrfs y otros formatos de almacenamiento.

• El kernel debe admitir cgroups y espacios de nombres.

Desarrollo y despliegue aplicaciones, Servicios de Cloud Computing.: Web, APIs,

Microservicios, y Arquitecturas sin Servidor (Serveless Architectures).

Arquitectura sin servidor

Lo que distingue a la informática sin servidor de los demás modelos de cloud computing es

que el proveedor de nube se encarga de gestionar tanto la infraestructura de nube como la

expansión de las aplicaciones. Aquellas sin servidor se implementan en contenedores que

se inician automáticamente cuando se solicitan.


En el caso de los modelos estándar de cloud computing de infraestructura como servicio

(IaaS), los usuarios adquieren cierta capacidad por adelantado, lo cual significa que pagan a

un proveedor de nube pública por ciertos elementos del servidor que funcionan de forma

permanente para ejecutar sus aplicaciones. El usuario debe encargarse de ampliar la

capacidad durante los períodos de mayor demanda y reducirla cuando ya no haga falta. La

infraestructura de nube requerida para ejecutar las aplicaciones permanece activa incluso

cuando no se utilizan.

En cambio, la arquitectura sin servidor permite que se inicien solo cuando sea necesario.

Cuando un evento activa el funcionamiento del código de las aplicaciones, el proveedor de

nube pública le asigna los recursos correspondientes de forma dinámica, y el usuario deja

de pagar cuando termina de ejecutarse. La informática sin servidor no solo ofrece

beneficios en cuanto a los costos y la eficiencia, sino que también permite que los

desarrolladores ya no deban encargarse de las tareas rutinarias y poco relevantes, que se

relacionan con la implementación de los servidores y la escalabilidad de las aplicaciones.

El proveedor de servicios de nube es quien se ocupará de gestionar el sistema operativo y

de archivos, ejecutar los parches de seguridad, equilibrar la carga, administrar la capacidad,

adaptar los recursos, llevar los registros y supervisar el sistema.


Patrones comunes de la arquitectura sin servidor

Los patrones comunes de la arquitectura sin servidor incluyen:

• API sin servidor y back-ends web y para dispositivos móviles.

• Procesamiento de eventos y flujos, procesamiento de datos de Internet de las cosas,

macrodatos y canalizaciones de aprendizaje automático.

• Integración y bus de servicio empresarial para conectar sistemas de línea de

negocio, publicar y suscribirse (Pub/Sub) a eventos de negocio.

• Automatización y transformación digital, y automatización de procesos.

• Middleware, software como servicio (SaaS), como Dynamics, y proyectos de

macrodatos.

Back-ends de aplicaciones web

Escenario minorista: los pedidos en línea se recogen de una cola, se procesan y los datos

generados se almacenan en una base de datos.


Financial services scenario: 'Colleagues use mobile banking to reimburse each other for

lunch. Whoever paid for lunch requests payment through a mobile app, triggering a

notification on colleagues'' phones.'

Back-ends conectadas a IoT

Escenario de fabricación: una empresa manufacturera usa IoT para supervisar sus

máquinas. Functions detecta datos anómalos y envía un mensaje al departamento de

mantenimiento cuando se requiera una reparación.

Hospitality scenario: Customers ask for available vacation accommodations on their

smartphones. A serverless bot deciphers requests and returns vacation options.


Microservicios sin servidor

La arquitectura de referencia de microservicios sin servidor le ayuda en el diseño,

desarrollo y entrega de la aplicación Rideshare de Relecloud, una empresa ficticia. Obtiene

instrucciones prácticas para configurar e implementar todos los componentes

arquitectónicos, con información útil acerca de cada uno de ellos.

Aplicación web sin servidor y procesamiento de eventos con Azure Functions

En esta solución de dos partes se describe un hipotético sistema de entrega con drones. Los

drones envían el estado en curso a la nube, donde se almacenan estos mensajes para su uso

posterior. Una aplicación web permite a los usuarios recuperar los mensajes para obtener el

estado más reciente del dispositivo.


CONCLUSIONES

El modelo Serverless evolucionó en varias etapas, desde monolítico hasta microservicios,

arquitectura sin servidor o Function-as-a-Service (FaaS).

La arquitectura monolítica es un enfoque unificado tradicional para el desarrollo de

software, modelo estrechamente acoplado donde cada componente y sus subcomponentes

compilan o ejecutan código.

La arquitectura de microservicio es una colección de servicios más pequeños dentro de una

gran aplicación, permite la entrega rápida de aplicaciones a gran escala, lo que brinda a los

desarrolladores flexibilidad al usar Infraestructura como servicio (IaaS) y Plataforma como

servicio (PaaS). Sin embargo, elegir entre PaaS e IaaS es un desafío en este modelo.

La arquitectura sin servidor evolucionó con la computación en la nube y ofrece más

escalabilidad y agilidad empresarial. En lugar de IaaS y PaaS, utiliza FaaS y Backend-as-a-

Service (BaaS). Aquí, las aplicaciones se implementan según sea necesario, junto con los

recursos para ello. No tiene que administrar el servidor y puede dejar de pagar si finaliza la

ejecución del código.

La evolución de esta tecnología, permite y facilita el desarrollo de app o app web que usen

el almacenamiento en las nubes.


BIBLIOGRAFIA

https://azure.microsoft.com/es-es/overview/what-is-a-container/#overview

https://www.redhat.com/es/topics/virtualization/what-is-virtualization

https://www.openinnova.es/que-es-docker-espanol-ventajas-y-desventajas-de-utilizarlo/

https://openwebinars.net/blog/docker-que-es-sus-principales-caracteristicas/

https://programmerclick.com/article/83301695555/

https://www.redhat.com/es/topics/cloud-native-apps/what-is-serverless

https://docs.microsoft.com/es-es/azure/architecture/serverless-quest/reference-architectures

También podría gustarte