¿Cuál es la diferencia entre un sistema distribuido y un sistema de computación en la nube?

La diferencia esencial es que la computación en la nube se trata de infraestructura, mientras que el sistema distribuido se trata de ejecución y comunicación entre procesos. Dejame explicar:

  • Cloud se trata de elasticidad, multi-tenancy et al [1]. Básicamente computación / almacenamiento bajo demanda. (No estoy de acuerdo con Tony Li: la nube no se trata de CPU y es perjudicial para el valor real, no solo de marketing)
  • La nube es la forma de adquirir su computación y almacenamiento. Por cierto, podría ser un SaaS donde también se obtiene el procesamiento (como CRM) [2]
  • Un sistema distribuido es donde el cómputo es domo en múltiples procesos, en la misma computadora o en diferentes sistemas informáticos. Los sistemas distribuidos también pueden ejecutarse en una infraestructura en la nube.
  • Por lo general, el procesamiento distribuido se aplica en capas sobre algún tipo de protocolo IPC (Comunicación entre procesos): CORBA, DCOM y otros en los días anteriores y ahora REST, Akka, JNI y otros
  • Además, el procesamiento distribuido puede ser paralelismo de cómputo o paralelismo de datos

[1] Seis rasgos esenciales de una infraestructura de nube empresarial o cómo definir una nube sin definirla
[2] Una arquitectura de referencia de nube de mentalidad simple – Parte II

Computación en la nube

Definición: La computación en la nube se utiliza para definir una nueva clase de computación basada en la tecnología de red. La computación en la nube se realiza a través de Internet. Se compone de una colección de hardware, software e infraestructura de Internet integrados y en red.

Objetivos • Reducción de inversiones y costos proporcionales

• Mayor escalabilidad

• Mayor disponibilidad y confiabilidad

Tipos • Nubes públicas

• nubes privadas

• Nubes comunitarias

• Nubes híbridas

Características • Proporciona un conjunto compartido de recursos informáticos configurables.

• Se utiliza un modelo de red bajo demanda para proporcionar acceso

• Los proveedores de servicios aprovisionan las nubes.

• Proporciona amplio acceso a la red.

Desventajas • Más elasticidad significa menos control, especialmente en el caso de nubes públicas.

• Se pueden enfrentar restricciones en los servicios disponibles, ya que depende del proveedor de la nube.

================================================== ===============================================

Computación distribuída:

Definición La informática distribuida se compone de múltiples componentes de software que pertenecen a múltiples computadoras. El sistema funciona o se ejecuta como un solo sistema. La computación en la nube puede denominarse una forma que se originó a partir de la computación distribuida y la virtualización.

Metas • Intercambio de recursos

• Apertura

• Transparencia

• escalabilidad

Tipos • Sistemas de computación distribuida

• Sistemas de información distribuida

• Sistemas generalizados distribuidos

Características • Una tarea se distribuye entre diferentes máquinas para el trabajo de cálculo al mismo tiempo.

• Las tecnologías como las llamadas a procedimiento remoto y la invocación de método remoto se utilizan para construir cálculos distribuidos.

Para citar a un amigo mío: “es como la pornografía. Difícil de definir, pero lo sabes cuando lo ves”.

NIST tiene una definición bastante buena de computación en la nube:

“” ”

  • Autoservicio a pedido: el cliente puede proporcionar capacidades informáticas con el proveedor de servicios, según sea necesario, sin necesidad de interacción humana.
  • Amplio acceso a la red: el cliente accede a las capacidades (como almacenamiento, servidores y bases de datos) del proveedor de servicios a través de una conexión de red.
  • Agrupación de recursos: el cliente comparte los servicios del proveedor con otros clientes.
  • Elasticidad rápida: el sistema del proveedor de servicios permite al cliente expandir o contraer rápidamente los recursos informáticos necesarios.
  • Servicio medido: el pago del cliente por el uso del sistema en la nube está determinado por una capacidad medida (como licencias de asiento o almacenamiento utilizado).

“” ”

La computación en la nube es una forma de computación distribuida de manera geo distribuida.

Los sistemas distribuidos eran una terminología, que se usaba para conectar múltiples componentes en un espacio más corto y el componente de comunicación se basaba más o menos en el cableado. Los componentes conectados funcionan en un hardware compartido y no hay software para controlar el recurso compartido. Se requirió otro esfuerzo humano para usar este sistema.

Pero la computación en la nube utilizó Internet como medio, con el uso compartido de recursos basado en TCP. Los componentes en la nube pueden parecer una sola caja, pero los recursos en realidad se comparten en función de un software, que está tratando de hacer que parezca virtual. Es una versión automatizada del sistema diatribuido para ser precisos.

Un sistema distribuido es un número de subsistemas que están cooperando.

Un sistema de computación en la nube es un sistema multi-CPU que está particionado y no necesariamente coopera. Además de mucho marketing.

Mi respuesta simple sería que, no importa cuánto intente encontrar diferencias entre Cloud y Distributed, en última instancia, todavía estamos describiendo una misma cosa, posiblemente desde diferentes ángulos. ¿Hay nube sin cálculo distribuido? ¿Hay computación distribuida sin rasgos de nube? Mi intuición me dice que no.

Distribuido ejecuta el programa en la computadora. Puede tener la opción de almacenar datos en la nube.

La nube se ejecuta principalmente en la nube, pero es posible que tenga alguna parte del programa en su computadora.

El sistema operativo Chromebook intenta hacer esto último y mantener una huella muy pequeña en la computadora.

Office 360 ​​también intenta hacer esto último, pero en realidad instala todas las aplicaciones en su computadora.

Sin embargo, la diferencia entre estos dos términos es muy fluida.