DAVID MALAN: Alles in Ordnung, willkommen zurück. Bevor wir in Cloud-Computing-tauchen, Ich dachte, ich für einen Moment innehalten würde wenn es irgendwelche offenen Fragen oder Themen, die während des Mittagessens kam das könnte jetzt von Interesse sein. PUBLIKUM: [unverständlich] DAVID MALAN: OK. Oh ok. PUBLIKUM: [unverständlich] DAVID MALAN: Nein, natürlich. OK, gut hoffentlich alle Ihre Probleme ergeben sich in den nächsten Stunden und morgen besonders. Aber lassen Sie uns einen Blick darauf werfen, dann, bei denen die letzte Diskussion über die Einrichtung eine Website führt, allgemeiner wenn es darum geht zu Cloud Computing, Einrichten einer Server-Architektur auf, die Arten von Entscheidungen dass Ingenieure und Entwickler und Manager müssen zu machen, wenn es darum geht, mehr tun, als nur Wenn Sie sich für ein $ 10 pro Monat Web-Host-up wenn Sie wirklich wollen, zu bauen Ihre eigene Infrastruktur. Und wir werden versuchen, diese wieder zu binden, beispielsweise auf Dropbox und andere wie sie. Also lassen Sie uns beginnen zu prüfen, Welche Probleme ergeben sich als Unternehmen bekommt gute und gute Probleme auftreten. So im einfachsten Fall mit einige Unternehmen, das einen Web-Server hat, Sie haben könnten, sagen wir mal, ein Server, der wir ziehen nur, dass wie folgt aussieht. Und in diesen Tagen, die meisten servers-- und lasst uns Dazu setzen tatsächlich ein Bild nur so , dass es etwas weniger nebulous ist. So Dell Rack server-- wieder in den Tag, da waren Großrechner dass nahmen ganze Räume. In diesen Tagen, wenn Sie waren einen Server zu erhalten, ist es vielleicht ein wenig etwas wie folgt aussehen. Server werden gemessen, was Oder EVUs sind Rack-Einheiten genannt. Und ein RU ist 1,5 Zoll, Das ist ein Industriestandard. So sieht das wie ein zwei RU-Server. So ist es 3 Zoll groß. Und sie sind in der Regel 19 Zoll breit, was bedeutet, dass alle diese Art von Sachen ist standardisiert. Also, wenn Sie eine Daten center-- suchen in nicht nur auf einem Server, aber lasst uns werfen Sie einen Blick auf Google Rechenzentrum und sehen, ob wir sehen ein schönes Bild in Google Bilder. Das ist viel besser beleuchtet als Sie würde in der Regel zu finden, und viel sexier suchen als Ergebnis. Aber das ist, was wie ein Paar schaut hundert Server alle etwa derselben Größe, tatsächlich im Rack nach dem nach nach Rack in einem Rechenzentrum-Rack. So etwas wie this-- kann dies gut sein Google, da ich von Google googeln. Aber es könnte sein Vertreter von allgemeiner ein Rechenzentrum, in dem viele Unternehmen sind in der Regel gemeinsam angeordnet. Und co-located im Allgemeinen bedeutet, dass Sie an einen Ort wie Equinix gehen oder andere Anbieter, die haben große Lagerhallen, die viel Macht haben, viel Kühlung, hoffentlich viel Sicherheit, und Einzelkäfigen umschließt Racks Server, und Sie entweder mieten, um die Racks oder Sie bringen die Regale in. Und einzelne Unternehmen, Start-ups vor allem, wird eine Art von Biometrie haben um in ihrem Käfig, oder ein Schlüssel, oder eine Schlüsselkarte. Sie öffnen die Tür. Und innerhalb von dort ist einfach ein Quadratmeterzahl Fußabdruck dass Sie zahlen für, innerhalb von was können Sie, was Sie wollen setzen. Und Sie zahlen in der Regel für die Macht. Und Sie zahlen für die Fußspuren. Und dann Sie zahlen selbst für die Server dass Sie in diesen Raum bringen sind. Und was man dann die Option zu tun ist, jemand zahlen für Ihren Internet-Service-Konnektivität. Sie können beliebig viele zahlen von Anbietern, von denen alle typischerweise kommen in das Rechenzentrum. Aber die wirkliche interessante Frage ist, was geht eigentlich in diesen Racks? Sie könnten alle sehr gut aussehen wie das, was wir gerade gesehen. Aber sie unterschiedliche Funktionen und vielleicht brauchen, um verschiedene Dinge zu tun. Und lassen Sie uns eigentlich motivieren, diese Diskussion mit der Frage, welches Problem beginnt zu entstehen, wenn Sie erfolgreich sind? Sie haben also eine Website bekam dass Sie schon gebaut. Und vielleicht verkauft es Widgets oder etwas ähnliches. Und Sie haben sehr gut gemacht mit einem Umsatz von Widgets online. Und Sie beginnen zu erleben einige Symptome, Ihre Website. Was könnten einige sein die technischen Symptome dass Nutzer berichten, wie Unternehmen wächst und boomt und Ihre Website davon profitieren? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, genau. So haben Sie vielleicht ein Verlangsamung Ihrer Website. Und warum könnte das passieren? Nun, wenn wir davon ausgehen, für Aus Gründen der Diskussion gerade jetzt, dass Sie sich auf einer bist dieser kommerziellen Web-Hosts dass wir über vor dem Mittagessen gesprochen, dass Sie eine bestimmte Anzahl von Dollar zahlen pro Monat, und Sie haben bereits bezahlt für die jährlichen Kosten Ihrer Domain nennen, dass Web-Host ist wahrscheinlich Anpreisung ihrer Ressourcen zu einem gewissen Grad. So können Sie einen Benutzernamen haben und das Kennwort auf ihrem Server. Aber so könnte mehrere andere oder mehrere Dutzend andere, oder vielleicht sogar mehrere hundert andere Anwender. Und Websites leben physisch auf dem gleichen Server. Warum ist das möglich? Nun in diesen Tagen, Server wie dies in der Regel mehrere Festplatten haben, vielleicht so viele wie sechs oder mehr Festplatten, von denen jeder könnte so viel als 4 Terabyte in diesen Tagen. Sie könnten also 24 Terabyte Speicherplatz in nur einem kleinen Server wie folgt. Und selbst wenn Sie etwas von diesem Raum zu stehlen für Redundanz, für Backup-Zwecke, es ist immer noch ein ziemlich viel Platz. Und sicherlich eine typische Website nicht so viel Platz brauchen. Nur der Registrierung von Benutzern und Speichern von Protokollen von Aufträgen braucht nicht allzu viel Platz. So können Sie es ganz partitionieren ein bisschen und jedem Nutzer geben nur ein kleines Stück davon. Inzwischen ein Computer wie dies in diesen Tagen hat typischerweise mehrere CPUs-- nicht nur ein, vielleicht zwei, vielleicht vier, vielleicht 16, oder sogar mehr. Und jeder dieser CPUs hat etwas namens ein Kern, der Art ist wie ein Gehirn innerhalb eines Gehirns. Also in der Tat die meisten hier jeder mit modernen Laptops hat wahrscheinlich einen Dual-Core oder Quad-Core-CPU-- und wahrscheinlich nur eine CPU innerhalb eines in diesen Tagen Laptop. Aber Desktop-Computer und Rack-Computern wie dies haben könnte ziemlich viele mehr CPUs und wiederum Kerne. Und ehrlich gesagt, auch in unseren Macs und PCs heute, brauchen Sie nicht wirklich Dual-Cores oder Quad-Cores Ihre E-Mail zu überprüfen. Wenn es irgendeinen Engpass, wenn kommt es einen Computer zu verwenden, Sie der Mensch sind wahrscheinlich die langsamste, was über diesen Computer. Und du wirst nicht in der Lage sein, überprüfen Sie Ihre E-Mail schneller, wenn Sie haben vier mal so viele CPUs oder Kerne. Aber das gleiche Art true eines Servers. Eine einzige Website könnte nicht notwendigerweise mehr als ein CPU oder ein Kern, ein kleines Gehirn innen tun all das Denken und die Verarbeitung. So haben die Hersteller ähnlich begann diese Ressourcen in Scheiben schneiden so dass vielleicht Ihre Website bekommt ein Kern, Ihre Website ein Kern bekommt, oder vielleicht sind wir teilen einen solchen Kern. Wir teilen auch Speicherplatz. Und wir teilen auch RAM, oder Random Access Memory von vorn, von denen es gibt auch eine endliche Menge. Und das ist der Schlüssel. Egal, wie teuer der Computer war, es gibt noch eine endliche Ressourcenmenge darin. Und so ist die mehr und mehr erhalten Sie versuchen, diese Ressourcen zu verbrauchen, die langsamer Dinge werden könnten. Aber warum? Warum würde die Dinge verlangsamen, wie ein Symptom eines Server überlastet werden? Was ist los? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, genau. Ich schlug vor, früher, dass RAM ist ein Speicher. Es ist flüchtig, wodurch das ist wo Anwendungen und Daten gespeichert, wenn sie verwendet werden. Und so gibt es deshalb nur eine endliche Anzahl Dinge können Sie auf einmal scheinbar tun. Und es ist auch schneller, Das ist eine gute Sache. Aber es ist auch teurer, Das ist eine schlechte Sache. Und es ist auch deshalb in niedriger Mengen als Speicherplatz, Festplatte Raum, der billiger zu sein tendiert. Mit anderen Worten: Sie vielleicht haben 4 Terabyte von Speicherplatz auf Ihrem Computer. Aber Sie könnten 4 haben Gigabyte oder 64 Gigabyte, in Größenordnung Faktor 1000 weniger RAM in Ihrem Computer. Also, was macht ein Computer? Nun, angenommen, dass Sie Sie haben 64 Gigabyte RAM in einem Server wie diese, die wäre durchaus üblich, wenn nicht niedrig heutzutage. Aber angenommen, Sie haben so viele Benutzer so viele Dinge zu tun, dass Sie Art von Art müssen 65 Gigabyte Speicher all das zu handhaben gleichzeitige Nutzung? Nun, man könnte einfach sagen, sorry, eine bestimmte Anzahl von Benutzern kann einfach nicht auf die Website zugreifen. Und das ist die Maßnahme der letzte Ausweg, sicher. Oder Sie, wie das Betriebs System, wie Windows oder Mac OS oder Linux oder Solaris oder jede Reihe anderer Betriebssysteme auf dem Server, nur entscheiden könnte, wissen Sie was? Ich habe nur 64 Gigabyte RAM. Ich brauche Art 65. So wissen Sie was? Ich werde 1 Gigabyte zu nehmen Wert der Daten im RAM das war die am wenigsten kürzlich zugegriffen wurde und verschieben Sie sie einfach auf die Festplatte vorübergehend, buchstäblich kopieren Sie es von der schnellen Speicher in den langsameren Speicher so dass ich dann umgehen kann, dass 65. Gigabyte Speicherbedarf, tun einige Berechnung auf sie. Dann, wenn ich das getan zu tun, Ich werde bewegen nur, dass auf der Festplatte, dass andere RAM bewege ich mich vorübergehend setzen auf der Festplatte in Rückseite der eigentlichen Hardware so dass ich bin eine Art Multitasking. Also ich bin Art, Dinge zu setzen vorübergehend in diesem Raum langsamer so schaffe ich die Illusion der Umgang mit jedermann. Aber es gibt eine Verlangsamung. Warum? Nun, innerhalb dieser Fest Scheiben in diesen Tagen ist, was? Vielmehr, was macht eine harte Antrieb unterscheidet sich von RAM wie es am besten wissen Sie jetzt? PUBLIKUM: [unverständlich] DAVID MALAN: OK, wahr. PUBLIKUM: [unverständlich] DAVID MALAN: So sehr wahr. Und das ist eine Nebenwirkung oder Funktion daß RAM der Tatsache ist in der Tat schneller. Und deshalb wollen Sie verwenden Sie es für aktuelle Verwendung. Und eine Scheibe ist langsamer. Aber es ist permanent, oder nicht flüchtig. So verwenden Sie es für die Langzeitlagerung. Aber in Bezug auf Implementierung, wenn ich nachschlagen was ein DIMM, Dual Inline Memory genannt Modul, das ist, was ein Stück RAM könnte typischerweise aussehen. So Innere unserer Mac--, dass ein Fehler ist. Innerhalb unserer Macs und PCs, unsere Desktop Computer würde Sticks Speicher haben, wie Sie sie nennen würde, oder DIMMs oder SIMMs zurück am Tag der Speicher dass so aussehen. Unsere Laptops haben wahrscheinlich Dinge, die sind die Größe oder die halbe Größe Drittel. Sie sind ein wenig kleiner, aber das gleiche idea-- wenig Stücke von grünen Silizium Wafer oder Kunststoff, hat kleine schwarze Chips auf sie mit viel von Drähten miteinander verbindet alles. Sie könnten eine ganze Reihe haben, diese innerhalb des Computers. Aber das Essen zum Mitnehmen ist hier es ist völlig elektronisch. Es gibt nur Elektronen fließt auf diesem Gerät. Im Gegensatz dazu, wenn wir uns das Innere einer Festplatte und ziehen Sie ein Bild hier, würden Sie stattdessen sehen so etwas wie dieses, das tut Elektrizität durchlaufen sie schließlich. Aber was springt auch aus bei Ihnen über diese Sache? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, es gibt scheinbar bewegenden Teilen. Es ist eine Art wie ein alter Rekord Player oder Plattenspieler-Player. Und es ist ziemlich viel. Es ist ein wenig schicker als dass-- während eines Grammophons Spieler verwendet Rillen in der Aufzeichnung dies tatsächlich nutzt winzige magnetische Partikel dass wir nicht ganz sehen können. Aber wenn auch ein wenig magnetische Teilchen sieht wie folgt aus, ist es ein 1 betrachtet. Und wenn es so aussieht, Nord-Süd-anstelle von Süden nach Norden, könnte es eine 0 sein. Und wir werden morgen sehen, wie wir bauen können aus, dass mehr interessante Dinge. Aber alles, was ist bekam körperlich zu bewegen, gehen wird sicherlich langsamer gehen als die Lichtgeschwindigkeit, die in der Theorie ist das, was ein Elektron könnte fließen an, obwohl realistisch nicht ganz. So mechanischen devices-- viel langsamer. Aber sie sind billiger. Und Sie können so viel passen mehr Daten in ihnen. So ist die Tatsache, dass es existiert in der Welt etwas virtueller Speicher genannt, mit einer Festplatte wie diese als ob es RAM transparent für den Benutzer, einfach durch Verschieben von Daten vom RAM auf die Festplatte, Bewegen Sie es dann zurück, wenn Sie brauchen es wieder, schafft die Verlangsamung. Weil Sie buchstäblich müssen kopieren Sie sie von einem Ort zum anderen. Und die Sache Sie kopieren es und aus ist tatsächlich langsamer als die RAM wo Sie es haben wollen. Die alternative Lösung hier-- wenn Sie nicht mögen, dass verlangsamen, und Ihre virtuellen Speicher ist Art Überforderung, was ist eine andere Lösung für dieses Problem? PUBLIKUM: [unverständlich] DAVID MALAN: Nun, Erhöhung des virtuellen Speichers würde uns dies auf einen noch größeren Maßstab. Wir konnten 66 Gigabyte Griff wert Speicherbedarf oder 67 Gigabyte. Aber nehmen wir an Ich mag es nicht diese langsam nach unten, in der Tat Ich möchte virtuellen auszuschalten Speicher, wenn das überhaupt möglich ist, was könnte ich bewerfen Dieses Problem, es zu lösen, wo ich will, um mehr Nutzer verarbeiten und mehr Speicherbedarf als ich im Moment körperlich haben? PUBLIKUM: [unverständlich] DAVID MALAN: Leider nein. So ist die CPU und die Kerne, sie sind in sind eine endliche Ressource. Und es gibt keine analogen in diesem Zusammenhang. Gute Frage, aber. Also einfach klar zu sein, auch wenn innerhalb dieses Computers ist, sagen wir mal, ein RAM-Stick, der aussieht wie this-- und so werden wir dieses RAM nennen. Und hier ist das Festplattenlaufwerk. Und ich werde nur diese ziehen bildhaft als kleiner Kreis. Es sind 0 und 1 ist in den beiden these-- Daten, werden wir es als verallgemeinern. Und im Wesentlichen, wenn ein Benutzer läuft eine Anwendung wie, lassen Sie uns sagen, eine Website, die dies erfordert viel RAM pro Benutzer, was ich vorschlage, durch diese Sache virtueller Speicher genannt, nur vorübergehend zu bewegen hier, dass das jetzt so ich bewegen Speicher jemand anderes kann Anforderungen dort. Und dann, wenn das erledigt ist, Ich kann dies über kopieren zurück und das geht hier, um dadurch zu bewegen was ich woanders dort wollte insgesamt. Also gibt es nur eine Menge switcheroo ist das Mitnehmen hier. Also, wenn Sie mögen es nicht, und Sie nicht wollen alles auf der Festplatte zu setzen, was ist eine Art der offensichtlichen Business-Person-Lösung auf das Problem oder den Ingenieur Lösung für diese Angelegenheit, auch? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, ich meine, buchstäblich werfen Geld auf das Problem. Und tatsächlich ist dies die perfekte segue zu einigen der höheren Ebene Diskussionen über Cloud Computing. Da ein großer Teil davon ist motiviert von finanziellen Entscheidungen, nicht einmal unbedingt technologische. Wenn 64 GB RAM zu wenig ist, na ja, warum man nicht mehr als 128 Gigabyte RAM? Warum nicht 256 Gigabyte RAM? Gut, warum nicht? PUBLIKUM: [unverständlich] DAVID MALAN: Nun, es kostet mehr Geld, sicher. Und wenn Sie bereits Ersatz Festplattenspeicher, effektiv, oder äquivalent, Speicherplatz auf der Festplatte ist so viel billiger auch Sie es verwenden können. Also noch einmal, da ist dieser Kompromiss, dass wir sahen sogar noch früher an diesem Morgen, wo es wirklich nicht unbedingt eine richtige Antwort, es gibt nur eine bessere oder schlechtere Antwort auf das, was Sie wirklich interessieren. So gibt es auch technischen Realitäten. Ich kann nicht einen Computer kaufen, meines Wissens nach, mit einer Billion Gigabyte jetzt RAM. Es ist einfach physisch nicht existiert. So gibt es einige obere Schranke. Aber wenn Sie jemals selbst habe shopped für einen Verbraucher, Mac oder PC, Auch allgemein ist da diese Kurve von Funktionen wo es vielleicht eine gute sein, eine bessere und eine beste Computer. Und die Grenzerträge auf Ihrem Dollar kaufen der beste Computer im Vergleich zu desto besser Computer vielleicht nicht annähernd so hoch sein als ein bisschen mehr Geld ausgeben und bekommen die besseren Computer über den guten Computer. Mit anderen Worten, Sie zahlen ein Prämie, die oben auf der Linie zu bekommen. Und was wir in der zu sehen Diskussion über Cloud Computing ist das, was sehr häufig ist diese Tage, und welche Unternehmen wie Google früh populär wurde nicht zahlen für und Gebäude wirklich Lust, teuer frisierte Computer mit viel, viel von allem, sondern den Kauf oder den Bau recht bescheiden Computer, aber viele von ihnen, und mit etwas, das allgemein ist genannte horizontale Skalierung statt der vertikale Skalierung. So würde die vertikale Skalierung bedeuten bekommen mehr RAM, mehr Speicherplatz, mehr von allem, und Art investieren vertikal in Ihrer Hardware so dass Sie immer nur die Besten der Besten der Besten, aber Sie zahlen dafür. Horizontale Skalierung erhalten Art der untere Reihe Dinge, die gutes Modell, oder auch das schlechtere Modell, aber bekommen viele von ihnen. Aber sobald Sie bekommen viele them-- beispielsweise in diesem Fall, Web-Server, wenn dieser einen Server oder ein Web-Host reicht nicht aus, dann nur intuitiv, die Lösung für dieses Problem der Last oder Überlastung auf den Servern entweder erhalten einen größeren Server oder, was ich vorschlagen hier statt der Skalierung vertikal so zu sprechen, wäre, wissen Sie was? Nehmen Sie einfach eine zweite eine davon. Oder vielleicht bekommen sogar ein Drittel. Aber jetzt haben wir geschaffen ein technisches Problem von der Natur dieses Geschäfts oder finanzielle Entscheidung. Was ist das jetzt technisches Problem? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, wie zu tun Sie verbinden sie und- leid? PUBLIKUM: [unverständlich] DAVID MALAN: Richtig, weil ich noch have-- wenn ich mich in dieses Bild wieder einführen, wenn dies ist mein Laptop irgendwo im Internet, die jetzt zwischen mich und das Unternehmen wir reden, jetzt muss ich herausfinden, zu denen Server kann ich diesen bestimmten Benutzer senden? Und wenn es andere Nutzer, wie dies, und dann dieses hier, und vielleicht ist dies der Benutzer A, dieser Benutzer B ist, ist dieser Benutzer C, und dies ist Server 1, 2, und 3-- jetzt eine intuitive Antwort könnte hier sein, gerade, wir werden Benutzer A bis 1 schicken und B 2 und C 3. Und wir können 3-mal so viele Nutzer verarbeiten. Aber das ist eine grobe Vereinfachung. Wie entscheiden Sie, wem wo schicken? Also lassen Sie uns versuchen, durch diese an die Vernunft. So nehme an, dass Computer A, B und C sind die Kunden, und Server 1, 2 und 3 sind horizontal Server skaliert. Sie sind also eine Art identisch. Sie sind alle laufen mit der gleichen Software. Und sie können alle das gleiche tun. Aber der Grund, warum wir haben drei von ihnen ist so dass wir drei handhaben Mal so viele Menschen auf einmal. So wissen wir aus unserem Diskussion vor dem Mittagessen dass es Hardware zwischen die Laptops und die Server. Aber wir werden nur irgendwie verallgemeinern dass jetzt als das Internet oder der Cloud. Aber wir wissen, dass in meinem Haus, gibt es wahrscheinlich ein Home-Router. In der Nähe der Server, gibt es wahrscheinlich einen Router, DNS-Server, DHCP. Es kann alles sein wir wollen in dieser Geschichte. Wie können wir also zu entscheiden, zu starten, wenn Benutzer A geht an something.com, die Server auf dem Weg zu dem Benutzer? Wie könnten wir beginnen, diese Geschichte zu erzählen? PUBLIKUM: Load Balancing? DAVID MALAN: Load Balancing. Was meinst du damit? PUBLIKUM: Rückkehr wo die meisten Gebrauch ist und die man hat die die meisten zur Verfügung stehenden Ressourcen. DAVID MALAN: OK, so lassen Sie mich eine neue Art von Hardware einführen dass wir noch nicht besprochen haben, die das ist genau das, ein Load-Balancer. Auch dies könnte nur ein Server sein. Es könnte genau so aussehen wie das, was wir sahen vor einem Augenblick. Ein Load Balancer wirklich ist nur ein Stück Software dass Sie auf einem Stück Hardware ausgeführt werden. Oder Sie können einen Verkäufer bezahlen, wie Citrix oder andere, Cisco oder andere. Sie können für ihre eigene Hardware bezahlen, Das ist ein Hardware-Load-Balancer. Aber das bedeutet nur, sie vorinstallierter den Lastausgleich Software, die auf ihrer Hardware und verkauft sie alle zusammen zu Ihnen. Also werden wir es einfach als ein Unentschieden Rechteck für unsere Zwecke. Wie nun implementiere ich einen Load Balancer? In anderen Worten, wenn will Benutzer A zu besuchen Sie meine Website, ihre Anfrage irgendwie oder andere, wahrscheinlich durch diejenigen, Router wir vorhin gesprochen haben, wird schließlich zu erreichen diese Load-Balancer, der dann muss eine Routing-ähnliche Entscheidung zu treffen. Aber es ist das Routing für Art nun von einem höheren Zweck. Es geht nicht nur darum, von Punkt A nach Punkt B. Es geht darum, zu entscheiden, welche Punkt B ist die beste unter them-- 1, 2 oder 3 in diesem Fall. Wie kann ich entscheiden, ob zu 1, 2, 3 gehen? Was könnte diese Blackbox, so zu sprechen, werden auf der Innenseite zu tun? Auch dies ist ein weiteres Beispiel in Informatik der Abstraktion. Ich habe buchstäblich einen Load-Balancer gezogen als Blackbox in schwarzer Tinte, innen von denen einige interessante Logik oder Magie selbst, aus denen muss kommen a decision-- 1, 2, oder 3 ist. Und der Eingang ist nur A. PUBLIKUM: [unverständlich] DAVID MALAN: Tut mir leid? PUBLIKUM: [unverständlich] DAVID MALAN: Alles in Ordnung, wie könnten wir kategorisieren, welche Arten von Transaktionen Hier? PUBLIKUM: Anzeigen einer Webseite gegen die Abfrage einer Datenbank. DAVID MALAN: Okay, das ist gut. Vielleicht dieser Benutzer A will eine Web-Seite zu sehen. Und vielleicht ist es sogar statische Inhalte, etwas, das selten, wenn überhaupt ändert. Und das scheint wie ein ziemlich einfache Bedienung. Vielleicht werden wir nur willkürlich, aber vernünftig, sagen, Server 1, im Leben seinen Zweck ist nur statische Inhalte dienen nach oben, Dateien, die selten, wenn überhaupt, zu ändern. Vielleicht ist es die Bilder auf der Seite. Vielleicht ist es der Text auf der Seite oder andere solche Art von uninteressanten Dinge, nichts Transaktions-, nichts dynamisch. Im Gegensatz dazu wird, wenn der Benutzer eine Überprüfung aus seinen Einkaufswagen, eine Datenbank benötigt, irgendwo zu speichern, und denken Sie daran, dass die Transaktion, gut vielleicht, dass Anfrage gehen sollte Server 2. Also das ist gut. So können wir Balance basiert laden von der Art der Anforderungen. Wie sonst könnten wir das tun? Was andere-- PUBLIKUM: Basierend auf dem Server des Auslastung und Kapazität. DAVID MALAN: Richtig, OK. So erwähnt, dass früher, Kareem. Was also, wenn wir eine Eingabe liefern auf [unverständlich] unter den Servern 1, 2, und 3 dieser Load-Balancer, so dass sie sind nur ständig zu informieren der Load Balancer, was ihren Status ist? Wie, hey, Load Balancer, Ich bin bei 50% Auslastung. Mit anderen Worten, ich habe halb so viele Nutzer wie ich jetzt wirklich umgehen kann. Hey, Load Balancer, ich bin bei 100% Auslastung. Hey, Load Balancer, 0% Auslastung. Der Load Balancer, wenn es in einer Weise, dass kann in dieser Stellungnahme in als Eingabe, kann es dann entscheiden, ooh, Nummer 2 ist zu 100%. Lassen Sie mich ihm keine Zukunft Anfragen senden die andere Nutzer als bereits verbunden ist. Dieser Kerl ist auf 0%. Lassen Sie uns eine Menge Verkehr zu ihm schicken. Dieser Mann, sagte er bei 50% ist. Lassen Sie uns ihm etwas Verkehr zu senden. Das wäre also ein Bestandteil sein, dass wir konnten Last berücksichtigen. Und es wird im Laufe der Zeit ändern. So werden die Entscheidungen ändern. Also das ist eine wirklich gute Technik, eine, die häufig verwendet wird. Was könnten wir sonst tun? Und lassen Sie uns eigentlich nur hier zusammenfassen. So sind die Entscheidungen hier könnte sein, nach Art des Verkehrs, werde ich es nennen. Es kann basierend auf Last werden. Mal sehen, ob wir nicht kommen mit ein paar anderen auf. PUBLIKUM: [unverständlich] DAVID MALAN: Location. Also das ist ein guter. So könnte man, wie Ort abgewickelt nutzen diese Informationen? PUBLIKUM: [unverständlich] DAVID MALAN: Oh, das ist gut. Und darüber, wie viele Millisekunden wäre es verringern, indem auf das, was wir sahen dies Morgen, würden Sie sagen? PUBLIKUM: [unverständlich] DAVID MALAN: Nun, basierend auf die Spur Routen wir sahen früher, was gerade ist ein grobes Maß für etwas, zumindest, wie lange es dauert, für Daten von A nach B zu erhalten fühlt sich an wie alles vor Ort war, was, wie 74 Millisekunden, geben oder nehmen? Und dann ist alles 100 plus, 200 plus war wahrscheinlich im Ausland. Und so auf der Grundlage dieses allein, es scheint vernünftig anzunehmen, dass für einen Benutzer, in den USA einen europäischen Server zuzugreifen vielleicht nehmen zweimal oder dreimal so lange, auch in Millisekunden, als wenn das könnte dauern Server wurden hier angesiedelt geographisch, oder umgekehrt. Also, wenn ich vorgeschlagen früher, dass vor allem wenn Sie Kreuz, das von 200 Millisekunden Schwelle, geben oder nehmen, Menschen tun beginnen zu bemerken. Und die Trace-Route ist nur unter der Annahme, roh, uninteressante Daten. Wenn Sie eine Website haben, müssen Sie erhalten die Benutzer das Herunterladen von Bildern oder Film Dateien, viel Text, nachfolgende Anfragen. Wir sahen, als wir dort waren, was war es, Facebook oder Amazon früher, es gibt eine ganze Menge Sachen dass muss heruntergeladen werden. So geht das ist zu addieren. So Multi-Sekunden könnte nicht unangemessen sein. So gut, Geographie ist eine Zutat. Also in der Tat Unternehmen wie Akamai, wenn Sie schon von ihnen gehört, oder andere haben lange gedauert Geographie berücksichtigt. Und es stellt sich heraus, dass von Natur aus ein IP-Adresse, mein Laptop die IP-Adresse, Sie folgern, mit einiger Wahrscheinlichkeit, wo Sie sind in der Welt. Und in der Tat gibt es Dritte Service kann zahlen, die Datenbanken pflegen von IP-Adressen und Geografien dass mit hoher Wahrscheinlichkeit wird wenn wahr gefragt, wo in der Welt Adresse ist diese IP? Und so in der Tat, was andere Unternehmen nutzen das? Wenn Sie Hulu oder Netflix, wenn Sie jemals im Ausland unterwegs, und Sie versuchen, etwas zu sehen auf Hulu, und du bist nicht in den USA, Sie könnte eine Meldung, sagen, nicht in den USA. Leider können Sie nicht diesen Inhalt zu sehen. PUBLIKUM: [unverständlich] DAVID MALAN: Ach, wirklich? Aber ja, also eigentlich das ist, eine perfekte Anwendung von etwas sehr technisch auf ein tatsächliches Problem. Wenn Sie VPN waren aus Europa oder Asien oder überall in der Welt zu Ihrem Firmen Hauptsitz in New York oder wo auch immer du bist, bist du geht das Aussehen zu schaffen auf fremde Internetseiten, dass Sie sind eigentlich in New York, obwohl du bist körperlich ziemlich weit weg. Jetzt können Sie die Benutzer wollen wissen Sie natürlich weg sind. Aber du wirst es auch fühlen, weil dieser zusätzlichen Millisekunden. Diese zusätzliche Distanz und die Verschlüsselung, die im VPN geschieht geht die Dinge zu verlangsamen. So kann es oder auch nicht sein eine große Erfahrung. Aber Hulu und Netflix werden sehen, Sie als irgendwo in New York sitzt, wie man deutlich aufgelesen habe. Was für eine perfekte Lösung dafür. In Ordnung, so Geographie ist eine Entscheidung. Was sonst könnten wir entscheiden verwenden, wie der Datenverkehr von A, B und C auf 1, 2 und 3, wiederum, Putting die Engineering-Hut auf? Das klingt alles sehr kompliziert. Uh, ich weiß nicht einmal, wo zu beginnen, diejenigen zu implementieren. Geben Sie mir etwas, das einfacher ist. Was ist der einfachste Weg, diese Entscheidung zu treffen? PUBLIKUM: Ist der Server verfügbar? DAVID MALAN: Ist der Server verfügbar? Also nicht schlecht. Das ist gut. Das ist eine Art von Nuancierung der Last. Lassen Sie uns also, dass zu halten in der Belastungsklasse. Wenn Sie verfügbar sind, dann bin ich einfach gehen die Daten dorthin zu schicken. Doch das könnte sich schnell nach hinten losgehen. Denn wenn ich diese Logik verwenden, und wenn ich immer fragen 1, sind auf Sie, sind Sie auf, wenn die Antwort immer sind Sie auf, ist ja, Ich werde 100% des Verkehrs zu schicken zu ihm: 0% sonst für jedermann. Und irgendwann werden wir treffen dass Verlangsamung oder Website nicht verfügbar. Also, was ist etwas besser als dass aber immer noch ziemlich einfach und bei weitem nicht so klug wie unter allen diese zusätzlichen Daten zu berücksichtigen? PUBLIKUM: Kosten pro Server. DAVID MALAN: Kosten pro Server. OK, so lassen Sie mich werfen, dass in der Last Kategorie auch. Denn das, was Sie finden in Wenn Sie ein Unternehmen, too-- dass aktualisieren Sie Ihren Server im Laufe der Zeit oder mehr kaufen, Sie könnten nicht in der Lage sein, genau zu bekommen die gleichen Versionen von Hardware. Weil es aus Datum fällt. Sie können es nicht mehr kaufen. Die Preise ändern. So können Sie unterschiedliche Server haben im Cluster, so zu sprechen. Das ist völlig in Ordnung. Aber im nächsten Jahr die Hardware könnte doppelt so schnell sein, doppelt so leistungsfähig wie dieses Jahr. So können wir, dass werfen in die Last Kategorie. Diese Rückkopplungsschleife zwischen 1, 2 und 3 in der Load-Balancer sicherlich könnte es sagen, hey, ich bin bei 50% der Kapazität. Aber durch die Art und Weise habe ich auch doppelt so viele Kerne. Nutzen Sie diese Informationen. Auch simpler-- und das wird ein Thema in der Informatik zu sein. Im Zweifelsfall oder wenn Sie wollen, eine einfache Lösung, die im Allgemeinen gut funktioniert im Laufe der Zeit, wählen Sie nicht die gleiche Server die ganze Zeit, aber wählen-- PUBLIKUM: ein gelegentliches? DAVID MALAN: --a zufälligen Server. Ja, wählen Sie eine oder das andere. So Zufälligkeit ist eigentlich Diese sehr starke Zutat in der Informatik, und in der Technik mehr im Allgemeinen, vor allem, wenn Sie möchten, um schnell eine einfache Entscheidung ohne es mit allen zu verkomplizieren dieser sehr klug, aber auch sehr klug, Lösungen, die erfordern, umso mehr Engineering, all desto mehr Gedanken, wenn wirklich, tun, warum nicht ich nur Flip Art eine Münze oder ein dreiseitig Münze in diesem Fall, und zu entscheiden, ob ein zu gehen, 2, 3? Das könnte probabilistically nach hinten losgehen, aber ähnlich wie die Gewinnchancen der Köpfe wieder spiegeln und wieder und wieder und wieder und immer wieder möglich ist, in reality-- super, super unwahrscheinlich. So im Laufe der Zeit, stehen die Chancen nur Benutzer zu senden zufällig zu 1, 2, und 3 wird zu erarbeiten völlig in Ordnung. Und dies ist eine Technik allgemein als Round-Robin bekannt. Oder eigentlich ist das nicht Round-Robin. Dies würde die zufällige Ansatz. Und wenn Sie wollen, auch zu sein ein wenig einfacher als das, Round-Robin wäre, erste Person geht 1, zweite Person 2, die dritte Person bis 3, die vierte Person zu 1. Und darin liegt das Round-Robin. Sie sind nur von Art zu gehen um in einem Zyklus. Jetzt sollten Sie klug darüber sein. Sie sollten nicht blind den Benutzer senden Server Nummer eins, wenn, was der Fall ist? Wenn es bei max Kapazität ist, oder es ist einfach nicht mehr ansprechbar. So möchten Sie idealerweise einige Art von Feedback-Schleife. Ansonsten senden Sie einfach alle der Benutzer in eine Sackgasse. Aber das kann berücksichtigt werden, zu. So schätzen nicht unter den Wert von nur Zufälligkeit was ziemlich oft Eine Lösung dieser Art von Problemen. Und wir werden Round-Robin aufzuschreiben. So wie einige Unternehmen implementieren Round Robin oder Zufälligkeit oder jeder dieser Entscheidungen? Nun leider sie Dinge tun, wie diese. Lassen Sie mich noch einmal schnell Screenshot oben ziehen. Eigentlich wollen wir zwei tun. Ich weiß nicht, warum wir bekommen alle diese Gerichte. Das ist sehr seltsam. Also gut, was ich wirklich wollen, ist ein Screenshot. Das ist komisch. Na gut, so kann ich diese fälschen. Ich weiß nicht, wie viel weiter Ich möchte eine Rolle zu halten. So sehr häufig, werden Sie sich selbst zu finden an einer Adresse wie www.2.acme.com, vielleicht www.3 oder 4 oder 5. Und halten Sie ein Auge für diese. Sie sehen es nicht so oft. Aber wenn Sie das tun, es neigt Art zu größer sein, älter, stodgier Unternehmen dass technisch nicht wirklich wissen scheinen, was sie tun. Und sehen Sie diese auf Tech-Unternehmen manchmal, die Älteren. Also, was tun sie? Wie setzen sie Load Balancing, wie es scheint? Wenn Sie sich als die Benutzer Typisierung www.something.com, und plötzlich bist du bei www.2.something.com, was hat ihre Last Balancer wohl getan? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, so die Load-Balancer ist vermutlich eine Entscheidung auf der Grundlage eines von diese Entscheidung processes-- ist nicht wirklich was. Aber ähnlich wie ich habe gezeichnet die Zahlen auf dem Tisch hier, die Server sind nicht nur 1, 2 und 3 bezeichnet. Sie sind wahrscheinlich genannt www1, www2, www3. Und es stellt sich heraus, dass im Inneren des eine HTTP-Anforderung ist diese Funktion. Und ich werde simulieren dies wie folgt. Ich werde das gleiche zu öffnen Entwickler Registerkarte Netzwerk nach wie vor nur so können wir sehen, was los auf unter der Haube. Ich werde den Bildschirm zu löschen. Und ich werde gehen, lasst uns sagen, http://harvard.edu. Jetzt für was auch immer geschäftlichen Gründen, Harvard hat sich entschieden, wie viele andere, viele andere Websites, zu standardisieren Website auf www.harvard.edu sowohl für technische und Marketing-Gründen. Es ist nur irgendwie in vogue das www zu haben. So ist der Server an der Harvard hat um irgendwie den Benutzer umleiten, wie ich immer wieder sagen, von eine URL zum anderen. Wie funktioniert das? Nun, lassen Sie mich gehen Sie vor und drücken Sie die Eingabetaste. Und die URL merken, in der Tat schnell geändert www.harvard.edu. Lassen Sie mich in diese zurückblättern Geschichte und klicken Sie auf diese Debug Diagnoseinformationen, wenn man so will. Lassen Sie mich auf meine Bitte schauen. Also hier ist die Bitte, die ich gemacht. Und merken es mit der Art konsistent ist von fordere ich von Facebook zuvor. Aber beachten Sie die Antwort. Was ist anders in die Antwort dieses Mal? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, so ist es nicht ein 200 OK. Es ist nicht ein 404 Not Found. Es ist ein 301 dauerhaft bewegt, was Art eine lustige Art und Weise ist zu sagen, Harvard hat upped und bewegt an anderer Stelle zu www.harvard.edu. Die 301 bedeutet, dass dies ist eine Umleitung. Und wo sollte der Benutzer offenbar umgeleitet werden? Es gibt ein zusätzliches Schmankerl von Informationen in diesem Umschlag. Und jede dieser Linien wird jetzt starten einen HTTP-Header aufrufen. Header ist nur ein Schlüsselwert pair-- etwas etwas Kolon. Es ist ein Stück von Informationen. Wo soll der neue Lage offenbar sein? Beachten Sie die letzte Zeile unter all den Header. PUBLIKUM: [unverständlich] DAVID MALAN: Ja, so ist es zusätzliche Information. Die erste Zeile, die ich hervorgehoben habe 301 sagt dauerhaft verschoben. Nun, wo hat es bewegt? Die letzte line-- und sie nicht haben in dieser Reihenfolge zu sein. Es kann zufällig sein. Lage Doppelpunkt bedeutet, hey Browser, gehen stattdessen zu dieser URL. So Browser verstehen HTTP-Umleitungen. Und das ist ein sehr, sehr gemeinsamen Weg bei der hüpfenden der Benutzer von einem Ort zum anderen. wenn Sie jemals zum Beispiel versucht, eine Website zu besuchen, die Sie nicht finden angemeldet sind, können Sie plötzlich selbst bei einer neuen URL zusammen zu sein anmelden gefragt werden. Wie funktioniert das? Der Server sendet wahrscheinlich ein 301. Es gibt auch andere Zahlen, wie 302, etwas andere Bedeutung, dass Sie auf eine andere URL senden. Und dann der Server, Sobald Sie sich angemeldet haben, Sie zurück zu schicken, wo Sie eigentlich gedacht. Also, was sind dann schlecht engineered Websites zu tun? Wenn du besuchst www.acme.com, und sie nur passieren auf ihre Server benannt haben www1, www2, www3, und so weiter, sie sind sehr simply-- Das ist fair, aber sehr Art foolishly-- Sie Umleitung zu ein wirklich anders benannten Server. Und es funktioniert völlig in Ordnung. Es ist schön und einfach. Wir haben gesehen, wie es wäre, unter der Haube getan in der virtuellen Umschlag. Aber warum ist das wohl ein schlechte Engineering Entscheidung? Und warum bin ich Art von oben herab in Richtung dieser besonderen Technik Ansatz? Begründen Sie, warum das ist schlecht. Ben? PUBLIKUM: [unverständlich] DAVID MALAN: Jeder Server müsste haben eine Kopie der Website. Ich bin OK mit, dass. Und in der Tat ist das, was ich bin Annahme für diese ganze Geschichte, da, wenn wir wanted-- gut tatsächlich, mit Ausnahme von Dan früheren Vorschlag, wo, wenn Sie unterschiedliche Server unterschiedliche Dinge zu tun, dann vielleicht könnten sie eigentlich sein Tun funktionell verschiedene Dinge. Aber selbst dann, an einem gewissen Punkt, Ihre Datenbank wird überlastet zu werden. Ihre statische Vermögenswerte Server gehen überlastet würde. Also irgendwann, wir sind in dieser Geschichte zurück, wo wir müssen mehrere Kopien der gleiche. Also ich bin OK mit, dass. PUBLIKUM: [unverständlich] DAVID MALAN: OK, so dass einige Seiten könnte unverhältnismäßig beliebt. Und so fixiert auf eine Adresse ist nicht unbedingt die beste Sache. [UNVERSTÄNDLICH]? PUBLIKUM: [unverständlich] DAVID MALAN: Was meinen Sie damit? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, genau. Sie wollen also nicht zu have-- Sie unbedingt sicher Sie möchten, dass Ihre Benutzer haben in www1 oder www2 manuell eingeben. Aus Branding Perspektive, es nur sieht ein wenig lächerlich. Wenn Sie wollen einfach nur eine Art von sauber, elegant Erfahrung, Nachdem diese Art von zufällig nummeriert URLs ist wirklich nicht gut. Denn dann Benutzer sind sicher Gehen sie zu kopieren und einfügen in E-Mails oder Instant Messages. Jetzt sind sie propagieren. Jetzt sind Sie eine Art verwirrend Ihre weniger technische Publikum, wer denkt, Ihre Web-Adresse ist www2.something.com. Es gibt keine zwingenden Semantik darauf. Es passiert einfach ein zugrundeliegendes sein technische Details, die Sie haben nummeriert Ihre Server auf diese Weise. Und schlimmer noch, was, wenn, zum Beispiel, vielleicht um die Weihnachtszeit, wenn Geschäft ist wirklich boomt, Sie haben www1 durch www99 bekam, aber im Januar und Februar und weiter, biegen Sie die Hälfte derer aus so dass Sie nur www1 durch www50 haben? Was ist die Implikation jetzt, dass sehr vernünftige Geschäftsentscheidung? PUBLIKUM: [unverständlich] DAVID MALAN: Sie müssen noch alle diejenigen zu verwalten. PUBLIKUM: [unverständlich] DAVID MALAN: Genau. Das ist irgendwie die es zu fangen. Wenn Ihre Kunden sind in der Gewohnheit bookmarking Dinge, E-Mail, geben Sie einfach Speichern Sie die URL irgendwo, oder wenn es nur in ihrem Auto Ergänzen in ihrem Browser so dass sie nicht wirklich eingeben es absichtlich, es geschieht nur, sie könnten, für 11 Monate aus dem Jahr effektiv, erreichen eine Sackgasse. Und nur die scharfsinnigsten von Benutzer geht zu realisieren, Vielleicht sollte ich manuell diese Nummer zu entfernen. Ich meine, es ist einfach nicht passieren mit vielen Benutzern, so schlecht für die Wirtschaft, schlechte Umsetzung Technik weise. Also zum Glück ist es nicht einmal notwendig. Es stellt sich heraus, dass, was Loadbalancer tun können ist, anstatt zu sagen, wenn A hey macht ein request-- A, auf 1 gehen. Mit anderen Worten, anstatt zu senden, dass die Umleitung so dass Schritt eins in diese Prozess ist der Sprung hier, er wird dann an anderer Stelle zu gehen, erzählt. Und so Schritt drei ist, er an anderer Stelle geht. Sie können stattdessen auf Weg fortsetzen, bis halten diesen Begriff verwenden, die alle A Daten durch den Load Balancer so, dass er nie die Kontakte 1, 2 oder 3 direkt. Der gesamte Datenverkehr nicht bekommen "geroutet" von der Last selbst Balancer. Und so jetzt sind wir eine Art absichtlich verwischen die Grenzen unter diesen verschiedenen Geräten. Ein Load-Balancer können Routendaten. Es ist nur eine Funktion, die es hat. So ein Load-Balancer auch, es ist ein Stück Software, wirklich. Und einem Router ist ein Stück Software. Und Sie können absolut haben zwei Stücke von Software in von einem physischen Computer so eine Last Balancer können diese mehrere Dinge zu tun. So gibt es eine andere Art und Weise dies zu tun, die eigentlich geht nach Art von ersten Prinzipien zurück von DNS, die wir sprachen über vor Bruch. DNS war Domain Name System. Denken Sie daran, dass Sie einen DNS-Server fragen, was ist die IP-Adresse google.com, facebook.com? Und wir können dies tatsächlich tun. Ein Werkzeug, das wir nicht früher verwenden ist eine, die genauso zugänglich ist, nslookup, nach Nameserver-Lookup genannt. Und ich werde einfach facebook.com geben. Und ich sehe, dass Facebook-IP Adresse ist dies offenbar. Lassen Sie mich gehen Sie vor und kopieren dass, gehen Sie zu einem Browser, und gehen Sie zu http: // und dass IP-Adresse ein und drücken Sie die Eingabetaste. Und sicher genug, scheint es zu funktionieren. Jetzt nach hinten arbeiten, was war innerhalb des virtuellen Umschlag dass Facebook reagierte mit, wenn Ich besuchte die IP direkt ansprechen? Da bemerken, wo bin ich jetzt? Wo bin ich jetzt die Adresse? PUBLIKUM: [unverständlich] DAVID MALAN: Auf der sicheren Version, und am www.facebook.com. So ist es nicht einmal nur die sichere IP-Adresse. Facebook hat es sich zur Aufgabe gemacht zu sagen, das ist lächerlich. Wir werden Sie nicht an diese zu halten hässlich suchen URL, die numerische ist. Wir werden Ihnen eine HTTP zu senden haft selben Header umleiten dass wir sahen before-- Lage Kolon etwas. Und so bedeutet dies lediglich, dass unter die Haube ist immer noch diese IP-Adresse. Jeder Computer im Internet eine IP-Adresse hat, wie es scheint. Aber Sie müssen nicht unbedingt dass für den Benutzer verfügbar zu machen. Und ähnlich wie in den Tag zurück, da war 1-800-COLLECT, 1-800-C-O-L-L-E-C-T, in den USA, wurde ein Weg zur Herstellung collect Anrufe über eine sehr einfach unvergesslich Telefon Nummer oder 1-800-MATTRESS ein Bett zu kaufen, und ähnliche Mnemotechnik, die Sie selbst sehen am Telefon Art von Art noch, dass Buchstaben Karte zu Zahlen. Nun, warum ist das so? Nun, es ist viel einfacher zu merken 1-800-MATTRESS oder 1-800-COLLECT statt von 1-800 etwas etwas etwas etwas etwas etwas etwas, wobei jede von denen eine Ziffer. Ebenso erfuhr die Welt schnell, dass wir nicht haben die Menschen die IP-Adressen speichern. Das wäre albern. Wir gehen stattdessen Namen zu verwenden. Und das ist, warum DNS geboren wurde. In Ordnung, so mit dieser sagte, in Bezug auf Die von Load-Balancing, lassen Sie yahoo.com versuchen. Nun, das ist interessant. Yahoo scheint drei IPs zurückkehrt werden. So folgern daraus, wenn Sie könnten, was ist eine andere Art und Weise, die wir umsetzen könnten dieser Begriff der Load-Balancing vielleicht sogar ohne eine physische Verwendung Gerät, das neue physikalische Gerät? Mit anderen Worten, ich kann wegnehmen das Finanzierung Sie für den Load Balancer haben und sagen Sie einige bestehende zu verwenden Stück Hardware zu implementieren dieser Begriff der Lastausgleich? Und der Spoiler ist, ja, aber was, oder wie? Was ist Yahoo vielleicht hier? Kareem? OK, Chris? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, alle drei dieser Arbeit. So Zufälligkeit, Round-Robin, Ort abgewickelt können Sie einfach ein vorhandenes Stück des Puzzles nutzen dass wir über früher des DNS gesprochen System und einfach zu sagen, wenn der erste Benutzer des Tages fordert yahoo.com, geben ihnen die erste IP-Adresse, wie die in 45 bis dort endet. Und das nächste Mal, wenn ein Benutzer-Anfragen die IP-Adresse von yahoo.com von irgendwo in der Welt, geben ihnen die zweite IP, dann die dritte IP, dann ist die erste IP, dann die zweite. Oder machen Sie es klug und tun es grafisch. Oder Zufall es nicht nur tun es Round-Robin auf diese Weise. Und in diesem Fall dann wir brauchen noch nicht einmal diese schwarze einführen Box in unser Bild. Wir brauchen nicht ein neues Gerät. Wir sind einfach Computer zu sagen gehen Sie zu den Servern direkt, wirkungsvoll, aber nicht durch ihre Namen. Sie müssen nie den Namen zu kennen. Sie sind einfach, dass yahoo.com gesagt, Karten einer dieser IP-Adressen. So sendet er genau die gleiche Anfrage. Aber auf der Außenseite der Umschlag, es ist einfach setzt die IP, die es unterrichtet wurde. Und auf diese Weise konnte auch wir laden Sie die Anfragen balancieren nur um den Umschlag an eine Sende anderen von eigenen Servern von Yahoo? Und wenn wir graben halten, werden wir sehen, wahrscheinlich auch andere Unternehmen mit mehr. CNN hat zwei öffentlich ausgesetzt. Obwohl eigentlich, wenn wir dies wieder tun und again-- cnn.com-- Sie können sehen, sie zu ändern, um, eigentlich. Also, was Mechanismus ist CNN mit, offenbar? PUBLIKUM: Random. DAVID MALAN: Nun, es obwohl es könnte sein, zufällig, scheint hin und her Radfahren zu werden. So ist es wahrscheinlich Round-Robin, wo sie Schalten Sie einfach den Auftrag so dass ich die erste vermutlich werde folgen. Mein Computer nehmen die erste jedes Mal. Also ist das Load Balancing. Und das ermöglicht es uns letztlich Daten oder Kartenanfragen auf der Karte, über mehrere Server hinweg. Also, welche Art von Probleme gibt es jetzt noch? Es fühlt sich an wie wir gerade wirklich ein gutes Problem gelöst. Wir haben Benutzer auf verschiedenen Servern. Aber-- oh, und Chris, tat Sie haben eine Frage vor? PUBLIKUM: [unverständlich] DAVID MALAN: Völlig abhängig ist. Also, was hier geschieht? Und das können wir wirklich sehen. So wollen wir versuchen, Yahoo. Eigentlich kommen wir zu Facebook gehen. Weil wir wissen, dass man arbeitet. Also werde ich zu kopieren dass die IP-Adresse wieder. Ich werde all diese Tabs zu schließen. Ich gehe hin offen, dass spezielle Netzwerk-Registerkarte hier unten. Und ich werde nur http besuchen: //. Und jetzt werde ich drücken Sie die Eingabetaste. Und lassen Sie uns sehen, was passiert ist. Wenn ich sehe in diesem Ersuchen, Mitteilungen dass my-- Facebook ist ein schlechtes Beispiel. Weil sie ein super schickes Technik dass verbirgt sich dieses Detail von uns. Lassen Sie mich verwenden Yahoo instead-- http: // dieser IP. Lassen Sie uns öffnen unser Netzwerk Registerkarte erhalten Protokoll. Und hier gehen wir, ein. Das ist lustig. OK, also hier ist die berühmte 404-Nachricht. Was hier lustig ist, dass sie wahrscheinlich nie wieder. Weil es wahrscheinlich etwas, das nicht per se falsch. Sie müssen nur bewusst beschlossen, nicht zu unterstützen die numerische Form ihrer Adresse. Also, was wir sehen, tatsächlich in der Registerkarte Netzwerk, wenn ich diese nach oben ziehen hier, wie ich, sagen, der berühmte 404, wo wenn ich mir die Antwort-Header, das ist, was ich bekam hier-- 404 Not Found. So versuchen wir einen anderen. Mal sehen, ob CNN mit uns zusammenarbeitet. Ich werde einer von CNN-IP-Adressen greifen, Löschen Sie das, http, dah, dah, dah, dah. So in der Antwort auf Chris ' Frage, dass man gearbeitet. Und lassen Sie uns auf Response-Header gehen. Eigentlich nein, alles in Ordnung, ich bin kämpfen, um ein funktionierendes Beispiel zu finden. So CNN entschieden hat, werden wir Sie gerade verlassen um jeden Preis Adresse besuchen Sie eigentlich, Branding Fragen beiseite. Aber was würde nicht passieren, wenn wir könnten es in Facebook-Fall zu sehen, ist, dass wir eine 301 Moved bekommen würde Dauerhaft, höchstwahrscheinlich, innerhalb von denen ist Lage: https: //www.facebook.com. Und Chancen sind www.facebook.com ist ein Alias ​​für den exakt gleichen Server, den wir gerade ging zu. So ist es ein wenig kontraproduktiv. Wir besuchen buchstäblich den Server. Der Server wird uns dann sagen, geh weg. Gehen Sie zu dieser anderen Adresse. Aber wir passieren einfach so zu sein, geht zurück auf demselben Server. Aber vermutlich bleiben wir nun an, dass Server ohne diese hin und her. Denn jetzt sind wir mit dem Namen Version der Website, nicht die numerische. Gute Frage. OK, so dass, wenn wir uns jetzt assume-- haben den Lastausgleich gelöst. Wir haben jetzt einen Mechanismus, ob es über DNS ist, ob es über diese Blackbox, ob es ist eine dieser Techniken. Wir können in eine Anforderung eines Benutzers übernehmen und herauszufinden, welcher Server, 1, 2, oder 3, ihm oder ihr schicken. Was fängt an, über unsere Website zu brechen? Mit anderen Worten, wir haben ein Unternehmen aufgebaut, war zuvor auf einem einzigen Server. Nun, da das Geschäft läuft über mehrere Server hinweg. Welche Arten von Annahmen, Welche Arten von Design-Entscheidungen, könnte jetzt brechen? Dies ist weniger offensichtlich. Aber mal sehen, ob wir nicht unsere setzen Finger auf einen Teil des Problem, das wir haben für uns geschaffen. Wieder ist es ein bisschen wie halten unten das Leck im Schlauch. Und nun einige neue Ausgabe hat sich hier aufgetaucht. PUBLIKUM: [unverständlich] DAVID MALAN: OK, so haben wir halten unsere Festplattenspeicher wächst. Ich bin mit, dass gerade jetzt in Ordnung. Weil ich glaube, ich kann horizontal Skala. Wie, wenn ich laufe niedrig ist, werde ich nur bekommen einen vierten Server, vielleicht ein fünfter Server, und dann erhöhen unsere Kapazitäten um weitere 30% oder 50% oder so weiter. Also ich bin OK mit, dass zumindest für den Moment. PUBLIKUM: [unverständlich] DAVID MALAN: OK, so ist das ein guter Punkt. So nehme die Server nicht identisch sind. Und Kundendienst oder die E-Mail-Äquivalent eine Nachricht von einem Benutzer wird immer sagen, das funktioniert nicht richtig. Es ist sehr gut möglich, manchmal, dass es vielleicht ein oder mehrere Server ein bisschen schief wirkt, aber nicht die anderen, was durchaus machen es schwieriger, das Problem zu jagen. Sie könnten mehrere Orte zu suchen. Das ist Manifestation einer anderen Art von Fehler, das ist, dass Sie wahrscheinlich sollte haben Ihre Infrastruktur so konzipiert, dass alles wirklich identisch. Aber es hat ein neues Problem offenbaren dass wir nicht zuvor. Was sonst? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, es gibt noch mehr Komplexität. Es gibt physisch mehr Drähte. Es gibt ein anderes Gerät. In der Tat habe ich eine grundlegende eingeführt Konzept und ein grundlegendes Problem ist hier als Single Point bekannt des Scheiterns, die, auch wenn Sie noch nie gehört haben, der Satz, können Sie wahrscheinlich arbeiten nun nach hinten und es herausfinden. Was bedeutet es, dass ich eine einzige haben Point of Failure in meiner Architektur? Und durch die Architektur, ich habe gerade bedeuten die Topologie davon. PUBLIKUM: [unverständlich] DAVID MALAN: Ja, was ist, wenn der Load Balancer geht nach unten? Ich habe diesen Mann mittleren dessen eingefügt Ziel im Leben ist es, ein Problem zu lösen. Aber ich habe ein neues Problem eingeführt. Ein neues Leck im Schlauch entsprungen. Denn jetzt, wenn der Load Balancer stirbt oder Brüche oder Fehlfunktionen, Jetzt verliere ich den Zugang zu alle drei meiner Servern. Und bevor, das habe ich nicht haben diese Zwischenhändler. Und so ist dies ein neues Problem, wohl. Wir kommen wieder zu wie wir diese beheben. PUBLIKUM: [unverständlich] DAVID MALAN: Das wäre ein Ansatz sein. Ja, und so ist dies geht ganz zu sein Das Loch Ratte wir beginnen nach unten zu gehen. Aber kommen wir zurück zu dass nur für einen Moment in. Welche anderen Probleme haben wir geschaffen? So erwähnte Dan Datenbank vor. Und selbst wenn Sie nicht allzu vertraut technisch, eine Datenbank ist nur ein Server, auf dem Ändern von Daten ist in der Regel gespeichert, vielleicht ein Auftrag hat jemand gelegt, Ihr Benutzerprofil, Ihren Namen, Ihre E-Mail-Adresse, der Dinge, die Macht eingegeben oder über die Zeit verändert werden. Zuvor war meine Datenbank auf die gleichen Server wie mein Webserver. Da musste ich einfach ein Web-Hosting-Account. Alles war alles in der gleichen Stelle. Wo soll ich meine Datenbank setzen jetzt auf dem Server 1, 2, oder 3? PUBLIKUM: 4. DAVID MALAN: 4, OK, alle rechts, also lasst uns dorthin gehen. Also werde ich meine setzen database-- und lasst uns beginnen diese www, www, www Beschriftung. Und ich werde sagen, dies ist die Nummer vier. Und ich werde sagen db für Datenbank. OK, Ich mag diese. Was Linie sollte ich vermutlich hier zu zeichnen? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, so dass der Code, wie wir morgen besprechen werden, vermutlich ist der gleiche auf allen drei Servern. Aber jetzt muss es nicht zu einem zu verbinden Datenbank lokal ausgeführt, sondern an anderer Stelle. Und das ist in Ordnung. Wir können nur die Datenbank eine geben nennen, wie wir, oder eine Zahl. Und das alles funktioniert gut. Aber was haben wir getan? Wir haben, indem er horizontal skaliert drei Server statt einer, die ist gut. Denn jetzt können wir damit umgehen dreimal so viel Last. Und noch besser, wenn ein oder zwei dieser Server ausfällt, mein Geschäft kann für den Betrieb fortzusetzen. Weil ich noch ein, auch wenn ich bin Art entlang leistungsmäßig hinken. Aber was neues Problem habe ich eingeführt, indem die Datenbank Bewegen zu diesem separaten Server statt auf 1, 2 und 3? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, so habe ich jetzt eine weitere Single Point of Failure. Wenn meine Datenbank stirbt, oder muss aktualisiert werden, oder was auch immer, jetzt sicher, meine Website ist online. Und ich kann dazu dienen, statisch, unveränderliche Inhalte. Aber ich kann nicht zulassen, Benutzer anmelden oder ändern alles oder um etwas, was noch schlimmer ist. Denn wenn 4 ist offline, dann 1, 2 und 3 kann es wirklich nicht, um es per Definition sprechen. OK so ja, und so ist dies, warum Ich zögere dies zu ziehen. So kommen wir zurück zu dem. Ich meine nicht, um Sie weg schieben. Aber das Bild ist sehr schnell stressig in Gang zu bringen. Weil Sie müssen anfangen mit zwei von allem. In der Tat haben, wenn Sie jemals gesehen die Film Kontakt vor ein paar Jahren mit Jodie Foster-- nein? OK, also für die beiden uns, die Kontakt gesehen haben, dort gibt es eine Beziehung, in der sie im Wesentlichen kaufte zwei von etwas nicht ein, wenn auch zum doppelten Preis. So war es irgendwie ein spielerisches Kommentar im Film. Es ist eine Art im Zusammenhang mit dieser. Wir konnten absolut das tun. Und Sie haben nur Kosten uns doppelt so viel Geld. Aber wir werden darauf zurückkommen. Deshalb haben wir dieses Problem gelöst. So wissen Sie was? Das ist wie ein rutschiger Abhang. Ich will nicht mit, die zu behandeln ein Duplikat-Datenbank haben. Es ist zu viel Geld. Weißt du was? Ich möchte, dass meine Datenbank zu haben, wie in Version ein wo jeder Server seine eigene lokale Datenbank. Also ich werde einfach zeichnen db auf jedem von diesen. So, jetzt jeder Web-Server ist so weit identisch in da sie den gleichen Code hat, der gleiche statische Vermögenswerte, gleiche Bilder und Text und so weiter. Und jeder hat seine eigene Datenbank. Ich reparierte die einzigen Punkt Ausfall Problem. Jetzt habe ich eine Datenbank. Egal, welche zwei oder eine davon Dinge sterben, gibt es immer noch einer übrig. Aber was neues Problem habe ich erschaffen dass Dan-Lösung vermieden? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, ich haben, sie zu synchronisieren, nicht wahr? Denn entweder muss ich synchronisieren wer wird where-- mit anderen Worten, Wenn Alice besucht meine Website, und sie geschah Zufall oder Runde zu bekommen robined oder was auch immer, an den Server die Nummer eins, danach muss ich immer senden sie an den Server 1. Warum? Denn wenn ich sie schicken auf Server 2, es wird zu schauen, wie sie dort nicht vorhanden sind. Ich werde sie nicht um Geschichte. Ich werde nicht da ihr Profil haben. Und das fühlt sich an wie es lädt Probleme. Und wenn Bob besucht, ich haben ihn immer zu schicken auf dem gleichen Server, 2, oder welch auch immer eine, und Charlie auf eine dritte, und konsequent. Dies ist nicht unvernünftig, wenn. Das nennt man Partitionierung Ihrer Datenbank. Und in der Tat war es das, was Facebook hat schon früh. Wenn Sie anschließend die Geschichte Facebook, es begann hier auf dem Campus wie www.thefacebook.com. Dann entwickelte es einmal Mark begonnen Ausbreitung in andere Standorte sein harvard.thefacebook.com und mit.thefacebook.com und wahrscheinlich bu.thefacebook.com und dergleichen. Und das war, weil früh, denke ich nicht, Sie könnten Freunde auf dem Campus haben. Aber das ist in Ordnung. Weil jemand von Harvard wurde an diesen Server gesendet. Jeder von BU wurde an diesen Server gesendet. Jeder vom MIT erhielt geschickt auf diese server-- in der Theorie. Ich weiß nicht ganz alle zugrunde liegenden Implementierungsdetails. Aber er vermutlich Menschen partitionierenden ihren Campus, wo ihr Netzwerk war. Also das ist gut bis zu dem Punkt wo Sie zwei Server für Harvard, oder drei Server für Harvard. Und dann, dass Einfachheit Art zusammenbricht. Aber das ist ein vernünftiger Ansatz. Lassen Sie uns immer Alice senden an der gleichen Stelle, immer Bob an der gleichen Stelle zu senden. Aber was passiert, wenn Alice Server offline geht? Bob und Charlie kann immer noch kaufen Dinge und melden Sie sich in die Website. Aber Alice kann es nicht. Sie haben also ein Drittel verloren Ihrer Nutzerbasis. Vielleicht ist es besser, als 100%? Aber vielleicht wäre es schön, wenn wir könnten noch unterstützen 100% unserer Nutzer selbst wenn ein Drittel unserer Server offline geht. So konnten wir was synchronisieren? Nicht die Benutzer, per se, sondern die Datenbank in all diesen Servern. So, jetzt Art brauchen wir einige Art der Zusammenschaltung hier so, dass die Server selbst kann nicht unvernünftig sync--. Und in der Tat besteht diese Technik. In der Welt der Datenbanken gibt es der Begriff der Master-Slave-Datenbanken, oder Primär-Sekundär, wo unter den Funktionen nicht nur Daten zu speichern ist und reagieren mit Daten, aber auch nur zu ständig synchron zueinander. Also immer wenn Sie schreiben oder speichern etwas zu dieser Datenbank, es wird sofort "repliziert" als auch zu den anderen Datenbanken. Und jedes Mal, wenn von ihr lesen, es ist egal, wo Sie sind. Denn wenn in der Theorie sie haben alle synchronisiert, du bist geht die gleiche Sicht auf die Daten zu erhalten. So klingt perfekt. Es muss doch einen Haken zu sein. Was könnte der Haken? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, so dreimal so viel Sachen schief gehen könnte. Das ist eine Realität. Es könnte alle gleich im Geiste sein. Aber jemand muss diese zu konfigurieren. Es gibt eine höhere Wahrscheinlichkeit, dass etwas geht schief gehen. Gerade kombinato Sie haben mehr Material fehleranfällig. Was ist schlecht potentiell? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, so Synchronisierung kann schlecht sein. Auch, wie Sie vielleicht wissen, von Sicherungen und solche, wenn Sie nur blind machen Backups, was ist, wenn etwas tut schief gehen auf eine Datenbank? Sie löschen etwas, das Sie sollten nicht. Sie haben sofort repliziert dieses Problem überall sonst. So war Victoria talking-- Sicherungen Hier wäre eine gute Sache. Und so werden wir darauf zurückkommen. Und klar zu sein, wir reden nicht über Sicherungen hier per se. Wir sprechen hier über echte Replikation oder Synchronisation zwischen den Servern. Sie sind alle zu Hause sind. Sie sind nicht dazu gedacht, zu werden für Sicherungen verwendet. PUBLIKUM: [unverständlich] DAVID MALAN: Was ist das? PUBLIKUM: Higher-- DAVID MALAN: Höhere Kosten. Wir haben die Kosten verdreifacht für sicher, obwohl zumindest in Bezug auf der Hardware. Weil eine Datenbank nur ein Stück Software. Und ein Webserver ist ein Stück Software. Es ist wahrscheinlich frei, wenn wir verwenden eine beliebige Anzahl von Open-Source-Dinge. Aber wenn wir verwenden so etwas wie Oracle, wir zahlen Oracle mehr Geld pro Lizenzen oder Microsoft für den Zugriff. Es muss hier eine andere Fang zu sein. Es kann nicht so einfach sein. So zu Ihrem Punkt, denke ich, es war Kareem, für Geographie earlier-- oder nein, Roman, war es für, geography-- annehmen dass wir klug darüber sind sein, und wir setzen einen unserer Server, und in unseren Datenbanken drehen, in den USA, und eine andere in Europa, ein anderer in Südamerika, eine andere in Afrika, ein anderer in Asien, überall wir auf der ganzen Welt interessiert sein könnte. Wir wissen bereits von unserer Spur Routen, die Punkt A und Punkt B, wenn sie sind weiter auseinander, werden mehr Zeit in Anspruch nehmen. Und wenn einige von Ihnen verwendet haben Werkzeuge, wie Facebook oder Twitter oder jeder dieser Sites in diesen Tagen, dass weil der Benutzer ständig ändern manchmal erstellt Daten, wenn Sie Hit neu laden oder öffnen Sie die gleiche Seite in einem anderen Browser, sehen Sie verschiedene Versionen, fast. Man könnte jemand den Status sehen aktualisieren hier aber nicht hier, und dann neu zu laden Sie, und dann erscheint, und Sie neu zu laden wieder, und es verschwindet. Mit anderen Worten, halten ein Auge für diese, zumindest wenn Sie mit der sozialen Vernetzung besonders. Wieder nur, weil die Daten verändert sich so schnell, manchmal Server kann nicht synchron zu bekommen. Und vielleicht ist es ein super kleines Fenster. Aber 200 Millisekunden, vielleicht sogar mehr als dass-- es ist wird einige Nicht-Null-Betrag zu nehmen Zeit für diese Datenbanken zu synchronisieren. Und wir sind nicht nur reden über eine Anfrage. Wenn ein Unternehmen hat tausende von Benutzer es gleichzeitig verwenden, sie könnten puffern. Mit anderen Worten, kann es sein, eine Warteschlange oder eine Wartelinie bevor all die Datenbank Abfragen können synchronisiert bekommen. Also vielleicht ist es tatsächlich ein paar Sekunden. Und in der Tat, das ist wahr Ich glaube sogar, bis zum heutigen Tag mit Facebook, wobei wenn sie synchronisieren aus Ostküste Westküste, es hat eine nicht-triviale Ausbreitungsverzögerung, so zu sprechen, dass Sie nur müssen Art tolerieren. Und so ist es nicht so viel ein Fehler, wie es ist eine Realität dass die Benutzer möglicherweise nicht sehen die korrekten Daten für mindestens ein paar Sekunden. Ich sehe dies auf Twitter viel eigentlich, wo manchmal werde ich tweet in einem Fenster, öffnen Sie ein anderes sehen sie dann, um zu bestätigen, dass es in der Tat stiegen, und es ist noch nicht da. Und ich muss Art neu zu laden, nachladen, reload-- oh, da ist es. Und das ist nicht, weil es nicht gespeichert wurde. Es hat sich einfach nicht propagiert auf andere Server. Also dieser Trade-off, too-- tun Sie wirklich wollen Sie sich dem Risiko aussetzen dass, wenn der Benutzer die Reihenfolge geht Geschichte, es ist nicht wirklich da? Ich sehe dies auf bestimmte Banken. Es ärgert mich immer, wenn, na ja, für einen, Sie können nur wie 6 Monate zurück in Ihre Kontoauszüge in einigen Banken, obwohl in der Theorie sollten sie der Lage sein, alles online zu haben. Sie nehmen nur manchmal Sachen offline. Manchmal too-- was Website ist es? Es gibt one-- oh, es ist GoDaddy, denke ich. GoDaddy, wenn Sie heraus überprüfen einen Domain-Namen oder etwas zu kaufen, sie werden Sie oft geben einen Link zu Ihrer Quittung. Und wenn Sie auf diesen Link rechts klicken weg, ist es oft nicht. Es sagt nur, Sackgasse, wir haben hier nichts. Und das ist auch wegen Diese Laufzeitverzögerungen. Denn aus welchem ​​Grund, sie ein wenig Zeit nehmen, zu erzeugen, tatsächlich, dass. Also das ist ein bisschen wie Sie wollen Ziehen Sie Ihr Haar an irgendeinem Punkt aus. Da alle Sie versuchen zu Sie ist ein einfaches Problem zu lösen. Und wir halten die Schaffung neuer Probleme für uns. Also mal sehen, ob wir kann Art dies rückgängig gemacht werden. Es stellt sich heraus, dass die Kombination von Datenbanken auf allen Ihren Web-Server ist nicht wirklich beste Praxis. Im Allgemeinen, was ein Ingenieur tun würde, oder Systemarchitekt, wäre anders zu haben Reihen von Servern. Und nur Platz willen für, ich werde ziehen ihre Datenbank hier oben. Wir könnten Datenbank haben und Server Nummer vier hier Das hat Verbindungen zu jedem dieser Server hier. So könnte dies unsere Front sein Ende Tier, wie die Leute sagen würden. Und dies würde unsere Back-End-Reihe sein. Und das bedeutet nur, dass diese stehen dem Anwender. Und die Datenbanken Sie stellen den Anwender nicht. Kein Benutzer kann direkt Zugriff auf die Datenbank. Also lassen Sie uns vielleicht jetzt nach unten gehen die Route Victoria vorgeschlagen. Dies ist ein Single Point of Failure. Das macht mich unwohl. Also, was ist vielleicht die naheliegendste Lösung? PUBLIKUM: [unverständlich] DAVID MALAN: Sorry, sage es noch einmal. PUBLIKUM: [unverständlich] DAVID MALAN: Nicht-Produktionsserver. Was meinen Sie? PUBLIKUM: [unverständlich] DAVID MALAN: Oh, OK, so Backups. OK, so konnten wir das tun, sicher. Und tatsächlich ist dies sehr häufig getan. Dies könnte Datenbank Nummer fünf sein. Aber das ist nur verbunden ist Nummer vier. Und man könnte es als ein Hot-Spare. Diese beiden Datenbanken könnten so konfiguriert werden, nur ständig zu synchronisieren gegenseitig. Und so, wenn diese Maschine stirbt, für was auch immer dumm reason-- der Festplatte stirbt, jemand über die Reisen Schnur, einige Software ist fehlerhaft und die Maschine hängt oder crashes-- Sie könnten einen Menschen haben buchstäblich ziehen Sie dieses von der Wand und stattdessen stecken diese in. Und dann in der, sagen wir, ein wenige Minuten, vielleicht eine halbe Stunde, Sie sind wieder online. Es ist nicht groß, aber es ist auch nicht schrecklich. Und Sie müssen sich keine Sorgen machen über etwaige Probleme bei der Synchronisierung. Denn alles ist schon da. Da hatte man einen perfekten Backup bereit zu gehen. Sie könnten ein wenig sein schicker darüber, wie manche Leute oft tun, wo Sie vielleicht vier Datenbank-Nummer haben hier, Datenbank Nummer fünf hier, , die miteinander zu reden. Sie haben aber auch diese Art arrangement-- und es absichtlich denn es sieht chaotisch, ist-- wo alle der Front-End-Server können sprechen Sie mit all den Back-End-Servern. Und so, wenn diese Datenbank nicht reagieren, diese Front-End-Server haben zu haben, Programmierung Code in ihnen, die sagt: wenn Sie nicht bekommen, ein Verbindung zu dieser Datenbank, die primäre beginnt sofort im Gespräch mit dem sekundären. Aber das jetzt schiebt die die Komplexität des Codes. Und jetzt Ihre Entwickler, Software Entwickler haben darüber wissen. Und Sie binden Art des Codes, Sie schreiben Ihren tatsächlichen Back-End Implementierungsdetails, das macht es schwieriger, vor allem in einer größeren Unternehmen oder eine größere Website, wo man nicht unbedingt wollen die Programmierer haben zu wissen, wie die Datenbank Ingenieure ihre Arbeit tun. Vielleicht möchten Sie diese Rollen zu halten Art von funktionell unterschiedlichen so dass es diese Schicht Abstraktion zwischen den beiden. Also, wie können wir dieses Problem beheben? Nun, wir Art gelöst dieses Problem einmal vor. Warum wir eine nicht setzen von diese Dinge hier, wo es spricht wiederum zu Nummer vier und fünf, alle der vorderen Webservern Ende sprechen Sie mit diesem Mittelsmann und die Mittelsmann wiederum Routen ihre Daten? In der Tat, was könnte sein, ein guter Name für diese Sache? PUBLIKUM: [unverständlich] DAVID MALAN: OK, Datenbank-Manager. Aber was könnte ein Begriff, der sein konnten wir für dieses Gerät wiederverwenden? Wir balancieren. Ja, also eigentlich, ich bin hier nicht fair. So ein Load-Balancer würde bedeuten, dass wir Makeln hin und her hier, die brauchen eigentlich nicht der Fall sein. Also gibt es ein paar Möglichkeiten, wie wir dies tun könnte. Wenn dies in der Tat ein Load-Balancer die Geschichte ist genau die gleiche wie zuvor. Einige der Anfragen gehen bis 4. Einige von ihnen bis 5 gehen. Und das ist gut. Denn jetzt können wir damit umgehen doppelt so viel Durchsatz. Aber diese Verbindung hier ist super wichtig. Sie haben ständig zu bleiben synchronisiert und hoffentlich geografisch nicht zu weit auseinander, so im Wesentlichen, dass die Synchronisierung augenblicklich. Ansonsten könnten wir ein Problem haben. Also das ist nicht schlecht. Aber noch einmal, wir haben ein neues Problem eingeführt. Was für ein Problem habe ich gerade neu erstellt? Der Punkt des Versagens. Also, was ist die Lösung für das? So wie Victoria gern Geld ausgeben, wir können diesen Kerl herausnehmen und tun dies. Und ich werde einfach bewegen sich hier ausreichend Platz. Und es wird ein wenig chaotisch zu sein. Ich werde das Zeichnen von Linien zu halten. Angenommen, dass alle diese Linien gehen in beide? Eine sehr verbreitete Technik wäre hier eine Technik namens Herzschlag zu verwenden, wobei jede dieser Vorrichtungen, links und rechts Loadbalancer, oder was auch immer wir sie nennen wollen, ständig zu sagen, ich bin am Leben, Ich bin am Leben, ich bin am Leben, ich lebe. Einer von ihnen standardmäßig wirkt als primäre. Also der gesamte Verkehr wird geleitet durch die auf der linken Seite, zum Beispiel, standardmäßig willkürlich. Aber sobald der Kerl auf der rechten Seite nicht von der linken Kerl mehr hören, die auf der rechten Seite ist so programmiert automatisch, zum Beispiel, nehmen Sie die IP-Adresse über der auf der linken Seite, und deshalb werden die primären und vielleicht eine E-Mail oder eine SMS-Nachricht senden zu den Menschen zu sagen, hey, der linke Haupt ist offline. Ich werde jetzt primäre geworden. So Vice President wird Präsident, so zu sprechen. Und jemand muss gehen sparen der Präsident, wenn Sie möchten. Denn jetzt haben wir eine temporäre der Punkt des Versagens. So wie kompliziert oder anstrengend als scheint dies zu sein zu beginnen, Dies ist, wie Sie diese Probleme lösen. Sie tun, um Geld um sich werfen. Sie werfen Hardware auf sie. Aber leider Sie die Komplexität für sie. Aber das Ergebnis letztendlich ist, daß Sie haben eine viel mehr in der Theorie, robuste Architektur. Es ist immer noch nicht perfekt. Denn selbst wenn wir have-- wir könnten nicht einen einzigen Point of Failure. Wir haben jetzt doppelte Punkte des Scheiterns. Aber wenn zwei Dinge schief gehen, die absolut konnte, wir gehen immer noch offline zu sein. Und so sehr häufig in der Industrie zu beschreiben Ihre Zeit in Bezug auf die Neunen. Und Art des Ziels zu streben 99,999% zu ist Online der Zeit ist Ihre Website. Oder noch besser, fügen Sie ein paar Neunen darauf. Leider sind diese Neunen sind sehr teuer. Und lassen Sie uns dies tatsächlich tun werden. Also, wenn ich öffnen, meinen großen Rechner wieder, 365 Tage im Jahr, 24 Stunden am Tag, 60 Minuten in einer Stunde, und 60 Sekunden in einer Minute, das ist, wie viele Sekunden es wenn ich in einem Jahr tat dies korrekt. Also, wenn wir mal dies durch 0,99999, das ist wie viel Zeit wollen wir anstreben. Das heißt also, wir sollten nach oben sein so viele Sekunden im Laufe des Jahres. Also, wenn ich das jetzt subtrahieren ursprünglichen Wert, oder besser gesagt Dieser neue Wert aus dem first-- 316 Sekunden, was natürlich fünf Minuten. Also, wenn Ihre Website oder Ihr Unternehmen "Fünf Neunen", behauptet, wobei du bist bis 99,99% der Zeit, das bedeutet, dass Sie sich besser intelligent genug und schnell gewesen genug und bündig genug mit Ressourcen dass die Server sind nur offline 5 Minuten aus dem Jahr. Es ist eine teure und harte Sache zu streben. So ist es ein Kompromiss, auch. 99,999% der Zeit ist ziemlich verflixt schwer und teuer. Fünf minutes-- man kann kaum erhalten an den Server ersetzen, um physikalisch etwas, das schief gegangen ist. Und das ist, warum wir Verkabelung beginnen Dinge zusammen komplizierter apriori so dass die Computer kann sortieren sich von beheben. Ja. PUBLIKUM: [unverständlich] DAVID MALAN: Das Problem könnte in einer beliebigen Anzahl von Orten. Und in fact-- PUBLIKUM: [unverständlich] DAVID MALAN: Absolut, absolut. Und wie ist das Bild immer komplizierter, es könnte die Web-Server sein. Es könnte die Stromversorgung des Gebäudes sein. Es könnte etwas Körperliches sein, wie die Kabel wurde ausgefranst oder rausgeschmissen. Es könnte die Datenbank sein reagiert nicht. Man könnte sie ihre Betriebs aktualisierte System und etwas hängt. So gibt es so viele bewegliche Teile. Und so viel von der Technik das hat hinter diesem zu gehen wirklich nur ist offs handeln, wie, wie viel Zeit, wie viel Geld ist es eigentlich wert, und was sind die Bedrohungen Sie sind wirklich Sorgen? Zum Beispiel in der Kurse, die ich an der Harvard lehren, Wir verwenden eine Menge von Cloud Computing, die wir beginnen einen Blick auf jetzt nehmen, in der Tat, wo wir verwenden Amazon Web Services. Nur weil das ist die ein begannen wir mit. Aber es gibt immer mehr in diesen Tagen von Google und Microsoft und anderen. Und wir bewusst dafür entscheiden, alle setzen unserer Kurse virtuellen Maschinen, wie sie in der genannt werden, denke ich, es ist Zentrum West Virginia Daten. Die meisten unserer Studenten geschehen aus den USA zu sein, obwohl es sicherlich einige international. Aber die Realität ist, es ist einfach einfacher und es ist billiger für uns alle unsere Eier zu legen in der Virginia-Korb, obwohl ich weiß, wenn etwas schief geht in Virginia, wie hat happened-- gelegentlich wie wenn es ein Hurrikan oder ein Wetter Ereignis wie das, wenn es einige Stromnetz Emission oder der like-- alle unserer Kurse 'Daten gehen könnte offline für eine bestimmte Anzahl von Minuten oder Stunden oder sogar länger. Aber die Menge an Komplexität das würde erforderlich sein, und die Menge des Geldes, das wäre erforderlich sein, alles zu bedienen parallel in Europa oder in Kalifornien nur nicht so viel Sinn. Es ist also eine rationale Handel ab, aber schmerzlich wenn Sie tatsächlich dass die Ausfallzeiten haben. Nun, lassen Sie den Übergang jetzt zu einige der Cloud-basierten Lösungen um einige dieser Probleme. Alles, was wir haben gewesen Diskussion so weit Art von Problemen ist, die haben war bei uns für einige Zeit, ob Sie Ihre eigene Server im Unternehmen, ob Sie zu einer Co-Location gehen Platz wie ein Rechenzentrum und Anteil Raum mit jemand anderem, oder heutzutage in der Cloud. Und was ist schön, über die Wolke ist, dass alle dieser Dinge, die ich bin Zeichnung als physikalische Objekte kann nun wie folgt beschrieben werden Art virtueller Objekte in der Wolke, die simuliert mit Software. Mit anderen Worten, die Computer heute, Server heute, wie das Dell Bild Ich zeigte früher, sind so schnell, haben so viel RAM, so viel CPU, so viel Platten Raum, dass die Leute geschrieben haben, Software praktisch Partition einen Server in die Illusion der es wobei zwei Servern oder 200 Server, so dass jeder von uns Kunden hat die Illusion, die nicht nur ein Konto auf einigen Web Gastgeber, aber unsere eigene Maschine, die wir sind Vermietung von jemand anderem. Aber es ist eine virtuelle Maschine in so weit wie auf einem Dell-Server, es könnte wieder in partitioniert werden zwei oder 200 oder mehr virtuelle Maschinen, von denen alle geben jemand Verwaltungs Zugang, aber in einer Weise, wo keiner von uns weiß oder virtuelle anderen zugreifen Maschinen, die auf der gleichen Hardware. So ein Bild in Rutschen heute zu malen, Ich habe dies hier gedreht von einer Website genannt Docker. So ist dies ein wenig mehr Detail, als wir brauchen eigentlich. Aber wenn Sie sehen dies als Ihre infrastructure-- so dass nur die Hardware Ihrer eigenen, Ihre Server, die Gestelle, die Daten Zentrum und alle dass-- würden Sie typischerweise betreiben ein Host-Betriebssystem. So etwas like-- es von Windows sein könnte. Es wäre nicht Mac OS sein. Denn das ist nicht wirklich Unternehmen in diesen Tagen. So wäre es Linux oder Solaris oder Unix oder BSD oder FreeBSD oder eine beliebige Anzahl von anderen Betriebssystemen , die entweder frei oder kommerziell. Und dann laufen Sie ein Programm, Sonderprogramm, genannt Hypervisor oder Virtual Machine Monitor, VMM. Und das sind Produkte, wenn Sie vertraut, wie VMware oder VirtualBox oder Virtual PC oder andere. Und was diese Programme tun, ist genau diese Funktion beschrieben ich früher. Es schafft die Illusion dass eine physische Maschine können mehrere virtuelle Maschinen sein. Und so sind diese bunten Kästen bis oben ist malt ein Bild von den folgenden. Dieser Hypervisor dieses Stück Software, nennen Sie es VMware, läuft auf einem anderen Betriebssystem, nennen Sie es Linux, die Illusion schafft, dass diese physischen Computer ist eigentlich ein, zwei, drei virtuellen Computern. Also ich habe jetzt gekauft, als Eigentümer diese Hardware, einem physischen Computer. Und jetzt bin ich zu mieten es bis zu drei Kunden. Und diese drei Kunden alle denken sie haben eine eigene virtuelle Maschine. Und es ist Köder und Schalter nicht. Es ist mehr Offenbarung, dass Sie eine virtuelle Maschine. Aber technisch, wir alle haben die volle administrative Kontrolle über jedes dieser Gast Betriebssysteme, die könnten eine beliebige Anzahl von Betriebssystemen. Ich kann alles, was ich will installieren. Ich kann es aktualisieren, wie ich will. Und ich muss nicht einmal wissen, oder kümmern uns um die anderen Betriebs Systeme auf dem Computer, die anderen virtuellen Maschinen, es sei denn, der Eigentümer aller dieser grauen Material wird ein wenig gierig und wird seine Ressourcen überbuchen. Also, wenn Sie nehmen ein physischen Maschine und es zu verkaufen nicht 200, sondern 400 Kunden, an einem gewissen Punkt wir gehen in diejenigen zu stolpern gleiche Performance-Probleme wie zuvor. Denn Sie haben nur eine endliche Menge der Festplatte und RAM und so weiter. Und eine virtuelle Maschine ist nur ein Programm, das ist vorgibt, ein zu sein vollwertigen Computer. So erhalten Sie, was Sie hier bezahlen. So finden Sie online finden Sie vielleicht ein zahlen seriösen Unternehmen vielleicht 100 $ pro Monat für Ihre eigenen virtuellen Maschine, oder Ihre eigenen virtuellen privaten Server, Das ist ein anderer Begriff für sie. Oder Sie könnten eine Fliege finden, indem Nacht, wo Sie zahlen 5,99 $ pro Monat für Ihre eigenen virtuellen Maschine. Aber Chancen sind Sie nicht annähernd haben so viel Leistung zur Verfügung, weil sie habe es Anpreisung so, als würden Sie mit dem höheren Tier-of-Service oder der besseren Anbieter. Also, was bedeutet das eigentlich für uns? Also lassen Sie mich zu diesem gehen. Ich werde aws.amazon.com zu gehen. Nur weil sie ein schönes Menü von Optionen. Aber dieselben Lehren gelten für eine ganze Reihe von anderen Cloud-Anbietern. Leider ist es oft mehr Marketing sprechen als alles andere. Und das ändert sich ständig. So gehen Sie auf eine Website wie diese. Und das ist wirklich nicht erzählen Sie von etwas viel. Und auch ich, wie ich aussehen, nicht wirklich wissen, was alle diese Dinge unbedingt tun, bis ich in tauchen. Aber lassen Sie uns auf der linken Seite beginnen, berechnen. Und ich werde dies zu klicken. Und jetzt Amazon hat ehrlich gesagt ein überwältigende Anzahl von Dienstleistungen heutzutage. Aber Amazon EC2 ist vielleicht die einfachste. Amazon EC2 wird für uns schaffen genau das Bild, das wir sahen vor einem Augenblick. Es ist, wie sie eine Menge machen ihr Geld in der Wolke. Offenbar Netflix und andere in der Wolke sind mit ihnen. Das ist alles typisch flauschige Marketing sprechen. Also, was ich tun möchten, ist zu gehen, um Pricing-- oder vielmehr lassen Sie uns zu Instanzen gehen zunächst nur ein Bild davon zu malen. So wird dies nach Hersteller variieren. Und wir brauchen nicht zu bekommen tief in das Unkraut hier, wie das alles funktioniert. Aber die Art und Weise Amazon, zum Beispiel, Mieten Sie eine virtuelle Maschine oder einen Server in der Cloud wird sie haben diese Art von lustigen Namen, wie t2.nano, was bedeutet, klein, oder t2.large, die große bedeutet. Jeder von ihnen gibt Ihnen entweder ein oder zwei virtuelle CPUs. Warum ist es eine virtuelle CPU? Nun, die physische Maschine könnte haben 64 oder mehr tatsächlichen CPUs. Aber noch einmal, durch Software, sie schaffen die Illusion dass, dass eine Maschine kann sein um mehrere Benutzer divvied. So können wir daran denken, wie mit einer Intel-CPU oder zwei. CPU Credits pro hour-- würde ich haben das Kleingedruckte zu lesen als zu dem, was das eigentlich bedeutet. Es bedeutet, wie viel von der Maschine Sie können pro Stunde nutzen vis-a-vis Kunden die auf dieser Hardware. Hier ist, wie viel RAM oder Sie Speicher get-- entweder ein halbes Gigabyte oder 500 Megabyte oder 1 Gigabyte oder 2. Und dann die Speicherung bezieht sich nur auf welche Art von Festplatten geben sie dir. Es gibt verschiedene Speicher Technologien, die sie anbieten. Aber interessanter als diese dann könnte die Preisgestaltung sein. Also, wenn Sie die CTO sind oder ein Ingenieur, der nicht einen Server laufen in Ihrem Büro, gleich aus welchem ​​Grund, und es ist viel zu kompliziert oder teuer zu kaufen Server und co-lokalisieren sie und Miete in einem gewissen physischen Käfig Platz zahlen somewhere-- Sie wollen einfach nur sitzen an Ihrem Laptop spät in der Nacht, Geben Sie Ihre Kreditkarteninformationen in, und mieten, Server in der cloud-- gut, wir können es hier tun. Ich werde zu-- Linux zu gehen ist ein beliebtes Betriebssystem. Und lassen Sie uns nur ein Gefühl der Dinge zu bekommen. Whoops-- zu groß. Lassen Sie uns also an ihren kleinsten aussehen virtuelle Maschine, die zu haben scheint, für unsere Zwecke, eine CPU und 500 Megabyte RAM. Das ist ziemlich klein. Aber ehrlich gesagt, Web-Server nicht müssen alle, die viel zu tun. Sie haben eine bessere Spezifikationen in Ihrem Laptop. Aber Sie brauchen nicht diejenigen, Angaben in diesen Tagen für die Dinge. Sie gehen 0,0065 $ pro Stunde zu zahlen. Also mal sehen. Wenn es 24 Stunden in einem Tag, und wir zahlen viel diese pro Stunde, es wird Sie 0,15 $ kosten zu mieten, dass bestimmten Server in der Cloud. Und das ist nur für einen Tag. Wenn wir tun, um diese 365-- 57 $ zu mieten, dass bestimmte Server. So klingt es super billig. Das ist auch super niedrige Leistung. Also haben wir, für Kurse lehren ich hier, neigen Ich denke, t2.smalls oder t2.mediums zu verwenden. Und wir könnten ein paar hundert haben Benutzer, ein paar tausend Anwender, total. Es ist ziemlich bescheiden. Also mal sehen, was das kosten würde. Also, wenn ich diese Kosten mal 24 Stunden mal 365, das hier ist 225 $. Und für die Kurse Ich lehre, wir in der Regel laufen zwei von allem, für Redundanz und auch für die Leistung. So verbringen wir könnten daher $ 500 für die Server daß wir pro Jahr benötigen. Nun, wenn Sie mehr brauchen performance-- Lassen Sie uns einen Blick auf Speicher nehmen. Wir haben über das Gedächtnis ziemlich viel gesprochen. Und wenn Sie mehr brauchen memory-- und 64 Gigabyte I ist die Anzahl gehalten mentioning-- Das ist fast $ 1 pro Stunde. Und Sie können ziemlich schnell sehen, wo diese goes-- so 24 Stunden mal 365. So, jetzt ist es $ 8.000 pro Jahr für einen ziemlich anständig Server. Also irgendwann, da ist dieser Wendepunkt wo jetzt konnten wir verbringen $ 6.000 wahrscheinlich und eine Maschine, die wie das kaufen und amortisieren sich die Kosten über vielleicht zwei, drei Jahren der Lebensdauer der Maschine. Aber was könnte schieben Sie in begünstigen oder Ungunst des Aufenthalts eine Maschine, in der Cloud wie diese? Wiederum ist dies vergleichbar, wahrscheinlich, zu einem dieser Server von Dell sahen wir vor ein bisschen abgebildet. PUBLIKUM: [unverständlich] DAVID MALAN: Ja, das ist ein großer Kopf. Weil wir nicht den Kauf Maschine, wir müssen es nicht unbox. Wir müssen es nicht heben. Wir haben es nicht in unser Rack zu stopfen. Wir müssen es nicht einstecken. Wir müssen nicht zahlen die Stromrechnung. Wir müssen nicht drehen die Klimaanlage auf. Wenn eine Festplatte stirbt, haben wir nicht in der Mitte der Nacht zu fahren etwas reparieren. Wir müssen die Überwachung nicht einrichten. Wir haben nicht zu-- die Liste geht weiter und auf der alle physischen Dinge Sie brauchen nicht zu tun wegen der "Wolke". Und klar zu sein, Cloud-Computing ist dies sehr überstrapaziert Begriff. Es ist wirklich bedeutet nur jemand bezahlen sonst Server für Sie ausführen, oder Mietflächen auf von jemand anderem Server. So ist der Begriff "Cloud Computing" ist neu. Die Idee ist Jahrzehnte alt. Also das ist ziemlich überzeugend. Und was bekommen Sie? Nun, Sie erhalten auch die Möglichkeit, alles auf einem Laptop zu Hause. Mit anderen Worten, alle die Bilder Ich war gerade drawing-- und es war nicht so lange her, dass auch Ich war auf einem Server Boden herumkriechen Stecken Sie die Kabel in für jede der Zeilen, die Sie sehen, und Aktualisieren des Betriebs Systeme und das Ändern der Laufwerke. Es gibt eine Menge von Körperlichkeit alles. Aber was ist schön über virtuelle Maschinen, wie der Name schon sagt Art, jetzt gibt es Web-basierte Schnittstellen wobei Wenn Sie das entsprechende wollen einer Linie von diesem Server zum anderen, gerade, Art, Typ, Klicken und Ziehen, klicken Sie auf Senden, und voila, Sie haben es so gut wie verdrahtet. Denn es ist alles in Software. Und der Grund, es ist getan wieder in Software weil wir so viel RAM haben und so viel CPU in diesen Tagen zu uns zur Verfügung, obwohl alle das Zeug braucht Zeit, es ist langsamer Dinge laufen in Software als Hardware, so wie es ist langsamer, eine mechanische verwenden Gerät wie eine Festplatte als RAM, etwas rein elektronisch. Wir haben so viele Ressourcen zur Verfügung zu uns. Wir Menschen sind eine Art invariant langsam. Und jetzt können die Maschinen tun so viel mehr pro Zeiteinheit. Wir haben diese Fähigkeiten Dinge zu tun, so gut. Und ich werde für Kurse sagen Ich lehre, zum Beispiel hier, wir haben über vielleicht ein Dutzend oder so insgesamt virtuellen Maschinen wie das zu einem gegebenen Lauf Zeit Frontend Sachen zu tun, tun Back-End-Zeug. Wir haben alle unsere Lagerung. Also alle Videos, einschließlich solcher Dinge wie diese, die wir drehen, wir in die Wolke bis Ende setzen. Amazon hat Dienstleistungen genannt Amazon S3, ihre einfache Speicherdienst, der wie Speicherplatz in der Cloud. Sie haben etwas genannt Cloudfront, die ist ein CDN-Service, Inhalt Delivery Network Service, der bedeutet, dass sie alle Ihre Dateien und für Sie es automatisch replizieren auf der ganzen Welt. Und sie tun es nicht präventiv. Aber das erste Mal, wenn jemand in Indien Ihre Datei anfordert, sie werden es möglicherweise lokal zwischenspeichern. Das erste Mal in China, die ersten Mal in Brasilien, was geschieht, sie werden es beginnen lokal zwischenspeichern. Und Sie müssen nicht, dass eines tun. Und so ist es so unglaublich in diesen Tagen überzeugende Dinge zu bewegen in die Wolke. Da Sie diese Fähigkeit haben buchstäblich zu haben, nicht annähernd so viel Menschen tun Arbeit. Und Sie brauchen buchstäblich nicht so viele Menschen diese Arbeit tun anymore-- "Ops" oder operativen Aufgaben, mehr. Sie wirklich brauchen nur Entwickler und weniger Ingenieure wer kann nur so gut wie die Dinge tun. In der Tat, geben nur zu Sie ein Gefühl dafür, Lassen Sie mich auf die Preisgestaltung gehen ein anderes Produkt hier. Lassen Sie uns so etwas wie CDN S3 zu sehen. So ist dies im Wesentlichen ein virtuelle Festplatte in der Cloud. Und wenn wir nach unten scrollen zu pricing-- so ist es $ 0,007 pro Gigabyte. Und that's-- wie tun wir das? Ich denke, das ist pro Monat. Also, wenn das ist pro month-- oder pro Tag? Dan ist dies pro Tag? Dies ist pro Monat, OK. Also, wenn dies per month-- sorry, es ist die $ 0,03 pro Monat. Es gibt 12 Monate aus dem Jahr heraus. Also, wie viel Daten könnte Sie speichern in der Cloud? Ein Gigabyte ist nicht riesig, aber ich nicht wissen, wie 1 Terabyte, so wie 1000 von denen. Das ist nicht allzu viel. Es ist $ 368 ein Terabyte speichern von Daten in Amazon Cloud. Also, was sind einige der die Kompromisse, dann? Es kann nicht gut sein. Nichts, was wir heute gesprochen haben, ist, Art ohne Fang oder Kosten verbunden. Also, was ist schlecht über das Verschieben alles in die Cloud? PUBLIKUM: Sicherheit. DAVID MALAN: OK, was meinst du? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, richtig. Und tun Sie wirklich wollen einige zufällige Ingenieure Auf Amazon, dass Sie treffen nie mit physischen Zugang zu den Computern, und wenn sie wirklich wollte, den virtuellen Zugang? Und obwohl in Theorie software-- gut, Verschlüsselung kann absolut schützen Sie sich gegen diese. Also wenn das, was du bist Speichern auf den Servern weniger problematisch ist encrypted--. Aber sobald ein Mensch hat physikalische Zugriff auf eine Maschine, die Verschlüsselung zur Seite, alle Wetten sind eine Art aus. Sie wissen vielleicht, von gestern dass PCs vor allem, auch wenn Sie diese Dinge hatte genannt "BIOS-Passwörter" waren, wenn der Desktop gebootet, Sie würden mit einem Passwort gefragt werden, dass hat nichts zu tun mit Windows, können Sie in der Regel öffnen Sie einfach das Fahrwerk des Maschine, finden winzig kleine Stifte, und nutzen die so genannte eine Brücke und einfach anschließen diese beiden Drähte für etwa eine Sekunde, und dadurch Vervollständigen eines Schaltkreises. Und das würde das Passwort zu beseitigen. Also, wenn Sie den physischen Zugriff auf ein Gerät können Sie Dinge wie das zu tun. Sie können die Festplatte zu löschen. Sie können den Zugriff auf das so gewinnen. Und so ist dies, warum, in der Fall von Dropbox, zum Beispiel, ist es ein wenig Anlass zur Sorge, dass nicht nur sie tun haben die Daten, obwohl es verschlüsselt, sie haben auch den Schlüssel. Andere Sorgen? PUBLIKUM: [unverständlich] DAVID MALAN: Ja, es ist sehr true-- die Googles, die Äpfel, die Microsofts der Welt. Und in der Tat, wie lange Sie hatte Ihr iPhone für? Ja, geben oder nehmen. PUBLIKUM: [unverständlich] DAVID MALAN: Tut mir leid? Sie sind unter denen, die hat ein iPhone, nicht wahr? PUBLIKUM: Ja. DAVID MALAN: Wie lange Hatten Sie Ihr iPhone? PUBLIKUM: [unverständlich] DAVID MALAN: OK, so Apple-buchstäblich weiß wo haben Sie jede Stunde gewesen der Tag für den letzten fünf Jahren. PUBLIKUM: [unverständlich] DAVID MALAN: Welche ist eine wunderbare Funktion. PUBLIKUM: [unverständlich] DAVID MALAN: Ja, aber Kompromiss sicher. PUBLIKUM: [unverständlich] DAVID MALAN: Ja, es ist sehr einfach zu. PUBLIKUM: [unverständlich] DAVID MALAN: Andere Nachteile? PUBLIKUM: [unverständlich] DAVID MALAN: Absolutely-- technologisch, wirtschaftlich, es ist ziemlich überzeugend zu Art diese Skalen gewinnen und bewegen Sie alles in die sogenannte Wolke. Aber Sie wahrscheinlich tun wollen gehen mit einigen der größten Fische, die Amazonen, die Googles, die Microsofts-- Rackspace ist ziemlich big-- und ein paar andere, und nicht Fliegen unbedingt in der Nacht Leute für wen ist es sehr einfach zu tun Diese Art von Technik heutzutage. Und das ist, wem kann man $ 5,99 pro Monat zahlen. Aber Sie werden sicherlich bekommen, was Sie bezahlen. Wenn Sie sagen, [unverständlich], das ist, wenn Dinge wie diese fünf Neunen kommen, wobei selbst wenn technologisch wir können nicht wirklich 99,999 garantieren, wir werden einfach in irgendeiner Art bauen als Strafe an den Vertrag so dass, wenn das geschieht, zumindest es gibt einige Kosten für uns, der Verkäufer. Und das ist, was würden Sie in der Regel bekommen sie zu vereinbaren. PUBLIKUM: [unverständlich] DAVID MALAN: Und der eine Art von Segen dass selbst, wenn wir gehen, für Beispiel, oder auch bestimmte Unternehmen, die Realität ist, Amazon, beispielsweise hat so viele darn Kunden, namhafte Kunden, aus bestimmten Rechenzentren Betriebs dass, wenn etwas geht wirklich falsch, wie höhere Gewalt und Wetter und solche, wenn es irgendeine Art von Silberstreif am Horizont, es ist, dass Sie in sehr guter Gesellschaft. Ihre Website offline sein. Aber so ist wie die Hälfte die beliebte Internet. Und so ist es wohl ein wenig schmackhafter zu Ihren Kunden wenn es mehr von einem Internet Sache als eine acme.com Sache. Aber das ist ein bisschen wie ein Betrüger. Also in Bezug auf andere Dinge zu sehen, einfach so, dass wir andere nicht ausschließen, wenn Sie gehen zu Microsoft Azure, sie haben sowohl Linux als auch Windows-Sachen Das ist vergleichbar mit Amazon. Wenn Sie gehen zu Google Compute Engine, sie haben etwas Ähnliches wie gut. Und zur Abrundung Diese Cloud-Angebote, Ich werde erwähnt eine andere Sache zu machen. Dies ist eine beliebte Website das ist repräsentativ einer Klasse von Technologien. Die, die wir gerade gesprochen über, Amazon, wäre IAAS, Infrastructure as a Service, in dem Sie Art von physischer Hardware als Dienstleistung an. Es gibt SAAS. Eigentlich, lassen Sie mich diese notiere. IAAS-- Infrastruktur Als Service SAAS, und PAAS, die sind bemerkenswert verwirrende Abkürzungen dass Sie beschreiben drei verschiedene Arten von Dingen. Und die Akronyme selbst nicht wirklich eine Rolle. Das ist alles, von der Wolke Zeug wir haben nur geredet worden über, die untere Ebene Sachen, die Virtualisierung von Hardware- und Speicher in der sogenannten Wolke, ob es sich um Amazon, Microsoft, Google oder andere. Software as a service-- uns alle Art, dies zu nutzen. Wenn verwenden Sie Google Apps für Google Mail oder Kalender, jede dieser Web-basierten Anwendungen, die vor 10 Jahren wir müssten doppelt auf geklickt Symbole unsere Desktop, Software als Service Web-Anwendung ist jetzt wirklich. Und Plattform als Service Art abhängt. Und ein Beispiel werde ich Ihnen hier geben im Zusammenhang mit der Wolke computing-- gibt es ein Unternehmen, das ganz ist beliebt in diesen Tagen, Heroku. Und sie sind ein Service, eine Plattform, wenn man so will, das läuft auf der Oberseite Amazon-Infrastruktur. Und sie machen es nur noch einfacher für Entwickler und Ingenieure Web-basierte Anwendungen online zu bekommen. Es ist ein Schmerz anfänglich zu verwenden Amazon Web Services und andere Dinge. Weil Sie tatsächlich haben kennen und verstehen über Datenbanken und Web-Server und Loadbalancer und das ganze Zeug Ich sprach gerade über. Da alle Amazon getan hat, ist nicht diese Design-Herausforderungen versteckt. Sie haben sie nur virtualisiert und verschieben Sie sie in einen Browser, in Software anstelle von Hardware. Aber Unternehmen wie Heroku und andere PAAS-Anbieter, Plattform als Service, sie verwenden, um diese Barebone Fundamental dass wir haben gerade darüber gesprochen, und sie bauen leichter verwenden Software oben drauf so dass, wenn Sie eine Web-basierte erhalten möchten Anmeldung online in diesen Tagen, Sie haben sicherlich zu wissen, wie man programmiert. Sie müssen wissen, Java oder Python oder PHP oder Ruby oder eine Reihe von anderen Sprachen. Aber Sie müssen auch ein Ort, um es zu setzen. Und wir sprachen vorhin über bekommen eine Web-Hosting-Unternehmen. Das ist eine Art der wie Mitte der 2000er Jahre Annäherung an etwas online zu bekommen. Heute können Sie stattdessen jemand zahlen wie Heroku ein paar Dollar pro Monat. Und im Wesentlichen, wenn man einmal einige anfängliche Konfiguration abgeschlossen, Ihre Website zu aktualisieren, Sie geben Sie einfach einen Befehl in einem Fenster. Und was auch immer Code, den Sie geschrieben haben hier auf Ihrem Laptop sofort wird auf eine beliebige Anzahl verteilt von Servern in der Cloud. Und Heroku kümmert alle der Komplexität. Sie schätzen alle die Datenbank Sachen, die alle die Lastverteilung, alle Kopfschmerzen, die wir haben nur auf die Tafel geschrieben, und verstecken das alles für Sie. Und im Gegenzug, die Sie gerade zahlen sie ein bisschen mehr. So haben Sie diese Infrastrukturen ein Service, Plattformen als Service, und dann Software als Dienstleistung an. Es ist wieder diese Abstraktion oder Schichtung. Haben Sie Fragen zu der Wolke oder die eigene Infrastruktur aufzubauen? Okay, das war eine Menge. Warum gehen wir nicht voran und nehmen unsere Pause von 15 Minuten hier. Wir werden mit einigen neuen Konzepten kommen zurück und ein bisschen von Hands-on-Gelegenheit bevor der Abend vorbei ist.