Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Da un vecchio server bollito al cloud

weLaika
February 08, 2016

Da un vecchio server bollito al cloud

Siamo abituati a pensare al cloud computing come qualcosa di etereo e intoccabile, ma a volte invece di usare Heroku può valere la pena azzardarsi a fare qualcosa di personalizzato, specialmente se, come me, si ha un’applicazione legacy in PHP.
Vi racconterò la mia esperienza di come siamo arrivati ad avere una rete di server in cloud partendo da un singolo server in fin di vita.

weLaika

February 08, 2016
Tweet

More Decks by weLaika

Other Decks in Programming

Transcript

  1. Load balancer Auto scaling Web server instance Database instance Virtual

    private network Cache Network File System Content Delivery Network Bastion
  2. Perché? Banalmente perché un giorno d'estate il server è fallito

    miseramente, lasciando a piedi tutta l'azienda per circa 5 ore • nessun cliente poteva effettuare acquisti • nessun ordine poteva essere completato al workshop • nessun nuovo progetto poteva essere mandato a clienti • amministrazione bloccata Circa 50 persone ferme, o quasi. Perdite stimate in decine €K
  3. Obiettivi del talk Portarvi a casa qualche spunto su: •

    Alcuni problemi che ho incontrato nel migrare un'applicazione legacy sul cloud • Una possibile rete virtuale per gestire un'applicazione web • Gli elementi di questa rete
  4. Se vi ho convinto Il problema principale è stato quello

    di avere una qualche parità tra ambiente di sviluppo locale e server live Stop al cowboy server
  5. Chef & Vagrant • Tra le varie alternative in cui

    mi sono imbattuto per gestire VM e installare software ho scelto la combinazione Chef & Vagrant • Chef per gestire il setup del software, la documentazione, in qualche misura • Vagrant per riprodurre il setup in locale e sul server remoto
  6. Codice e asset esistenti • Server NFS per condividere codice

    e asset esistenti tra diversi server • Garantisce compatibilità col software esistente • Performance OK • Single-point-of-failure :( – Ma molto stupido e facile da rimpiazzare – Tappa intermedia verso object storage remoto
  7. Worker come se non ci fosse un domani • I

    worker sono sostituibili • Spegni, butti via, fai partire uno nuovo • Aggiornabili • Scalabili
  8. Bastion Menzione speciale per il bastion host • Server ponte

    per entrare nella rete privata virtuale • Cronjob • Deploy
  9. Load balancer Auto scaling Web server instance Database instance Virtual

    private network Cache Network File System Content Delivery Network Bastion