Frage

Wir haben eine Business-Anwendung, die auf einem OS-unabhängigen Stack im Grunde läuft (tomcat + java + MySQL), aber wir haben immer führen Sie es oder centos redhat.

Es ist ein Kunde, der es auf Opensolaris zu laufen aus seinen eigenen Gründen darauf besteht (ein teures alles-ist-inklusive Support-Vereinbarung mit Sun).

Wie schmerzhaft kann eine solche Migration sein? Wir haben eine Menge von Konfigurationsdatei und Support Skripte wie:

  • Apache
  • Apache / Tomcat-Anschluss
  • E-Mail-Interaktion mit postfix
  • maßgeschneiderter Service Start / Stopp
  • ein paar Cron-Jobs (Backup, Monitoring)
  • verschiedene Benutzer und Berechtigungen (Java, MySQL, E-Mail, Backup ...)

Unser Build-Prozess gibt eine tar.gz-Datei mit unserem Business-Code + einigen Shell-Skripten, die all os-Konfigurationsdateien bearbeiten.

Jede Erfahrung zu diesem Thema.

War es hilfreich?

Lösung

Die größten Probleme werden mit dem nicht-POSIX (Nicht-Standard) Optionen, die Sie zu den GNU-Tools unter Linux zur Verfügung gestellt verwendet haben, die nicht in den Solaris-Standardbefehle sind. Sie könnten entscheiden, dass die entsprechenden Werkzeuge aus dem GNU-Set Portierung ist einfacher als das System zu ändern. Wenn Sie den Code mit absoluten Pfadnamen für Befehle (/usr/bin/ls) geschnürt haben, aber Sie entscheiden, anstatt die GNU-Versionen zu verwenden, haben Sie eine Möglichkeit der Befestigung diejenigen zu finden. Ich würde sehr vorsichtig sein, über die Opensolaris-Versionen mit den GNU-Versionen zu ersetzen; Sie wissen nicht, wenn Sie etwas, das das System verlässt sich auf brechen. Also würden Sie die GNU-Befehle in einem separaten Verzeichnis abgelegt - wahrscheinlich nicht /usr/local, denn das ist für die Maschinenbesitzer zu füllen, nicht Sie als Anwendungs-Monger - und veranlassen, dass anstelle der Systembefehle verwendet werden. (Anmerkung:. Auf Solaris, /bin ist ein symbolischer Link auf /usr/bin, ich nehme an, das gleiche gilt für Opensolaris ist). AFAIK, Postfix auf Opensolaris ist nicht Standard, so dass Sie sicherstellen müssen, würden Sie bekommen, dass installiert ist, zu

Das alles ist machbar - es gibt nichts unüberwindlich. Aber viel hängt von Ihrer Code-Basis.

Andere Tipps

Wir führen beide, obwohl wir nicht Opensolaris als Web-Server verwenden.

Die gute:

  • Open kommt mit den GNU-Tools, so, erhalten Sie Ihren Weg nach rechts und das ist in Ordnung.

  • Die meisten Dinge nur bauen und laufen gut.

Das ist nicht so gut:

  • Stellen Sie sicher, dass Sie installiert haben und bash verwenden. Ansonsten sind alle jene bashisms, die Sie verwenden, dass Sie Ihnen nicht denken verwendet haben werden Sie beißen.

  • Stellen Sie sicher, dass Sie nicht hart codierte Pfade zu / usr / bin oder / bin verwenden. Diese Werkzeuge sind nicht die GNU Einsen und haben daher verschiedene Optionen. Verwenden Sie / usr / gnu wie oben erwähnt.

  • Sie haben nicht die große Anzahl von Paketen, die Sie gerade aus installieren können, wie Sie mit yum oder apt tun. Ja, Sie einen Paket-Manager haben, es ist nur nicht ganz so gut bevölkert. Als Ergebnis werden Sie wahrscheinlich Pakete von Hand installieren. Sie sollten installieren, es ist nur ein bisschen mehr Arbeit für Systemadministratoren.

  • Sind Sie sicher, dass Opensolaris läuft gut auf Ihrer Hardware? Es ist eine Überprüfung wert. Sie können feststellen, dass einige der Hardware-Treiber sind nicht so gut getestet.

Ansonsten finden wir Open nett zu sein. Es hat viele gute Ideen.

Haben Sie bei Nexenta sah - http://www.nexenta.org/os Es ist das Opensolaris-Kernel mit einem Ubuntu-Userland.

Opensolaris umfasst alle GNU Utilities bereits, Sie brauchen nur Ihre Skripte unter / usr / gnu / bin

Installieren von Postfix sollte keine Probleme bereiten, und Apache / MySQL ist in einer Basis von Opensolaris installieren (in Wahrheit, die Cool Web Stack Sachen machen es etwa so einfach wie WAMP / Instant Rails zu verwalten). Jenseits dessen, SMF Manifeste (SMF ist ein Ersatz für rc Skripte Art wie OSX des launchd, obwohl Sie noch regelmäßig Init-Skripte verwenden können) kann Ihr Leben einfacher, da Abhängigkeiten spezifiziert und ausgeführt werden, um etwas schöner wird machen (es rekursiv werden beginnen / beenden Sie alle abhängigen Dienste auch).

Tomcat funktioniert sicher, obwohl alle, die ich auf Opensolaris wissen verwendet Glassfish. YMMV, aber eine .war Bereitstellung ist so ziemlich das gleiche überall.

Es kann kein schlechter erster Schritt implementieren in einer lx Branded Zone (man denke FreeBSD Jails oder Linux vServer für einen Vergleich) sein, da die LX Branded Zones Linux-Binärdateien ausführen können, und sind ausdrücklich CentOS / RHEL basieren.

Anders als das Opensolaris ist ein Xen Dom0 seit b77 oder so etwas, und in eine domU CentOS / RHEL setzen ist einfach tot, wenn das eine Option ist.

Sie erhalten auch alle Solaris Leckereien zusammen mit ihm (DTrace, ZFS, Netzwerk-Virtualisierung [via CrossBow], etc). Wer weiß? Sie mögen können es auch! Java ist Java, so dass sollten alle Fragen nicht stellen.

  • Sie werden wahrscheinlich einen großen Teil Ihrer Skripte (user creations, Service Start), wie es wahrscheinlich anders in CentOS und Open müssen neu schreiben ist.

  • , wie zuvor geschrieben, fragen Sie Ihre Kunden die GNU-Tools zu installieren, so dass Sie weniger Arbeit Ihre Skripte neu zu schreiben haben werden.

  • os Konfigurationsdateien können auch nicht im gleichen Format sein, werden Sie überprüfen müssen.

  • Ihre tar.gz-Datei sollte ohne Probleme herausziehbaren sein, aber auch hier werden Sie weniger Überraschungen, wenn Sie GNU-Tools verwenden. einige Unix-OS haben tar mit einigen Einschränkungen

  

Jede Erfahrung zu diesem Thema.

(vielleicht ein wenig offtopic)

wir unsere java / tomcat / postgresql / Unix-Anwendung mit allen referenzierten Binärdateien in unseren Skripten verpacken und verteilen. dies bedeutet für jedes O 1 Build-System hat wir unterstützen, diese von stillschweigend wir unsere Anwendung unterstützen, sondern auch externe Programme, aber am Ende haben wir keine schlechten Überraschungen @ Kunden.

Wir bitten sie auch alle Root-Operationen (Benutzererstellung, Verzeichnis-Erstellung, sendmail Config, System-Tuning) zu tun, bevor wir die Anwendung zu installieren. wir haben für alle unterstützten OS Shutdown / Start-Skripte geschrieben, und ihre Installation ist das einzige, was wir auf der Kundenmaschine in root tun.

Neben der Tatsache, dass Sie ein Troll, jemand sind gerade gesagt, darüber (Open) Solaris hat: - ZFS - DTrace

Wir können verstehen, dass Sie Angst haben, nicht Ihren RHCE Job zu verlieren, aber du mich gerade wieder einmal bewiesen, dass meine Entscheidung als Arbeitgeber alle Zertifizierungen zu ignorieren, wenn interviewt Menschen ein gutes waren. Es scheint, dass ein großer Prozentsatz dieser Menschen (vor allem in der Microsoft-Welt) ist nicht so ... aufgeschlossen, es schön zu setzen.

Viele Grüße, Alex

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top