Εγώ πάλι θα ψηφίσω υπέρ του Virtual Machine. Δουλεύω σε desktop και κάνω web development. Φυσικά, να πω οτι όπως ίσως αντιλαμβάνεσαι και εσύ, το τι αξιοποιεί κανείς και το πώς εξαρτάται τόσο από τον τρόπο και το αντικείμενο εργασίας του όσο και από τις προσωπικές του προτιμήσεις. Δεν υπάρχει γενικά "σωστό" ή "λάθος", υπάρχει "με βολεύει" και "κάνει τη δουλειά που θέλω όπως τη θέλω".
Πάμε λοιπόν:
To desktop μου έχει όσες εφαρμογές χρειάζομαι συχνά (office, έναν ftp client, ...παιχνίδια :) και τίποτα άλλο). Visual studio, sql server, iis κλπ κλπ βρίσκονται σε virtual machine.
Αυτό μου δίνει τις εξής δύο δυνατότητες (εκτός των εγγενών δυνατοτήτων που έχει ένα virtual machine, π.χ. snapshots):
1. Κατά καιρούς παίρνω backup του virtual "ως έχει" σε ένα δεύτερο μηχάνημα ή NAS, και έχω το κεφάλι μου ήσυχο.
2. Μπορώ να "σκίσω" το desktop μου και να το ξαναστήσω, ή να αναβαθμιστώ σε ένα τελείως διαφορετικό μηχάνημα. Το μόνο που χρειάζομαι για να συνεχίσω την εργασία μου είναι το virtual machine μου, δηλαδή ένα copy.
Εγώ έχω 6GB στο desktop (ξέρω, είναι λίγα) και δίνω 2GB στο virtual. Εχω δύο, αλλά κάθε φορά φροντίζω να έχω μόνο ένα ανοικτό. Σε άλλο configuration (στη δουλειά) εχω φτιάξει ένα vm host (hyper-v) με 12GB που τρέχει αρκετά VMs με μνήμη το καθένα από 1 ως 3 GB αναλόγως τις ανάγκες. Γενικά, δεν χρειάζονται περισσότερη για απλά πράγματα, εκτός αν θέλεις να τα "σκίσεις".
Ναι, το αντιμετωπίζω σαν desktop μηχάνημα, αν και δεν του έχω στήσει antivirus πέρα από τα security essentials, όμως έχει κανονικά firewall.
Η πρακτική μου με το virtual θα με ωφελήσει πολύ τώρα που φτιάχνω καινούριο μηχάνημα, όπως ακριβώς ανέφερα παραπάνω. Απλά θα μεταφέρω τα VMs μου εκεί, ένα copy και συνεχίζω τη δουλειά μου.
Για το θέμα του χώρου, δυστυχώς δεν έχω κάτι να σου απαντήσω.
Για την ερώτησή σου σχετικά με το αν πρέπει να χρησιμοποιείς εφαρμογές από το host machine, η δική μου απάντηση είναι "ναι". Αν θέλω να ακούσω μουσική, θα την ακούσω από το host. Ομως, αν θέλω να κάνω development, θα το κάνω από το virtual.
Ενα άλλο πράγμα που έχω στο host μου για να εξασφαλίσω backups μέρα με τη μέρα, είναι οι εφαρμογές
Crashplan και
Syncback. Να σου περιγράψω λίγο τι κάνω με αυτές:
- Το VM παίρνει scheduled backups του sql server σε ένα folder του - κρατάει μερικές μέρες πίσω μόνο, αν και θα μπορούσε να παίρνει μόνο την τελευταία (δες παρακάτω γιατί).
- Το syncback στο host παίρνει file backups στo host (new or changed only) τόσο των sql backups όσο και του folder που "δουλεύω" τα διάφορα projects, ανά μία ώρα (όταν φυσικά το virtual είναι ανοιχτό). Φυσικά,απαιτείται να υπάρχει ένα share στο VM, έχω επιλέξει να έχω διαφορετικά credentials για login στο VM από ο,τι στο host (στο σπίτι δουλεύω σε workgroup), αλλά δεν "μασάει" το syncback από αυτά. :)
- To Crashplan ανεβάζει (continuously) τα backups από το host στο cloud οπου δεν διαγράφεται τίποτα. Ετσι, πετυχαίνω να έχω μια ανεξάντλητη ιστορικότητα.
(Φυσικά, το crashplan κοστίζει, αλλά θεωρώ οτι είναι money well spent).
Αυτή τη διαδικασία, φυσικά, μπορώ να την επαναλάβω για όσα virtual έχω, μόνο με μία εγκατάσταση των crashplan/syncback (γι'αυτό και τα έχω στο host).
Αν με ρωτήσεις γιατί δεν έχω κάποιο source control, η απάντηση είναι γιατί πολλές φορές δεν δουλεύω σε "αμιγές" project, αλλά σε μια αρμαθιά από customizations / configurations / σκόρπια files. Κάνω ανάπτυξη κυρίως σε Umbraco και DotNetNuke.
Να επαναλάβω οτι αυτό είναι το δικό μου "σενάριο" χρήσης, και ίσως να βολεύει μόνο εμένα!
Σωτήρης Φιλιππίδης
DotSee Web Services