Webentwicklung in virtueller Umgebung

In den letzten Tagen habe ich mich etwas mit der Virtualisierungssoftware VirtualBox von Sun Microsystems beschäftigt und will nun einmal über die Möglichkeiten und die Vorteile dieser Technik im Zusammenhang mit der Webentwicklung berichten.

Die meisten PHP-Programmierer, sofern sie nicht auf einem Linux-System mit grafischer Oberfläche arbeiten, werden das Problem sicherlich gut kennen.

Wenn man nur einen Rechner zur Verfügung hat und alle Dienste unter Windows laufen entspricht das sicherlich nicht unserem Live-System und wir können nicht alles zuverlässig testen und sind auch sonst an vielen Stellen eingeschränkt in unserer Arbeit. Zudem laufen die Dienste in der Regel immer mit an, auch wenn wir nicht Programmieren wollen und verbrauchen dann unnötig Rechenleistung.

Die zweite Möglichkeit wäre dann noch ein zweiter Entwicklungsrechner, auf dem wir ein Linux installieren und dann über das Netzwerk arbeiten. Das würde uns einen weiteren Rechner und natürlich auch noch Strom kosten. Selbst wenn dieser Entwicklungsserver von einem ganzen Team genutzt würde, besteht immernoch die Gefahr, das eine Mitarbeiter die Kiste aus Versehen in die Knie zwingt.

Durch die Arbeit mit der Virtuellen Box (oder vergleichbaren Programmen) kann nun jeder Entwickler auf seinem Windows gleichzeitig auch ein Linux-System zur Verfügung haben und dessen Vorteile nutzen (z.B. SymLinks, Cronjobs).

Einmal installierte und konfigurierte Systeme lassen sich exportieren und wieder an andere Verteilen, so dass eine einheitliche und dennoch individuelle Entwicklung möglich ist. Die Zeitersparnis beim Aufsetzen eines neues Entwicklungsrechners ist dabei enorm.

Die Gastsysteme können nach der Installation gewöhnlich wie jeder andere Rechner im Netzwerk angesprochen werden, d.h. wir könnten unsere PHP-Dateien mit FTP hochladen oder einfach eine Samba-Freigabe unseres virtuellen Servers nutzen.

Auf die einzelnen Schritte der Installation gehe ich in diesem Artikel nicht ein, könnte das aber bei ausreichenden Interesse für einen weiteren Artikel einplanen.

Meine Installation basiert auf einem Debian-Linux. Die Konfiguration beinhaltet neben den typischen LAMP-Komponenten (Apache2, MySQL und PHP5), u.A. Samba für die Netzwerkfreigabe, einen SSH-Server, um mit PuTTY darauf arbeiten zu können, PEAR, PHP-CodeSniffer, PHPUnit, Apache Ant, sowie phpMyAdmin und verschiedene Zend Framework Versionen.

Das exportierte Image ist dabei mit 734 MB klein genug, dass es auf einer CD oder einem USB-Stick weitergeben werden kann.

Die Technik der Virtualisierung ist nicht neu, aber ich denke, es ist eine gute und vor allem kostengünstige Alternative zu den anderen genannten Möglichkeiten.

Kommentare sind deaktiviert.

Schlagwörter: Adapter, Amazon, Animation, Annotations, Anonyme Klasse, Ant, Apache, API, Array, ArrayAccess, Attachment, AutoLoader, Bedienung, Bedingung, Benchmark, Bildbearbeitung, BOM, Bootstrap, Bot, Byte Order Mark, Callback, CamelCase, Canvas, Captcha, Cheatsheet, CLI, Closure, Cloud, CodeSniffer, Community, Comparator, Contest, Controller, Converter, CouchDB, Countable, Cronjob, CSV, CustomLibrary, Custom_Model, Data Mapper, Datei, Datenbank, Datenstruktur, Datentypen, Dating, Decorator, Dekorierer, Design Patterns, Dump, Duplikat, each, Eclipse, Entwicklung, Entwurfsmuster, Enum, Erweiterung, Eventhandling, Exception-Handling, Extension, Factory, Fehler, Flash, Foreach, Formatierung, Formular, Funktion, Futon, Header, HTML5, HTTP, IDE, If, Implementierung, InnoDB, Interceptor, Interface, isset, Iterator, Java, JavaScript, jQuery, Konfiguration, Konsole, Kontrollstruktur, kopieren, Late Static Binding, Layout, Linux, Listeners, Logging, Löschen, Magento, Magic Methods, Marketing, Methode, Model, MVC, MySQL, NetBeans, Objekt, Observable, Observer, OOP, Operator, Parameter, Partnersuche, Performance, PHP, phpMyAdmin, PHPUnit, Plugin, Proxy, Qualitätssicherung, Query, Reflection, Request, Response, Rest-API, Rockstar, Routing, S3, Samba, Scheifen, Schleife, Schutz, Secure Shell, Selbstreferenz, Shop, Sicherheit, Sicherung, Singleton Pattern, SOAP, Sortierung, Sourcecode, Spam, Speicherproblem, Spickzettel, SPL, SSH, Statement, Stellvertreter, Strategy Pattern, Stream, String, Sun VirtualBox, Support, Switch, Symfony, Symfony2, Symfony Live, Tag, Template, Template Method, Ternär Operator, Testing, Thumbnail, Tool, Tour, Twig, Type-Cast, Umwandlung, Underscore, unset, Vererbung, Verzweigung, Video, Videospiel, Virtualisierung, Visitor Pattern, Vorschaubild, walk, Webserver, Webservice, Weiterleitung, Wrapper, Youtube, Zeitsteuerung, Zend Framework, Zend_Cloud, Zend_CodeGenerator, Zend_Http_Client, Zend_Service, Zugriffsmethode