Es ist schon eine Weile her, aber ich dachte, unser Anwendungsfall wäre hilfreich ...
Erster + Punkt auf AWS .
Wir haben einen dedizierten Server auf einem bekannten Host. Es ist eine riesige Spezifikation und versucht seit Ewigkeiten, Magento-Geschäfte zu betreiben. Wir haben die Konfiguration so optimiert und gespielt, dass die Websites nicht heruntergefahren werden. Unser Host hatte APC nicht installiert (bevor ich anfing), also haben sie es installiert, obwohl wir sie für den Aufbau eines Magento-Servers bezahlt haben, und unsere Websites für 3 Stunden mit einer kaputten PHP-Version heruntergefahren. Wir haben es geschafft, es mit einem deaktivierten APC wieder in Gang zu bringen.
in AWS Wir haben eine exakte Nachbildung aller unserer AMIs (NGINX, NGINX + Varnish, Control Server), die auf AWS gewartet haben und mit denen wir jederzeit starten und spielen können. Wir können das EBS-Volume klonen, auf dem sich unsere Vhosts-Daten befinden, um einige IPs unseren internen VPC-IP-Adressen zuzuordnen, sie an den Server zu speichern und in kürzester Zeit betriebsbereit zu sein. Führen Sie unseren TEST durch, um sicherzustellen, dass alles in Ordnung ist, und nehmen Sie Änderungen am LIVE-System vor. Fahren Sie das Replikat herunter, bis es erneut benötigt wird. Zu diesem Zeitpunkt klonen wir die Änderungen, die wir an der Konfiguration vorgenommen haben, in eine neue AMI-Version.
Zweiter + Punkt für AWS . Wir haben auf unserem aktuellen Host ein IP-Adresslimit erreicht. In AWS haben wir eine beliebige Anzahl interner VPC-IP-Adressen und haben unserem Konto 20 elastische externe IPs zugewiesen, die wir internen IP-Adressen zuordnen können. Die Netzwerkfunktionen in AWS VPC sind absolut erstaunlich. Es ist einfach unwirklich, wie sie dies für Netzwerkadministratoren auf niedriger Ebene zusammengestellt haben. Es dauerte 3 Tage, bis einige neue IP-Adressen auf unserem Host abgerufen und der Firewall hinzugefügt wurden.
Hier gebe ich AWS ein weiteres +
Backups auf unserem aktuellen dedizierten Server sind nur ein Klon eines Ordners, der sich in einem Backup-Tresor befindet. Grundsätzlich ein montiertes Laufwerk. Ein gemountetes Laufwerk, das nur diesem Server zur Verfügung steht. Im Falle eines massiven Ausfalls müssten wir also ein neues Server-Setup einrichten, den Backup-Speicher bereitstellen, unseren neuen Server genauso installieren und konfigurieren (große Aufgabe) und dann die Daten neu erstellen. Unser Gastgeber hat 4 Stunden Zeit für neue Hardware, aber das bedeutet mir überhaupt nichts. Die Konfiguration und die Sites werden wieder eingerichtet.
Unser Unternehmen bietet Lösungen für Unternehmen für den gesamten Weblebenszyklus. Beratung, Design, SEO, Support und Wartung. Wenn wir einen Ausfall bei unserem engagierten Unternehmen hätten, würden wir das Geschäft einstellen, da es Tage dauern würde, bis wir wieder auf die Beine kommen würden. Wir können dieses Szenario nicht einmal auf unserer Was-wäre-wenn-Karte haben. Es kann einfach nicht passieren.
In AWS haben wir derzeit unseren Webinhalt auf AWS-Instanzen auf EBS-Volumes mit 750IOPS bereitgestellt und eine zweite Instanz (die wir als Steuerungsserver bezeichnen), die die Daten planmäßig in eine andere Verfügbarkeitszone synchronisiert und eine Instanz für die neueste Konfiguration aktualisiert, falls wir dies tun müssen eine Instanz von diesem AMI starten. Es synchronisiert alle NGINX-Konfigurationen, PHP-FPM-Setup-Dateien dafür.
Jetzt haben wir also zwei Datensätze. Ein AMI, das ein Klon des Produktions-NGINX-Webservers ist, und eine Kopie des Vhosts-Verzeichnisinhalts mit Konfigurationsdateien und Vhosts, falls wir einen neuen Server starten müssen.
Hier bekommt AWS einen weiteren +
Unser dedizierter Server kämpft zu Spitzenzeiten. Ja, wir führen Magento aus, daher unterscheidet es sich ein wenig von einigen Apps. Wir haben ein Quad Core 32 GB Raid Disk-Setup und es hat manchmal sogar Ausfälle, wenn ein Kunde eine oder zwei E-Mail-Kampagnen gleichzeitig sendet. Wir können kaum etwas tun. Es hat MySQL lokal, sein Speicher ist für MYSQL optimiert, aber die Festplatten sind schlecht.
In AWS führen wir 3 Instanzen mit hoher CPU aus. 2 NGINX / PHP-FPM-Webserver sowie eine NGINX SSL + Lack-Cache-Instanz. Wir haben dann einen kleineren Magento Admin-Server, der alle Bilder und Medien hostet, die dann über CNAMES über Cloudfront zugeordnet werden. Dies sind alles reservierte Instanzen, um die Kosten niedrig zu halten.
Wir haben dann unsere Datenbanken in RDS auf einer 2000IOPS Large Instance, mit der beide Webserver eine Verbindung herstellen und die jede Nacht Snapshots erstellt. Mit einer kurzen Ausfallzeit (wir haben Wartungsseiten für unsere Filialen) können wir die Größe des IOPS und der Instanzgröße ändern. Das Beste an RDS ist, dass wir einen aktuellen Snapshot erstellen und eine neue Datenbank zum Testen und Entwickeln erstellen können. Dann herunterfahren. Es ist einfach fantastisch.
Wir verwenden Elastic Cache + und testen jetzt Redis für die Verwaltung des Cache für die Front-End-Webserver. Wieder können wir die Größe nach oben und unten ändern.
Wir können neue Server mit hoher CPU-On-Demand-Instanz (durch Klonen unseres NGINX-Frontends) in den Mix aufnehmen, mit manueller Arbeit, um zu Weihnachten zu helfen, und wenn es nötig ist, wenn ein Kunde uns mitteilt, dass er eine 100.000-köpfige E-Mail-Kampagne mit dem Verkauf von sendet Produkte mit 75% Rabatt.
Wir testen jetzt unsere automatische Skalierung in Amazon und wie wir Server dazu bringen, zu feuern, IP-Adressen hinzuzufügen, NGINX-Konfigurationen zu aktualisieren usw. und ohne Probleme zu arbeiten, aber dann auch den Server in ruhigen Zeiten (fast) herunterzufahren und herunterzufahren.
AWS ++ Das
Verschieben von Daten auf unserem dedizierten Gerät stört den Dienst. Kopieren, Rsync MV usw. treffen die Festplatten-E / A, was wiederum Websites verlangsamt.
Die Verwendung von Volumes und Snapshots in AWS ist ganz einfach. Ich muss hier eigentlich nichts sagen.
AWS +++++++
Allgemeine Serververwaltung und -steuerung. Es gibt tatsächlich keinen wirklichen Einblick in unseren dedizierten Server. Es ist nur SSH in und einige wirklich schlechte Server berichten, dass unser Host monatlich sendet.
AWS Wir können Statistiken sehen, die zwar in meinen Augen hinsichtlich der Anwendungsleistung nicht genau sind, Ihnen jedoch eine gute Vorstellung davon geben, wie die tatsächliche Instanz funktioniert. Wir haben Alarme eingerichtet, um Probleme zu erkennen.
Fazit
* AWS vs Dedicated - Pure Power. * Für alle AWS-Trolle sage ich nicht oder werde nicht einmal versuchen zu sagen, dass AWS eine dedizierte Version mit zwei Quads, SSD-Speicherplatz usw. ausführt. Selbst AWS wird nicht versuchen, Ihnen dies zu sagen. Es gibt Dinge, die Sie tun können, um die Leistung zu steigern, EBS-optimiert, IOPS bereitzustellen und die Größe von Instanzen zu ändern, aber ich weiß, dass ein dedizierter Bare-Bones-Anbieter eine Outperformance erzielen wird.
AWS vs Dedicated - Architektur für eine richtige Lösung
Dedizierte Server saßen irgendwo in einem einsamen Rack und haben es für mich einfach nicht geschafft. Dies ist in meinen Augen keine reale Situation oder als Lösung geeignet, wenn Unternehmen eine Lösung für den Betrieb ihrer Geschäfte oder Standorte erhalten.
Wir haben unser gesamtes Servernetzwerk in AWS VPC. Wir können erweitern, verkleinern und sehen, wo sich alle unsere Ressourcen an einem Ort befinden. Als Lösung würde ich niemals zu einem dedizierten Server zurückkehren wollen.
Wenn ich eine Site betrieben habe, die mit einem massiven Ausfall fertig werden könnte, und wir warten könnten, um einen neuen Server mit dem Host wiederherzustellen, oder bereit wäre, zwei Hosts oder AWS als Backup zu verwenden und eine Site zu verschieben, wenn eine dedizierte Site ausfällt, dann ist dies die Nur so würde ich das machen. Dies ist an sich ein zeitaufwändiges Problem.
Kosten
Der Grund, warum dedizierte Server jetzt so günstig sind, liegt darin, dass AWS kostengünstige Möglichkeiten zur Verwaltung Ihres eigenen Mini-Rechenzentrums bietet, für die viele Rechenzentren Prämien hinzufügen. Die Preise ändern sich, und Rechenzentren müssen jetzt Slagging-Techniken gegen AWS anwenden, um ihre Dienste zu verkaufen oder über die Leistung von Raw-Servern und den Mangel an AWS-Instanztypen zu berichten.
Personen, die einen dedizierten Server mit einer AWS-Instanz vergleichen, sollten alle zusätzlichen Services, die AWS rund um diese Serverinstanz anbietet, berücksichtigen und diese einem dedizierten Preis zuordnen. Lassen Sie mich erweitern. Als sie unseren derzeitigen Gastgeber verließen und dem Vertrag mitteilten, sagten sie AWS dies, schlechte Leistung, EBS-Kosten usw. usw. Also schickten wir eine Lösungskarte von dem, was wir wollten.
- Privates LAN mit Sicherheits- / Routing-Richtlinien und Firewalls
- 20 Externe IP-Adressen mit der Möglichkeit, Server im laufenden Betrieb oder über das Control Panel neu zuzuordnen
- 4 Server mit 8 Kernen mit jeweils 16 Threads
- 32 GB RAM
- Datenbankserver mit der Fähigkeit, bis zu 10000 IOPS bereitzustellen, im Allgemeinen jedoch etwa 2000 IOP
- Zeigen und Klicken Sie auf Backups
- Kein Vertrag oder nur 12 Monate
Sie konnten dies nicht nur nicht alles tun, sie sagten auch, wenn sie den Software-Stack dafür bereitstellen könnten, wären unsere Einrichtungskosten etwa 10.000 GBP plus monatliche Gebühren gewesen.
Dedizierte Server übertreffen Clouds, aber dies gehört der Vergangenheit an. Sie können es im Marketing gegen Cloud Computing sehen. Cloud Computing ist die vollständige Lösung, die kleine Unternehmen mit einem eigenen Rechenzentrum verbindet. In meinen Augen und nach dem Einstellen vieler AWS-Lösungen ist AWS derzeit die Geschäftslösung
Ich weiß, wenn ich eine AWS-Instanz kaufe, ist dies nicht nur die Instanz, sondern das gesamte daran angebrachte Kit. Ich weiß, wenn ich einen dedizierten Server kaufe, ist es wirklich nur ein Server, der mit einem angeschlossenen Kabel in ein Rack geworfen wird.
Ich weiß, dass £ für £ ein dedizierter Server besser ist als AWS, aber für meine Kunden und die tatsächlichen Geschäftsanforderungen überwiegt AWS die dedizierten Lösungen massiv