VPS Hosting: Le migliori 3 offerte per un server virtuale economico

I server virtuali, detti anche VPS (acronimo inglese per Virtual Private Server), sono il miglior compromesso tra un hosting condiviso e un server dedicato, anzi ormai in molti casi si possono trovare dei buoni server virtuali allo stesso prezzo di un normale hosting condiviso.

In questo articolo parleremo delle offerte di:

Perché un VPS?

Un VPS, rispetto all'hosting condiviso, ha diversi vantaggi:

  • molto spesso ha prestazioni migliori. Di norma le risorse di un server virtuale sono garantite e c'è un rischio minore che dei "cattivi vicini" mettano in ginocchio il server.
  • massima libertà di configurazione e spesso vasta libertà di scelta del Sistema Operativo. Quasi tutti i VPS provider permettono la scelta almeno delle più famose distribuzioni Linux, ma a volte puoi anche scegliere Windows. Inoltre hai tutta la libertà di gestire utenti, permessi etc.
  • possibilità di installare qualsiasi software. Se vuoi installare qualche altro software oltre ai canonici Apache e MySQL con un VPS puoi farlo. Ad esempio puoi installare Node.js, oppure un database NoSQL, o anche un server di Minecraft!

Di contro c'è il fatto che devi saper gestire tutte queste libertà, quindi devi avere una minima conoscenza sistemistica per installare i software che ti servono e configurarli.

Negli ultimi 3-4 anni ho abbandonato completamente gli hosting condivisi e utilizzato sempre VPS per i miei progetti, cercando e valutando diversi provider. Visto che non sono in realtà un esperto sysadmin, ho sempre cercato dei servizi non troppo costosi poiché buona parte di quel che faccio è ricerca e studio, e sufficientemente semplici da usare, poiché non ho possibilità di spendere troppe ore per comprendere il funzionamento base di un servizio (questo lascia fuori il famosissimo Amazon AWS).

Credo che molti sviluppatori, freelance o meno, si siano trovati con le mie stesse necessità e requisiti simili, perciò voglio presentare 3 servizi che ho provato nel tempo e che mi hanno soddisfatto.

Tutti questi servizi soddisfano 2 requisiti specifici:

  • possibilità di acquistare un VPS per un non superiore ai 5€/mese
  • semplicità e rapidità di setup iniziale (Sistema operativo installato e accesso SSH). Una volta che avete accesso alla console/bash tempi e difficoltà dipendono da quel che volete fare

Digital Ocean

Forse il servizio più famoso tra quelli che ho provato, DigitalOcean si è presentato sin dall'inizio come un'alternativa molto più semplice e user-friendly rispetto al colosso Amazon AWS.

DigitalOcean si definisce un servizio "Cloud". La definizione di ciò che è Cloud o meno è ancora un po' vaga, in ogni caso su DigitalOcean significa che, una volta registrati, non dovete noleggiare un singolo VPS per un tempo determinato, bensì avete la possibilità di creare "al volo" una o più macchine virtuali quando volete, usarle il tempo che vi serve, e infine distruggerle quando non avete più bisogno, che sia dopo un'ora o dopo un anno.

La registrazione al sito è gratuita, dopodiché c'è la possibilità di registrare una carta di credito o di caricare nel proprio account una somma tramite PayPal per pagare poi i servizi che si utilizzeranno. A quanto ho potuto vedere non vengono accettate carte prepagate.

Una volta impostato il metodo di pagamento preferito si è pronti per creare il proprio server.
In DigitalOcean le macchine virtuali vengono chiamate Droplets, che sono nè più nè meno delle macchine virtuali KVM.

La creazione di una Droplet avviene tramite un wizard sul sito web stesso.
Il pannello per la creazione delle Droplet è molto chiaro e pulito e presenta nell'ordine le varie opzioni:

  • Scelta della Distribuzione o Applicazione: qui c'è già la prima scelta interessante, si può decidere di creare un server virtuale con solo il sistema operativo installato, oppure si può scegliere di crearlo a partire da un modello con già determinati software installati e pronti all'uso, ad esempio WordPress o Magento. I modelli preconfigurati sono circa una trentina, mentre se si opta per il solo Sistema Operativo la scelta è fra 5 distribuzioni Linux (in varie versioni) o FreeBSD.
  • Scelta della dimensione e potenza della Droplet: a questo punto si può decidere la potenza della macchina virtuale, la configurazione dei vari "componenti" non è granulare, invece ci sono dei pacchetti con potenza del processore, quantitativo di RAM a disposizione e spazio su disco predefiniti. La configurazione base prevede 1 CPU, 512MB di RAM e 20GB di spazio disco, al costo di 0.007$ l'ora, equivalenti a 5$ al mese. Oltre a ciò c'è 1TB di traffico incluso al mese. Il costo cresce linearmente con la potenza della configurazione che si sceglie, non c'è quindi un particolare vantaggio economico nel selezionare le configurazioni più potenti (niente "sconti quantità" insomma).
  • Block Storage: questo è un servizio recentemente introdotto dopo numerose richieste della community. Il servizio permette di creare dei volumi (Hard Disk virtuali) che si possono agganciare alla Droplet ma sono indipendenti da essa. Molto utile in particolari condizioni e configurazioni, ma non strettamente necessario. Il costo di questo spazio di archiviazione aggiuntivo è di 0.10$/GB al mese
  • Selezione del datacenter: qui si può scegliere in quale stato/città creare la Droplet. E' sempre buona cosa, se possibile, scegliere un datacenter geograficamente vicino agli utenti. Per l'Europa ci sono 3 opzioni: Amsterdam, Londra e Francoforte. Altrimenti si può scegliere una delle altre 5 location distribuite tra America e Asia.
  • Selezione di opzioni aggiuntive: qui si possono scegliere alcune feature aggiuntive, la più interessante delle quali a mio parere è la possibilità di abilitare i backup automatici della Droplet.
  • SSH Key: a questo punto potete indicare una chiave SSH da usare poi per connettervi al terminale della Droplet. Se non lo fate vi verrà inviate automaticamente una mail con la password di root.

Fatte tutte le scelte non rimane che dare il via alla creazione della Droplet, che avviene più o meno in 1 minuto. Una volta che la macchina virtuale è stata creata e avviata riceverete una mail con i vari dettagli quali indirizzo IP e password, a questo punto potete connettervi tramite SSH al vostro server virtuale e configurare o installare tutto quel che volete.

DigitalOcean offre poi un paio di possibilità interessanti che non ho citato sopra. La prima è la possibilità di creare degli snapshot delle proprio Droplet attive. Uno snapshot è simile a un backup, una fotografia della Droplet così com'è in quell'istante. L'utilità della questione è che a partire da uno snapshot si può creare una nuova Droplet che avrà quindi la stessa identica configurazione, in pratica quindi si possono creare dei template personalizzati da usare poi per lanciare nuove Droplet senza perdere tempo a configurarle una ad una.

Altra funzionalità utile per chi ha necessità di configurazione multi-server è il Floating IP, ovvero la possibilità di associare un singolo IP statico a più Droplet e far sì che il sistema veicoli automaticamente il traffico a una Droplet secondaria quando la primaria è offline per qualche motivo.

Infinte, se siete programmatori, potete gestire il tutto tramite API e implementare quindi meccanismi di scalabilità automatica nel modo che più vi aggrada.

Ho usato DigitalOcean per più di un anno e non ho mai avuto particolari problemi, solo una volta la mia Droplet è stata riavviata a causa di un guasto, e l'unico motivo per cui lo so è che mi è arrivata una mail che mi avvisava della cosa.

Pro e Contro

  • Tra i punti di forza di DigitalOcean ci sono la facilità di utilizzo, una serie di servizi aggiuntivi molto interessanti, in particolare il nuovo block storage e dal prezzo non esagerato e una community vasta e attivissima, in particolare una sezione tutorial veramente eccezionale. La possibilità di creare e distruggere Droplet a piacimento è un altro plus non da poco, si possono far prove e studiare soluzioni e poi spegnere tutto pagando solo le ore di utilizzo, o nel caso si voglia aggiornare il proprio sistema è possibile creare una nuova Droplet con la nuova configurazione e una volta pronta spegnere la vecchia.
  • Fra i contro c'è la scelta limitata in fatto di Sistemi Operativi, la scelta è fra i 6 forniti (Ubuntu, Fedora, Debian, CentoOS, CoreOS e FreeBSD) e non è possibile installarne uno di propria scelta. Se volete un server Windows, per dirne una, non è il posto che fa per voi.
    Anche la libertà di configurazione "hardware" è limitata. In realtà questo non è un gran problema poiché le varie scelte sono abbastanza equilibrate. Nella configurazione minima però qualche volta ho notato che la singola CPU fatica in determinate circostanze, ad esempio quando si importa un database di qualche MB.

In generale ho trovato in DigitalOcean un servizio ottimo e comodo da usare. La versatilità e semplicità lo rendono adatto sia a chi inizia e vuole semplicemente provare un server virtuale o studiare come si configura un server (se l'esperienza va male si può semplicemente chiudere tutto senza dover pagare un mese o un anno intero), sia ad agenzie di piccole o medie dimensioni che vogliono una soluzione duttile e agile per il proprio server/hosting ma che non hanno le risorse per gestire servizi complessi come Amazon AWS.

Se hai interesse a provare DigitalOcean, puoi iscriverti tramite questo link. Una volta effettuata la registrazione e inserito un metodo di pagamento valido ti verrà accreditato automaticamente un buono di 10$ da usare come preferisci.

 

BuyVM

BuyVM è stato il primo provider da cui ho acquistato un Server Virtuale, nell'ormai lontano 2011, e ancora oggi ho un VPS funzionante lì.

Questo provider offre diverse tipologie di VPS. Ogni server va noleggiato singolarmente per almeno un mese. Il pagamento avviene in anticipo e si può decidere di pagare mensilmente, ogni 3 mesi, ogni 6 oppure annualmente. Pagando 6 mesi o un anno ci sono buoni sconti sul prezzo, nel caso si decida di pagare annualmente il prezzo è scontato di circa il 18%.

Principalmente BuyVM offre due tipologie diverse di VPS: KVM o OpenVZ. Per avere un descrizione esaustiva della differenza suggerisco di leggere la pagina apposita.

Le differenze in poche parole sono:

  • OpenVZ è un tipo di virtualizzazione più "snella", in cui tutti i VPS sulla stessa macchina fisica condividono un unico kernel (Linux). Questo sistema permette uno sfruttamento generale più efficiente delle risorse della macchina, il che si traduce in costi minori. Di contro sono leggermente meno stabili come performance, inoltre i singoli server virtuali non possono decidere di usare un proprio kernel ma sono vincolati da quello della macchina "ospitante", ciò significa che è possibile utilizzare solo distribuzioni Linux e per alcune questioni la configurazione è limitata e potrebbe creare problemi, ad esempio è probabile che software come Docker non funzionino su un VPS OpenVZ.
  • KVM è un tipo di virtualizzazione completa in cui i singoli server virtuali sono completamente indipendenti l'uno dall'altro e possono avere kernel differenti. Su un VPS KVM può essere installato qualsiasi Sistema Operativo, compreso Windows. KVM in generale è più stabile e sicuro rispetto a OpenVZ, di contro però può risultare più complicato da configurare anche se ormai quasi tutti i provider mettono a disposizione dei template pronti, per cui questo spesso è un non-problema. L'altro downside è il fatto che essendo il server virtuale completamente indipendente e con un suo proprio Sistema Operativo, parte delle risorse, RAM e disco, sono occupate dal Sistema Operativo stesso e non effettivamente disponibili alle nostre applicazioni.

L'offerta di BuyVM è abbastanza varia e per ognuno di questi due sistemi di virtualizzazione è possibile scegliere fra diversi tagli che variano per RAM, disco e CPU. Le offerte OpenVZ sono particolarmente economiche ed equilibrate come rapporto potenza CPU - quantitativo di RAM.

Personalmente ho sempre scelto, e ancora adesso utilizzo, un VPS OPENVZ 512 che offre 2 CPU, 512MB di RAM e 50GB di spazio disco. Se pagato annualmente il prezzo è di 59$, che è più o meno il costo di un hosting condiviso un minimo decente, quindi niente male.

I Server Virtuali KVM vengono invece a costare quasi il doppio, rendendoli un po' meno appetibili. Per i 5€/mese di soglia che ci siamo dati all'inizio, potremmo permetterci un server KVM con non più di 256MB di RAM, quantitativo decisamente risicato se si pensa di voler utilizzare un server web + DBMS.

Una volta acquistato un server di qualsiasi tipo, si avrà accesso a un pannello web, chiamato Stallion, da cui verificare e gestire il funzionamento del VPS. Dal pannello è possibile vedere in tempo reale l'utilizzo delle risorse, accedere al proprio server tramite una console Java, cambiare la password di root e installare o reinstallare da zero il sistema scegliendo fra uno dei template forniti. Da segnalare che i template sono aggiornati abbastanza rapidamente quando escono le nuove versioni delle distribuzioni Linux più popolari: CentOS, Debian, Ubuntu (solo le LTS), Fedora e OpenSUSE.

BuyVM offre anche dei servizi "accessori", in particolare quello che chiamano Offloaded SQL: al costo di 1$ al mese è possibile utilizzare un server MySQL esterno e gestito da BuyVM. Il servizio è condiviso quindi si potrebbe incorrere nelle usuali problematiche da "cattivi vicini" in cui qualcuno utilizza troppe risorse rendendo il servizio meno performante per tutti.

Altro servizio aggiuntivo è l'Anycast IP, che permette di redirezionare il traffico fra più VPS con un unico IP condiviso. Il servizio è gratuito ma bisogna avere almeno tre VPS attivi, uno per regione (America, Europa e Asia). Il servizio direziona le richieste in arrivo verso il server più vicino all'utente, migliorando quindi i tempi di risposta. Volendo si possono poi avere più VPS per singola regione in modo da avere dei sostituti pronti se uno dei server va offline, il servizio Anycast IP si occuperà automaticamente di indirizzare le richieste verso i server attivi.

Pro e Contro

  • I punti di forza di BuyVM sono sicuramente l'ottimo bilanciamento dei server offerti, soprattutto OpenVZ. E prezzi particolarmente vantaggiosi soprattutto se si paga annualmente.
  • Di contro è meno versatile di servizi come DigitalOcean, si paga un server per un certo periodo, quello è e quello rimane, non è possibile spegnerlo per risparmiare o creare un VPS al volo per poche ore per fare dei test e poi buttarlo.

La mia esperienza con BuyVM è stata piuttosto buona, i servizi OpenVZ in particolare sono tra i più bilanciati e convenienti. Ho avuto in verità alcuni problemi in un paio di occasioni in cui non riuscivo più a scrivere su disco e ho dovuto contattare l'assistenza tramite ticket, assistenza che si è rivelata rapida ed efficiente.

Consiglierei BuyVM a chi vuole un VPS con ottime prestazioni e a un prezzo ampiamente abbordabile e che sia disposto a cedere qualcosa dal punto di vista della versatilità. Di particolare interesse, per chi è disposto a spendere qualcosa in più per le soluzioni basate su KVM, la possibilità di installare gratuitamente un sistema Windows Server.

 

Prometeus iwStack

Uno degli ultimi servizi che ho provato è iwStack, offerto dal provider italiano Prometeus.

Ad essere sincero inizialmente ero un po' combattuto, da una parte i servizi offerti sembravano eccellenti e convenienti, dall'altra era richiesto un deposito iniziale minimo di 30€, cosa che non avviene ad esempio su DigitalOcean. Questo deposito minimo iniziale è richiesto per scoraggiare i "furbi" che sfruttano per brevi periodi offerte particolarmente vantaggiose solo per far danni (attacchi DDoS etc.). Naturalmente i malpensanti (come io sono a volte...) potrebbero ritenere che questo deposito iniziale serva per garantirsi subito 30€ facili per un servizio magari scadente.

Si dà il caso però che Prometeus sia un provider piuttosto conosciuto e apprezzato anche all'estero come ho poi scoperto informandomi su vari siti e forum del settore, e quindi ho deciso di provare il loro servizio Cloud chiamato appunto iwStack.

Dico subito che tra i tre servizi menzionati in questo articolo, iwStack è sicuramente quello più complesso e il suo utilizzo necessita di solide basi sistemistiche. Se non siete pratici di gestione server suggerisco vivamente di iniziare con qualche altro servizio o di tenersi vicino un sistemista esperto.

Su iwStack si hanno dei crediti, acquistabili al cambio di 1 Credito = 1€, da spendere sui vari servizi offerti, in modo simile a quanto accade su DigitalOcean. Possiamo quindi creare tutti i Server Virtuali che vogliamo, accenderli e spegnerli quando ci serve, fintanto che abbiamo crediti a disposizione.

Il sistema si basa sulla piattaforma Apache CloudStack, utilizzata senza particolari customizzazioni. Se siete già pratici della piattaforma quindi saprete già come muovervici.

Per chi non conosce CloudStack sappiate invece che è un sistema IaaS (Infrastructure-As-A-Service) che permette di creare la propria infrastruttura informatica in Cloud. Oltre a "semplici" VPS vi si possono creare anche complesse reti private virtuali.
Per adesso a noi comunque interessa sfruttare un singolo VPS

Per creare un nuovo Server Virtuale bisogna connettersi al pannello di controllo di iwStack, i cui dati di accesso ci vengono forniti via mail una volta registrati, e creare una nuova "instance" tramite un wizard apposito. Gli step principali del wizard sono:

  1. Selezione datacenter e template: nel primo step salta subito all'occhio l'opzione che consente di scegliere una ISO e un template.
    • I template sono delle configurazione preconfezionate di Sistema Operativo più eventualmente alcuni software. Il template scelto determina anche la dimensione del disco principale, che non potete decidere indipendentemente quindi. La comodità di scegliere un template sta nel fatto che non dovrete eseguire l'installazione del Sistema Operativo a mano.
    • Selezionando ISO invece avete la possibilità molto più interessante di installare un qualsiasi Sistema Operativo di cui abbiate l'immagine .iso. Questa dev'essere presente in rete da qualche parte in modo che il sistema possa scaricarla. Per la mia prova ho utilizzato Ubuntu Server senza problemi. La parte difficile in questo caso sta nel fatto che dovete eseguire il processo di installazione da voi. Per farlo ci si può connettere via VNC utilizzando una funzionalità apposita nel pannello di controllo di iwStack.
  2. Oltre a questo, nel primo step potete scegliere in quale regione geografica creare il vostro Server.
  3. Selezione del template: in questo step potete scegliere un template o un'immagine ISO, a seconda dell'opzione che avete selezionato nel passaggio precedente. Il provider fornisce già una serie di template e immagini ISO dei Sistemi Operativi più conosciuti, ma potreste anche caricare un'immagine vostra come già detto. Volendo in seguito potreste anche creare dei template voi stessi da riutilizzare poi in questo passaggio.
  4. Offerta Computazionale: a questo punto dovete scegliere la "potenza" della vostra macchina virtuale, sono presenti vari tagli con differenti cpu e quantità di RAM. Questi due elementi non possono essere scelti indipendentemente, ma la scelta di configurazioni è piuttosto ampia ed equilibrata.
  5. Disk Offering: questo step varia a seconda che abbiate scelto un template o una ISO. Nel caso abbiate scelto un template qui potrete scegliere di aggiungere un disco aggiuntivo a quello principale definito nel template stesso. Potete anche scegliere di non aggiungere un ulteriore disco. Se invece avete scelto un'immagine ISO a questo punto dovete scegliere la dimensione del disco principale. Molti template usano un disco principale di 40GB, in realtà però la maggior parte delle distribuzioni Linux si possono installare tranquillamente su un disco da 10GB. In seguito poi è possibile comunque creare degli altri dischi virtuali da collegare al VPS.
  6. Affinity: se avete creato dei gruppi di affinità qui potete indicare a quale gruppo assegnare il nuovo server. Questa funzionalità è utile in caso abbiate più VPS in una configurazione pensata per la tolleranza ai guasti. I gruppi di affinità permettono di far sì che i diversi Server Virtuali vengano creati in macchine fisiche differenti, in modo che un guasto ad una di queste non renda inutilizzabili tutti i nostri server virtuali.
  7. Network: in quest'ultimo passaggio si può decidere a quale rete collegare la macchina virtuale. Se non avete configurazioni particolari vi connetterete alla rete Public che consentirà al VPS di essere "visto" pubblicamente con un suo indirizzo IP.

Effettuate le vostre scelte e dato l'OK il Server Virtuale verrà creato in qualche minuto. Se avete creato il server da un template potete subito connettervi tramite SSH e fare quel che dovete, installare i vostri applicativi e quant'altro.

Se avete scelto l'installazione da ISO vi aspetta ancora un po' di lavoro. Non cercate di connettervi con un client SSH perché ovviamente non ci sarà niente ad ascoltarvi. Quel che bisogna fare è lanciare la console VNC tramite il link presente nella scheda di riepilogo del VPS che avete appena creato. Vi accorgerete che il Server Virtuale è stato creato con l'immagine ISO agganciata come disco di boot, quindi molto probabilmente vi troverete di fronte alla schermata iniziale di installazione del Sistema Operativo che avete scelto.

Una volta finita l'installazione del S.O., dal pannello web dovrete scollegare l'immagine ISO e riavviare il Server Virtuale. Se non scollegate la ISO continuerà a ripresentarvisi la procedura di installazione. A questo punto avete il vostro Server Virtuale su misura per voi!

I prezzi delle diverse configurazioni sono molto interessanti anche se bisogna stare attenti a far bene i conti perché il calcolo è separato tra spazio di archiviazione e CPU/RAM. Fortunatamente abbiamo a disposizione un comodissimo calcolatore di prezzo

Lo spazio di archiviazione si paga per GB allocato, quindi se avete creato un disco da 10GB, pagherete per 10GB/mese, che li utilizziate tutti o meno. Il prezzo dello storage è di 0.072 al GB al mese, il che equivale a meno di un euro al mese per un disco da 10GB.

Per quanto riguarda la potenza di calcolo e RAM il taglio minimo è di 512MB di RAM con 1 CPU virtuale, al prezzo di 2.16€ al mese. Non male.

Io ho optato per un VPS con 2 CPU e 1.5GB di RAM al costo di 3.6€ al mese, a cui aggiungere gli 0.72€ per il disco da 10GB, più che sufficienti per un sito di medie dimensioni ad esempio.

Sempre parlando di prezzi manca solo da specificare il costo del traffico dati. Il traffico in ingresso è sempre gratuito, mentre per quanto riguarda il traffico in uscita ogni VPS comprende già nel prezzo 2TB al mese. Se riuscite a sfondare questo limite, il traffico in eccesso costa 0.002€ per ogni GB in più utilizzato.

Pro e Contro

  • I pro di iwStack sono la libertà di installare il Sistema Operativo a partire da una qualsiasi immagine ISO, i prezzi molto concorrenziali e un buon bilanciamento CPU/RAM delle varie offerte. In particolare la quantità di RAM delle varie configurazioni è molto generosa.
    Per chi ha le skill adeguate è inoltre possibile creare reti e configurazioni di rete custom.
  • Tra i contro c'è sicuramente la complessità di gestione e configurazione delle VPS rispetto ad altri servizi, in particolare se si vuole utilizzare una propria ISO. Inoltre i template preconfigurati non sono aggiornatissimi.
    Altro fattore che per alcuni potrebbe essere importante è il fatto che tutti i datacenter al momento sono in Europa.

Chiaramente iwStack è un servizio di una complessità maggiore rispetto agli altri menzionati in questo articolo, forse un po' troppo per chi vuole semplicemente un singolo VPS e per chi ha appena iniziato e ha poca dimestichezza con la gestione e configurazione di server.

Se d'altra parte avete il tempo e la volontà (e anche il tempo) di studiare e imparare, iwStack fornisce un servizio veramente versatile e dal prezzo più conveniente.

 

Conclusioni

Tutti e tre i servizi sono ottimi per il loro prezzo e fra tutti e tre ho avuto pochissimi problemi. Se stai cercando o vuoi provare un Server Virtuale ti consiglio:

  • DigitalOcean se vuoi un servizio facile da usare e con pagamento a consumo
  • BuyVM se vuoi risparmiare qualcosa sul prezzo mantenendo comunque una buona potenza e sei disposto a rinunciare a un po' di versatilità e a pagare in anticipo
  • Prometeus iwStack se hai già buone conoscenze sistemistiche e vuoi massima libertà di configurazione

Se questo articolo ti è stato utile ti chiedo di condividerlo, e se hai dubbi o domande su quanto detto non esitare a scrivere nei commenti!