Esperienza nel lavorare sul cloud? [chiuso]

0

cosa significa quando un tecnico ti chiede di lavorare su cloud?

Ho lavorato principalmente su applicazioni web basate su java. Ma a volte nelle discussioni / interviste chiede la gente tecnica Hai lavorato su cloud. Per me il cloud ha un termine molto ampio e posso pensare a tre lavori correlati correlati al cloud

1. work on web application hosted on Internet .
2. work on Saas based app on internet .
3. Using and cloud service like AWS ?

È qualcos'altro?

    
posta user3222249 28.01.2017 - 03:30
fonte

3 risposte

3

Ci sono una serie di cose che vanno nel termine "sviluppo del cloud". Mi sto concentrando su AWS perché è la piattaforma che conosco, ma dovrebbe essere generalizzabile. Includo la terminologia di AWS per darti da qualche parte la ricerca. Ci sono tre cose che AWS o altri fornitori di cloud possono fornire:

Infrastruttura come servizio (IaaS):

Qui il fornitore di servizi cloud sta vendendo macchine semplici e grossolane (quasi sempre macchine virtuali). Essenzialmente questo è un rimpiazzo per il server on-premise: invece di acquistare una macchina fisica con così tanta memoria / CPU / ecc. E installare un SO, il fornitore ti vende una "VM" (in AWS: un'istanza EC2) con così tanta capacità (in AWS: un tipo di istanza) che viene pre-caricato con un sistema operativo e forse un po 'di software (in AWS: un AMI). Inserisco "VM" tra virgolette perché la relazione tra un'istanza e qualsiasi macchina fisica può essere alquanto sdrucciolevole, ma dal punto di vista dell'utente le istanze sono essenzialmente in esecuzione su VM in alcuni datacenter a cui è possibile accedere tramite Internet. Sfruttando queste offerte di un fornitore di servizi cloud è possibile ridurre il mal di testa per assicurarsi che l'applicazione abbia un posto dove girare.

Al livello di base dello sviluppo del cloud, stai facendo esattamente quello che hai fatto con le tradizionali applicazioni on-premise eccetto che i tuoi server non sono macchine fisiche ma istanze in esecuzione in alcuni data center. Ad un livello più avanzato, hai iniziato a sfruttare i vantaggi esclusivi di queste istanze (ovvero: sono facili da installare e la creazione di una nuova istanza può essere automatizzata, vedi AWS Cloud Scaling) per distribuire le tue applicazioni in modo distribuito tra le istanze. Questo può comprarti la disponibilità (se una delle tue istanze muore, può essere sostituita) e la scalabilità (se hai bisogno di prestazioni migliori, puoi sempre aggiungere più istanze).

Piattaforma come servizio (PaaS):

A questo livello, il cloud provider sta vendendo non solo "macchine" ma anche parti importanti della tua architettura come database e storage in un modo completamente gestito e astratto ulteriormente dalla nozione di macchine virtuali in esecuzione su macchine. Ad esempio, RDS di AWS è un RDMS gestito che astrae tutti i dettagli di mantenimento, ad esempio, di SQL Server su un'istanza (patch del sistema operativo, aggiornamenti software, backup, replica, condivisione). O S3 incapsulerà un'istanza (s) che agisce come un server di storage blob. A questo punto il cloud provider non solo fornisce l'applicazione da qualche parte per l'esecuzione, ma fornisce anche parti di base dell'applicazione in un modo che consente di risparmiare tempo e fornisce più facilmente le grandi parole di visualizzazione dello sviluppo del cloud: disponibilità e scalabilità.

Nella parte più profonda di questo pool, stai scrivendo architetture serverless usando tecnologia come AWS Lambda e hai più o meno completamente estratto il fatto che ci sono macchine reali che eseguono la tua applicazione.

Software as a Service (SaaS):

Di solito ciò che gli sviluppatori di cloud stanno lavorando: stanno sviluppando software (editing di immagini, email, qualunque) che dal punto di vista dell'utente è astratto da qualsiasi macchina (e in particolare non richiede altro che un thin client da usare, che a sua volta è solitamente un blob di javascript scaricato quando si visita un sito Web). Vale la pena notare che i fornitori di servizi cloud possono anche intervenire in questo spazio: AWS ha WorkMail o Elastic Transcoder che sono saldamente SaaS.

Quando stai facendo lo sviluppo del cloud

Affermare quasi una tautologia: lo sviluppo del cloud si sta sviluppando con la tecnologia cloud, il che significa sfruttare almeno una di quelle tecnologie * aaS. Nella mia mente lo sviluppo del cloud è molto più relativo a quello che usi di quello che offri. Pertanto, se si dispone di un'applicazione Web SaaS, ma si possiedono e gestiscono tutti i data center e la piattaforma su cui viene eseguita l'applicazione, si è più un fornitore cloud che un vero sviluppatore cloud (ovviamente a questo punto si è entrambi). Quindi nella mia mente 3 è una specie di tratto distintivo dello sviluppo del cloud e offre il massimo delle promesse: essere in grado di scrivere applicazioni con caratteristiche interessanti (disponibilità, scalabilità, ecc.) A costi operativi inferiori. A 2 probabilmente stai facendo lo sviluppo del cloud e 1 è così nebuloso che potrebbe essere qualsiasi cosa.

Per concludere, possiamo avere un questionario rapido e sporco per il tipo di sviluppo che stai facendo:

D: Puoi dirmi esattamente dove si trovano le macchine che eseguono la tua applicazione?

  • Nessuna idea - > nei locali
  • Alcuni di loro - > ibrido
  • Tutti loro - > su premessa
risposta data 28.01.2017 - 05:18
fonte
1

Un'applicazione cloud può essere semplicemente un'applicazione che guarda, sente e programma come qualsiasi altra applicazione che si esegue su un server dedicato (dopo tutto, questo potrebbe essere responsabile di gran parte del motivo per cui "cloud" sembra funzionare a tutti ). "The cloud" è completamente trasparente per tali applicazioni. Sviluppando una tale applicazione, non considererei "working on cloud". Nella maggior parte dei casi, non stai facendo nulla di diverso. Perché qualcuno dovrebbe chiederti un'esperienza in un campo identico al 100% allo "sviluppo di applicazioni classiche"?

Le "reali" applicazioni cloud nel mio senso della parola (e nella mia azienda - telecomunicazioni) sono applicazioni che devono essere e sono consapevoli del fatto che esse girano in un ambiente virtualizzato - Verranno parlare al software di gestione del cloud quando rilevano la necessità di espandersi o abbandonare le risorse del cloud quando non ne hanno più bisogno. Probabilmente reagiranno all'essere spinti in altri ambienti fisici e potrebbero esprimere le preferenze di risorse e di posizione all'ambiente cloud e reagiranno in modo intelligente quando possono o non possono ottenere queste risorse. Pertanto, tali applicazioni sono attivamente interfacciate con il software di gestione del cloud.

Quindi, in un certo senso, questa domanda potrebbe richiedere esperienza con, ad esempio, le API AWS o gli ambienti OpenCloud / OpenStack.

A volte, ti potrebbe semplicemente essere chiesto "Hai lavorato su cloud" perché qualcuno voleva provare a dire qualcosa di intelligente o di tendenza nuovo e brillante, però - Dipende sicuramente da chi con cui parli e il loro background.

    
risposta data 28.01.2017 - 11:37
fonte
0

In generale, la persona parla di Amazon Cloud AWS o Microsoft Windows Azure Cloud servizi , nodi di calcolo, macchine virtuali. Ci sono molti servizi forniti da Amazon e Microsoft. Si stanno chiedendo se li hai usati per sfruttare le tue esigenze software.

    
risposta data 28.01.2017 - 05:18
fonte

Leggi altre domande sui tag