it-swarm.com.de

Tipps zum Hosten einer Nicht-Webframework-basierten Anwendung auf einem Windows-Host (d. H. Nicht IIS, Apache usw.)?

Ich habe versucht, diese Frage im Web mit Google zu recherchieren, aber alles, was mit Hosting zu tun hat, bringt fast immer eine Menge Pseudo-Review-/Affiliate-Sites hervor.

Ich muss eine Windows-Anwendung auf einem Server hosten, der nicht auf einem Standard-Webframework basiert. Mit anderen Worten, ich möchte eine standardmäßige kompilierte EXE-Datei ausführen, die die Socket-Vorgänge selbst verarbeitet, ohne IIS oder Apache oder ein anderes Webserver-Framework zu verwenden. Ich möchte nur HTTP/Socket-Anfragen direkt an meine Anwendung senden, die an verschiedenen Ports empfangsbereit ist, und von dort aus weiterleiten. Die Anwendung ist nicht als öffentlicher Server gedacht, sondern als Back-End für einen öffentlichen Server, der dem öffentlichen Server (oder den Servern) bestimmte Hochgeschwindigkeitsfunktionen über das Web bietet. Ich denke, eine gute Konsequenz wäre ein API-Server, aber in diesem Fall wird die API nur von meinen öffentlichen Servern verwendet. Das auf dem Back-End-Server ausgeführte EXE-Programm muss auf MySQL zugreifen können. Ich hoffe, dass MySQL als Windows-Dienst auf der Box ausgeführt wird, so wie ich es bei der Entwicklung von meiner Windows-Box in meinem Büro tue.

Hat dies jemand anderes getan und wenn ja, können Sie mir Anweisungen geben zu:

  • Welche Art von dedizierter Box soll ich bekommen? Ich stelle die Frage nicht nach der Leistung oder der geschätzten Anzahl der Benutzer, um den Standpunkt zu unterstützen. Das hängt natürlich von zu vielen anderen Faktoren ab. Nur welche Art von Box gibt mir die richtige Mischung aus Datenbank-/Web-Leistung, ist aber gleichzeitig kein Overkill, da ich versuche, die Kosten zu kontrollieren. Ist zum Beispiel ein typischer Quad-Core mit einer gesunden Speicherkapazität ausreichend, oder müssen Sie wirklich in so etwas wie einen Hochleistungs-Xeon mit Tonnen von Speicher einsteigen? Die EXE-Datei wird viel Datenbankzugriffsarbeit leisten, jedoch nur eine minimale Gleitkommaaktivität. Das heißt, es ist leicht in den Berechnungen, aber schwer in den Zugriffen auf den Tisch.

  • Welche Tipps können Sie mir für Dinge geben, die mich bis zu Bandbreite und anderen Nebenkosten am Leben erhalten könnten? Ich kann die Frage nicht besser stellen, weil ich auf der Suche nach Dingen bin, die ein Anfänger wie ich in diesem Bereich unvorhergesehen hat und die eine erfahrene Person sofort mit einer vergangenen Horror- oder Erfolgsgeschichte in Verbindung bringen kann. Beachten Sie, dass ich viel LAMP-Zeug gemacht habe, also bin ich kein Anfänger in dieser Funktion, aber ich habe noch nie ein Windows-Hosting gemacht.

  • Nach welcher Art von Systemsteuerung sollte ich suchen, damit ich das Gefühl habe, ich hätte einen Remote-Windows-Desktop anstelle einer Reihe umständlicher Hilfsprogramme, die ich testen muss, um Dinge zu erledigen?

  • Welche Windows-Hosting-Vorbehalte sollte ich beachten? Dinge, auf die eine Apache/Linux-Person aufgrund von Unerfahrenheit kopfüber stoßen würde?

  • Gibt es ISPs, die Ihnen einen dedizierten Server anbieten können, der nur in ihrem Intranet für einen anderen von Ihnen gemieteten Server verfügbar ist? Ich weiß, dass dies eine dumme Frage sein mag, da ich davon ausgehen kann, dass ich den Zugriff nur über die IP-Adresse des Anforderers steuern kann, aber ich würde es vorziehen, den Back-End-Server vollständig außer Sichtweite zu halten.

  • Können Sie noch etwas mitteilen?

2
Robert Oschler

Schauen Sie sich etwas an wie Rackspace Cloud Server . Sie haben flexible Möglichkeiten, einen Server einzurichten und zu konfigurieren, der nicht unbedingt als Webserver fungieren muss. Mit der von Ihnen beschriebenen Infrastruktur (einem Webserver mit Benutzerzugriff und einem Back-End-Anwendungsserver) wäre die Bandbreite zwischen dem Webserver und dem Anwendungsserver frei, da sie sich in ihrem internen Netzwerk befindet.

Sie können die Größe Ihrer Server nach Belieben skalieren und später bei Bedarf (RAM und CPU) skalieren, ohne einen neuen Server bereitstellen und migrieren zu müssen. Wenn Sie eine n-Tier-Architektur beibehalten möchten, können Sie einen Front-End-Windows-Server, einen Windows-Anwendungsserver für Ihre EXE-Datei und einen Linux-Server für Ihre MySQL-Datenbank einrichten. Sie haben viele Möglichkeiten, das sind nur Ideen.

Mit Rackspace haben Sie vollen Remote-Zugriff auf Ihre Server, sodass Sie sich keine Gedanken über die Arbeit über ein Control Panel machen müssen, wenn Sie dies nicht möchten.

Ein weiterer Vorteil ist, dass Sie Ihr Konto bei Rackspace kostenlos erstellen können. Sie zahlen nur für das, was Sie verbrauchen. Wenn Sie einen Cloud-Server zwei Tage lang hochfahren müssen, zahlen Sie nur zwei Tage. Wirklich schön, wenn Sie ein paar Server für Proof-of-Concept-Arbeiten starten möchten.

Unter Sicherheitsaspekten erhalten Sie auf Ihren Cloud-Servern mehrere IP-Adressen: eine nach außen und eine andere nur nach innen für das Cloud-Netzwerk. Wenn Ihre EXE-Datei nur die interne IP-Adresse abhört, sind Sie vor nicht autorisiertem externen Datenverkehr geschützt. Sie können den Schutz Ihres Anwendungsservers im internen Netzwerk immer noch nicht aufheben, er bietet jedoch zusätzlichen Schutz.

Ich bin in keiner Weise mit Rackspace verbunden, habe aber gute Erfahrungen mit deren Diensten gemacht. Es gibt natürlich vergleichbare Dienste, die über Amazon und unzählige andere Cloud- und dedizierte Anbieter angeboten werden. Dies sollte Ihnen jedoch zu Überlegungen anregen.

1
Rob