Sommario:
- Hosting dei servizi localmente
- Hosting dei servizi nel cloud
- Definizione di un buon ambiente di sviluppo
Video: Opening Keynote (Cloud Next '19) 2024
Indipendentemente dal numero di servizi offerti da AWS, hai ancora bisogno di una certa quantità di hardware per utilizzare i servizi. La quantità di hardware necessaria quando si lavora con i servizi nel cloud è minima perché l'hardware AWS fa tutto il lavoro pesante. Quando lavori con i servizi localmente, hai bisogno di hardware aggiuntivo perché AWS non sta facendo il lavoro più pesante per te. Pertanto, è necessario considerare diversi requisiti hardware a seconda di dove si ospita il servizio AWS.
Hosting dei servizi localmente
Nascosto nella documentazione di AWS ci sono tutti i tipi di informazioni utili su vari servizi. Ad esempio, AWS Storage Gateway connetterà un'appliance locale in locale (un'applicazione combinata con la capacità del sistema operativo sufficiente per l'esecuzione su hardware o su una macchina virtuale) con storage basato su cloud.
In altre parole, si utilizza il gateway per connettere l'applicazione all'archivio dati richiesto. Potrebbe sembrare che l'esecuzione del gateway nel cloud sarebbe una buona idea perché non sarebbe necessario investire in hardware aggiuntivo. Tuttavia, quando si osservano i requisiti, si vede che AWS Storage Gateway viene fornito con hardware, istanze e requisiti di archiviazione specifici. La cosa importante da capire è che il cloud presenta dei limiti che è necessario prendere in considerazione durante qualsiasi fase di pianificazione.
Dopo aver verificato che è possibile eseguire la configurazione desiderata, è possibile iniziare a considerare i vantaggi e gli svantaggi del lavoro nel cloud. Ad esempio, quando si ospita il servizio nel cloud, si ottiene il ridimensionamento automatico in base alle esigenze e Amazon esegue molte delle attività amministrative. Tuttavia, per una prospettiva realistica, è necessario compensare questi vantaggi con la consapevolezza degli svantaggi, ad esempio:
- Potenziale per bassa velocità di applicazione
- Necessità di mantenere una connessione Internet affidabile
- Perdita di flessibilità
- I fornitori che escono dal mercato
Anche se le esigenze hardware di base diventano meno costose, è necessario prendere in considerazione spese aggiuntive sotto forma di licenziamenti. La maggior parte delle organizzazioni ritiene che i costi hardware legati al passaggio al cloud siano sostanzialmente inferiori rispetto al mantenimento di un reparto IT completo, motivo per cui fanno la mossa. Tuttavia, devi fare la mossa con la consapevolezza che hai altre questioni da considerare quando lo fai.
Hosting dei servizi nel cloud
Quando si ospitano i servizi localmente, è necessario fornire tutta l'infrastruttura necessaria, che può diventare costosa.AWS fornisce indicazioni sui requisiti minimi per l'hosting di un servizio a livello locale.
Una buona regola generale quando si ospitano i servizi localmente è di visualizzare i requisiti forniti dal fornitore come minimi. Se non si pianifica di caricare pesantemente il servizio, questi minimi di solito funzionano. Tuttavia, quando si fa clic sul collegamento Ottimizzazione del rendimento del gateway, il primo suggerimento visualizzato è di aggiungere risorse al gateway. Pianificare troppe capacità è meglio che non abbastanza, ma ottenere la configurazione il più vicino possibile a ciò che serve aiuterà sempre finanziariamente.
Pianifica in anticipo risorse sufficienti.Non tutti i servizi funzioneranno localmente, ma potresti essere sorpreso di scoprire che molti lo fanno. Il problema consiste nel definire precisamente come intendi utilizzare un determinato servizio e i trade-off che sei disposto a fare. Ad esempio, quando si ospita un servizio in locale, potrebbe risultare difficile fornire lo stesso livello di connettività che è possibile fornire a terze parti quando si ospita lo stesso servizio nel cloud.
Definizione di un buon ambiente di sviluppo
Dopo aver saputo delle risorse necessarie per AWS e aver tenuto conto delle nozioni di base della configurazione, è necessario considerare il proprio ambiente di sviluppo. Il primo problema che devi considerare è quello del linguaggio. A AWS non importa quale IDE usi (anche se la scelta di IDE determina quali funzionalità hai a disposizione per l'accesso remoto), ma si preoccupa della lingua. Devi verificare che AWS supporti la lingua di tua scelta per il servizio a cui desideri accedere. Ad esempio, ecco le scelte per Simple Queue Service (SQS).
Accertati che AWS supporti la lingua che desideri utilizzare.È possibile creare un ambiente di distribuzione utilizzando EC2. Questo tutorial descrive come eseguire questa attività. Il vantaggio principale di questo approccio è che è possibile teoricamente sviluppare applicazioni AWS da qualsiasi luogo, poiché lo sviluppo non richiede più un sistema locale con risorse specifiche.
Tuttavia, questo approccio non è assolutamente gratuito e significa che è necessario disporre di una connessione Internet affidabile da qualunque luogo si desideri eseguire attività di sviluppo, che non è un problema sul lavoro, ma probabilmente un problema a casa. L'approccio di sviluppo basato sul cloud utilizza l'interfaccia a riga di comando (CLI) di AWS.
Il motivo principale per utilizzare un ambiente di sviluppo localizzato è che si mantenga l'accesso alle risorse locali e alle librerie di codici attualmente utilizzate dall'organizzazione per eseguire attività di sviluppo.
Questa opzione ha anche un vantaggio in termini di affidabilità perché non si basa su una connessione remota per usarlo. Se la connessione Internet si interrompe, è possibile continuare a sviluppare il codice (ma il test non è possibile fino al ripristino della connessione). Quando si utilizza questa opzione, è necessaria un'ampiezza di banda aggiuntiva, almeno a scopo di test e autorizzazioni per l'accesso AWS attraverso il firewall dell'organizzazione.
Non sei limitato a due sole opzioni quando lavori con AWS. Ad esempio, è possibile utilizzare un ambiente di sviluppo locale ma inserire il codice su S3.L'uso dell'archiviazione dei dati basata su cloud significa che è possibile avere impostazioni localizzate in diverse posizioni (in modo da mantenere l'accesso alle risorse locali) e ottenere comunque vantaggi dallo sviluppo basato su cloud, come l'accesso al codice da qualsiasi posizione in cui si avere un ambiente di sviluppo configurato.
Questo tutorial è anche interessante perché ti spiega come configurare il tuo ambiente di sviluppo per utilizzare Elastic Beanstalk per il progetto, il controllo del codice sorgente e l'uso del repository. Come in un ambiente di sviluppo localizzato, sono ancora necessarie le autorizzazioni necessarie per l'accesso a Internet e una larghezza di banda sufficiente per gestire l'aumento delle richieste di dati per far funzionare correttamente questa opzione. In effetti, i requisiti di larghezza di banda sono superiori a una configurazione locale e l'ambiente di sviluppo deve funzionare con risorse remote.
Scegliere l'ambiente di sviluppo corretto non è facile. In molti casi, la scelta diventa una delle preferenze personali e dei requisiti organizzativi. Ad esempio, l'utilizzo di una soluzione di sviluppo basata su cloud potrebbe non essere un'opzione quando si gestiscono attività di sviluppo sensibili; i bisogni di sicurezza potrebbero superare altri desideri.