¿Cuál es la diferencia entre Cloud Foundry y Docker?


Soy un desarrollador Java. Utilizamos Weblogic para alojar nuestras aplicaciones. Me han dicho que busque reemplazar weblogic con una alternativa de código abierto. Estamos planeando su uso con SpringBoot. También estamos viendo Docker / Cloud Foundry. Sin embargo Docker/Cloud Foundry es un territorio nuevo para mí.

  1. ¿Puede alguien decirme la diferencia entre Cloud Foundry y Docker?
  2. Si usamos Docker pero no Cloud foundry, ¿qué nos estamos perdiendo?
  3. Si usamos Cloud Foundry pero no Docker, ¿qué nos estamos perdiendo?

Gracias por su ayuda.

Author: James, 2015-06-13

1 answers

Docker es una tecnología para crear y ejecutar contenedores Linux."En cierto sentido, se puede pensar en estos como VM ligeros. Un contenedor docker para la aplicación SpringBoot consistirá en una imagen docker, que básicamente contendrá un sistema de archivos con todas las cosas necesarias para ejecutar su aplicación (JVM, su código fuente, etc.).), y metadatos del contenedor docker, que le dice al demonio docker cómo ejecutar la aplicación dentro de la imagen (por ejemplo, qué variables de entorno establecer, qué puertos exponer, qué comandos correr, etc.). El demonio docker utilizará características de Linux como cgroups y espacios de nombres del núcleo para ejecutar el contenedor de forma aislada de otros procesos que se ejecutan en la máquina host. Docker es algo de bajo nivel, ya que necesita especificar todo lo que entra en la imagen, y ejecuta cosas arbitrarias, es decir, lo que ponga en su imagen y le diga que se ejecute. El contenedor docker que obtiene es muy portátil, por lo que puede compilar, probar y ejecutar su contenedor docker localmente para su desarrollo, y luego envíe ese contenedor a un host de producción que también tenga un demonio docker ejecutándose en él, y esté bastante seguro de que está obteniendo exactamente lo mismo.

Cloud Foundry trabaja en una capa superior de abstracción, siendo las aplicaciones un concepto de primera clase. Cloud Foundry utiliza tecnología de contenedorización similar a docker para crear imágenes portátiles y luego ejecutarlas, pero es un detalle de implementación y no es necesario especificar todos los detalles. En las versiones más recientes de Cloud Foundry, docker images también será compatible para que puedas especificar los detalles si lo deseas, pero también tiene un flujo de trabajo "buildpack", donde detectará automáticamente una aplicación Java cuando envíes tu aplicación y sabrá incluir todas las cosas necesarias para el tiempo de ejecución de Java cuando compile la imagen.

Con Cloud Foundry, dado que las aplicaciones y la gestión de aplicaciones son conceptos de primera clase, y dado que opera a un nivel superior, obtiene todo tipo de cosas de forma gratuita. Por ejemplo, usted puede escalar fácilmente su aplicación horizontalmente (agregar instancias), por ejemplo, cf scale my_app -i 5 o verticalmente, cf scale my_app -m 2G (para establecer la memoria asignada para cada instancia). Se obtiene la transmisión de registros de aplicaciones: cf logs my_app. Cloud Foundry le ofrece una gran tolerancia a errores de forma gratuita, por lo que si una de sus instancias de aplicación se bloquea, o el proceso que ejecuta los contenedores de la aplicación se bloquea (lo que es similar al demonio docker), o si la máquina virtual host que está ejecutando el proceso de ejecución del contenedor muere, o el clúster de hardware donde esa VM reside muere, Cloud Foundry automáticamente traerá sus instancias de copia de seguridad.

El demonio docker es un único proceso que se puede ejecutar en cualquier máquina Linux. Por lo tanto, si está haciendo algo pequeño y simple, y necesita hacer la mayor parte de la configuración usted mismo, puede ser más fácil ponerse en marcha tanto localmente como en desarrollo utilizando docker. Con docker también es más fácil tener acceso y compartir la imagen de docker que cree, por lo que una vez que haya creado una imagen, puede colocarla en una docker repositorio, y luego puede ejecutarlo en cualquier otro demonio docker. Con Cloud Foundry, la imagen construida generalmente es un detalle de implementación y realmente no tiene acceso a ella, por lo que, por ejemplo, no puede extraer esa imagen y ejecutarla en otra instalación de Cloud Foundry.

Existen varios proyectos destinados a hacer que Cloud Foundry sea más accesible y fácil de configurar, a la vez que le brinda muchos de los beneficios de un PaaS. Algunos de estos proyectos también tienen como objetivo permitirle combine el uso de docker y los beneficios de docker al mismo tiempo que obtiene muchos de los beneficios de PaaS que obtiene de Cloud Foundry.

Ver Redy Nube de fundición en BOSH-Lite.

También hay varios servicios de Cloud Foundry alojados.

Ver Pivotal Web Services y IBM BlueMix

También hay muchos proyectos que no son CF destinados a poner una capa de plataforma alrededor de la tecnología docker central, tanto en run-your-own como en variedades de servicios alojados.

Ver El proyecto Kubernetes de Google y Amazon Container Service

Revelación completa: Soy un ingeniero de software que trabaja en Cloud Foundry en Pivotal

 116
Author: Amit Kumar Gupta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-20 06:33:09