Server für SaaS-Software - Frage zu Power des Servers



vished

Member
Hallo zusammen,

ich plane derzeit eine SaaS-Lösung in JAVA EE zu programmieren.
Diese soll verschiedene Business-Funktionen haben, wie Kunden anlegen usw.

Als Programmierer habe ich leider nur wenig Erfahrung im Bereich Server / Systemintegration.
Daher nutze ich sehr gerne dieses Forum um von erfahreren Leuten Hilftestellung zu bekommen.

Meine Vision:
- Eine SaaS-Lösung mit verschiedenen Mandaten
- Ich behaupte jetzt einfach mal 100 Mandaten nutzen die Lösung (durchaus auch gleichzeitig)
- Ein Mandant kann mehrere Mitarbeiter haben, die auch wiederum in der Anwendung sich einloggen können
- Als Applikationsserver wird JBoss 7 eingesetzt
- JAVA EE (Hibernate, EJB, CDI, JSF, JPA)

Leider habe ich überhaupt keine Erfahrungswerte wie viel RAM, CPU etc. solch eine Anwendung benötigt.
Mir ist klar, dass man dies jetzt so nicht 100 % spezifizieren kann.

1.) Mich würde jedoch gerne so ein grober Wert interessieren. Gehen wir mal von 100 Mandanten aus, die gleichzeitig die SaaS-Lösung nutzen (Kunde erstellen etc.) Wieviel Power benötigt der Server (CPU, RAM..)
2.) Generell welche Lösung hier am Besten ist? (V-Server, Dedicated Server...)
3.) Anfangs nutzen die SaaS-Lösung sicherlicht nicht viele, sodass das Mieten eines leistungsfähigeren Servers und dessen verursachten Kosten sich nicht lohnt. Aus diesem Grund die Frage: Welcher Anbieter hat beispielsweise Angebote, die sich erweitern lassen. Sprich bei 50 Mandaten einen leistungsfähigeren Server usw.

Ich würde mich sehr freuen, wenn ich einige Kommentare und Hilfestellungen bekäme.
 
Ich nehme an, Du willst mit der SOFTWARE Geld verdienen und alles was Du neben der Weiterentwicklung machst, kostet Dich Geld, statt Dir welches zu bringen? Und zusätzlich willst Du klein anfangen und dann wachsen können?

Das klingt für mich eigentlich nach einem 1a Beispiel für die Cloud.

Für JBoss scheint es bei https://www.openshift.com/ adäquate Angebote zu geben, wenn man http://www.jboss.org/openshift.html glauben darf.

Alternativ könntest Du Dich bei Amazons EC2 ( http://aws.amazon.com/de/ec2/ ) umsehen: http://www.fransvanbuul.net/?p=153 beschreibt, wie dort Deine Umgebung Gestalt annimmt.

Beide Angebote starten kostenfrei:
- Openshift: https://www.openshift.com/developers/pricing
- Amazon: http://aws.amazon.com/de/free/

...und wenn Du mehr brauchst, kannst Du SEHR VIEL MEHR haben. Das kostet dann halt, aber wenn Du so viele Ressourcen brauchst, dann wird das schon seinen Grund haben und Du wirst dann auch einiges daran verdienen.
 
Last edited by a moderator:
Besten Dank schon Mal für die Antwort.


1.) Gerne würde es mich noch interessieren, mit wie viel Power ich denn bei 100 Mandanten in etwa rechnen muss?

2.) Es gibt auch bei den Cloud-Server-Anbieter verschiedene Angebote: Wie muss ich das verstehen?
Wenn ich einen Server buche, der 1 GB Ram hat kostet das mich 10,00 EUR.
Wenn ich einen Server buche, der 8 GB Ram hat, kostet mich das 50,00 EUR

Was ist denn nun, wenn der Server überlastet wird, also wenn die 1 GB aufgebraucht werden? Bekomme ich dann keine weitere Ressourcen? (so verstehe ich "Cloud-Server")
 
Ich glaube nicht, dass man pauschal sagen kann "Du wirst X Ressourcen benötigen". Der Ressourcenverbrauch hängt ja auch maßgeblich von der Implementation ab.
Von daher wäre es eine kluge Wahl, wenn Du einfach in einer VM entwickelst und beobachtest, wie sich die Applikation verhält, zumal Du am Ende ja auch noch stark optimieren kannst.
 
Steht doch alles z.B. auf http://aws.amazon.com/de/ec2/

Amazon EC2 ermöglicht Ihnen das Erweitern oder Verringern der Kapazität innerhalb von Minuten, nicht Stunden oder Tagen. Sie können eine, Hunderte oder sogar Tausende Server-Instances gleichzeitig in Betrieb nehmen. Ihre Anwendung kann sich dank der Steuerung durch die Web-Service-APIs je nach Anforderungen automatisch selbständig anpassen (was als Skalierung bezeichnet wird).

Sie können aus verschiedenen Instanztypen, Betriebssystemen und Softwarepaketen auswählen. Amazon EC2 ermöglicht Ihnen, eine Konfiguration aus Arbeitsspeicher, CPU, Instance-Speicher und Größe der Boot-Partition auszuwählen, die für Ihr gewünschtes Betriebssystem und die Anwendung optimal ist. Beispielsweise können Sie als Betriebssystem verschiedene Linux-Distributionen und Microsoft Windows Server auswählen.

Und ja, bevor die Applikation nicht existiert, wird man kaum etwas zu ihrer Performance sagen können.
 
Hallo zusammen,

ich plane derzeit eine SaaS-Lösung in JAVA EE zu programmieren.
Diese soll verschiedene Business-Funktionen haben, wie Kunden anlegen usw.

Als Programmierer habe ich leider nur wenig Erfahrung im Bereich Server / Systemintegration.
Daher nutze ich sehr gerne dieses Forum um von erfahreren Leuten Hilftestellung zu bekommen.
...
Da die Anwendung noch gar nicht existiert, kann man auch keine konkreten Hilfestellungen zur benötigten Serverkapazität geben. Grundsätzlich lässt sich sagen, dass Java-Anwendungen und damit verbunden Java-Application-Server schon einiges an Power und RAM benötigen.

Meine Vorschläge:

a) erstmal auf einer lokalen Testmaschine die Anwendung entwerfen. Da kannst Du auch das Lastverhalten Deiner Anwendung besser und vor allem kostengünstig beobachten

b) ganz dringend jemanden ins Boot holen, der Dich kompetent bzgl. Server/Systemintegration beraten kann. Das ist insbesondere wichtig, da Du die Anwendung als Software-as-a-Service anbieten willst. Du brauchst also ein Betriebskonzept und Techniker, die sowohl die Anwendung kennen, als auch Erfahrung im Betrieb von Java-Applicationservern etc. pp. haben.

Last but not least - bei einem Ausbau auf 100 Mandanten inkl. der einzelnen User gehe ich davon aus, dass es mit einem einzigen Server vermutlich nicht getan ist, daher ist perspektivisch eine Cloudlösung wohl die beste. Du wirst ein Konzept für Load-Balancing und/oder Clustering brauchen. Für eine kommerzielle Anwendung sind Ausfallsicherheit und Service Level wichtige Aspekte, die von Anfang an mit berücksichtigt werden sollten.
 
Back
Top