Differenza tra cloud computing e calcolo distribuito?

Volevo sapere la differenza sul cloud computing e sul calcolo distribuito. Ho letto un articolo sul cloud computing e ho avuto la sensazione che da qualche parte vi sia una relazione tra il cloud computing e il calcolo distribuito e volevo chiedere informazioni sulla differenza tra le tecnologie.

Inoltre, se qualcuno potesse indicarmi risorse utili per il cloud computing, sarebbe molto apprezzato.

Grazie

Nella mia mente ciò che definisce il cloud computing è che le risorse di calcolo sottostanti (storage, processori, RAM, bilanciamento del carico, ecc.) Di servizi e software basati su cloud sono completamente astratte dal consumatore del software / servizi. Ciò significa che il fornitore di risorse basate sul cloud si sta assumendo la responsabilità delle prestazioni / affidabilità / scalabilità dell’ambiente di elaborazione.

Dal punto di vista degli sviluppatori di applicazioni, questo può essere un enorme vantaggio, poiché procurarsi, mantenere, ottimizzare, monitorare e scalare l’hardware per soddisfare le esigenze di crescita è sia difficile che costoso.

Per i piccoli ISV, il cloud computing offre la possibilità di prototipare, testare e distribuire software senza spese in conto capitale.

Per le applicazioni più grandi, il vantaggio è generalmente la scalabilità illimitata e ciò che equivale all’outsourcing delle responsabilità di hosting IT / delle applicazioni, nonché l’accesso immediato a nuovi server / storage / qualsiasi cosa su richiesta. Spesso i fornitori di servizi cloud offrono livelli di ridondanza, affidabilità e persino sicurezza, ma i maggiori negozi IT interni non potrebbero mai raggiungere il costo totale di tutto.

Lo svantaggio principale per gli sviluppatori di applicazioni è la perdita di controllo. Non solo l’hardware è ospitato esternamente in un ambiente cloud, ma è astratto, quindi se la tua applicazione ha bisogno di un controllo diretto sull’hardware, sei sfortunato. E devi fidarti del cloud provider. Tutti offrono il 99% di tempo di ripetizione e gli SLA, ma dubito che queste statistiche siano effettivamente realizzate. Ma devi chiederti, potrei fare di meglio? La risposta è spesso no. Tuttavia, il controllo dell’hardware non è l’unico luogo in cui il controllo viene perso: l’integrazione con i sistemi basati su cloud può essere anche più difficile rispetto a un software locale o autogestito per ovvi motivi. Tuttavia, mi sembra che questo roadblock stia evaporando mentre le nuove tecnologie e le solide API eliminano molte difficoltà di integrazione create durante l’esecuzione di applicazioni al di fuori della LAN / WAN.

Un altro svantaggio può essere la prestazione. L’esecuzione di un’applicazione sulla tua LAN locale probabilmente fornirà un’esperienza agli utenti locali piuttosto che a quella del cloud. Ma se il tuo pubblico è distribuito, tale vantaggio può essere applicato solo a un sottoinsieme del pubblico della tua applicazione.

Il calcolo distribuito, come già detto alcune volte, è solo un calcolo orchestrato tra due o più computer. Il cloud computing è, per definizione, calcolo distribuito, ma una forma specializzata.

Ecco un bel whitepaper di David Chappell. È una carta sponsorizzata da Microsoft, quindi è presentata in termini di piattaforma cloud di Microsoft (Azure), ma i principi sottostanti sono piuttosto universali e David Chappell è sempre una lettura piuttosto facile.

Lasciatemi dire che gestiamo un’offerta significativa di servizi finanziari in un ambiente basato sul cloud al 100%.

Il cloud computing non è così ben definito (come con qualsiasi parola d’ordine, tutti vogliono in qualche modo marchiare il loro prodotto esistente con la parola più recente).

La chiave del cloud computing nella mia mente è che posso guardare le risorse di calcolo (CPU, memoria, ecc.) Come una merce piuttosto che come un capitale.

Cosa significa?

Tradizionalmente, se voglio aggiungere un po ‘di potenza di calcolo alla mia organizzazione, ho bisogno di uscire e comprare più computer, configurarli e mantenerli. Il cloud computing (la definizione di Eric J.) mi consente di ottenere una potenza di calcolo extra esattamente quando ne ho bisogno, e poi di rilasciarlo quando non lo faccio. Offriamo un servizio di calcolo delle imposte sulle vendite. Nel periodo che precede Natale, abbiamo bisogno di molta più potenza di calcolo rispetto ad altri periodi dell’anno. Il nostro ambiente cloud mi consente di aggiungere risorse in pochi secondi e quindi di rilasciarle altrettanto rapidamente quando non ne ho bisogno. Uno dei nostri grandi clienti a volte ha mega vendite di 1 ora. Posso aggiungere ulteriore potenza di elaborazione solo per quell’ora, quindi rilasciarlo quando finito.

La soluzione che offriamo in aggiunta a quella infrastruttura di cloud computing è Software-as-a-Service (SaaS). Le cose come GMail sono SaaS, non il cloud computing, a mio avviso.

Quindi, come tutto questo si confronta con il calcolo distribuito?

Il calcolo distribuito significa solo che ho risolto un problema in modo che possa lavorare su un intero gruppo di computer contemporaneamente. Il progetto BOINC di Berkeley University è un eccellente esempio di questo (e si prega di prendere in considerazione l’iscrizione per questo). Distribuiscono progetti di ricerca scientifica su tutti i computer forniti dai volontari.

I computer coinvolti in BOINC e altri progetti distribuiti possono essere computer portatili, desktop, server della gente. Possono essere installati nel mio ufficio, server virtuali noleggiati da un ISP o server virtuali che fanno parte di un “cloud”. Non importa un po ‘da dove vengono i computer. Se riesco a installare il software di calcolo distribuito su un computer, può far parte della soluzione distribuita.

L’elaborazione distribuita implica la divisione di un grosso problema in sezioni più piccole e l’utilizzo di più computer in rete per elaborare le sezioni.

Il cloud computing di solito si riferisce a fornire un servizio via internet. Quel servizio può essere praticamente qualsiasi cosa, dal software aziendale a cui si accede via web allo storage off-site o alle risorse di calcolo.

Modifica: come il poster sotto di me rileva, è generalmente un termine di marketing per quei servizi.

Il calcolo distribuito è il luogo in cui più computer partecipano alla risoluzione / calcolo di un’attività. Come Folding @ Home .

Il cloud computing consiste nell’avere dati (documenti, immagini ecc.) Sui servizi internet. Immagino che GMail e Google Docs formino una sorta di cloud computing.

Tieni presente che il termine cloud computing è diventato un termine di marketing che è arrivato a rappresentare quasi tutto. Per i programmatori, il termine si riferisce a un modo distribuito di memorizzare e recuperare coppie nome / valore. Esempi notevoli includono BigTable (a cui è più probabile accedere da Google App Engine ) ed EC2 .