Un poco de Cloud Foundry

CloudFoundry es una plataforma open-source que actúa como PaaS y puede desplegarse sobre IaaS (Azure, Amazon AWS, SoftLayer, OpenStack…). Fue originalmente desarrollada por VMWare, ahora de Pivotal (un join venture entre EMC, VMware y General Electric).

CloudFoundtry da la infraestructura y las herramientas para ejecutar aplicaciones y gestiona los recursos que necesiten de una forma automática.

CloudFoundry ofrece unalína de comandos que permite subir (Push) aplicaciones para ejecutarlas, provisionar servicios,… el comando es cf.

Los 2 elementos core de CloudFoundry son:

· Buildpack: es un componente que permite obtener los artefactos de una aplicación construido en un lenguaje (por ejemplo un WAR en Java) y sabe qué tiene que hacer para desplegar un entorno de ejecución e instalar y lanzar la aplicación.

· Service. es una funcionalidad que está disponible para nuestra aplicación, por ejemplo un servicio de base de datos relacional.

Ofrece estas características:

Que representado por Capas:

· Capa de enrutamiento: El Router es un componente que se encarga de redireccionar el tráfico hacia el Cloud Controller o bien la aplicación que le toque. Es como un servidor HTTP que redirecciona las peticiones.

· Capa de autenticación Se encarga de la autenticación y lo componen el servidor OAuth2 (UAA): que se encarga de llevar un control de las cuenta de usuario y de su autenticación y el servidor de Login que nos permitirá personalizar los flujos de acceso (login) y otros como registro, cambio de password, etc.

· Capa de ciclo de vida de aplicación: La principal finalidad de esta capa es controlar el ciclo de vida de las aplicaciones, su estado de salud y gestionar otros datos relativos a los despliegues, como las organizaciones, los espacios (entornos), servicios, instancias de servicios, roles de usuarios, etc. Los forman el Controlador Cloud: Gestiona el ciclo de vida de una aplicación, desde el momento que la importamos (push) se almacenan los metadatos relativos a ella, así como los detalles de las instancias, servicios que consumen, etc. Y gestiona otro tipo de información como los entornos que tengamos definidos, estructuras organizativas, etc. Y el Gestor de Salud: Es como un autómata que monitoriza el estado de las aplicaciones desplegadas, en qué estado debería estar y si no coincide toma medidas 🙂

· Capa de almacenamiento y ejecución de aplicaciones: Esta es la capa que tiene la responsabilidad de almacenar los artefactos de cada aplicación y de ejecutarlas. Aquí es donde realmente se trabaja para hacer funcionar la aplicación. Lo componen el Droplet Execution Agent, que es un controlador que gestiona los contenedores Warden (Un contenedor Warden es un componente que se encarga de crear entornos efímeros, aislados y con recursos limitados, una especie de Hypervisor), el flujo de preparar una aplicación para ser ejecutada (droplet) desde que se importa (push) y se procesa por el intérprete (buildpack) y el ciclo de vida de la aplicación desplegada dentro del contenedor Warden, y el Almacén Blob, que es un contenedor para almacenar los objetos binarios de las aplicaciones, los droplets (aplicaciones ya transformadas y preparadas para ser desplegadas) y los buildpacks.

· Capa de Servicios: donde los diferentes brokers de servicio están definidos y proveen instancias a las aplicaciones que los necesitan o los tienen asociados. Un Service Broker actúa como un bróker, te provisionará un acceso y se ‘desentenderá’ en su explotación Importante cuando pensamos en Servicios: El acceso por parte de una aplicación a un servicio, mediante un Service Broker, no tiene porqué significar que el servicio esté corriendo en la misma máquina (o de forma próxima) a la aplicación.

· Capa de Mensajería: para intercambiar mensajes entre los diferentes componentes de CloudFoundry (a nivel interno).

· Capa de Utilidades (Métricas y AppLog): nos da métricas de los componentes (como RAM disponible/consumida, etc) y Logs relativos a la aplicación, respectivamente.

En CloudFoundry existe el concepto de Certified Provider, entre estos tenemos estos productos: IBM BlueMix, Pivotal Cloud Foundry, GE Predix, SAP HANA Cloud Platform, Huawei Fusion Stage, HPE Helion Stackato, CISCO Containerized CF, Atos Cloud Foundry,…

CloudFoundry es comparable a Docker:

· Docker es un estándar de facto como tecnología de contenerización para empaquetar stacks completos de modo que estos contenedores puedan correr en diferentes entornos. Docker consigue portabilidad empaquetando no sólo el código de las aplicaciones si no el stack de soporte necesario para ejecutar la aplicación como AppServers, Runtime Java, configuración,… Docker usa Linux como Sistema operativo y es más portable que CloudFoundry puesto que sólo necesitas un Entorno Docker mientras que para una aplicación CloudFoundry necesitas los runtimes y servicios de CF.

· Por otro lado CloudFoundry simplifica el desarrollo de aplicaciones al ofrecer servicios y buildpacks en el que la configuración ya viene dada

· Docker es más flexible (ejecutar varios procesos por contenedor)

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s