Cos'è il "Cloud" e in che modo si riferisce allo sviluppo?

14

Continuo a sentire parlare della tecnologia Cloud, anche se principalmente nello sviluppo di social network, ecc. Ne ho sentito parlare ancora oggi, e ora sono molto curioso: cos'è il 'Cloud' e come si relaziona con me (nel mio caso, suppongo) come sviluppatore Web? Come rispondo alla domanda che continuo a chiedere: "è sul cloud?" - senza dire "Quello che chiedi non ha senso?"

    
posta mattsven 27.05.2011 - 20:53
fonte

6 risposte

31

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

Cloud computing delivers IT as a service. It might be your own private cloud accessible only within your organization, the public cloud of an external provider, or a hybrid cloud that spans both.

Oh, quindi il cloud è IT come servizio. Destra. Pensavo che la Geek Squad fosse IT come servizio? Quindi, la nuvola è la Geek Squad o la Geek Squad è la nuvola? E se la Geek Squad inizia ad offrire servizi Cloud, uscirà un universo che termina con la singolarità? Non c'è inferno caldo o profondo abbastanza per le persone 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 elaborazione e 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 possibilità di ospitare un'applicazione su apparecchiature di terze parti che possono essere ridimensionate in modo trasparente è molto potente. È possibile creare una presenza Web senza dover eseguire il commit eccessivo sull'hardware. L'implementazione hardware specifica non è importante per gli sviluppatori, quindi è anche bello.

Il motivo per cui lo chiamano "cloud" è perché nei diagrammi di rete tradizionali, Internet, il resto del mondo, la WAN, il networking e l'hardware che va oltre lo scopo del diagramma immediato, viene sempre rappresentato come un nube.

Lanaturastessadellanuvolacomepaesesconosciutoèpersistitafinoaigiorninostriedèallabasedelmotivopercuinessunopuòdescrivereinmodosoddisfacentecosasiailcloud.Ilpuntoèchenonconoscidicosasitratta.Nonènecessario.SaisolochepuoidarelatuaappadAmazon,oIBM,oqualsiasialtroprovider"Cloud", e loro lo ospiteranno e ti fattureranno in base all'utilizzo.

    
risposta data 27.05.2011 - 22:35
fonte
10

Quando senti il termine "nuvola", è davvero un termine (povero) astratto che esegue la gamma da:

  • Infrastruttura come servizio (IaaS) - dove hai il calcolo virtualizzato risorse disponibili per te sia un provider remoto che un API programmatica. Esempi comuni di questo è Amazon EC2 e Rackspace Nube. Nota, la "API programmatica" parte di quella descrizione è il kicker - altrimenti sei giusto parlando di hosting remoto o server privati virtuali (VPS).
  • Piattaforma come servizio (PaaS) - quale è un'astrazione fino al livello di applicazione. Ad esempio, tu come farebbe uno sviluppatore di applicazioni web costruisci un artefatto dispiegabile (andiamo diciamo .war in java o una gemma in rubino, per esempio) e poi distribuirlo artefatto a un fornitore PaaS. Essi prendi la tua app, nascondi tutto dettagli hardware e del sistema operativo da te, e gestendo il ridimensionamento della tua app su e giù in base al traffico / volume di la tua app per te. Tu come sviluppatore sono interessati solo a scrivere il app stessa e nient'altro (questo è un esagerazione grossolana, ma pensata per fare il punto che controlli solo il app, davvero). Gli esempi sono Google App Engine o Heroku.
  • Software come servizio: qui è dove tu come uno sviluppatore rinunciare al controllo di tutto a terzi con l'eccezione di diventare un cliente di i loro servizi. Fondamentalmente usi un fornito dall'esterno API con cui lavorare i tuoi dati su qualcun altro ' infrastruttura attraverso un set di web Servizi. Probabilmente il più popolare esempio di questo è Salesforce.

Il termine "cloud" è di per sé una descrizione davvero scadente di queste tre cose. In generale, quando le persone fanno riferimento a "cloud computing", ciò che stanno ottenendo è il cambio di paradigma in cui si hanno fornitori specializzati in cui si rinuncia al controllo di alcuni (o tutti) dei problemi non funzionali del proprio software rispetto all'hosting e alla scrittura e gestendo tutto da solo.

    
risposta data 28.05.2011 - 20:02
fonte
1

Molto prima che "The Cloud" fosse una parola d'ordine, le persone che disegnano diagrammi di rete disegnerebbero tutti i client, i server, i router e gli switch sotto il loro controllo diretto e le connessioni tra di loro, ma tradizionalmente disegnano solo un cloud per parti del rete che non controllano. Per alcuni esempi fare una ricerca di immagini google per PSTN (rete telefonica commutata pubblica). La nuvola rappresenta una cosa nebulosa in cui i nostri fili entrano ed escono. Non dobbiamo capire come funziona perché gli altri si prendono cura di questo. Ci fidiamo solo dei pacchetti per tornare nel posto giusto dall'altra parte. Di solito Internet viene disegnato come un cloud, perché una volta che i pacchetti hanno colpito il tuo ISP, ti fidi che sappia come portarli nel posto giusto e non ti importa di quali router specifici attraversa.

"Il 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 azienda, ovvero Internet. L'hardware non è sotto il tuo diretto controllo, devi solo inviare i tuoi dati "nel cloud" e fidarti del tuo fornitore per elaborarlo e archiviarlo in modo che sia disponibile per te quando hai bisogno di ritirarlo. Il significato della parola chiave implica anche che le cose ora gestite "nel cloud" erano tradizionalmente il dominio di un computer locale. Potresti avere un server di backup tradizionale, ma passare a un servizio come carbonite che fa i tuoi backup "nel cloud". In precedenza hai utilizzato MS Office sul tuo desktop locale, ma ora usi google docs, ecc.

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

    
risposta data 27.05.2011 - 23:13
fonte
1

Molte persone hanno ammirevolmente spiegato cos'è il cloud, quindi proverò ad affrontare ciò che il cloud può portare a te (uno sviluppatore web) oltre a unicorni e arcobaleni d'oro: (con i plug spudorati alla nostra tecnologia)

  1. Hosting e ridimensionamento orizzontale su richiesta - Amazon EC2. Supponiamo che il nostro sito Web venga sottoposto a slashdotting o arrossamento e che siano necessari host aggiuntivi per i prossimi giorni da soli: nessun problema. Possono essere portati su e giù su richiesta.
  2. Ricarica fine a grana - paga solo per quello che usi. Il servizio più economico in AWS è gratuito per uso limitato! Quindi prova a costruire il tuo sito web senza alcun costo. Niente più balzi per l'hosting di datacenter, ecc.
  3. Vuoi costruire un sito che ha bisogno di un database di supporto - nessun problema. È possibile utilizzare AWS SimpleDB per noSQL / RDS se è necessario SQL.
  4. Vuoi memorizzare quelle immagini di gattini carini e collegarti a loro? AWS S3.
  5. Vuoi indirizzare un gruppo globale di persone, con bassa latenza? AWS Cloud front! Questi hanno i server di bordo situati vicino ai tuoi clienti, in modo da ottenere rapidamente quelle immagini!
  6. Monitoraggio in tempo reale / rapporti sull'utilizzo dei tuoi siti
  7. Vuoi un sistema distribuito per risolvere un enorme problema di set di dati? AWS MapReduce
  8. Vuoi inviare email ai tuoi clienti in modo affidabile? AWS SES
  9. Vuoi eseguire un'elaborazione asincrona come un backend per gli ordini online? AWS SQS

Ci sono molte altre cose nel link . Controlla! Ovviamente, questo è tutto da AMZN, altri come Google hanno anche offerte competitive.

    
risposta data 28.05.2011 - 05:15
fonte
0

Il problema è "Cloud" è un significato un po 'ambiguo (in ambito).

Il minimo che la maggior parte delle persone pensa quando sente che "Cloud" è un'infrastruttura virtualizzata ed è vantaggioso:

  • elminare la ridondanza necessaria per tenere conto del potenziale errore hardware
  • il potenziale per disporre di risorse "elastiche" o di infrastruttura on demand (ad esempio, la rotazione di altri 10 vms con provisioning completo per gestire il picco o il carico stagionale)
  • facilità di riallocazione / riassegnazione / rimozione delle risorse
  • facilità di replica degli ambienti
  • capacità di "snapshot" e "rollback" delle risorse di infrastruttura virtualizzate e in alcuni casi di interi ambienti

Dal modo in cui non si ottiene sempre tutto nella lista, e anche se lo fai, potrebbe non essere al 100%. Puoi Google per quello che è successo a "AWS US East Outage" per un esempio reale.

A volte le persone aggiungono anche altri servizi come parte di "Cloud" come Database, Logging e qualsiasi altro servizio che si trova a cavallo dello spazio tra "infrastruttura" e "applicazione".

Alcune persone usano anche "Cloud" come sinonimo di "virtuale". A volte le persone lo usano anche per indicare "Software e piattaforma come servizio".

    
risposta data 28.05.2011 - 06:00
fonte
0

Cloud è solo un'altra parola per Internet. Sta diventando sempre più interessante ora che Internet diventa abbastanza grande da permettere alle organizzazioni di affidarsi a questo per importanti servizi software, quindi continuiamo a sentire cose come SAAS.

    
risposta data 28.05.2011 - 13:38
fonte

Leggi altre domande sui tag