Server Support Forum


Zurück   Server Support Forum > >


Antwort
 
Themen-Optionen Thema bewerten
  #1  
Alt 17.12.2015, 09:26
aptem aptem ist offline
Registered User
 
Registriert seit: 12.2015
Beiträge: 5
[Empfehlung Hoster] RESTful Webservice als Backend für mobile Applikation

Hallo liebe Freunde,

ich brauche eure Einschätzung bezüglich der vielen Anbieter für Serverhosting auf dem Markt da draußen.

In meinem Kopf schwirren momentan 3 geniale Ideen für mobile Apps für die Android-, iOS- und Windows-Platform, die alle ein Backend in Form eines REST-Webservices benötigen.

Im Moment bin ich dabei die erste Idee umzusetzen und den Webservice zu implementieren. Als Technologie verwende ich im ersten Ansatz Spring, da ich aus dem Java-Umfeld komme und hier so gut wie keine Einarbeitungszeit nötig war. Demzufolge wird auf dem Server ein JVM Webserver/-container ala Tomcat laufen. Als Datenbank verwende ich während der Entwicklung MySQL, bin aber nicht darauf beschränkt. Später kommen noch MongoDB oder Cassandra zum Einsatz. Es werden ca. 1,3 TB an Dateien initial auf dem Server gespeichert, die von den Usern heruntergeladen werden können.

Weiterhin habe ich die Nutzerzahlen geschätzt, die diese App nutzen werden. Die Zahlen entsprechen dem "best-case" Szenario d.h. die App ist bereits über einen längeren Zeitraum in den Stores und hat eine konstante Anzahl an wiederkehrenden Nutzern.
Ich gehe von einer aktiven Nutzergemeinschaft von um die 200.000 User aus. Schätzungsweise 1.000 - 2.000 User werden die App gleichzeitig nutzen.

Im Moment liebäugle ich mit den Dedicated Servern von Webtropia (Pro/Power Server), Strato (Linux Level 4 / 5) und Hosteurope (L Paket). Hetzner sieht auch nett aus, hat aber anscheinend keine Traffic-Flatrate.
Webtropia hat einen garantierten Peak von 300Mbit, weshalb ich hier zuschlagen würde, wenn es soweit ist. Bei Strato konnte ich keine Infos diesbezüglich finden und Hosteurope hat nur 100Mbit.

Basierend auf den oben genannten Informationen, lässt sich die Last im "best-case" Szenario von nur einem Dedicated Server stemmen? Ich vermute das eine verteilte Architektur besser wäre, also die Anfragen, auf sagen wir 2-3 Server zu verteilen. Ich habe keine Ahnung was so ein Server an Last wegstecken kann, da fehlt mir leider die Erfahrung.


Wie sieht euer Rat aus? Welcher Hoster? Welche Architektur? Was sollte ich sonst noch bedenken?

Ich bin für jeden Hinweis dankbar!
Mit Zitat antworten

  #2  
Alt 17.12.2015, 10:48
ThomasChr ThomasChr ist offline
Registered User
 
Registriert seit: 08.2014
Beiträge: 330
Also ein Dedicated Server ist auf jeden Fall die leistungsfähigste Variante - wobei dieser halt nicht skalieren kann. Fraglich wäre wie ein großer vServer das ganze (dank skalierung) wegstecken könnte.

Der Vorteil von einem vServer / Cloud ist halt dass du einfach sagen kannst "steckt mit noch 4 neue CPUs und 32GB Ram rein" - das geht bei einem dedicated Server nicht. Dafür ist Festplattenplatz (2 TB) bei vServern ne teure Nummer.

Abraten würde ich dir von Strato im allgemeinen (ich kenne da die vServer - die bringen nichts von der versprochenen Leistung, außerdem glänzt der Support eher durch Abwesenheit) und ich weiß nicht ob Webtropia vom Support her sonderlich gut ist (solltest du ihn benötigen).
(das ist aber nur Hörensagen)
Supporttechnisch ist Hetzner und Hosteurope weit vorne mit dabei.

Was die Frage betrifft ob der Server das stemmen kann - ich denke das kommt auf die Anwendung drauf an. So hat z.B. ein Apache2 Webserver bei 10.000 gleichzeitigen Zugriffen erhebliche Probleme (für jeden Zugriff muss ein Thread mit Stack allokiert werden - bei 2 MB Stack pro Thread sind das schon 20 GB), während hingegen modernere Technologien (z.B. Node.js) mit einer Event-Schleife arbeiten und mit 10.000 Requests leichter klarkommen.

Ich hab leider nicht die geringste Ahnung von Spring, vermute aber dass JAVA und Apache Tomcat nicht unbedingt die besten Technologien für etwas was viel Last erzeugt sind. Aber ich lass mich gerne eines besseren Belehren.
So oder so solltest du probieren auf keinen Fall irgendwelche I/O zu blocken und alles Asysnchron abzuarbeiten - bei einem File Request also auf keinen Fall blocken sondern weiter arbeiten.

Ich denke damit kannst du deine gleichzeitigen Requests auch auf einem günstigen Root-Server oder vServer durchbringen.

Also mal versuchen dass Problem nicht einfach durchs draufwerfen von Hardware und Geld zu lösen :-)

Thomas

PS: Lesestoff: https://en.wikipedia.org/wiki/C10k_problem
Mit Zitat antworten
  #3  
Alt 17.12.2015, 12:24
aptem aptem ist offline
Registered User
 
Registriert seit: 12.2015
Beiträge: 5
Zitat:
Also ein Dedicated Server ist auf jeden Fall die leistungsfähigste Variante - wobei dieser halt nicht skalieren kann. Fraglich wäre wie ein großer vServer das ganze (dank skalierung) wegstecken könnte.
Müsste das nicht durch einen Load Balancer zu realisieren sein, mit mindestens 2 dedizierten Servern?
Im Grunde würde ich am liebsten eine Cloud-Technologie wie z.B. GoogleAppEngine oder Heroku nutzen, aber das ist mir zu teuer. Was die für Summen dort verlangen ... davon kannst du dir gleich 5 dedizierte Server holen.

Zitat:
Was die Frage betrifft ob der Server das stemmen kann - ich denke das kommt auf die Anwendung drauf an. So hat z.B. ein Apache2 Webserver bei 10.000 gleichzeitigen Zugriffen erhebliche Probleme (für jeden Zugriff muss ein Thread mit Stack allokiert werden - bei 2 MB Stack pro Thread sind das schon 20 GB), während hingegen modernere Technologien (z.B. Node.js) mit einer Event-Schleife arbeiten und mit 10.000 Requests leichter klarkommen ...
Dieses Problem sollte sich über einen fest definierten Thread-Pool lösen lassen (sagen wir z.B. 1000 Threads), der dann alle Requests asynchron abarbeiten. Hier scheint es aber auf jeden Fall Lösungsmöglichkeit zu geben, auch für asynchrone I/O-Verarbeitung.
Ich habe mich auch nur zunächst für Java entschieden, weil ich mich damit auskenne und nicht viel dazulernen brauche. Es geht mir vorallem darum, schnell ein fertiges Produkt auf die Beine zu stellen. Wenn es nachher läuft, kann ich das Backend immer noch in einer effizienteren Technologie implementieren (wobei ich denke, dass es in Java ohne Probleme laufen sollte ... Java wird ja nicht umsonst im Enterprise-Kontext eingesetzt)

Ich möchte/brauche zunächst auch nicht zu viel in eine Serverlandschaft zu investieren, da ich nicht mit einer explodierenden Useranzahl von Beginn an rechne.

Zitat:
Abraten würde ich dir von Strato im allgemeinen (ich kenne da die vServer - die bringen nichts von der versprochenen Leistung, außerdem glänzt der Support eher durch Abwesenheit) und ich weiß nicht ob Webtropia vom Support her sonderlich gut ist (solltest du ihn benötigen).
(das ist aber nur Hörensagen)
Supporttechnisch ist Hetzner und Hosteurope weit vorne mit dabei.
Ich habe mir Hetzner nochmal genauer angeschaut und die Kollegen bieten sogar teilweise eine garantiere Bandbreite von 1Gbit an (z.B. die EX41-Serie). Ich müsste nur gucken ob ich auf lange Sicht mit 30TB auskomme im Monat. Und sonst sieht der Anbieter sehr vernünftig aus.
Mit Zitat antworten
  #4  
Alt 17.12.2015, 12:34
chbu
Gast
 
Beiträge: n/a
Vergiss nicht, dass du bei Hetzner den extra Telekom Traffic zubuchen musst.

Wie hoch ist denn in etwa dein Budget und welche Hardware wird benötigt?
Mit Zitat antworten
  #5  
Alt 17.12.2015, 12:58
aptem aptem ist offline
Registered User
 
Registriert seit: 12.2015
Beiträge: 5
Zitat:
Zitat von chbu Beitrag anzeigen
Vergiss nicht, dass du bei Hetzner den extra Telekom Traffic zubuchen musst.
Ich muss? Aus dem verlinkten Artikel konnte ich rauslesen, dass mir diese Option frei steht.

Zitat:
Zitat von chbu Beitrag anzeigen
Wie hoch ist denn in etwa dein Budget und welche Hardware wird benötigt?
Naja ... ein Budget ist insofern vorhanden, dass ich auch 200 EUR im Monat ausgeben könnte, aber nicht will! Die Serverkosten sollten sich bei entsprechender Nutzerzahl, durch die App-Einnahmen decken lassen (+Gewinn).
Mit Zitat antworten
  #6  
Alt 17.12.2015, 13:18
chbu
Gast
 
Beiträge: n/a
Zitat:
Zitat von aptem Beitrag anzeigen
Ich muss? Aus dem verlinkten Artikel konnte ich rauslesen, dass mir diese Option frei steht.



Naja ... ein Budget ist insofern vorhanden, dass ich auch 200 EUR im Monat ausgeben könnte, aber nicht will! Die Serverkosten sollten sich bei entsprechender Nutzerzahl, durch die App-Einnahmen decken lassen (+Gewinn).
Wir sprechen über eine mobile App, also werden schon recht viele Besucher über die DTAG angebunden sein.

Google mal nach Webtropia Reviews oder schau dir den Thread hier an.

Hosteurope bietet keine echten Dedizierten Rootserver an. Die Rootserver bei denen sind virtualisiert.

Zu Strato " Traffic-Unlimited: Keine zusätzlichen Kosten durch Traffic (bei Traffic-Verbrauch über 1.000 GB/Monat und danach je weitere 300 GB erfolgt eine Umstellung der Anbindung auf max. 10 MBit/s. Freischaltung jeweils kostenlos über den Kundenservicebereich). "

Schau dir mal www.23media.de an Die sollten besser zu deinen Anforderungen passen.
Mit Zitat antworten
  #7  
Alt 17.12.2015, 14:11
marce marce ist offline
Registered User
 
Registriert seit: 10.2009
Ort: Dettenhausen
Alter: 43
Beiträge: 1.346
Grundsätzlich spricht ja nichts gegen virtualisierte root-Server.

Von der Beschreibung her sehe ich (abgesehen von vielen, fehlenden Infos zu dem, was die Server denn im Endeffekt nun "wirklich" machen sollen) eigentlich nur das Problem, daß man sich ggf. im Vorraus Gedanken zur Skalierbarkeit machen sollte.

Ich sehe da eher ein großes Datengrab für die 1.3TB z.B. via NFS angebunden an ein Cluster aus Frontend-Servern - das lässt sich auch viel besser an die wirklich benötigten Ressourcen anpassen als irgendwelche Standard-HW-Kisten (auf die man bei dem benötigten Plattenplatz fast gezwungen ist, zurückzugreifen, wenn's bezahlbar bleiben soll).

Solche Konstellationen gibt's bei den meisten Anbietern nicht direkt über die Standard-Weboberfläche zu buchen sondern bedürfen einer Mail an den Vertrieb nach einem ded. Angebot. Und daraus ergibt sich, daß man bei einem kleinen Anbieter, der nicht so 100% festgefahren im Massengeschäft hängt vermutlich besser aufgehoben ist.

(wobei man das Szenario auch mal gar nicht so unkompliziert über z.b. AWS abwickeln könnte, ohne gleich daran Pleite zu gehen)
Mit Zitat antworten
  #8  
Alt 17.12.2015, 15:49
aptem aptem ist offline
Registered User
 
Registriert seit: 12.2015
Beiträge: 5
Zitat:
Zitat von marce Beitrag anzeigen
Von der Beschreibung her sehe ich (abgesehen von vielen, fehlenden Infos zu dem, was die Server denn im Endeffekt nun "wirklich" machen sollen) eigentlich nur das Problem, daß man sich ggf. im Vorraus Gedanken zur Skalierbarkeit machen sollte.
Der Server wird im Endeffekt einen REST-Webservice bereitstellen und über HTTP-Anfragen (GET, POST, PUT und DELETE) angesprochen. Dabei wird jede Anfrage irgendeine Form der Datenbankabfrage durchführen (überwiegend Selects und Updates). Andere Methoden wiederum werden auf das File-System (bzw. dokumentenbasierte Datenbank) zugreifen und Dateien für den User bereitstellen. Mehr der tut der Kram nicht ... komplizierte Berechnungen werden nicht durchgeführt.

Bei der Geschichte mit der Skalierbarkeit kam mir halt der Load Balancer in den Sinn, aber ob der wirklich den Job verrichtet wie ich mir das vorstelle, weiß ich nicht. Ich kenne mich in dem Bereich halt noch nicht so gut aus.

Zitat:
Zitat von marce Beitrag anzeigen
Ich sehe da eher ein großes Datengrab für die 1.3TB z.B. via NFS angebunden an ein Cluster aus Frontend-Servern - das lässt sich auch viel besser an die wirklich benötigten Ressourcen anpassen als irgendwelche Standard-HW-Kisten (auf die man bei dem benötigten Plattenplatz fast gezwungen ist, zurückzugreifen, wenn's bezahlbar bleiben soll).
Das wäre im Idealfall die Architektur wie ich sie mir vorstelle, 2-3 Server die als Ansprechpartner aus dem Internet dienen, die Anfragen bearbeiten und sich die Daten vom Datenbank-/Fileserver holen.

Welche Anbieter bieten sowas an? Du hast ja bereits gesagt, dass das in der Regel kein Standard ist. Kann ich mich dann vertrauensvoll an z.B. Hetzner richten und die bereiten mir ein Angebot vor?

An AWS habe ich auch schon gedacht, ich versuche mal mit dem Rechner dort auszurechnen was mich das kosten würde.
Mit Zitat antworten
  #9  
Alt 17.12.2015, 16:49
marce marce ist offline
Registered User
 
Registriert seit: 10.2009
Ort: Dettenhausen
Alter: 43
Beiträge: 1.346
Anbieten dürften das die meisten - es gibt meistens überall neben dem Eingang für die Laufkundschaft von der Straße noch einen Eingang für die Business-Kunden mit "Sie wünschen wir spielen"-Programm.

Ob das dann in eine frei-Skalierbare Lösung wie AWS-Elastic-Irgendwas, MS-Azure oder Konsorten, eine Private-Cloud bei XYZ oder andere Lösungen hinausläuft hängt vermutlich ein wenig vom Status, Stand und Reichweite des Projektes ab. Evtl. startet man heute ja auch mit einem System und migriert dann hinterher auf was anderes, ...
Mit Zitat antworten
  #10  
Alt 18.12.2015, 11:09
Benutzerbild von Ben.
Ben. Ben. ist offline
Registered User
 
Registriert seit: 09.2008
Ort: Schweiz
Beiträge: 2.427
Du sagst du hast grosse Dateien (~1 TB) und gleichzeitig noch ein Backend mit Programmlogik, wenn ich das oben beschrieben richtig gelesen habe.

Wäre es nicht ggf. sinnvoll das File-Hosting einem Spezialisten zu überlassen und sich auf das Hosten des Backends zu konzentrieren?

Ich habe jetzt keinen konkreten Anbieter im Kopf, aber ich kann mir sehr gut vorstellen, dass es diverse Cloud-Services gibt ("Filehoster"), die entsprechend skalierbar, redundant, geo-lokalisiert etc. das Hosting von Dateien anbieten. Wenn du Glück hast findest du sogar einen mit einem nutzungsbasierten Preismodell.

So könntest du dich auf dein Backend konzentrieren und hier vermutlich massiv Kosten sparen. Denn während mehrere Clients lange Downloads von deinem Server laufen lassen, steht natürlich auch weniger Bandbreite für dein Backend bereit (und ich vermute der Mehrwert der User ist nicht der reine Download von Daten?).

Ist nur ein Denkanstoss. Vielleicht hast du darüber bereits nachgedacht und bist zu dem Ergebnis gekommen, dass es zu teuer/sinnlos/nicht zielführend ist, dann ignoriere meinen Beitrag

Wenn du dich entschieden und eine Lösung gefunden hast, wäre es schön, wenn du sie hier vorstellen würdest.
Mit Zitat antworten
  #11  
Alt 18.12.2015, 21:05
aptem aptem ist offline
Registered User
 
Registriert seit: 12.2015
Beiträge: 5
Zitat:
Zitat von Ben. Beitrag anzeigen
Du sagst du hast grosse Dateien (~1 TB) und gleichzeitig noch ein Backend mit Programmlogik, wenn ich das oben beschrieben richtig gelesen habe.
Es sind 1,3 TB insgesamt, mehr als 2 TB sollten es während der Laufzeit nicht werden (wird sich im Laufe der Zeit erhöhen).

Zitat:
Zitat von Ben. Beitrag anzeigen
Denn während mehrere Clients lange Downloads von deinem Server laufen lassen, steht natürlich auch weniger Bandbreite für dein Backend bereit (und ich vermute der Mehrwert der User ist nicht der reine Download von Daten?).
Dazu muss ich noch sagen, dass sich die Gesamtgröße der 1,3 TB aus sehr vielen kleineren Dateien zusammensetzt. Dabei werden höchsten 2-3 MB pro Aufruf übertragen, wobei nahezu alles auf dem Smartphone gecached wird. In der Theorie könnte ein Nutzer die gesamten 1,3 TB runterladen, das macht aber in keinem Anwendungsfall Sinn.
Aber du bringst mich auf eine andere Idee. Ich werde euch auf jeden FAll auf dem Laufenden halten und wenn es soweit ist auch meine App hier vorstellen.
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
app, java, rest, server, webservice


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
vServer bei mg-webservice HILFE !!! sanyx Virtuelle Server 10 15.12.2013 22:23
Zugriffsrechte auf Webservice über WSDL-Datei frabovmeier Dedizierte Windows Server 0 13.02.2013 09:59
[Typo3] Backend-Rechtevergabe Mean CMS Allgemein 0 15.10.2010 19:44
Postfix mit LDAP Backend djrick Mail 15 11.04.2010 13:39
Bind ==> MYSQL Backend dragon001 DNS 5 15.04.2005 18:29





Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.