Discussione Gestione sistemistica server

Stato
Discussione chiusa ad ulteriori risposte.

Bostik

Utente Jade
28 Ottobre 2009
1,149
101
265
700
Ciao a tutti,
Vorrei esporvi un'idea, più che altro rivolta ai founder dei vari server, riguardante la gestione sistemistica di un progetto.

Che io sappia attualmente non esistono figure che offrono servizi "professionali" da questo punto di vista, ad eccezione de @iltizio .
La mia domanda è: attualmente in linea di massima come viene gestita e strutturata l'infrastruttura?
Azzarderei in questo modo:
  • 1 server "carrozzato" principale dove risiedono game e db
  • 1 server web per il sito (a meno che non sia addirittura tutto sullo stesso del game, e in questo caso mi vien da piangere)
  • Backup non gestito in modo centralizzato con macchine e storage dedicati, ma direttamente sui server principali (rsync ogni tot? mah)
  • Nessun tipo di monitoraggio delle risorse (cpu, ram, disco, traffico rete, status processi e/o porte)
E a questo punto arriviamo al nocciolo della questione: secondo voi converrebbe investire nella predisposizione di un'infrastruttura tale da permettere l'erogazione del servizio il più professionale possibile? Magari basandosi su un Private Cloud dove si ha pieno controllo delle risorse e dove sia possibile pensare di strutturare delle soluzioni adatte alla continuità del servizio e protezione del dato?
Più schematicamente in questo modo:
  • Utilizzo esclusivo di macchine virtuali
  • Firewall perimetrale con configurazioni ad hoc
  • Ambiente network e storage dedicato ai vari progetti
  • Server di backup unico con policy specifiche per ogni progetto utilizzando software ad alto livello che permettano il backup via snapshot o via agent specifici per i database
  • Server di monitoraggio unico dove attestare le macchine dei vari progetti
  • Fornitura "base" per un progetto
    • 1 server test non eccessivamente performante
    • 1 server prod dmz per game con IP pubblico dedicato
    • 1 server prod per db
    • 1 server prod dmz per web con IP pubblico dedicato e dominio
    • Collegamento vpn c2s per i servizi critici (ssh, sftp, db)
  • Ovviamente l'infrastruttura va aumentando sia a livelli di risorse che a numero di server in base al budget

Riassumendo ancora di più, investire in un ambiente per essere provider di servizio, lasciando sì la libertà ai founder di muoversi come meglio credono all'interno della loro infrastruttura, ma gestendo tutto quello che il player finale non vede ma che se manca se ne accorge (lag dovuti al sottodimensionamento, fermi perchè un disco si è saturato, arrabbiati neri perchè il primo backup utile è di X settimane prima ecc ecc).

Il lavoro del provider sarebbe quello di:
  • Configurare il contesto di rete e storage
  • Installare le varie vm
  • Configurare monitoraggi e backup
  • Intervenire più o meno sulle problematiche infrastrutturali in base al budget (gestione allarmi del monitoraggio, controllo periodico degli esiti del backup...)
  • Fornire o meno supporto lato infrastruttura (NON applicativo)

Probabilmente è un'idea poco adatta al mondo di Metin2, considerando l'enorme investimento iniziale e la poca certezza di avere dei ritorni fissi, e sicuramente non è lavoro per una singola persona.
 
Ultima modifica da un moderatore:
Ciao a tutti,
Vorrei esporvi un'idea, più che altro rivolta ai founder dei vari server, riguardante la gestione sistemistica di un progetto.

Che io sappia attualmente non esistono figure che offrono servizi "professionali" da questo punto di vista, ad eccezione de @iltizio .
La mia domanda è: attualmente in linea di massima come viene gestita e strutturata l'infrastruttura?
Azzarderei in questo modo:
  • 1 server "carrozzato" principale dove risiedono game e db
  • 1 server web per il sito (a meno che non sia addirittura tutto sullo stesso del game, e in questo caso mi vien da piangere)
  • Backup non gestito in modo centralizzato con macchine e storage dedicati, ma direttamente sui server principali (rsync ogni tot? mah)
  • Nessun tipo di monitoraggio delle risorse (cpu, ram, disco, traffico rete, status processi e/o porte)
E a questo punto arriviamo al nocciolo della questione: secondo voi converrebbe investire nella predisposizione di un'infrastruttura tale da permettere l'erogazione del servizio il più professionale possibile? Magari basandosi su un Private Cloud dove si ha pieno controllo delle risorse e dove sia possibile pensare di strutturare delle soluzioni adatte alla continuità del servizio e protezione del dato?
Più schematicamente in questo modo:
  • Utilizzo esclusivo di macchine virtuali
  • Firewall perimetrale con configurazioni ad hoc
  • Ambiente network e storage dedicato ai vari progetti
  • Server di backup unico con policy specifiche per ogni progetto utilizzando software ad alto livello che permettano il backup via snapshot o via agent specifici per i database
  • Server di monitoraggio unico dove attestare le macchine dei vari progetti
  • Fornitura "base" per un progetto
    • 1 server test non eccessivamente performante
    • 1 server prod dmz per game con IP pubblico dedicato
    • 1 server prod per db
    • 1 server prod dmz per web con IP pubblico dedicato e dominio
    • Collegamento vpn c2s per i servizi critici (ssh, sftp, db)
  • Ovviamente l'infrastruttura va aumentando sia a livelli di risorse che a numero di server in base al budget

Riassumendo ancora di più, investire in un ambiente per essere provider di servizio, lasciando sì la libertà ai founder di muoversi come meglio credono all'interno della loro infrastruttura, ma gestendo tutto quello che il player finale non vede ma che se manca se ne accorge (lag dovuti al sottodimensionamento, fermi perchè un disco si è saturato, arrabbiati neri perchè il primo backup utile è di X settimane prima ecc ecc).

Il lavoro del provider sarebbe quello di:
  • Configurare il contesto di rete e storage
  • Installare le varie vm
  • Configurare monitoraggi e backup
  • Intervenire più o meno sulle problematiche infrastrutturali in base al budget (gestione allarmi del monitoraggio, controllo periodico degli esiti del backup...)
  • Fornire o meno supporto lato infrastruttura (NON applicativo)

Probabilmente è un'idea poco adatta al mondo di Metin2, considerando l'enorme investimento iniziale e la poca certezza di avere dei ritorni fissi, e sicuramente non è lavoro per una singola persona.

Ciao, questa domanda può avere risposta solamente se si tiene in considerazione tutto il progetto, quindi dal gameplay fino al numero di utenti al quale risponderà. Ogni progetto di metin2, andrebbe studiato come se fosse un'azienda

In linea generale, è chiaro che se il progetto dovrà rispondere a solamente 100 utenti, aprirà solamente in Italia e si prospetta una durata media di 3 mesi, è un lavoro che risulterebbe inutile. Magari riusciresti a recuperarne i costi iniziali perchè comunque il progetto avrebbe delle entrate, tuttavia non ne trarresti nessun beneficio e non è detto che abbia una sua utilità, considera sempre che i player(almeno in Italia) non sarebbero in grado di riconoscere le qualità che differenziano il tuo server a quello di un altro progettato in 15 minuti e sicuramente non sarebbe uno sforzo apprezzato.

Se il progetto, avrà un grande lavoro dietro sotto qualunque aspetto, quindi dal gameplay alle lingue, risponderà ad un elevato numero di utenti, se sarà fatto una sponsorizzazione adeguata, se verrà creato hype, senza un'infrastruttura adeguata il progetto non sarebbe in grado di durare 1 giorno.
E' chiaro che in questo caso la risposta è si, ovviamente conviene, anzi è essenziale.

Comunque, a prescindere dalla grandezza del progetto, avere:

-Uno spazio di storage esterno o utilizzare gli Snapshot per creare in pochi click un’istantanea del proprio server virtuale, è essenziale (backup del db ogni 15 minuti, ogni ora della struttura portante)
-Un server test, per poter provare tutte le modifiche legate al gameplay senza lavorare sull'ufficiale è sicuramente essenziale (potresti integrare uno script di migrazione dall'official al server test)
-Un minimo sistema di monitoraggio per controllare le informazioni base come cpu o ram è sicuramente essenziale (per evitare appunto problemi di un sovrautilizzato delle risorse a propria disposizione)




Troverai sicuramente qualche commento utile anche qua
 
Ciao a tutti,
Vorrei esporvi un'idea, più che altro rivolta ai founder dei vari server, riguardante la gestione sistemistica di un progetto.

Che io sappia attualmente non esistono figure che offrono servizi "professionali" da questo punto di vista, ad eccezione de @iltizio .
La mia domanda è: attualmente in linea di massima come viene gestita e strutturata l'infrastruttura?
Azzarderei in questo modo:
  • 1 server "carrozzato" principale dove risiedono game e db
  • 1 server web per il sito (a meno che non sia addirittura tutto sullo stesso del game, e in questo caso mi vien da piangere)
  • Backup non gestito in modo centralizzato con macchine e storage dedicati, ma direttamente sui server principali (rsync ogni tot? mah)
  • Nessun tipo di monitoraggio delle risorse (cpu, ram, disco, traffico rete, status processi e/o porte)
E a questo punto arriviamo al nocciolo della questione: secondo voi converrebbe investire nella predisposizione di un'infrastruttura tale da permettere l'erogazione del servizio il più professionale possibile? Magari basandosi su un Private Cloud dove si ha pieno controllo delle risorse e dove sia possibile pensare di strutturare delle soluzioni adatte alla continuità del servizio e protezione del dato?
Più schematicamente in questo modo:
  • Utilizzo esclusivo di macchine virtuali
  • Firewall perimetrale con configurazioni ad hoc
  • Ambiente network e storage dedicato ai vari progetti
  • Server di backup unico con policy specifiche per ogni progetto utilizzando software ad alto livello che permettano il backup via snapshot o via agent specifici per i database
  • Server di monitoraggio unico dove attestare le macchine dei vari progetti
  • Fornitura "base" per un progetto
    • 1 server test non eccessivamente performante
    • 1 server prod dmz per game con IP pubblico dedicato
    • 1 server prod per db
    • 1 server prod dmz per web con IP pubblico dedicato e dominio
    • Collegamento vpn c2s per i servizi critici (ssh, sftp, db)
  • Ovviamente l'infrastruttura va aumentando sia a livelli di risorse che a numero di server in base al budget

Riassumendo ancora di più, investire in un ambiente per essere provider di servizio, lasciando sì la libertà ai founder di muoversi come meglio credono all'interno della loro infrastruttura, ma gestendo tutto quello che il player finale non vede ma che se manca se ne accorge (lag dovuti al sottodimensionamento, fermi perchè un disco si è saturato, arrabbiati neri perchè il primo backup utile è di X settimane prima ecc ecc).

Il lavoro del provider sarebbe quello di:
  • Configurare il contesto di rete e storage
  • Installare le varie vm
  • Configurare monitoraggi e backup
  • Intervenire più o meno sulle problematiche infrastrutturali in base al budget (gestione allarmi del monitoraggio, controllo periodico degli esiti del backup...)
  • Fornire o meno supporto lato infrastruttura (NON applicativo)

Probabilmente è un'idea poco adatta al mondo di Metin2, considerando l'enorme investimento iniziale e la poca certezza di avere dei ritorni fissi, e sicuramente non è lavoro per una singola persona.
Molto tempo fa provai a creare un meccanismo del genere per un server. I costi sono alti e molto spesso i progetti hanno budget limitati. Ma ovviamente fare un progetto fatto come si deve necessita di tutto ciò. Forse in Italia ci saranno due o tre interessati, all'estero un po' di più ma avere una risorsa del genere non sarebbe da buttare via in quanto offre dei benefici che non sono da buttare via a livello di infrastruttura. Ma bisogna soffermarsi su due punti Utenza media? quali sono i costi da sostenere?
 
Sicuramente il costo è il limite principale da scavalcare.
Se non si dispone di uno spazio privato in qualche datacenter per poter offire un servizio del genere occorre per forza appoggiarsi ad un Private Cloud, ma i costi mensili di solo materiale sono parecchi. Questa una stima per due/tre progetti di dimensioni tutto sommato minime

1609948020598.png


Il che vorrebbe dire chiedere ai founder una spesa di almeno 400 euro al mese (almeno 3 progetti) contando che lo storage così è senz'altro sottostimato per delle politiche di retention adeguate.

A questo andrebbero aggiunti i costi di "ore uomo" per la gestione del tutto, e dubito che ci siano persone disposte a spendere come minimo 500/600 euro solo di infrastruttura (senza contare gli acquisti necessari per il game vero è proprio: file, systems, ecc ecc)

Come avete detto voi, in Italia il mercato è molto scarso da questo punto di vista e non converrebbe. Bisognerebbe spingersi all'estero, ma comunque bisogna contare l'apertura di una partita IVA per fatturare il tutto e sappiamo bene quanto possa essere onerosa.
Sarebbe fattibile se ci fossero più soci, o se si avesse dello spazio in qualche dc già disponibile e poco utilizzato (praticamente impossibile)

Niente, volevo solo farmi un'idea di quanto sia curata l'infrastruttura in questo ambito, solo per fare un confronto tra quello che gestisco quotidianamente in azienda e quello che viene utilizzato in ambienti "dilettantistici"
 
Ultima modifica da un moderatore:
Sicuramente il costo è il limite principale da scavalcare.
Se non si dispone di uno spazio privato in qualche datacenter per poter offire un servizio del genere occorre per forza appoggiarsi ad un Private Cloud, ma i costi mensili di solo materiale sono parecchi. Questa una stima per due/tre progetti di dimensioni tutto sommato minime

Visualizza allegato 48581

Il che vorrebbe dire chiedere ai founder una spesa di almeno 400 euro al mese (almeno 3 progetti) contando che lo storage così è senz'altro sottostimato per delle politiche di retention adeguate.

A questo andrebbero aggiunti i costi di "ore uomo" per la gestione del tutto, e dubito che ci siano persone disposte a spendere come minimo 500/600 euro solo di infrastruttura (senza contare gli acquisti necessari per il game vero è proprio: file, systems, ecc ecc)

Come avete detto voi, in Italia il mercato è molto scarso da questo punto di vista e non converrebbe. Bisognerebbe spingersi all'estero, ma comunque bisogna contare l'apertura di una partita IVA per fatturare il tutto e sappiamo bene quanto possa essere onerosa.
Sarebbe fattibile se ci fossero più soci, o se si avesse dello spazio in qualche dc già disponibile e poco utilizzato (praticamente impossibile)

Niente, volevo solo farmi un'idea di quanto sia curata l'infrastruttura in questo ambito, solo per fare un confronto tra quello che gestisco quotidianamente in azienda e quello che viene utilizzato in ambienti "dilettantistici"

Se il progetto è ben studiato, non lasciato al caso e progettato per durare (ovviamente internazionale) sono costi che si possono e si devono sostenere, altrimenti il progetto non ha nemmeno il tempo di andare online.
Come ho già detto, deve essere progettato tutto nel dettaglio e si deve avere oltre che una buona organizzazione, anche buone capacità a livello gestionale e sicuramente una grande esperienza.
Un'infrastruttura ben curata non può non essere seguita da un supporto automaticizzato al 100%, da un sistema professionale per il cambio delle lingue, da una buona coordinazione interna, da un gameplay curato nel minimo dei dettagli con novità esclusive, pubblicità e hype ai massimi livelli (attraverso l'uso dei social networks)

Se parliamo del classico progetto italiano, livello 1-99, old style che punta a una media di 100-150 utenti, sono troppi

In realtà, è un tema che avevamo affrontato in un altra piattaforma(magari qualcuno leggendo ricorda), spiegando il funzionamento e dove parlando di determinati costi per l'infrastruttura, sembrava quasi falso o impossibile. Vedere un post, con cognizione di causa, mi fa piacere (anche se ovviamente i costi dipendono tutto dalla progettazione e dall'obiettivo non è obbligatorio spendere moltissimo come non è obbligatorio spendere poco)

Per progettare un server di qualità, stabile, internazionale e per suscitare hype/diffondere il nome del server, bisogna avere un budget molto elevato e non si può pensare di "non essere in regola" come molti fanno quando pubblicano il progetto come internazionale nella sezione Progetti & Idee di inforge(inconsapevolmente hai detto una parte delle stesse cose dette da me per rispondere a una domanda pubblica un paio di mesi fa).
Tra l'altro l'organizzazione è un parametro complesso, e non si può neppure pensare di avere [GM] o qualsiasi figura che lavora per il server, e pensare di non pagarla ma piuttosto che sei tu a fare un favore (al gm in questione) in quanto gli stai offrendo la possibilità di essere un GM(come succedeva nel 2011 e come succede in molti privati italiani di oggi)
La parte più complessa in assoluto, forse è la realizzazione di un supporto(in gran parte se non totalmente automatico) e pronto a rispondere alle esigenze di 1000 giocatori senza dover perdere 30 minuti per esaminare caso per caso
La parte più costosa, invece, penso sia la sponsorizzazione del progetto, oltre i social networks e la creazione di materiale atto a suscitare hype che hanno già il loro costo(esteso per mesi) si aggiungono i costi relativi alla sponsorizzazione nelle varie comunità, per esempio mentre il banner su inforge ha un costo molto basso(100€ al mese che sono comunque da tenere in considerazione), su altre comunità il banner può arrivare a costare fino a 550€/30days

Considera ovviamente che queste sono "riflessioni" fatte al momento, poi per la creazione di un progetto internazionale ci vorrebbero settimane solamente di studio ed analisi, che comporterebbero costi decisamente più elevati e una struttura più precisa
 
Io ad esempio ci avevo provato anni fa a fare qualcosa di simile. Ho fatto esattamente quello che hai elencato, con la differenza che il private cloud non era comune e troppo caro. Quello di OVH attuale è abbastanza recente e sembra interessante.
Avevo provato diverse configurazioni, puntando all'inizio ad ovviare alle mancanze che avevano i progetti, e che tutt'ora hanno, come i backup veri e il monitoraggio, nonchè una configurazione del o dei server fatti su misura per metin2. Non ci ho mai ricavato molto, ma ho avuto comunque diversi clienti anche in Italia.
Alla fine ho visto che del monitoraggio anche se gli era stato predisposto nessuno lo considerava, dei backup andava un po' meglio. Addirittura vendevo dei piccoli servizi di solo backup.
Alla fine avendo sempre meno tempo a disposizione e con poco interesse da parte degli utenti alla qualità, in favore del costo ho anche io ridotto i costi e rimosso ovviamente anche tutto quello che mi costava sia in termini di tempo che di spese monetarie.

Credo che l'idea non sia comunque da buttare, anzi se avessi tempo e magari un'appoggio da qualche socio ci riproverei, ovviamente in modo diverso.

L'ideale è puntare sulla semplicità di utilizzo/gestione per gli utenti, ridurre i costi di mantenimento per il provider e trovare il giusto fornitore che non costi troppo e che abbia quel poco che serve per permetterti di creare quello che ti serve.

L'unica soluzione che vedo è un SaaS di metin2. Quindi si punta alle nuove metodologie come SRE o GitOps per creare un infrastruttura pressochè invisibile per il cliente (appunto un cloud). Questo ti permette di preparare tutto prima con calma e quando parti sarà tutto quello che hai preparato prima a fare il grosso, così ti potrai occupare solo del gestire problemi ed aggiornamenti.

Non nascondo che comunque richiede tempo, passione e voglia di acquisire nuove competenze, peraltro molto richieste nel mondo dell'informatica, anche in Italia.

Quindi, per quello che ho visto, è fattibile se si punta alla quantità con tutto automatizzato, così da ammortizzare i costi per la qualità.
I punti chiave sono:
  • Automatizzare creazione e distruzione di progetti
  • Fornire più scelte anche di pacchetti in base ai budget e tipologia di progetto
  • Automatizzare la manutenzione ordinaria. Esempio banale: se tieni i filesystem puliti non hai bisogno di enormi quantità di spazio disco
  • Rendere semplice la vita al cliente: Il cliente vede l'infrastruttura come qualcosa di poco importante, di complicato e costoso, preferisce buttare soldi e tempo sulla grafica e lo sviluppo di funzionalità di immediato impatto per il giocatore
  • Non puntare solo sulla qualità. Bisogna attirare l'attenzione offrendo un servizio migliore allo stesso prezzo o poco più.
  • Punta molto sulla pubblicità di massa.

Detto questo, se vuoi puoi anche iniziare con cautela per tastare la situazione e le idee se non sei del tutto convinto, poi aggiusti il tiro.
Se ti serve una mano sarò lieto di collaborare, per il tempo che posso offrire.
 
@Wonka Team23 Solo per chiarimento, i requisiti indicati nello screenshot sarebbero per l'infrastruttura fornitrice, non per un singolo server. Quindi con quelle risorse si andrebbe a gestire tutte le macchine, sarebbero quelle da assegnare al vCenter generale per poter poi assegnarle (o riservarle) ai vari server in base alle necessità.

Ovviamente questa soluzione non è totalmente automatizzata, è più un Managed Cloud, dove il tecnico si prende l'incarico di effettuare i deploy e le configurazioni necessarie non strettamente legate al game in sè: quindi solo fornire le varie vm, il monitoraggio e i backup.

L'idea che ha proposto @iltizio invece, è parecchio interessante. Un sistema SaaS per M2, quindi si andrebbe ad operare più sulla parte esterna alle macchine in sè, quindi dando spazio per il backup (via internet o vpn s2s con le macchine ovh comunenemente usate? Ci si può pensare).
Oppure fornire un'infrastruttura del tutto automatizzata, ma qui si andrebbe a scomodare tecnologie come Ansible o Terraform, non eccessivamente complicate ma sicuramente non ancora comuni. Ma si entra nell'ambito DevOps e purtroppo non ho l'esperienza per poter stimare tempi e costi di una soluzione del genere.

Concordo sul fatto di sensibilizzare maggior mente gli staff al monitoraggio dei sistemi: non è assolutamente possibile che siano gli utenti a segnalare lag o down dei server principali. Andrebbero configurate soluzioni tali da inviare come minimo una mail automatica in caso di problemi a chi di dovere, se non addirittura chiamate o sms.
La parte di backup sicuramente è più sentita, ma anche qui a far bene bisognerebbe coinvolgere software e persone in grado di lavorare bene con i database. Così facendo si potrebbero configurare dei job andando a salvare anche ogni 5 minuti i log delle varie transazioni del db, non dovendo fare un dump totale, per ricostruire il dato basandosi unicamente sui log del db. Il dump completo ovviamente una volta al giorno è il minimo.
Per i server game o web una snap è assolutamente più che sufficiente, non avendo dimensioni esagerate o cambio di file troppo frequenti, idem per il db server. MySQL o MariaDB non hanno nessun problema a lavorare con le snapshot del filesystem (a differenza di un Oracle o di un Hana di turno).

Ma tornando alla questione SaaS, quali sarebbero i servizi che i founder affiderebbero a terzi? Backup/monitor ok. Poi?
 
Stato
Discussione chiusa ad ulteriori risposte.