Che cos'è "il Cloud" e come si collega allo sviluppo? [chiuso]


14

Continuo a sentir parlare della tecnologia Cloud, anche se principalmente nello sviluppo dei social network, ecc. Ne ho sentito parlare di nuovo oggi, e ora sono molto curioso: cos'è il "Cloud" e come si collega a me (nel mio caso, io indovinare) come sviluppatore web? Come rispondo alla domanda che continuo a farmi: "è sul cloud?" - senza dire "Quello che stai chiedendo non ha senso?"



21
Cloud è il nuovo Web 2.0, ma senza gli angoli arrotondati.
unholysampler

@unholysampler: Graphic o css-ed?
Christopher Mahan,

Dovrebbe essere robusto e affidabile, tranne per il fatto che il cloud di Amazon si è schiantato alcune settimane fa. E i miei amici hacker dal cappello bianco mi dicono che non è neanche così "sicuro". Ma ciò non significa che non sia utile.
Steven A. Lowe,

1
Sono la grande nuvola. Ignora i computer dietro la tenda. Sei un programmatore. Non capiresti. È una cosa hardware. Google e fai una domanda migliore.
JeffO,

Risposte:


32

"Cloud" è una parola d'ordine. Non ha una definizione che non includa la parola "Cloud" Ecco come Dell descrive il suo Cloud:

Il cloud computing offre l'IT come servizio. Potrebbe essere il tuo cloud privato accessibile solo all'interno della tua organizzazione, il cloud pubblico di un provider esterno o un cloud ibrido che si estende su entrambi.

Oh, quindi il cloud è IT come servizio. Giusto. Pensavo che Geek Squad fosse IT come servizio? Quindi, il cloud è la Geek Squad o la Geek Squad è il cloud? E se la Geek Squad inizia a offrire servizi Cloud, un universo che termina la singolarità? Non esiste un inferno caldo o abbastanza profondo per gli esperti di marketing.

Fondamentalmente è la progressione logica di cluster, virtualizzazione e connessioni Internet più veloci. Le aziende possono specializzarsi nella fornitura di potenza di archiviazione e di elaborazione e tu puoi ospitare la tua applicazione nel loro cluster e accedervi tramite Internet. E, usando la virtualizzazione, può esistere in un ambiente arbitrario non correlato all'hardware fisico reale su cui è in esecuzione. Molto bello.

La capacità di ospitare un'applicazione su apparecchiature di terze parti che può essere ridimensionata in modo trasparente è molto potente. È possibile creare una presenza Web senza dover eseguire il commit eccessivo sull'hardware. L'implementazione hardware specifica non ha importanza per gli sviluppatori, quindi è anche bello.

Il motivo per cui lo chiamano "cloud" è perché nei tradizionali diagrammi di rete, Internet, il resto del mondo, la WAN, le reti e l'hardware che vanno oltre lo scopo del diagramma immediato, sono sempre rappresentati come un cloud.

Diagramma di rete

La natura stessa della nuvola come paese sconosciuto ha persistito fino ai giorni nostri, ed è alla radice del motivo per cui nessuno può soddisfacente descrivere ciò che la nube è . Il punto è che non sai di cosa si tratta. Non è necessario. Sai solo che puoi dare la tua app ad Amazon, IBM o qualsiasi altro provider "Cloud" e loro lo ospiteranno e ti addebiteranno in base all'utilizzo.


1
Da quale brochure di marketing l'hai preso?
Christopher Mahan,

1
Hai appena dato una definizione che non include la parola "nuvola".
Rein Henrichs,

9
@Rein sì, ma ha una foto di una nuvola con l'etichetta "Internet"
Steven A. Lowe,

3
Questa è una spiegazione formidabile. +100 da me.

1
Santo sciamano, questa è una buona risposta.
mattsven,

10

Quando senti il ​​termine "nuvola", è davvero un termine (scarso) astratto che va dalla gamma:

  • Infrastruttura come servizio (IaaS) - in cui sono disponibili risorse di elaborazione virtualizzate tramite un provider remoto e un'API programmatica. Esempi comuni di questo sono Amazon EC2 e Rackspace Cloud. Nota, la parte "API programmatica" di quella descrizione è il kicker, altrimenti stai solo parlando di hosting remoto o server privati ​​virtuali (VPS).
  • Platform as a Service (PaaS) - che è un'astrazione fino al livello dell'applicazione. Ad esempio, tu come sviluppatore di applicazioni web costruiresti un artefatto distribuibile (diciamo .war in java o una gemma in ruby, per esempio) e quindi distribuisci quell'artefatto a un provider PaaS. Prendono la tua app, nascondono tutti i dettagli dell'hardware e del sistema operativo e gestiscono il ridimensionamento dell'app su e giù in base al traffico / throughput della tua app. Tu come sviluppatore ti preoccupi solo di scrivere l'app stessa e nient'altro (è una grossa esagerazione, ma intendi sottolineare che controlli solo l'app, davvero). Esempi sono Google App Engine o Heroku.
  • Software as a Service: è qui che tu come sviluppatore cedi il controllo di tutto a una terza parte, ad eccezione di diventare un cliente dei suoi servizi. Fondamentalmente usi un'API fornita esternamente per lavorare con i tuoi dati sull'infrastruttura di qualcun altro attraverso una serie di servizi web. Probabilmente l'esempio più popolare di questo è Salesforce.

Il termine "nuvola" in sé è una descrizione davvero scadente di queste tre cose. In generale, quando le persone si riferiscono al "cloud computing", ciò che stanno ottenendo è il cambio di paradigma in cui si hanno fornitori specializzati in cui si rinuncia al controllo di alcune (o tutte) le preoccupazioni non funzionali del proprio software rispetto a hosting, scrittura e gestendo tutto da soli.


1

Molto prima che "The Cloud" fosse una parola d'ordine, le persone che tracciavano diagrammi di rete attiravano tutti i client, i server, i router e gli interruttori sotto il loro controllo diretto e le connessioni tra loro, ma tradizionalmente semplicemente disegnavano una nuvola per parti della rete che donano controllo. Per alcuni esempi fai una ricerca di immagini google per PSTN (rete telefonica commutata pubblica). La nuvola rappresenta una cosa nebulosa in cui i nostri fili entrano e escono. Non dobbiamo capire come funziona perché altre persone se ne occupano. Confidiamo solo che i pacchetti tornino nel posto giusto dall'altra parte. Di solito Internet viene disegnato come una nuvola, perché una volta che i pacchetti colpiscono il tuo ISP, ti fidi che sa come portarli nel posto giusto e non ti interessa quali router specifici attraversano.

"Cloud computing" in breve si riferisce ai servizi che sono ospitati all'interno del cloud sul diagramma di rete della tua casa o della tua attività, ad esempio Internet. L'hardware non è sotto il tuo controllo diretto, devi solo inviare i tuoi dati "nel cloud" e affidarti al tuo fornitore per elaborarli e archiviarli in modo che siano disponibili per te quando devi ritirarli. Il significato di questa parola implica anche che le cose che ora vengono gestite "nel cloud" erano tradizionalmente il dominio di un computer locale. Tradizionalmente potresti avere un server di backup, ma sei passato a un servizio come carbonite che esegue i tuoi backup "nel cloud". In precedenza hai utilizzato MS Office sul desktop locale, ma ora usi Google Documenti, ecc.

Come sviluppatore web ciò che significa per te è che i clienti sono spesso alla ricerca di modi per sostituire i servizi tradizionalmente gestiti dai computer desktop con applicazioni Web. Essere in grado di sostituire e non semplicemente integrare il software desktop può darti un vantaggio competitivo.


La nuvola rappresenta "una cosa nebulosa" - mi piace. Very meta :-)

1

Molte persone hanno mirabilmente spiegato che cos'è il cloud, quindi cercherò di indirizzare ciò che il cloud può portarti (uno sviluppatore web) oltre agli unicorni e agli arcobaleni dorati: (con spine spudorate per la nostra tecnologia)

  1. Hosting e ridimensionamento orizzontale su richiesta - Amazon EC2. Supponiamo che il nostro sito Web venga tagliato o arrossato e che occorrano host extra solo per i prossimi giorni - nessun problema. Possono essere portati su e giù su richiesta.
  2. Ricarica a grana fine - paga solo per quello che usi. Il servizio più economico in AWS è in realtà gratuito per un uso limitato! Quindi prova a costruire il tuo sito web gratuitamente. Niente più balzi per l'hosting di datacenter ecc.
  3. Volete creare un sito che necessita di un database di backup - nessun problema. Puoi utilizzare AWS SimpleDB per noSQL / RDS se hai bisogno di SQL.
  4. Vuoi archiviare quelle immagini di gattini carini e collegarle? AWS S3.
  5. Vuoi rivolgersi a un gruppo globale di persone, a bassa latenza? Parte anteriore di AWS Cloud! Questi server perimetrali sono situati vicino ai tuoi clienti in modo da ottenere quelle immagini in un lampo!
  6. Monitoraggio / reportistica in tempo reale dell'utilizzo dei siti
  7. Volete che un sistema distribuito risolva un enorme problema del set di dati? AWS MapReduce
  8. Vuoi inviare i tuoi clienti in modo affidabile? AWS SES
  9. Vuoi eseguire alcune elaborazioni asincrone come un backend per gli ordini online? AWS SQS

Ce ne sono molti di più su http://aws.amazon.com/ . Controlla! Ovviamente, questo è tutto di AMZN, altri come Google hanno anche offerte competitive.


0

Il problema è "Cloud" è un significato alquanto ambiguo (nell'ambito).

Il minimo che la maggior parte delle persone pensa quando sente "Cloud" è l'infrastruttura virtualizzata e i suoi vantaggi:

  • eliminare la ridondanza necessaria per tenere conto di potenziali guasti hardware
  • il potenziale di disporre di risorse infrastrutturali "elastiche" o su richiesta (ad es. rotazione di altri 10 vms completamente forniti per gestire il picco o il carico stagionale)
  • facilità di riallocazione / riassegnazione / disattivazione delle risorse
  • facilità di replica degli ambienti
  • capacità di "snapshot" e "rollback" di risorse di infrastruttura virtualizzate e in alcuni casi interi ambienti

A proposito, non sempre ottieni tutto nell'elenco e, anche se lo fai, potrebbe non essere del 100%. Puoi Google per quello che è successo a "AWS US East Outage" per un esempio reale.

Le persone a volte aggiungeranno anche altri servizi come parte di "Cloud" come Database, Logging e qualsiasi altro servizio che si collochi a cavallo tra "infrastruttura" e "applicazione".

Alcune persone usano anche "Cloud" come sinonimo di "virtuale". A volte le persone lo usano anche per indicare "Software and Platform As a Service".


0

Cloud è solo un'altra parola per Internet. Ora sta diventando sempre più vivace perché Internet matura abbastanza da consentire alle organizzazioni di fare affidamento su di esso per importanti servizi software, quindi continuiamo a sentire cose come SAAS.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.