1 00:00:00,000 --> 00:00:00,629 2 00:00:00,629 --> 00:00:02,170 DAVID MALAN: Oké, welkom terug. 3 00:00:02,170 --> 00:00:06,520 Voordat we een duik in cloud computing, Ik dacht dat ik even stilstaan 4 00:00:06,520 --> 00:00:11,740 of er nog openstaande vragen of onderwerpen die tijdens de lunch kwam 5 00:00:11,740 --> 00:00:13,834 die kunnen nu van belang. 6 00:00:13,834 --> 00:00:18,470 7 00:00:18,470 --> 00:00:21,410 >> PUBLIEK: [ONVERSTAANBAAR] 8 00:00:21,410 --> 00:00:22,090 >> DAVID MALAN: OK. 9 00:00:22,090 --> 00:00:23,555 Oh oke. 10 00:00:23,555 --> 00:00:24,430 PUBLIEK: [ONVERSTAANBAAR] 11 00:00:24,430 --> 00:00:29,880 12 00:00:29,880 --> 00:00:31,420 >> DAVID MALAN: Nee, natuurlijk. 13 00:00:31,420 --> 00:00:35,180 OK, goed hopelijk al uw problemen ontstaan ​​in de komende uren 14 00:00:35,180 --> 00:00:36,410 en morgen in het bijzonder. 15 00:00:36,410 --> 00:00:42,700 Maar laten we eens een kijkje nemen, dan, naar waar de laatste discussie over het opzetten 16 00:00:42,700 --> 00:00:45,730 een site leiden, algemener als het gaat om cloud computing, 17 00:00:45,730 --> 00:00:48,210 het opzetten van een server-architectuur, het soort beslissingen 18 00:00:48,210 --> 00:00:50,800 dat de ingenieurs en ontwikkelaars en managers 19 00:00:50,800 --> 00:00:53,210 moeten maken als het gaat om meer te doen dan alleen maar 20 00:00:53,210 --> 00:00:56,550 aanmelden voor een $ 10 per maand webhost wanneer u daadwerkelijk wilt bouwen 21 00:00:56,550 --> 00:00:57,550 uw eigen infrastructuur. 22 00:00:57,550 --> 00:01:00,400 En we zullen proberen om deze terug te binden, bijvoorbeeld Dropbox en anderen 23 00:01:00,400 --> 00:01:01,350 als hen. 24 00:01:01,350 --> 00:01:06,250 >> Dus laten we beginnen te overwegen welke problemen ontstaan ​​als bedrijf 25 00:01:06,250 --> 00:01:09,390 krijgt goede en een goede problemen ontstaan. 26 00:01:09,390 --> 00:01:14,720 Zodat in het eenvoudigste geval van het hebben sommige bedrijf dat een web-server heeft, 27 00:01:14,720 --> 00:01:21,470 u zou kunnen hebben, laten we zeggen, een server die we zullen gewoon te trekken die er zo uitziet. 28 00:01:21,470 --> 00:01:25,620 En deze dagen, de meeste servers-- en laten we eigenlijk zet een foto om deze net zo 29 00:01:25,620 --> 00:01:27,680 dat het een beetje minder vaag. 30 00:01:27,680 --> 00:01:31,510 >> Dus Dell rack server-- terug in de dag, is er 31 00:01:31,510 --> 00:01:33,730 waren mainframecomputers die nam hele kamers. 32 00:01:33,730 --> 00:01:35,710 Deze dagen, als je naar een server te krijgen, 33 00:01:35,710 --> 00:01:38,520 misschien een beetje iets als dit. 34 00:01:38,520 --> 00:01:41,760 Servers worden gemeten in welke heten rack units, of spoorwegondernemingen. 35 00:01:41,760 --> 00:01:45,280 En een RU is 1,5 inch, die een industriestandaard. 36 00:01:45,280 --> 00:01:49,300 Dus dit ziet eruit als een twee RU server. 37 00:01:49,300 --> 00:01:51,240 Dus het is 3 inch groot. 38 00:01:51,240 --> 00:01:54,430 En ze zijn over het algemeen 19 inch breed, wat betekent dat alle van dit soort dingen 39 00:01:54,430 --> 00:01:55,160 wordt gestandaardiseerd. 40 00:01:55,160 --> 00:01:59,420 >> Dus als je kijkt in een data center-- niet alleen op één server, maar laten we 41 00:01:59,420 --> 00:02:02,110 neem een ​​kijkje op Google's datacenter en kijken of we 42 00:02:02,110 --> 00:02:04,280 zie een mooie foto in Google Images. 43 00:02:04,280 --> 00:02:09,090 Dit is veel beter verlicht dan jij zouden in het algemeen te vinden, en nog veel 44 00:02:09,090 --> 00:02:14,900 sexier kijken als gevolg. Maar dit is wat lijkt op een paar 45 00:02:14,900 --> 00:02:17,380 honderd servers ongeveer dezelfde grootte, 46 00:02:17,380 --> 00:02:21,450 eigenlijk, in rack na rack na rack na rack in een datacenter. 47 00:02:21,450 --> 00:02:26,150 >> Zoiets dit-- dit kan heel goed zijn Google's, aangezien ik googled Google. 48 00:02:26,150 --> 00:02:28,330 Maar het kan representatief zijn meer algemeen 49 00:02:28,330 --> 00:02:31,480 een datacenter waarin veel bedrijven zijn meestal gestationeerd. 50 00:02:31,480 --> 00:02:34,940 En co-located betekent meestal dat je naar een plek als Equinix 51 00:02:34,940 --> 00:02:40,280 of andere leveranciers die hebben grote pakhuizen die veel macht hebben, 52 00:02:40,280 --> 00:02:42,950 veel koeling, hopelijk veel van de veiligheid, 53 00:02:42,950 --> 00:02:47,910 en individuele kooien omsluiten rekken servers, en je ofwel huren de rekken 54 00:02:47,910 --> 00:02:49,150 of brengt u de rekken in. 55 00:02:49,150 --> 00:02:51,420 >> En individuele bedrijven, startups in het bijzonder, 56 00:02:51,420 --> 00:02:54,820 zal een soort van biometrie hebben te krijgen in hun kooi, of een sleutel, 57 00:02:54,820 --> 00:02:55,640 of een sleutelkaart. 58 00:02:55,640 --> 00:02:56,990 U opent de deur. 59 00:02:56,990 --> 00:03:00,354 En de binnenkant van er slechts een vierkante meters footprint 60 00:03:00,354 --> 00:03:03,270 dat je betaalt voor, de binnenkant van waar je alles wat je wilt kunt zetten. 61 00:03:03,270 --> 00:03:04,770 >> En u meestal betaalt voor de macht. 62 00:03:04,770 --> 00:03:06,920 En u betaalt voor de voetafdrukken. 63 00:03:06,920 --> 00:03:08,770 En dan betaal je je voor op de servers 64 00:03:08,770 --> 00:03:10,560 dat je te brengen in die ruimte. 65 00:03:10,560 --> 00:03:12,850 En wat je dan moet de optie om te doen is iemand betalen 66 00:03:12,850 --> 00:03:15,120 voor uw internet service-connectiviteit. 67 00:03:15,120 --> 00:03:17,240 U kunt een onbeperkt aantal betalen verkopers, allen 68 00:03:17,240 --> 00:03:19,210 meestal kom in dat datacenter. 69 00:03:19,210 --> 00:03:22,740 >> Maar de echte interessante vraag is, wat er werkelijk gaat in die rekken? 70 00:03:22,740 --> 00:03:25,020 zouden ze allemaal heel goed eruit wat we net zagen. 71 00:03:25,020 --> 00:03:27,870 Maar ze voeren verschillende functies en kan nodig zijn om verschillende dingen te doen. 72 00:03:27,870 --> 00:03:29,661 En laten we eigenlijk motiveren deze discussie 73 00:03:29,661 --> 00:03:35,370 met de vraag, welk probleem begint te ontstaan ​​als je succesvol bent? 74 00:03:35,370 --> 00:03:37,900 >> Dus heb je een website hebt dat je hebt opgebouwd. 75 00:03:37,900 --> 00:03:40,450 En misschien het verkoopt widgets of zoiets. 76 00:03:40,450 --> 00:03:43,620 En je hebt het heel goed met een omzet van widgets online. 77 00:03:43,620 --> 00:03:48,490 En je begint te ervaren enkele symptomen, uw website. 78 00:03:48,490 --> 00:03:51,070 Wat kunnen sommige van de technische symptomen 79 00:03:51,070 --> 00:03:54,040 dat gebruikers melden als business is groeiende en bloeiende 80 00:03:54,040 --> 00:03:59,482 en uw website is profiteren van dat? 81 00:03:59,482 --> 00:04:02,690 >> PUBLIEK: [ONVERSTAANBAAR] 82 00:04:02,690 --> 00:04:05,910 83 00:04:05,910 --> 00:04:07,050 >> DAVID MALAN: Ja, precies. 84 00:04:07,050 --> 00:04:10,040 Dus je zou kunnen hebben een vertraging van uw website. 85 00:04:10,040 --> 00:04:11,240 En waarom zou dat gebeuren? 86 00:04:11,240 --> 00:04:12,660 Nou, als we aannemen, voor Ter wille van de discussie 87 00:04:12,660 --> 00:04:15,160 op dit moment, dat je op één van deze commerciële web hosts 88 00:04:15,160 --> 00:04:17,860 dat hebben we gesproken over voor de lunch, die u betaalt bepaald aantal dollars 89 00:04:17,860 --> 00:04:20,859 om per maand, en je hebt al betaald voor de jaarlijkse kosten van uw domeinnaam 90 00:04:20,859 --> 00:04:25,300 te noemen, dat webhost is waarschijnlijk overselling hun middelen 91 00:04:25,300 --> 00:04:26,050 enigszins. 92 00:04:26,050 --> 00:04:29,000 Dus je zou een gebruikersnaam hebben en het wachtwoord op hun server. 93 00:04:29,000 --> 00:04:32,410 Maar dat zou een aantal andere, of meerdere dozijn andere, of misschien zelfs meerdere 94 00:04:32,410 --> 00:04:33,980 honderd andere gebruikers. 95 00:04:33,980 --> 00:04:37,190 >> En websites wonen fysiek op dezelfde server. 96 00:04:37,190 --> 00:04:38,340 Waarom is dit mogelijk? 97 00:04:38,340 --> 00:04:40,680 Nou deze dagen, servers als dit meestal 98 00:04:40,680 --> 00:04:44,610 hebben meerdere harde schijven, misschien maar liefst zes of meer harde schijven, 99 00:04:44,610 --> 00:04:47,665 elk net zo veel zijn als 4 terabytes deze dagen. 100 00:04:47,665 --> 00:04:52,140 Dus je zou kunnen hebben 24 terabyte aan ruimte in slechts een kleine server als deze. 101 00:04:52,140 --> 00:04:55,710 >> En zelfs als je steelt een deel van die ruimte voor redundantie, voor back-up doeleinden, 102 00:04:55,710 --> 00:04:57,110 het is nog steeds heel veel ruimte. 103 00:04:57,110 --> 00:05:00,070 En zeker, een typische website niet dat er veel ruimte nodig. 104 00:05:00,070 --> 00:05:03,100 Gewoon registreren van gebruikers en opslaan van logs van orders 105 00:05:03,100 --> 00:05:04,640 niet al te veel ruimte innemen. 106 00:05:04,640 --> 00:05:07,550 Dus je kunt het heel partitie een beetje en geef elke gebruiker 107 00:05:07,550 --> 00:05:08,980 slechts een klein stukje van dat. 108 00:05:08,980 --> 00:05:11,310 >> Ondertussen, een computer als deze deze dagen 109 00:05:11,310 --> 00:05:16,370 heeft meestal meerdere CPUs-- niet alleen één, misschien twee, misschien vier, misschien 16, 110 00:05:16,370 --> 00:05:17,149 of zelfs meer. 111 00:05:17,149 --> 00:05:18,940 En elk van deze CPU's heeft iets te noemen 112 00:05:18,940 --> 00:05:22,230 een kern, dat is een soort hersenen binnen van een brein. 113 00:05:22,230 --> 00:05:26,800 Dus in feite de meeste iedereen hier met moderne laptops heeft waarschijnlijk een dual core 114 00:05:26,800 --> 00:05:32,030 of quad core CPU-- en waarschijnlijk alleen een CPU binnenkant van een laptop deze dagen. 115 00:05:32,030 --> 00:05:35,030 Maar desktop computers en rek computers zoals 116 00:05:35,030 --> 00:05:39,000 dit kan heel wat hebben meer CPU's, en op zijn beurt kernen. 117 00:05:39,000 --> 00:05:44,180 >> En eerlijk gezegd, zelfs in onze Macs en pc's van vandaag de dag, heb je niet echt nodig dual cores 118 00:05:44,180 --> 00:05:46,550 of quad cores aan uw e-mail te controleren. 119 00:05:46,550 --> 00:05:49,090 Als er een knelpunt bij betreft het gebruik van een computer, 120 00:05:49,090 --> 00:05:51,925 de mens zijn waarschijnlijk de langzaamste ding over die computer. 121 00:05:51,925 --> 00:05:54,800 En je bent niet van plan om te kunnen Controleer uw e-mail sneller als je 122 00:05:54,800 --> 00:05:57,170 hebben vier keer zoveel CPU's of kernen. 123 00:05:57,170 --> 00:05:59,700 >> Maar hetzelfde soort true van een server. 124 00:05:59,700 --> 00:06:02,970 Één site misschien niet noodzakelijkerwijs meer dan één nodig 125 00:06:02,970 --> 00:06:05,756 CPU of een kern, een kleine hersenen binnen doen 126 00:06:05,756 --> 00:06:07,380 alle denken en de verwerking. 127 00:06:07,380 --> 00:06:10,561 Dus fabrikanten hebben op soortgelijke wijze begon te snijden up die middelen 128 00:06:10,561 --> 00:06:13,435 zodat misschien uw website krijgt een kern, uw website krijgt een kern, 129 00:06:13,435 --> 00:06:15,290 of misschien zijn we het delen van een dergelijke kern. 130 00:06:15,290 --> 00:06:16,820 We zijn ook het delen van schijfruimte. 131 00:06:16,820 --> 00:06:20,000 En we zijn ook delen van RAM, of Random Access Memory 132 00:06:20,000 --> 00:06:22,520 van voor, waarvan er is ook een eindige hoeveelheid. 133 00:06:22,520 --> 00:06:23,420 >> En dat is de sleutel. 134 00:06:23,420 --> 00:06:25,960 Het maakt niet uit hoe duur de computer was, 135 00:06:25,960 --> 00:06:28,440 er is nog steeds een eindige hoeveelheid middelen in. 136 00:06:28,440 --> 00:06:31,360 En dus hoe meer en meer je proberen om die middelen te consumeren, 137 00:06:31,360 --> 00:06:32,850 de langzamere dingen kunnen worden. 138 00:06:32,850 --> 00:06:34,646 Maar waarom? 139 00:06:34,646 --> 00:06:39,352 Waarom zou dingen vertragen als symptoom van een server wordt overbelast? 140 00:06:39,352 --> 00:06:40,060 Wat is er gaande? 141 00:06:40,060 --> 00:06:42,895 142 00:06:42,895 --> 00:06:46,388 >> PUBLIEK: [ONVERSTAANBAAR] 143 00:06:46,388 --> 00:06:54,036 144 00:06:54,036 --> 00:06:55,160 DAVID MALAN: Ja, precies. 145 00:06:55,160 --> 00:06:57,730 Ik stelde eerder dat RAM is een type geheugen. 146 00:06:57,730 --> 00:07:00,290 Het is vluchtig, waarbij dat is waar de apps en data zijn 147 00:07:00,290 --> 00:07:01,890 opgeslagen wanneer ze worden gebruikt. 148 00:07:01,890 --> 00:07:03,990 En dus daarom is er slechts een eindig aantal 149 00:07:03,990 --> 00:07:05,790 dingen die je kunt blijkbaar tegelijk te doen. 150 00:07:05,790 --> 00:07:07,740 En het is ook sneller, dat is een goede zaak. 151 00:07:07,740 --> 00:07:09,990 Maar het is ook duurder, dat is een slechte zaak. 152 00:07:09,990 --> 00:07:15,376 En het is dus ook aanwezig in lagere hoeveelheden dan schijfruimte, harde schijf 153 00:07:15,376 --> 00:07:16,750 ruimte, die de neiging heeft goedkoper. 154 00:07:16,750 --> 00:07:18,830 >> Met andere woorden, je zou kunnen hebben 4 terabytes 155 00:07:18,830 --> 00:07:20,440 schijfruimte op uw computer. 156 00:07:20,440 --> 00:07:24,300 Maar je zou kunnen hebben 4 gigabytes, of 64 gigabyte, 157 00:07:24,300 --> 00:07:29,180 in orde van grootte, een factor 1000 minder RAM-geheugen in uw computer. 158 00:07:29,180 --> 00:07:30,320 Dus wat doet een computer doen? 159 00:07:30,320 --> 00:07:32,236 Nou, stel dat je hebben 64 gigabytes 160 00:07:32,236 --> 00:07:35,110 RAM-geheugen in een server als deze, die zou heel gewoon, zo niet laag zijn 161 00:07:35,110 --> 00:07:36,140 de laatste tijd. 162 00:07:36,140 --> 00:07:39,220 Maar stel je hebt zo veel gebruikers doen zo veel dingen 163 00:07:39,220 --> 00:07:42,480 dat je soort soort moet 65 gigabyte geheugen 164 00:07:42,480 --> 00:07:44,960 dat allemaal verwerken simultaan gebruik? 165 00:07:44,960 --> 00:07:47,580 >> Nou, je kon gewoon zeggen, sorry, sommige aantal gebruikers 166 00:07:47,580 --> 00:07:48,840 gewoon geen toegang tot de website. 167 00:07:48,840 --> 00:07:51,410 En dat is de maat of last resort, zeker. 168 00:07:51,410 --> 00:07:55,570 Of u, als de operationele systeem, zoals de Windows of Mac 169 00:07:55,570 --> 00:07:59,480 OS of Linux of Solaris of een aantal andere besturingssystemen op die server, 170 00:07:59,480 --> 00:08:01,280 kon gewoon beslissen, weet je wat? 171 00:08:01,280 --> 00:08:03,780 Ik heb slechts 64 gigabyte RAM-geheugen. 172 00:08:03,780 --> 00:08:05,440 Ik soort van Need 65. 173 00:08:05,440 --> 00:08:06,210 Dus weet je wat? 174 00:08:06,210 --> 00:08:10,030 Ik ga tot 1 gigabyte te nemen waarde van de gegevens in RAM 175 00:08:10,030 --> 00:08:15,240 dat is het minst recent geopende en gewoon verplaatsen naar de schijf tijdelijk 176 00:08:15,240 --> 00:08:19,050 letterlijk kopiëren van het snelle geheugen om de langzamere geheugen 177 00:08:19,050 --> 00:08:24,000 zodat ik dan kan dat moeten aanpakken 65 gigabyte nodig voor het geheugen, 178 00:08:24,000 --> 00:08:25,650 doe wat berekeningen op. 179 00:08:25,650 --> 00:08:28,580 Toen ik klaar ben om dat te doen, Ik kom net bewegen die op de harde schijf, 180 00:08:28,580 --> 00:08:35,030 zet die andere RAM ik tijdelijk in op de schijf terug in de werkelijke hardware 181 00:08:35,030 --> 00:08:37,280 zodat ik ben een soort van multitasking. 182 00:08:37,280 --> 00:08:41,190 >> Dus ik ben een soort van om dingen tijdelijk in deze ruimte tragere 183 00:08:41,190 --> 00:08:44,159 dus ik maak de illusie van de behandeling van iedereen. 184 00:08:44,159 --> 00:08:45,290 Maar er is een vertraging. 185 00:08:45,290 --> 00:08:45,790 Waarom? 186 00:08:45,790 --> 00:08:49,380 Nou ja, de binnenkant van deze harde schijven deze dagen is wat? 187 00:08:49,380 --> 00:08:52,030 Eerder, wat een harde rijden anders RAM 188 00:08:52,030 --> 00:08:53,495 zo goed als nu weet je? 189 00:08:53,495 --> 00:08:56,750 >> PUBLIEK: [ONVERSTAANBAAR] 190 00:08:56,750 --> 00:08:59,540 191 00:08:59,540 --> 00:09:01,445 >> DAVID MALAN: OK, waar. 192 00:09:01,445 --> 00:09:02,320 PUBLIEK: [ONVERSTAANBAAR] 193 00:09:02,320 --> 00:09:05,440 194 00:09:05,440 --> 00:09:06,750 >> DAVID MALAN: Zo erg waar. 195 00:09:06,750 --> 00:09:13,709 En dat is een neveneffect of feature Aangezien RAM inderdaad sneller. 196 00:09:13,709 --> 00:09:15,750 En dus je wilt gebruiken voor actueel gebruik. 197 00:09:15,750 --> 00:09:17,290 En een schijf langzamer. 198 00:09:17,290 --> 00:09:19,630 Maar het is permanent, of niet-vluchtig. 199 00:09:19,630 --> 00:09:21,480 Dus u het gebruiken voor langdurige opslag. 200 00:09:21,480 --> 00:09:25,160 Maar in termen van implementatie, als ik kijk omhoog 201 00:09:25,160 --> 00:09:29,297 wat een DIMM heet, Dual Inline Memory Module, dit is wat een stuk van RAM 202 00:09:29,297 --> 00:09:30,380 misschien typisch uitzien. 203 00:09:30,380 --> 00:09:35,050 >> Dus de binnenkant van onze Mac-- dat is een bug. 204 00:09:35,050 --> 00:09:41,080 Binnenkant van onze Macs en pc's, onze desktop computers zouden stokken van het geheugen hebben, 205 00:09:41,080 --> 00:09:43,220 zoals u ze zou noemen, of DIMM of SIMM terug 206 00:09:43,220 --> 00:09:44,970 ten dage, geheugen die er zo uitzien. 207 00:09:44,970 --> 00:09:47,900 Onze laptops hebben waarschijnlijk dingen die een derde van de grootte of de helft kleiner. 208 00:09:47,900 --> 00:09:50,066 Ze zijn een beetje kleiner, maar dezelfde idea-- kleine 209 00:09:50,066 --> 00:09:52,110 stukjes groene silicium wafer of plastic dat 210 00:09:52,110 --> 00:09:56,237 heeft weinig zwarte chips op hen met veel draden onderling verbonden alles. 211 00:09:56,237 --> 00:09:58,820 Je zou een hele hoop hebben deze binnenkant van uw computer. 212 00:09:58,820 --> 00:10:00,903 Maar de afhaalmaaltijd is hier het is volledig elektronisch. 213 00:10:00,903 --> 00:10:03,130 Er is gewoon elektronen stroomt op dit apparaat. 214 00:10:03,130 --> 00:10:08,170 Daarentegen, als we kijken naar de binnenkant van een harde schijf 215 00:10:08,170 --> 00:10:10,760 en trek een foto Hier, zou je in plaats daarvan 216 00:10:10,760 --> 00:10:16,600 zie zoiets als dit, die wel elektriciteit 217 00:10:16,600 --> 00:10:17,950 gaan door het uiteindelijk. 218 00:10:17,950 --> 00:10:20,265 Maar wat springt er ook op op je over deze zaak? 219 00:10:20,265 --> 00:10:21,140 PUBLIEK: [ONVERSTAANBAAR] 220 00:10:21,140 --> 00:10:22,710 DAVID MALAN: Ja, er is blijkbaar bewegende delen. 221 00:10:22,710 --> 00:10:25,210 Het is net zoiets als een oude record speler of fonograaf speler. 222 00:10:25,210 --> 00:10:26,200 En het vrij veel is. 223 00:10:26,200 --> 00:10:28,950 Het is een beetje exclusiever verwacht dan dat-- terwijl een fonograaf speler gebruikt 224 00:10:28,950 --> 00:10:33,150 groeven in de goede orde, dit ook daadwerkelijk maakt gebruik van minuscule kleine magnetische deeltjes 225 00:10:33,150 --> 00:10:34,550 dat we kunnen niet helemaal zien. 226 00:10:34,550 --> 00:10:38,520 Maar als een beetje magnetisch deeltje ziet er zo uit, wordt het beschouwd als een 1. 227 00:10:38,520 --> 00:10:41,230 En als het ziet er zo uit, noord-zuid in plaats van zuid-noord, 228 00:10:41,230 --> 00:10:42,252 het misschien een 0. 229 00:10:42,252 --> 00:10:45,460 En we zullen morgen zien hoe we kunnen bouwen van die meer interessante dingen. 230 00:10:45,460 --> 00:10:47,590 >> Maar alles dat is moet fysiek te verplaatsen 231 00:10:47,590 --> 00:10:51,010 zal zeker langzamer gaan dan de snelheid van het licht, 232 00:10:51,010 --> 00:10:53,250 Dit is op welke een elektron zou kunnen stromen, 233 00:10:53,250 --> 00:10:54,620 hoewel niet helemaal realistisch. 234 00:10:54,620 --> 00:10:56,900 Dus mechanische devices-- veel langzamer. 235 00:10:56,900 --> 00:10:58,320 Maar ze zijn goedkoper. 236 00:10:58,320 --> 00:11:00,944 En je kunt zo veel passen Meer gegevens binnenkant van hen. 237 00:11:00,944 --> 00:11:03,110 Dus het feit dat bestaat in de wereld iets 238 00:11:03,110 --> 00:11:06,840 genaamd virtueel geheugen, met behulp van een harde schijf als deze 239 00:11:06,840 --> 00:11:10,160 alsof het RAM transparant voor de gebruiker, 240 00:11:10,160 --> 00:11:15,320 door het eenvoudig data van het RAM naar de harde schijf, 241 00:11:15,320 --> 00:11:18,714 dan verplaatsen terug als je nodig hebt opnieuw creëert de vertraging. 242 00:11:18,714 --> 00:11:21,380 Omdat je letterlijk moet kopiëren van de ene plaats naar de andere. 243 00:11:21,380 --> 00:11:25,100 En het ding dat je het kopiëren van en van eigenlijk langzamer dan de RAM 244 00:11:25,100 --> 00:11:26,150 waar u het wilt zijn. 245 00:11:26,150 --> 00:11:29,030 >> De alternatieve oplossing hier-- als je niet wilt dat vertragen, 246 00:11:29,030 --> 00:11:32,014 en virtuele geheugen soort wordt overbelast, 247 00:11:32,014 --> 00:11:33,680 wat een oplossing voor dit probleem? 248 00:11:33,680 --> 00:11:35,260 >> PUBLIEK: [ONVERSTAANBAAR] 249 00:11:35,260 --> 00:11:37,260 DAVID MALAN: Nou, uitgebreid virtueel geheugen 250 00:11:37,260 --> 00:11:39,135 zou laten we dit op een nog grotere schaal. 251 00:11:39,135 --> 00:11:43,540 We kunnen omgaan met 66 gigabytes van het geheugen nodig heeft, of 67 gigabyte. 252 00:11:43,540 --> 00:11:45,830 Maar stel dat ik hou niet van deze vertragen, in feite 253 00:11:45,830 --> 00:11:49,380 Ik wil virtuele uitschakelen geheugen als dat nog mogelijk is, 254 00:11:49,380 --> 00:11:52,350 Wat kon ik anders gooien naar dit probleem op te lossen, 255 00:11:52,350 --> 00:11:56,900 waar ik wil meer gebruikers te behandelen en meer geheugen eisen 256 00:11:56,900 --> 00:11:59,100 dan heb ik fysiek op dit moment? 257 00:11:59,100 --> 00:12:02,600 >> PUBLIEK: [ONVERSTAANBAAR] 258 00:12:02,600 --> 00:12:04,800 259 00:12:04,800 --> 00:12:06,140 >> DAVID MALAN: Er zijn helaas geen. 260 00:12:06,140 --> 00:12:09,850 Dus de CPU en de kernen zijn ze in een eindige grondstof. 261 00:12:09,850 --> 00:12:13,280 En er is geen analoge in die context. 262 00:12:13,280 --> 00:12:14,990 Goede vraag, dat wel. 263 00:12:14,990 --> 00:12:19,270 Dus gewoon om duidelijk te zijn, ook, als binnenkant van deze computer, 264 00:12:19,270 --> 00:12:24,510 laten we zeggen, een stok van RAM-geheugen dat eruit ziet zoals dit-- en dus zullen we dit RAM noemen. 265 00:12:24,510 --> 00:12:27,070 En hier is de harde schijf. 266 00:12:27,070 --> 00:12:30,130 En ik zal alleen deze te trekken pictorially als een kleine cirkel. 267 00:12:30,130 --> 00:12:33,740 Er zijn 0 en 1 in beide these-- data, zullen we het generaliseren als. 268 00:12:33,740 --> 00:12:38,030 >> En in wezen als een gebruiker runnen van een applicatie zoals, 269 00:12:38,030 --> 00:12:46,070 laten we zeggen, een website die dit vergt veel RAM per gebruiker, wat ik voorstel, 270 00:12:46,070 --> 00:12:48,380 door middel van dit ding genaamd virtueel geheugen, 271 00:12:48,380 --> 00:12:53,990 is om gewoon tijdelijk te verplaatsen dat meer dan hier, dus dat ik nu 272 00:12:53,990 --> 00:12:57,810 kan het geheugen van iemand anders te verplaatsen vereisten daar. 273 00:12:57,810 --> 00:13:00,420 En toen dat gedaan, Ik kan dit over kopiëren terug 274 00:13:00,420 --> 00:13:04,550 en dit gaat hier, waardoor het bewegen wat ik wilde daar ergens anders 275 00:13:04,550 --> 00:13:05,050 allemaal samen. 276 00:13:05,050 --> 00:13:07,820 >> Dus er is gewoon een heleboel switcheroo, is de afhaalmaaltijd hier. 277 00:13:07,820 --> 00:13:12,380 Dus als u dit niet wilt, en je niet iets wilt op de harde schijf te zetten, 278 00:13:12,380 --> 00:13:16,440 wat is een soort van voor de hand liggende oplossing zakelijke persoon 279 00:13:16,440 --> 00:13:19,684 het probleem of de ingenieur oplossing, wat dat betreft ook? 280 00:13:19,684 --> 00:13:21,950 >> PUBLIEK: [ONVERSTAANBAAR] 281 00:13:21,950 --> 00:13:24,750 >> DAVID MALAN: Ja, dat bedoel ik letterlijk gooien van geld naar het probleem. 282 00:13:24,750 --> 00:13:27,541 En eigenlijk is dit de perfecte segue om een ​​deel van het hogere niveau 283 00:13:27,541 --> 00:13:28,870 discussies over cloud computing. 284 00:13:28,870 --> 00:13:31,390 Omdat veel van deze is gemotiveerd door financiële beslissingen, 285 00:13:31,390 --> 00:13:33,040 zelfs niet per se technologische. 286 00:13:33,040 --> 00:13:37,830 Als 64 optredens van RAM-geheugen is te weinig, nou ja, waarom niet 128 gigabyte RAM-geheugen te krijgen? 287 00:13:37,830 --> 00:13:40,440 Waarom niet 256 gigabyte RAM-geheugen te krijgen? 288 00:13:40,440 --> 00:13:41,732 Nou waarom niet? 289 00:13:41,732 --> 00:13:42,608 >> PUBLIEK: [ONVERSTAANBAAR] 290 00:13:42,608 --> 00:13:44,482 DAVID MALAN: Nou, het kost meer geld, zeker. 291 00:13:44,482 --> 00:13:46,970 En als u al extra schijfruimte, effectief, 292 00:13:46,970 --> 00:13:51,407 of equivalent, schijfruimte is zo veel goedkoper je net zo goed gebruiken. 293 00:13:51,407 --> 00:13:54,490 Dus nogmaals, er is deze afweging die we zagen zelfs eerder deze morgen, 294 00:13:54,490 --> 00:13:56,656 waar er echt niet per se een juist antwoord, 295 00:13:56,656 --> 00:14:01,360 er is gewoon een beter of slechter antwoord op basis van wat je eigenlijk schelen. 296 00:14:01,360 --> 00:14:04,500 >> Dus er is ook technologische realiteit. 297 00:14:04,500 --> 00:14:06,870 Ik kan een computer niet te kopen, naar mijn weten, 298 00:14:06,870 --> 00:14:09,490 met een biljoen gigabytes RAM-geheugen op dit moment. 299 00:14:09,490 --> 00:14:11,540 Het is gewoon fysiek niet bestaat. 300 00:14:11,540 --> 00:14:13,240 Dus er is wat bovengrens. 301 00:14:13,240 --> 00:14:15,990 Maar als je ooit nog gewinkeld voor een consument Mac of PC, 302 00:14:15,990 --> 00:14:20,180 Ook in het algemeen is er deze curve van de functies 303 00:14:20,180 --> 00:14:23,410 wanneer er misschien goed, beter, en beste computer. 304 00:14:23,410 --> 00:14:25,730 >> En de meeropbrengsten op uw dollar te kopen 305 00:14:25,730 --> 00:14:30,227 de beste computer versus de betere computer 306 00:14:30,227 --> 00:14:32,560 misschien niet zo hoog zijn als de uitgaven een beetje meer geld 307 00:14:32,560 --> 00:14:35,599 en het krijgen van de betere computer over de goede computer. 308 00:14:35,599 --> 00:14:38,390 Met andere woorden, je bent het betalen van een premie aan de top van de lijn te krijgen. 309 00:14:38,390 --> 00:14:40,790 >> En wat we zullen zien in de bespreking van cloud computing 310 00:14:40,790 --> 00:14:44,940 is dat wat is zeer vaak deze dagen, en wat bedrijven als Google 311 00:14:44,940 --> 00:14:50,560 vroeg populair, werd het niet betalen voor en de bouw echt chique, dure 312 00:14:50,560 --> 00:14:53,540 opgevoerde computers met veel en veel van alles, 313 00:14:53,540 --> 00:15:00,140 maar het kopen of bouwen van mooie bescheiden computers, maar veel van hen, 314 00:15:00,140 --> 00:15:03,280 en het gebruik van iets dat doorgaans riep horizontale schaling plaats 315 00:15:03,280 --> 00:15:04,320 verticale scaling. 316 00:15:04,320 --> 00:15:08,115 >> Dus verticale scaling zou betekenen krijg meer RAM, meer schijfruimte, meer van alles, 317 00:15:08,115 --> 00:15:10,187 en sorteren van te investeren verticaal in uw hardware 318 00:15:10,187 --> 00:15:12,520 dus je bent gewoon het krijgen van de beste van het beste van het beste, 319 00:15:12,520 --> 00:15:13,650 maar je betaalt voor het. 320 00:15:13,650 --> 00:15:17,580 Horizontale scaling is een soort van te krijgen de bottom tier dingen, het goede model, 321 00:15:17,580 --> 00:15:19,922 of zelfs slechter model, maar krijgen veel van hen. 322 00:15:19,922 --> 00:15:22,630 Maar zodra je krijgt veel them-- bijvoorbeeld, in casu 323 00:15:22,630 --> 00:15:27,330 webservers, als deze server of een web host is onvoldoende, 324 00:15:27,330 --> 00:15:32,310 dan gewoon intuïtief, de oplossing voor dit probleem belasting 325 00:15:32,310 --> 00:15:36,460 of overbelasting op uw servers is ofwel een grotere server 326 00:15:36,460 --> 00:15:40,770 of, wat ik hier voorstellen plaats van schaalvergroting verticaal zo te zeggen, 327 00:15:40,770 --> 00:15:41,920 zou zijn, weet je wat? 328 00:15:41,920 --> 00:15:43,580 Gewoon een tweede van deze. 329 00:15:43,580 --> 00:15:46,560 Of misschien krijgt zelfs een derde. 330 00:15:46,560 --> 00:15:48,900 Maar nu we hebben gemaakt een technisch probleem 331 00:15:48,900 --> 00:15:51,920 door de aard van deze business of financiële beslissing. 332 00:15:51,920 --> 00:15:54,312 Wat is het technische probleem nu? 333 00:15:54,312 --> 00:15:56,040 >> PUBLIEK: [ONVERSTAANBAAR] 334 00:15:56,040 --> 00:15:59,740 >> DAVID MALAN: Ja, hoe je en-- spijt sluit ze? 335 00:15:59,740 --> 00:16:00,651 >> PUBLIEK: [ONVERSTAANBAAR] 336 00:16:00,651 --> 00:16:02,400 DAVID MALAN: Rechts, omdat ik nog steeds have-- 337 00:16:02,400 --> 00:16:07,280 als ik me opnieuw in dit beeld, als dit is mijn laptop ergens 338 00:16:07,280 --> 00:16:12,400 op internet, die nu tussen mij en het bedrijf hebben we het over, 339 00:16:12,400 --> 00:16:17,960 nu heb ik om erachter te komen, waartoe server kan ik deze bepaalde gebruiker te sturen? 340 00:16:17,960 --> 00:16:25,090 En als er andere gebruikers, zoals dit, en dan is dit een meer dan hier, 341 00:16:25,090 --> 00:16:28,850 en misschien is dit de gebruiker A, dit is gebruiker B, dit is gebruiker C, 342 00:16:28,850 --> 00:16:34,720 en dit is de server 1, 2, en nu 3-- een intuïtieve antwoord zou hier gewoon, 343 00:16:34,720 --> 00:16:37,460 wij sturen de gebruiker A tot en met 1 en B 2 en C 3. 344 00:16:37,460 --> 00:16:39,900 En we kunnen omgaan met 3 keer zo veel gebruikers. 345 00:16:39,900 --> 00:16:41,360 >> Maar dat is een oversimplificatie. 346 00:16:41,360 --> 00:16:44,480 Hoe bepaal je wie te sturen, waar? 347 00:16:44,480 --> 00:16:46,400 Dus laten we proberen te redeneren door middel van deze. 348 00:16:46,400 --> 00:16:50,110 Dus stel dat computers A, B en C zijn klanten, 349 00:16:50,110 --> 00:16:53,972 en servers 1, 2 en 3 zijn horizontaal geschaald servers. 350 00:16:53,972 --> 00:16:55,180 Dus ze zijn een soort identiek. 351 00:16:55,180 --> 00:16:57,200 Ze zijn allemaal het uitvoeren van de dezelfde software. 352 00:16:57,200 --> 00:16:59,770 En ze kunnen allemaal hetzelfde doen. 353 00:16:59,770 --> 00:17:01,520 Maar de reden dat we hebben drie van hen zo 354 00:17:01,520 --> 00:17:04,710 dat we aankunnen drie keer zoveel mensen tegelijk. 355 00:17:04,710 --> 00:17:07,960 >> Dus we weten uit bespreking voorafgaand aan de lunch 356 00:17:07,960 --> 00:17:11,460 dat er tussen hardware de laptops en servers. 357 00:17:11,460 --> 00:17:14,920 Maar we zullen gewoon soort van generaliseren die nu als het internet of de cloud. 358 00:17:14,920 --> 00:17:18,707 Maar we weten dat in mijn huis, er is waarschijnlijk een huis router. 359 00:17:18,707 --> 00:17:21,290 In de buurt van de servers, er is waarschijnlijk een router, DNS-server, DHCP. 360 00:17:21,290 --> 00:17:24,780 Er kan van alles zijn We willen in dit verhaal. 361 00:17:24,780 --> 00:17:33,360 >> Dus hoe gaan we om te beslissen, wanneer de gebruiker A gaat naar something.com, 362 00:17:33,360 --> 00:17:36,630 welke server om de route van de gebruiker? 363 00:17:36,630 --> 00:17:39,409 Hoe kunnen we beginnen om dit verhaal te vertellen? 364 00:17:39,409 --> 00:17:40,450 PUBLIEK: Load balancing? 365 00:17:40,450 --> 00:17:41,120 DAVID MALAN: Load balancing. 366 00:17:41,120 --> 00:17:42,502 Wat bedoel je daarmee? 367 00:17:42,502 --> 00:17:44,660 >> PUBLIEK: Terugkerende waar de meeste gebruik is 368 00:17:44,660 --> 00:17:47,472 en waarin men de de meeste beschikbare middelen. 369 00:17:47,472 --> 00:17:49,930 DAVID MALAN: OK, dus laat me introduceren van een nieuw type hardware 370 00:17:49,930 --> 00:17:53,627 die we nog niet hebben besproken, die is precies dat, een load balancer. 371 00:17:53,627 --> 00:17:54,960 Dit kan ook gewoon een server. 372 00:17:54,960 --> 00:17:58,130 Het zou precies hetzelfde uitzien als de ene zagen we een ogenblik geleden. 373 00:17:58,130 --> 00:18:01,000 Een load balancer is echt gewoon een stukje software 374 00:18:01,000 --> 00:18:02,660 die u op een stuk hardware. 375 00:18:02,660 --> 00:18:07,310 >> Of u kunt betalen een leverancier, zoals Citrix of anderen, Cisco of anderen. 376 00:18:07,310 --> 00:18:10,465 U kunt betalen voor hun eigen hardware, dat is een hardware load balancer. 377 00:18:10,465 --> 00:18:12,840 Maar dat betekent dat ze pre-installatie van de load balancing 378 00:18:12,840 --> 00:18:15,580 software op hun hardware en verkocht het aan jullie allemaal samen. 379 00:18:15,580 --> 00:18:18,670 Dus we net trekken het als een rechthoek voor onze doeleinden. 380 00:18:18,670 --> 00:18:22,040 >> Hoe nu implementeer ik een load balancer? 381 00:18:22,040 --> 00:18:28,150 Met andere woorden, wanneer een gebruiker wil bezoek mijn site, hun verzoek een of andere manier 382 00:18:28,150 --> 00:18:31,070 of iets anders, waarschijnlijk door middel van de routers we het eerder over had, 383 00:18:31,070 --> 00:18:33,750 gaat uiteindelijk te bereiken Deze load balancer, die vervolgens 384 00:18:33,750 --> 00:18:36,210 nodig heeft om een ​​routing-achtige beslissing te nemen. 385 00:18:36,210 --> 00:18:38,320 Maar het is routing voor sort van een hoger doel nu. 386 00:18:38,320 --> 00:18:40,361 Het gaat niet alleen over het krijgen van van punt A naar punt 387 00:18:40,361 --> 00:18:44,730 B. Het gaat om te beslissen welke punt B is de beste onder them-- 388 00:18:44,730 --> 00:18:46,660 1, 2 of 3 in dit geval. 389 00:18:46,660 --> 00:18:51,000 >> Dus hoe kan ik beslissen of naar 1, 2, 3? 390 00:18:51,000 --> 00:18:55,180 Wat zou dit zwarte doos, om zo te spreken, moeten doen aan de binnenkant? 391 00:18:55,180 --> 00:18:57,880 Ook dit is een ander voorbeeld in informatica van abstractie. 392 00:18:57,880 --> 00:19:02,410 Ik heb letterlijk getekend een load balancer als black box aan zwarte inkt, binnen 393 00:19:02,410 --> 00:19:05,300 waarvan enkele interessante logica, of zelfs magisch, 394 00:19:05,300 --> 00:19:07,840 waaruit moet komen een decision-- 1, 2 of 3. 395 00:19:07,840 --> 00:19:12,220 En de ingang is gewoon A. 396 00:19:12,220 --> 00:19:13,442 >> PUBLIEK: [ONVERSTAANBAAR] 397 00:19:13,442 --> 00:19:14,400 DAVID MALAN: Het spijt me? 398 00:19:14,400 --> 00:19:14,770 PUBLIEK: [ONVERSTAANBAAR] 399 00:19:14,770 --> 00:19:18,310 DAVID MALAN: Oké, hoe kunnen we categoriseren de soorten transacties 400 00:19:18,310 --> 00:19:19,095 hier? 401 00:19:19,095 --> 00:19:23,772 >> PUBLIEK: Het bekijken van een webpagina versus het opvragen van een database. 402 00:19:23,772 --> 00:19:24,980 DAVID MALAN: Oké, dat is goed. 403 00:19:24,980 --> 00:19:29,210 Dus misschien deze gebruiker A wil een webpagina te bekijken. 404 00:19:29,210 --> 00:19:32,954 En misschien is het zelfs statische content, iets dat verandert zelden of nooit. 405 00:19:32,954 --> 00:19:34,870 En dat lijkt een vrij eenvoudige bediening. 406 00:19:34,870 --> 00:19:38,260 Dus misschien gaan we gewoon willekeurig, maar redelijk, laten we zeggen, 407 00:19:38,260 --> 00:19:42,750 server 1, zijn doel in het leven is gewoon serveren statische content, 408 00:19:42,750 --> 00:19:45,150 bestanden die zelden of nooit veranderen. 409 00:19:45,150 --> 00:19:46,870 Misschien is het de afbeeldingen op de pagina. 410 00:19:46,870 --> 00:19:50,180 Misschien is het de tekst op de pagina of andere dergelijke soort oninteressante dingen, 411 00:19:50,180 --> 00:19:52,460 niets transactionele, niets dynamisch. 412 00:19:52,460 --> 00:19:57,000 >> Daarentegen, als de gebruiker A controleert uit zijn of haar winkelwagentje dat 413 00:19:57,000 --> 00:20:00,972 vereist een database, ergens op te slaan en vergeet niet dat de transactie, goed 414 00:20:00,972 --> 00:20:02,680 misschien is dat verzoek moet gaan naar server 2. 415 00:20:02,680 --> 00:20:03,610 Dus dat is goed. 416 00:20:03,610 --> 00:20:07,010 Dus we kunnen laden balans gebaseerde van het type verzoeken. 417 00:20:07,010 --> 00:20:08,278 Hoe anders kunnen we dit doen? 418 00:20:08,278 --> 00:20:13,690 419 00:20:13,690 --> 00:20:14,686 Welke andere-- 420 00:20:14,686 --> 00:20:17,382 >> PUBLIEK: Gebaseerd op de server bezettingsgraad en capaciteit. 421 00:20:17,382 --> 00:20:18,340 DAVID MALAN: Rechts, OK. 422 00:20:18,340 --> 00:20:19,950 Dus u gezegd dat eerder, Kareem. 423 00:20:19,950 --> 00:20:26,850 Dus wat als we bieden wat input on [ONHOORBAAR] tussen servers 1, 2, 424 00:20:26,850 --> 00:20:32,070 en 3 bij deze load balancer, zodat ze zijn gewoon voortdurend informeren 425 00:20:32,070 --> 00:20:36,420 de load balancer wat hun status? 426 00:20:36,420 --> 00:20:39,842 Net als, hey, load balancer, Ik ben op 50% gebruik. 427 00:20:39,842 --> 00:20:41,550 Met andere woorden, ik heb half zoveel gebruikers 428 00:20:41,550 --> 00:20:43,520 zoals ik eigenlijk aankan nu. 429 00:20:43,520 --> 00:20:45,480 Hey, load balancer, ik ben 100% gebruikt. 430 00:20:45,480 --> 00:20:47,929 Hey, load balancer, 0% bezettingsgraad. 431 00:20:47,929 --> 00:20:49,970 De load balancer, als het zo ontworpen dat 432 00:20:49,970 --> 00:20:53,990 kan nemen in die opmerkingen als input, het kan dan 433 00:20:53,990 --> 00:20:57,420 beslissen, ooh, nummer 2 is op 100%. 434 00:20:57,420 --> 00:21:01,440 Laat me geen toekomstige verzoeken te sturen om hem te behalve de reeds aangesloten gebruikers. 435 00:21:01,440 --> 00:21:02,360 Deze man is op 0%. 436 00:21:02,360 --> 00:21:03,940 Laten we sturen een veel verkeer voor hem. 437 00:21:03,940 --> 00:21:05,480 Deze man zei dat hij op 50%. 438 00:21:05,480 --> 00:21:08,080 Laten we wat verkeer te sturen naar hem. 439 00:21:08,080 --> 00:21:12,012 >> Zodat zou een ingrediënt, dat we konden load rekening mee houden. 440 00:21:12,012 --> 00:21:13,470 En het zal veranderen in de tijd. 441 00:21:13,470 --> 00:21:14,678 Dus de beslissingen zal veranderen. 442 00:21:14,678 --> 00:21:17,350 Dus dat is een heel goede techniek, een die vaak wordt gebruikt. 443 00:21:17,350 --> 00:21:18,410 Wat kunnen we doen? 444 00:21:18,410 --> 00:21:20,380 En laten we eigenlijk alleen maar hier samen te vatten. 445 00:21:20,380 --> 00:21:29,510 Zodat de beslissingen hier zou kunnen zijn per type verkeer, zal ik het noemen. 446 00:21:29,510 --> 00:21:32,220 Het kan worden gebaseerd op laden. 447 00:21:32,220 --> 00:21:34,692 Eens kijken of we kunnen niet komen met een paar andere. 448 00:21:34,692 --> 00:21:35,934 >> PUBLIEK: [ONVERSTAANBAAR] 449 00:21:35,934 --> 00:21:36,850 DAVID MALAN: Location. 450 00:21:36,850 --> 00:21:37,724 Dus dat is een goede. 451 00:21:37,724 --> 00:21:40,880 Dus locatie-- hoe zou je hefboomwerking die informatie? 452 00:21:40,880 --> 00:21:44,317 >> PUBLIEK: [ONVERSTAANBAAR] 453 00:21:44,317 --> 00:21:54,140 454 00:21:54,140 --> 00:21:57,040 >> DAVID MALAN: Oh, dat is goed. 455 00:21:57,040 --> 00:21:59,450 En over hoeveel milliseconden zou dalen met 456 00:21:59,450 --> 00:22:02,466 gebaseerd op wat we dit zagen ochtend, zou je zeggen? 457 00:22:02,466 --> 00:22:04,330 >> PUBLIEK: [ONVERSTAANBAAR] 458 00:22:04,330 --> 00:22:06,550 >> DAVID MALAN: Nou, op basis van op het spoor routes 459 00:22:06,550 --> 00:22:09,070 We zagen eerder, dat is gewoon een ruwe maatstaf voor iets, 460 00:22:09,070 --> 00:22:11,800 tenminste hoe lang het duurt voor data om van A naar B 461 00:22:11,800 --> 00:22:16,140 voelt als iets lokale was, wat, zoals 74 milliseconden, geven of nemen? 462 00:22:16,140 --> 00:22:19,200 En dan is alles 100 plus, 200 plus was waarschijnlijk in het buitenland. 463 00:22:19,200 --> 00:22:22,110 En dus op basis van dat alleen, lijkt het redelijk om te veronderstellen 464 00:22:22,110 --> 00:22:25,310 dat een gebruiker in de VS om een ​​Europees server 465 00:22:25,310 --> 00:22:28,900 misschien twee of drie keer te nemen mits, zelfs in milliseconden 466 00:22:28,900 --> 00:22:31,280 dan het zou kunnen nemen als dat server werden hier gevestigd 467 00:22:31,280 --> 00:22:33,370 geografisch, of vice versa. 468 00:22:33,370 --> 00:22:35,120 Dus toen ik voorgesteld eerder dat bijzonder 469 00:22:35,120 --> 00:22:37,880 als je eenmaal over te steken dat 200 milliseconde drempel, geven of te nemen, 470 00:22:37,880 --> 00:22:39,210 mensen kan beginnen te merken. 471 00:22:39,210 --> 00:22:42,960 En het trace route is gewoon uitgaande van ruwe, oninteressant data. 472 00:22:42,960 --> 00:22:46,570 Als je een website hebt, moet je krijgt de gebruiker het downloaden van beelden of film 473 00:22:46,570 --> 00:22:49,150 files, veel tekst, volgende aanvragen. 474 00:22:49,150 --> 00:22:53,116 We zagen toen wij er waren, wat was het, Facebook of Amazon eerder, 475 00:22:53,116 --> 00:22:55,490 er is een heleboel dingen die moet worden gedownload. 476 00:22:55,490 --> 00:22:56,573 Dus dat gaat kloppen. 477 00:22:56,573 --> 00:23:00,259 Dus meerdere seconden zou niet onredelijk. 478 00:23:00,259 --> 00:23:01,800 Zo goed, aardrijkskunde is een ingrediënt. 479 00:23:01,800 --> 00:23:05,920 Dus in feite bedrijven als Akamai, als je hebt gehoord van hen, 480 00:23:05,920 --> 00:23:10,000 of anderen al lang genomen aardrijkskunde in aanmerking. 481 00:23:10,000 --> 00:23:14,170 En het blijkt dat door de aard van een IP-adres, het IP-adres van mijn laptop, 482 00:23:14,170 --> 00:23:18,277 je kunt afleiden, met enige waarschijnlijkheid waar je bent in de wereld. 483 00:23:18,277 --> 00:23:20,110 En in feite is er diensten van derden u 484 00:23:20,110 --> 00:23:24,480 kunnen betalen die databases te behouden IP-adressen en regio 485 00:23:24,480 --> 00:23:28,660 die met groot vertrouwen zal true wanneer gevraagd, waar in de wereld 486 00:23:28,660 --> 00:23:30,090 is dit IP-adres? 487 00:23:30,090 --> 00:23:32,130 >> En dus in feite wat andere bedrijven dit gebruiken? 488 00:23:32,130 --> 00:23:35,900 Als u Hulu of Netflix, indien heb je ooit naar het buitenland reizen, 489 00:23:35,900 --> 00:23:38,640 en u probeert om iets te kijken op Hulu, en je bent niet in de VS, 490 00:23:38,640 --> 00:23:41,280 u misschien een bericht zeggen, niet in de Verenigde Staten. 491 00:23:41,280 --> 00:23:43,208 Sorry, kunt u deze inhoud niet bekijken. 492 00:23:43,208 --> 00:23:44,420 >> PUBLIEK: [ONVERSTAANBAAR] 493 00:23:44,420 --> 00:23:46,020 >> DAVID MALAN: Oh, echt? 494 00:23:46,020 --> 00:23:48,480 Maar ja, dus eigenlijk dat is een perfecte toepassing 495 00:23:48,480 --> 00:23:51,060 van iets heel technisch een actueel probleem. 496 00:23:51,060 --> 00:23:55,100 Als je aan VPN van Europa of Azië of ergens 497 00:23:55,100 --> 00:23:57,950 in de wereld om uw bedrijfsnetwerk hoofdkwartier in New York 498 00:23:57,950 --> 00:24:00,670 of waar je ook bent, je bent gaat om het uiterlijk te maken 499 00:24:00,670 --> 00:24:03,580 buiten websites die je bent eigenlijk in New York, 500 00:24:03,580 --> 00:24:05,660 ook al ben je fysiek heel ver weg. 501 00:24:05,660 --> 00:24:08,057 >> Nu ben je de gebruiker gaat weet je bent duidelijk afstand. 502 00:24:08,057 --> 00:24:11,140 Maar je bent ook gaan om het te voelen, omdat van deze extra milliseconden. 503 00:24:11,140 --> 00:24:14,510 Die extra afstand en de encryptie die er in de VPN 504 00:24:14,510 --> 00:24:15,760 gaat om dingen te vertragen. 505 00:24:15,760 --> 00:24:17,680 Dus kan het wel of niet zijn een geweldige ervaring. 506 00:24:17,680 --> 00:24:21,050 Maar Hulu en Netflix gaan zien je net zo ergens zitten in New York, 507 00:24:21,050 --> 00:24:23,817 als je duidelijk hebt opgedaan. 508 00:24:23,817 --> 00:24:25,150 Wat een perfecte oplossing voor dat. 509 00:24:25,150 --> 00:24:28,490 >> Oké, dus geografie is een beslissing. 510 00:24:28,490 --> 00:24:32,290 Wat kunnen we gebruiken om te bepalen hoe om verkeer van A, B en C 511 00:24:32,290 --> 00:24:37,040 1, 2 en 3, opnieuw, waardoor engineering hoed op? 512 00:24:37,040 --> 00:24:38,850 Dit klinkt allemaal erg ingewikkeld. 513 00:24:38,850 --> 00:24:41,490 Uh, ik weet niet eens waar om te beginnen met de uitvoering van deze. 514 00:24:41,490 --> 00:24:44,450 Geef me iets dat eenvoudiger. 515 00:24:44,450 --> 00:24:48,160 Wat is de eenvoudigste manier om deze beslissing te nemen? 516 00:24:48,160 --> 00:24:49,840 >> PUBLIEK: Is de server beschikbaar? 517 00:24:49,840 --> 00:24:51,650 >> DAVID MALAN: Is de server beschikbaar? 518 00:24:51,650 --> 00:24:53,970 Dus niet slecht. 519 00:24:53,970 --> 00:24:54,470 Dat is goed. 520 00:24:54,470 --> 00:24:56,260 Dat is een soort van een nuancering van de belasting. 521 00:24:56,260 --> 00:24:58,070 Dus laten we houden dat in de categorie belasting. 522 00:24:58,070 --> 00:25:00,010 Als je beschikbaar bent, ik ben gewoon gaan de gegevens daarheen te sturen. 523 00:25:00,010 --> 00:25:01,343 Maar dat kan snel averechts werken. 524 00:25:01,343 --> 00:25:05,720 Want als ik die logica, en als ik altijd vragen 1, ben je op, ben je op, 525 00:25:05,720 --> 00:25:08,970 ben je op, als het antwoord is altijd ja, Ik ga tot 100% van het verkeer te sturen 526 00:25:08,970 --> 00:25:11,060 aan hem, 0% voor iedereen anders. 527 00:25:11,060 --> 00:25:14,430 En op een gegeven moment, we gaan raken dat vertraging of site niet beschikbaar. 528 00:25:14,430 --> 00:25:17,630 Dus wat is iets beter dan dat, maar nog steeds vrij eenvoudig 529 00:25:17,630 --> 00:25:22,412 en niet zo slim als het nemen van alle deze aanvullende gegevens in aanmerking? 530 00:25:22,412 --> 00:25:23,992 >> PUBLIEK: Kosten per server. 531 00:25:23,992 --> 00:25:25,200 DAVID MALAN: Kosten per server. 532 00:25:25,200 --> 00:25:28,010 OK, dus laat ik gooi dat in de categorie belasting, ook. 533 00:25:28,010 --> 00:25:30,790 Want wat u vindt een bedrijf, too-- dat als je 534 00:25:30,790 --> 00:25:32,790 een upgrade van uw servers na verloop van tijd of kopen meer, 535 00:25:32,790 --> 00:25:36,242 je misschien niet in staat om precies te krijgen dezelfde hard-. 536 00:25:36,242 --> 00:25:37,450 Omdat het valt verouderd. 537 00:25:37,450 --> 00:25:38,491 Je kan het niet meer kopen. 538 00:25:38,491 --> 00:25:39,360 Prijzen veranderen. 539 00:25:39,360 --> 00:25:42,500 >> Dus je zou kunnen ongelijksoortige servers in uw cluster, om zo te zeggen. 540 00:25:42,500 --> 00:25:43,890 Dat is helemaal prima. 541 00:25:43,890 --> 00:25:47,100 Maar de hardware van volgend jaar misschien twee keer zo snel zijn, 542 00:25:47,100 --> 00:25:49,390 twee keer zo bekwaam als dit jaar. 543 00:25:49,390 --> 00:25:51,500 Dus we kunnen gooien dat in de categorie lading. 544 00:25:51,500 --> 00:25:54,260 Deze feedback loop tussen 1, 2 en 3 in de load balancer 545 00:25:54,260 --> 00:25:57,650 kan zeker vertellen, hey, ik ben op 50% capaciteit. 546 00:25:57,650 --> 00:26:00,100 Maar door de manier waarop, heb ik ook twee keer zoveel cores. 547 00:26:00,100 --> 00:26:02,319 Gebruik die informatie. 548 00:26:02,319 --> 00:26:05,110 Zelfs simpler-- en dit gaat een thema in de informatica zijn. 549 00:26:05,110 --> 00:26:08,990 Bij twijfel, of wanneer u een eenvoudige oplossing die over het algemeen goed werkt 550 00:26:08,990 --> 00:26:12,730 na verloop van tijd, niet hetzelfde te kiezen server de hele tijd, maar choose-- 551 00:26:12,730 --> 00:26:14,039 >> PUBLIEK: Een willekeurige één? 552 00:26:14,039 --> 00:26:15,330 DAVID MALAN: --een willekeurige server. 553 00:26:15,330 --> 00:26:16,780 Ja, kies een of het ander. 554 00:26:16,780 --> 00:26:21,160 Dus willekeur is eigenlijk Deze zeer krachtige ingrediënt 555 00:26:21,160 --> 00:26:23,170 in de informatica, en in engineering meer 556 00:26:23,170 --> 00:26:27,160 in het algemeen, vooral als je wilt een eenvoudige beslissing snel te maken 557 00:26:27,160 --> 00:26:30,480 zonder complicerende het met al van deze heel slim, maar ook 558 00:26:30,480 --> 00:26:34,330 heel slim, oplossingen die vereisen des-techniek, alle 559 00:26:34,330 --> 00:26:36,220 hoe meer het denken, wanneer echt, waarom niet ik 560 00:26:36,220 --> 00:26:39,200 gewoon een soort van flip een munt, of een driezijdige munt in casu 561 00:26:39,200 --> 00:26:41,690 en beslissen of om te gaan 1, 2, 3? 562 00:26:41,690 --> 00:26:45,610 >> Dat zou probabilistisch averechts werken, maar net als de odds 563 00:26:45,610 --> 00:26:48,860 opnieuw te flippen koppen en opnieuw en opnieuw en opnieuw 564 00:26:48,860 --> 00:26:53,870 en weer kan in reality-- super, super onwaarschijnlijk. 565 00:26:53,870 --> 00:26:58,170 Dus na verloop van tijd, zijn de kansen gewoon gebruikers verzenden willekeurig 566 00:26:58,170 --> 00:27:00,660 1, 2 en 3 zal uit te werken prima. 567 00:27:00,660 --> 00:27:03,380 Dit is een techniek algemeen bekend als round robin. 568 00:27:03,380 --> 00:27:05,160 >> Of eigenlijk, dat is niet round robin. 569 00:27:05,160 --> 00:27:06,980 Dit zou de willekeurige benadering. 570 00:27:06,980 --> 00:27:09,250 En als je wilt zelfs iets eenvoudiger dan, 571 00:27:09,250 --> 00:27:12,820 round robin zou zijn, in de eerste persoon gaat 1, tweede persoon 2, derde 572 00:27:12,820 --> 00:27:16,056 tot 3, vierde persoon 1. 573 00:27:16,056 --> 00:27:17,430 En daarin ligt de round robin. 574 00:27:17,430 --> 00:27:19,580 Je gewoon een soort van rond te gaan in een cyclus. 575 00:27:19,580 --> 00:27:21,300 >> Nu moet je slim over. 576 00:27:21,300 --> 00:27:26,490 Je moet niet blindelings de gebruiker te sturen naar server nummer één of wat is het geval? 577 00:27:26,490 --> 00:27:30,060 578 00:27:30,060 --> 00:27:32,870 Als het op maximale capaciteit, of het is gewoon niet meer reageren. 579 00:27:32,870 --> 00:27:35,270 Dus idealiter je wilt wat soort feedback loop. 580 00:27:35,270 --> 00:27:38,040 Anders, je gewoon allemaal te sturen van uw gebruikers aan een doodlopende weg. 581 00:27:38,040 --> 00:27:40,790 Dat kan in aanmerking worden genomen, ook. 582 00:27:40,790 --> 00:27:46,520 >> Dus niet in het kader van waardering voor de waarde van gewoon willekeur, dat is heel vaak 583 00:27:46,520 --> 00:27:48,970 een oplossing voor dit soort problemen. 584 00:27:48,970 --> 00:27:51,580 En we zullen opschrijven round robin. 585 00:27:51,580 --> 00:27:55,090 Dus hoe sommige bedrijven uit te voeren round robin of randomness 586 00:27:55,090 --> 00:27:56,840 of een van deze besluiten? 587 00:27:56,840 --> 00:28:01,840 Nou helaas, ze doe dit soort dingen. 588 00:28:01,840 --> 00:28:03,660 Laat me omhoog trekken een andere snelle screenshot. 589 00:28:03,660 --> 00:28:13,052 590 00:28:13,052 --> 00:28:14,470 >> Eigenlijk, laten we het doen twee. 591 00:28:14,470 --> 00:28:17,420 592 00:28:17,420 --> 00:28:21,370 Ik weet niet waarom we om al deze gerechten. 593 00:28:21,370 --> 00:28:22,280 Dat is heel vreemd. 594 00:28:22,280 --> 00:28:31,714 595 00:28:31,714 --> 00:28:33,630 Oké, wat ik echt willen is een screenshot. 596 00:28:33,630 --> 00:28:36,990 597 00:28:36,990 --> 00:28:40,100 Dat is raar. 598 00:28:40,100 --> 00:28:42,930 Oké, dus ik kan dit spoofen. 599 00:28:42,930 --> 00:28:46,080 Ik weet niet hoe veel verder Ik wil scrollen te houden. 600 00:28:46,080 --> 00:28:53,220 >> Dus zeer vaak, vind je jezelf op een adres als www.2.acme.com, 601 00:28:53,220 --> 00:28:56,030 misschien www.3 of 4 of 5. 602 00:28:56,030 --> 00:28:57,424 En houden een oogje voor. 603 00:28:57,424 --> 00:28:58,590 Je hoeft het niet zo vaak zien. 604 00:28:58,590 --> 00:29:02,621 Maar als je dat doet, is het soort heeft de neiging om worden groter, ouder, stodgier bedrijven 605 00:29:02,621 --> 00:29:05,370 die technologisch niet echt lijken te weten wat ze doen. 606 00:29:05,370 --> 00:29:08,150 En je ziet dit op tech bedrijven soms, de oudere. 607 00:29:08,150 --> 00:29:09,270 >> Dus wat doen ze? 608 00:29:09,270 --> 00:29:11,890 Hoe worden ze implementeren load balancing, lijkt het? 609 00:29:11,890 --> 00:29:15,986 Als je jezelf als gebruiker te typen www.something.com, 610 00:29:15,986 --> 00:29:19,760 en opeens je op www.2.something.com, 611 00:29:19,760 --> 00:29:21,866 wat heeft hun lading balancer waarschijnlijk gedaan? 612 00:29:21,866 --> 00:29:22,741 PUBLIEK: [ONVERSTAANBAAR] 613 00:29:22,741 --> 00:29:28,210 614 00:29:28,210 --> 00:29:31,079 >> DAVID MALAN: Ja, dus de load balancer is vermoedelijk 615 00:29:31,079 --> 00:29:33,870 het maken van een beslissing op basis van een van de deze besluitvorming processes-- 616 00:29:33,870 --> 00:29:35,210 maakt eigenlijk niet uit welke. 617 00:29:35,210 --> 00:29:38,650 Maar net als ik getekend heb de nummers op het bord hier, 618 00:29:38,650 --> 00:29:40,650 de servers zijn niet alleen genoemd 1, 2 en 3. 619 00:29:40,650 --> 00:29:43,870 Ze zijn waarschijnlijk genoemd www1, www2, www3. 620 00:29:43,870 --> 00:29:47,200 En het blijkt dat de binnenkant van een HTTP-verzoek is deze functie. 621 00:29:47,200 --> 00:29:48,950 En ik ga simuleren als volgt. 622 00:29:48,950 --> 00:29:53,230 >> Ik ga te openen diezelfde tabblad Developer Network als voorheen gewoon 623 00:29:53,230 --> 00:29:55,560 zodat we kunnen zien wat er gebeurt op onder de motorkap. 624 00:29:55,560 --> 00:29:57,130 Ik ga naar het scherm te wissen. 625 00:29:57,130 --> 00:30:03,420 En ik ga naar, laten we zeggen, http://harvard.edu. 626 00:30:03,420 --> 00:30:06,560 Nu wat zakelijke redenen, Harvard 627 00:30:06,560 --> 00:30:08,930 heeft besloten, net als veel, vele andere websites, 628 00:30:08,930 --> 00:30:12,712 standaardiseren zijn website op www.harvard.edu 629 00:30:12,712 --> 00:30:14,420 voor zowel technische en marketing redenen. 630 00:30:14,420 --> 00:30:16,326 Het is gewoon een soort van in vogue de www hebben. 631 00:30:16,326 --> 00:30:20,500 >> Dus de server op Harvard heeft voor de gebruiker een of andere manier te leiden, 632 00:30:20,500 --> 00:30:23,830 zoals ik blijf zeggen, uit een URL naar de andere. 633 00:30:23,830 --> 00:30:24,670 Hoe werkt dat? 634 00:30:24,670 --> 00:30:26,740 Nou, laat me ga je gang en druk op Enter. 635 00:30:26,740 --> 00:30:30,830 En let op de URL inderdaad snel www.harvard.edu veranderd. 636 00:30:30,830 --> 00:30:35,560 Laat me terug te bladeren in deze geschiedenis en klik op deze debug 637 00:30:35,560 --> 00:30:37,650 diagnostische informatie, als je wil. 638 00:30:37,650 --> 00:30:39,170 Laat me kijken naar mijn verzoek. 639 00:30:39,170 --> 00:30:41,020 >> Dus hier is het verzoek ik heb gemaakt. 640 00:30:41,020 --> 00:30:44,870 En merk het is in overeenstemming met het soort van vragen die ik van Facebook voor. 641 00:30:44,870 --> 00:30:48,010 Maar let op de reactie. 642 00:30:48,010 --> 00:30:50,430 Wat is er anders in de reactie deze keer? 643 00:30:50,430 --> 00:30:51,890 >> PUBLIEK: [ONVERSTAANBAAR] 644 00:30:51,890 --> 00:30:54,290 >> DAVID MALAN: Ja, dus het is niet een 200 OK. 645 00:30:54,290 --> 00:30:56,130 Het is niet een 404 Not Found. 646 00:30:56,130 --> 00:31:00,150 Het is een 301 Moved permanent, die is een soort van een grappige manier om te zeggen, 647 00:31:00,150 --> 00:31:05,270 Harvard heeft upped en verhuisde elders www.harvard.edu. 648 00:31:05,270 --> 00:31:08,220 Het betekent dat 301 dit is een omleiding. 649 00:31:08,220 --> 00:31:12,812 En waar moet de gebruiker blijkbaar worden doorgestuurd? 650 00:31:12,812 --> 00:31:15,520 Er is een extra versnapering van informatie binnen dat envelop. 651 00:31:15,520 --> 00:31:19,650 En elk van deze lijnen zal nu beginnen te roepen een HTTP-header. 652 00:31:19,650 --> 00:31:23,620 Header is gewoon een kernwaarde pair-- iets colon iets. 653 00:31:23,620 --> 00:31:24,850 Het is een stukje informatie. 654 00:31:24,850 --> 00:31:27,131 Waar moet het nieuwe locatie blijkbaar zijn? 655 00:31:27,131 --> 00:31:31,120 656 00:31:31,120 --> 00:31:33,692 Let op de laatste regel tussen al die headers. 657 00:31:33,692 --> 00:31:34,940 >> PUBLIEK: [ONVERSTAANBAAR] 658 00:31:34,940 --> 00:31:37,148 >> DAVID MALAN: Ja, dus er is Extra informatie. 659 00:31:37,148 --> 00:31:40,120 De eerste regel die ik heb gewezen op zegt 301 permanent verplaatst. 660 00:31:40,120 --> 00:31:42,820 Nou ja, wanneer is het verplaatst? 661 00:31:42,820 --> 00:31:45,340 De laatste line-- en dat doen ze niet moet in deze volgorde. 662 00:31:45,340 --> 00:31:47,020 Het is willekeurig. 663 00:31:47,020 --> 00:31:52,120 Locatie colon betekent, he browser, ga naar deze URL in plaats daarvan. 664 00:31:52,120 --> 00:31:55,180 >> Dus browsers begrijpen HTTP-omleidingen. 665 00:31:55,180 --> 00:31:57,540 En dit is een zeer, zeer voorkomende manier van stuiterende 666 00:31:57,540 --> 00:31:59,680 de gebruiker van de ene plaats naar de andere. 667 00:31:59,680 --> 00:32:02,660 Bijvoorbeeld, als je ooit hebt geprobeerd naar een website die je niet bezoeken 668 00:32:02,660 --> 00:32:06,360 aangemeld, kunt u plotseling uzelf in een nieuwe URL in totaal zijn 669 00:32:06,360 --> 00:32:07,530 gevraagd om in te loggen. 670 00:32:07,530 --> 00:32:08,400 >> Hoe werkt dat? 671 00:32:08,400 --> 00:32:10,920 De server is waarschijnlijk het verzenden van een 301. 672 00:32:10,920 --> 00:32:14,510 Er is ook andere nummers, zoals 302, enigszins verschillende betekenis, 673 00:32:14,510 --> 00:32:16,490 die u naar een andere URL. 674 00:32:16,490 --> 00:32:18,770 En dan de server, als je eenmaal hebt aangemeld, 675 00:32:18,770 --> 00:32:22,000 zal je terug sturen naar waar je eigenlijk bedoeld. 676 00:32:22,000 --> 00:32:27,700 >> Dus wat dan, zijn slecht gemanipuleerde websites aan het doen? 677 00:32:27,700 --> 00:32:31,340 Bij een bezoek aan www.acme.com, en ze gewoon 678 00:32:31,340 --> 00:32:35,490 toevallig hun servers te hebben benoemd www1, www2, www3, enzovoort, 679 00:32:35,490 --> 00:32:39,100 ze zeer simply-- dat is eerlijk, maar zeer 680 00:32:39,100 --> 00:32:46,080 soort foolishly-- omgeleid naar een eigenlijk een andere naam server. 681 00:32:46,080 --> 00:32:48,650 En het werkt prima. 682 00:32:48,650 --> 00:32:49,930 Het is leuk en gemakkelijk. 683 00:32:49,930 --> 00:32:52,200 >> We hebben gezien hoe het zou zijn gedaan onder de motorkap 684 00:32:52,200 --> 00:32:53,490 in de virtuele envelop. 685 00:32:53,490 --> 00:32:56,450 Maar waarom is dit misschien wel een slechte technische beslissing? 686 00:32:56,450 --> 00:33:00,345 En waarom ben ik een soort neerbuigend in de richting van deze bijzondere techniek 687 00:33:00,345 --> 00:33:00,845 nadering? 688 00:33:00,845 --> 00:33:06,420 689 00:33:06,420 --> 00:33:07,850 Argumenteren waarom dit is slecht. 690 00:33:07,850 --> 00:33:09,375 Ben? 691 00:33:09,375 --> 00:33:10,250 PUBLIEK: [ONVERSTAANBAAR] 692 00:33:10,250 --> 00:33:12,864 693 00:33:12,864 --> 00:33:16,030 DAVID MALAN: Elke server zou moeten hebben een duplicaat van de website. 694 00:33:16,030 --> 00:33:16,738 Ik ben OK met dat. 695 00:33:16,738 --> 00:33:19,490 En in feite, dat is wat ik ben veronderstelling van dit hele verhaal, 696 00:33:19,490 --> 00:33:22,104 want als we goed wanted-- eigenlijk, behalve Dan eerdere 697 00:33:22,104 --> 00:33:25,270 suggestie, waar als je anders hebt servers doen verschillende dingen, dan 698 00:33:25,270 --> 00:33:27,740 misschien kunnen ze daadwerkelijk worden functioneel doen verschillende dingen. 699 00:33:27,740 --> 00:33:30,698 >> Maar zelfs dan, op een bepaald punt, je databank gaat overbelast. 700 00:33:30,698 --> 00:33:33,030 Uw statische activa server gaat overbelast. 701 00:33:33,030 --> 00:33:34,850 Dus op een gegeven moment, we zijn terug op dit verhaal, waar we 702 00:33:34,850 --> 00:33:36,475 Moeten er meerdere exemplaren van hetzelfde. 703 00:33:36,475 --> 00:33:37,395 Dus ik ben OK met dat. 704 00:33:37,395 --> 00:33:38,270 PUBLIEK: [ONVERSTAANBAAR] 705 00:33:38,270 --> 00:33:42,340 706 00:33:42,340 --> 00:33:45,350 >> DAVID MALAN: OK, dus sommige pagina's misschien onevenredig populair. 707 00:33:45,350 --> 00:33:50,460 En zo fixeren op één adres is niet per se de beste zaak. 708 00:33:50,460 --> 00:33:51,110 [ONHOORBAAR]? 709 00:33:51,110 --> 00:33:51,985 >> PUBLIEK: [ONVERSTAANBAAR] 710 00:33:51,985 --> 00:33:54,770 711 00:33:54,770 --> 00:33:57,623 >> DAVID MALAN: Wat bedoel je daarmee? 712 00:33:57,623 --> 00:33:58,498 PUBLIEK: [ONVERSTAANBAAR] 713 00:33:58,498 --> 00:34:03,820 714 00:34:03,820 --> 00:34:05,072 >> DAVID MALAN: Ja, precies. 715 00:34:05,072 --> 00:34:07,280 Zodat u niet wilt noodzakelijkerwijs have-- je zeker 716 00:34:07,280 --> 00:34:11,370 niet wilt dat uw gebruikers handmatig in te typen of www1 www2. 717 00:34:11,370 --> 00:34:14,550 Vanuit een branding perspectief is ziet er gewoon een beetje belachelijk. 718 00:34:14,550 --> 00:34:17,340 Als je wil gewoon een soort van schoon, elegant ervaring, 719 00:34:17,340 --> 00:34:20,364 met dit soort van willekeurig genummerde URLs is echt niet goed. 720 00:34:20,364 --> 00:34:22,780 Want dan gebruikers zijn zeker gaat kopiëren en plakken 721 00:34:22,780 --> 00:34:24,449 in e-mails of instant messages. 722 00:34:24,449 --> 00:34:25,659 >> Nu zijn ze uitdragen. 723 00:34:25,659 --> 00:34:28,600 Nu ben je een soort van verwarrend uw minder technisch publiek, die denkt 724 00:34:28,600 --> 00:34:32,239 uw web-adres is www2.something.com. 725 00:34:32,239 --> 00:34:35,434 Er is geen dwingende semantiek dat. 726 00:34:35,434 --> 00:34:38,100 Het gebeurt alleen maar om een ​​onderliggende technisch detail dat je hebt 727 00:34:38,100 --> 00:34:40,190 genummerd uw servers op deze manier. 728 00:34:40,190 --> 00:34:45,760 >> En erger nog, wat als, bijvoorbeeld, misschien rond Kerstmis wanneer 729 00:34:45,760 --> 00:34:50,090 business is echt booming, je www1 hebt door middel van www99, 730 00:34:50,090 --> 00:34:53,530 maar in januari en februari en verder, slaat u af de helft van de 731 00:34:53,530 --> 00:34:56,440 dus je hoeft alleen maar www1 door middel www50? 732 00:34:56,440 --> 00:35:01,963 Wat is nu de gevolgen voor die zeer redelijke zakelijke beslissing? 733 00:35:01,963 --> 00:35:02,838 PUBLIEK: [ONVERSTAANBAAR] 734 00:35:02,838 --> 00:35:05,628 735 00:35:05,628 --> 00:35:07,752 DAVID MALAN: Je moet beheren van al degenen die nog. 736 00:35:07,752 --> 00:35:10,515 PUBLIEK: [ONVERSTAANBAAR] 737 00:35:10,515 --> 00:35:11,390 DAVID MALAN: Precies. 738 00:35:11,390 --> 00:35:12,681 Dat is een soort van de vangst daar. 739 00:35:12,681 --> 00:35:16,800 Als uw klanten zijn in de gewoonte van bookmarking dingen, e-mailen ze, net 740 00:35:16,800 --> 00:35:19,351 opslaan van de URL ergens, of al is het maar in hun auto 741 00:35:19,351 --> 00:35:22,350 voltooien in hun browser, zodat ze niet echt met opzet te typen, 742 00:35:22,350 --> 00:35:25,560 het is gewoon gebeurt, kunnen ze, voor 11 maanden van het jaar 743 00:35:25,560 --> 00:35:27,190 effectief te bereiken een doodlopende weg. 744 00:35:27,190 --> 00:35:30,100 En alleen de meest scherpzinnige van gebruikers is gaan realiseren, 745 00:35:30,100 --> 00:35:32,040 Misschien moet ik handmatig Verwijder dit nummer. 746 00:35:32,040 --> 00:35:35,610 Ik bedoel, het is gewoon niet gebeuren met veel gebruikers, dus slecht voor het bedrijfsleven, 747 00:35:35,610 --> 00:35:37,750 slechte implementatie techniek wijs. 748 00:35:37,750 --> 00:35:40,230 >> Dus gelukkig, het is niet eens nodig. 749 00:35:40,230 --> 00:35:43,120 Het blijkt dat wat load balancers kunnen doen 750 00:35:43,120 --> 00:35:48,130 is in plaats van te zeggen, wanneer A maakt een request-- hey A, ga naar 1. 751 00:35:48,130 --> 00:35:50,280 Met andere woorden, in plaats van het verzenden van dat redirect 752 00:35:50,280 --> 00:35:53,540 zodanig dat de eerste stap in deze proces is de weg hier, 753 00:35:53,540 --> 00:35:55,280 Hij wordt dan verteld om elders te gaan. 754 00:35:55,280 --> 00:35:57,530 En dus stap drie is, hij gaat elders. 755 00:35:57,530 --> 00:36:04,600 >> U kunt plaats blijven route naar blijven gebruiken deze term alle gegevens van A's 756 00:36:04,600 --> 00:36:10,590 door de load balancer, zodat hij nooit contacten 1, 2 of 3 rechtstreeks. 757 00:36:10,590 --> 00:36:15,150 Al het verkeer krijgt "gerouteerd" door de load balancer zelf. 758 00:36:15,150 --> 00:36:17,524 En nu zijn we een soort van opzettelijk vervagen de lijnen 759 00:36:17,524 --> 00:36:18,690 tussen deze verschillende inrichtingen. 760 00:36:18,690 --> 00:36:20,930 Een load balancer kan routegegevens. 761 00:36:20,930 --> 00:36:22,435 Het is gewoon een functie die het heeft. 762 00:36:22,435 --> 00:36:25,420 >> Dus een load balancer Ook hierbij is een stukje software, echt. 763 00:36:25,420 --> 00:36:27,130 En een router is een stukje software. 764 00:36:27,130 --> 00:36:29,660 En je kunt absoluut twee stukken software binnen 765 00:36:29,660 --> 00:36:34,000 van één fysieke computer, zodat een lading balancer kunnen deze verschillende dingen te doen. 766 00:36:34,000 --> 00:36:36,130 >> Dus er is een andere kant op om dit te doen, die eigenlijk 767 00:36:36,130 --> 00:36:39,670 gaat terug naar een soort van eerste beginselen DNS, die we spraken over 768 00:36:39,670 --> 00:36:40,230 Voor pauzes. 769 00:36:40,230 --> 00:36:41,634 DNS was Domain Name System. 770 00:36:41,634 --> 00:36:43,550 Vergeet niet dat u kunt vraagt ​​een DNS-server, wat is 771 00:36:43,550 --> 00:36:46,460 het IP-adres van google.com, facebook.com? 772 00:36:46,460 --> 00:36:48,250 >> En we kunnen eigenlijk dit te doen. 773 00:36:48,250 --> 00:36:51,940 Een instrument dat we niet eerder gebruikt is een die is net zo toegankelijk, 774 00:36:51,940 --> 00:36:55,510 riep nslookup, voor de naam van de server opzoeken. 775 00:36:55,510 --> 00:36:57,410 En ik ga gewoon te typen facebook.com. 776 00:36:57,410 --> 00:37:02,500 En ik zie dat Facebook's IP mailadres is blijkbaar dit. 777 00:37:02,500 --> 00:37:05,520 Laat me ga je gang en kopieer dat naar een browser, 778 00:37:05,520 --> 00:37:11,690 en ga naar http: // en dat IP-adres en druk op Enter. 779 00:37:11,690 --> 00:37:14,140 En ja hoor, het lijkt te werken. 780 00:37:14,140 --> 00:37:18,610 >> Nu achteruit werken, wat was binnenzijde van de virtuele envelop 781 00:37:18,610 --> 00:37:25,454 dat Facebook reageerde met als Ik bezocht dat IP-adres rechtstreeks? 782 00:37:25,454 --> 00:37:26,745 Omdat de mededeling, waar ben ik nu? 783 00:37:26,745 --> 00:37:29,250 784 00:37:29,250 --> 00:37:32,484 Waar ben ik nu, het adres? 785 00:37:32,484 --> 00:37:33,450 >> PUBLIEK: [ONVERSTAANBAAR] 786 00:37:33,450 --> 00:37:36,116 >> DAVID MALAN: Bij de veilige versie, en op het www.facebook.com. 787 00:37:36,116 --> 00:37:38,520 Dus het is niet eens alleen het beveiligde IP-adres. 788 00:37:38,520 --> 00:37:42,650 Facebook heeft op zich genomen om te zeggen, dit is belachelijk. 789 00:37:42,650 --> 00:37:45,710 We zijn niet van plan om u te houden in deze lelijke URL dat is numeriek. 790 00:37:45,710 --> 00:37:50,120 We gaan u een HTTP-stuur omleiden door middel van diezelfde header 791 00:37:50,120 --> 00:37:53,010 die we zagen before-- locatie colon iets. 792 00:37:53,010 --> 00:37:56,340 >> En dus dit betekent gewoon dat eronder de kap is nog steeds het IP-adres. 793 00:37:56,340 --> 00:37:59,010 Elke computer op het internet heeft een IP-adres, zo lijkt het. 794 00:37:59,010 --> 00:38:01,480 Maar je hoeft niet per se bloot dat voor de gebruiker. 795 00:38:01,480 --> 00:38:07,190 En net als terug in de dag, is er was 1-800-COLLECT, 1-800-C-O-L-L-E-C-T, 796 00:38:07,190 --> 00:38:11,700 in de VS, was een manier om collect roept via een zeer eenvoudig gedenkwaardige telefoon 797 00:38:11,700 --> 00:38:17,140 nummer of 1-800-MATTRESS om een ​​bed te kopen, en soortgelijke ezelsbruggetjes dat je zelfs zien 798 00:38:17,140 --> 00:38:20,460 telefonisch soort soort nog steeds, dat de brieven in kaart om nummers. 799 00:38:20,460 --> 00:38:21,470 >> Nu, waarom is dat? 800 00:38:21,470 --> 00:38:26,080 Nou, het is een stuk makkelijker om te onthouden 1-800-MATTRESS of 1-800-Collect plaats 801 00:38:26,080 --> 00:38:29,100 van 1-800 iets iets iets iets iets iets 802 00:38:29,100 --> 00:38:31,030 iets, waarbij elke daarvan is een cijfer. 803 00:38:31,030 --> 00:38:34,390 Ook de wereld geleerd snel dat we moeten niet 804 00:38:34,390 --> 00:38:35,940 hebben mensen onthouden IP-adressen. 805 00:38:35,940 --> 00:38:36,826 Dat zou dom zijn. 806 00:38:36,826 --> 00:38:38,200 We gaan om namen te gebruiken. 807 00:38:38,200 --> 00:38:40,420 En dat is waarom DNS werd geboren. 808 00:38:40,420 --> 00:38:45,510 >> Oké, dus met dat gezegd, in termen van load balancing, laten we proberen yahoo.com. 809 00:38:45,510 --> 00:38:47,030 Nou, dat is interessant. 810 00:38:47,030 --> 00:38:51,464 Yahoo lijkt terug te keren drie IPs. 811 00:38:51,464 --> 00:38:53,940 Dus afleiden uit deze, als je kon, wat is 812 00:38:53,940 --> 00:38:58,600 een andere manier waarop we konden implementeren Deze notie van load balancing 813 00:38:58,600 --> 00:39:04,310 misschien zelfs zonder gebruik van een fysieke apparaat, deze nieuwe fysieke apparaat? 814 00:39:04,310 --> 00:39:08,070 >> Met andere woorden, kan ik weg te nemen de financiering je hebt voor de load balancer 815 00:39:08,070 --> 00:39:10,990 en u vertellen om te gebruiken een aantal bestaande stukje hardware uit te voeren 816 00:39:10,990 --> 00:39:12,680 Deze notie van load balancing? 817 00:39:12,680 --> 00:39:18,870 818 00:39:18,870 --> 00:39:22,510 En de spoiler is, ja, maar wat of hoe? 819 00:39:22,510 --> 00:39:27,605 Wat is Yahoo hier misschien aan het doen? 820 00:39:27,605 --> 00:39:29,200 Kareem? 821 00:39:29,200 --> 00:39:30,635 Oké, Chris? 822 00:39:30,635 --> 00:39:31,510 PUBLIEK: [ONVERSTAANBAAR] 823 00:39:31,510 --> 00:39:35,119 824 00:39:35,119 --> 00:39:36,910 DAVID MALAN: Ja, alle drie van die werkzaamheden. 825 00:39:36,910 --> 00:39:39,890 Dus willekeur, round robin, locatie-- Je kunt gewoon 826 00:39:39,890 --> 00:39:44,160 hefboomeffect een bestaand stukje van de puzzel dat we het eerder over had van de DNS 827 00:39:44,160 --> 00:39:49,580 systeem gewoon zeggen, wanneer de eerste gebruiker van de dag vraagt ​​yahoo.com, 828 00:39:49,580 --> 00:39:52,970 geef ze de eerste IP-adres, zoals die eindigt in 45 daarboven. 829 00:39:52,970 --> 00:39:55,762 En de volgende keer dat een gebruiker verzoeken het IP-adres van yahoo.com 830 00:39:55,762 --> 00:39:57,970 ergens in de wereld, geef ze de tweede IP, 831 00:39:57,970 --> 00:39:59,920 dan de derde IP, wordt de eerste IP, dan de tweede. 832 00:39:59,920 --> 00:40:01,850 Of wees slim over en doe het grafisch. 833 00:40:01,850 --> 00:40:05,200 Of doe het willekeurig en niet gewoon doen Het round robin op deze manier. 834 00:40:05,200 --> 00:40:07,580 >> En in dit geval, dan we niet eens nodig 835 00:40:07,580 --> 00:40:10,190 om deze zwarte introduceren box in onze foto. 836 00:40:10,190 --> 00:40:11,690 Wij hebben geen nieuwe apparatuur nodig. 837 00:40:11,690 --> 00:40:16,930 We zijn gewoon te vertellen computers om direct naar de servers, 838 00:40:16,930 --> 00:40:18,680 effectief, maar niet via hun naam. 839 00:40:18,680 --> 00:40:20,054 Ze moeten nooit de naam kennen. 840 00:40:20,054 --> 00:40:25,690 Ze zijn gewoon te horen dat yahoo.com kaarten één van deze IP-adressen. 841 00:40:25,690 --> 00:40:28,180 >> Dus stuurt exact dezelfde aanvraag. 842 00:40:28,180 --> 00:40:30,100 Maar aan de buitenkant van de envelop, het gewoon 843 00:40:30,100 --> 00:40:32,740 zet het IP dat het werd ingelicht over. 844 00:40:32,740 --> 00:40:35,590 En zo ook kan laden we de balans van de aanvragen 845 00:40:35,590 --> 00:40:39,330 door alleen versturen van de envelop een verschillende een van Yahoo's eigen servers? 846 00:40:39,330 --> 00:40:42,390 >> En als we graven houden, we zullen zien waarschijnlijk ook andere bedrijven met meer. 847 00:40:42,390 --> 00:40:44,380 CNN heeft twee openbaar blootgesteld. 848 00:40:44,380 --> 00:40:49,610 Hoewel eigenlijk als we dit opnieuw doen en again-- cnn.com-- u kunt zien 849 00:40:49,610 --> 00:40:51,730 ze veranderen van orde, eigenlijk. 850 00:40:51,730 --> 00:40:56,680 Dus wat mechanisme CNN gebruikt, blijkbaar? 851 00:40:56,680 --> 00:40:57,440 >> PUBLIEK: Random. 852 00:40:57,440 --> 00:40:59,440 DAVID MALAN: Nou, het willekeurig kan zijn, al 853 00:40:59,440 --> 00:41:01,110 lijkt om heen en weer te fietsen. 854 00:41:01,110 --> 00:41:04,380 Dus het is waarschijnlijk round robin, waar ze zijn gewoon het inschakelen van de volgorde, zodat 855 00:41:04,380 --> 00:41:05,880 dat ik waarschijnlijk neem de eerste. 856 00:41:05,880 --> 00:41:08,860 Mijn computer zal nemen de eerste telkens. 857 00:41:08,860 --> 00:41:10,490 Dus dat is load balancing. 858 00:41:10,490 --> 00:41:18,450 En dat stelt ons in staat, uiteindelijk, om gegevens of kaart aanvragen in kaart brengen, 859 00:41:18,450 --> 00:41:21,240 over meerdere servers. 860 00:41:21,240 --> 00:41:24,226 Dus wat voor soort problemen nu nog steeds bestaan? 861 00:41:24,226 --> 00:41:26,350 Het voelt alsof we gewoon echt loste een goede probleem. 862 00:41:26,350 --> 00:41:28,740 We kregen gebruikers verschillende servers. 863 00:41:28,740 --> 00:41:31,420 Maar-- oh, en Chris, deed u een vraag voor? 864 00:41:31,420 --> 00:41:34,378 >> PUBLIEK: [ONVERSTAANBAAR] 865 00:41:34,378 --> 00:41:43,670 866 00:41:43,670 --> 00:41:45,120 >> DAVID MALAN: Totally hangt. 867 00:41:45,120 --> 00:41:47,042 Dus wat gebeurt er hier? 868 00:41:47,042 --> 00:41:48,250 En we kunnen eigenlijk dit te zien. 869 00:41:48,250 --> 00:41:51,649 Dus laten we proberen Yahoo's. 870 00:41:51,649 --> 00:41:52,940 Eigenlijk, laten we naar Facebook. 871 00:41:52,940 --> 00:41:54,520 Omdat we weten dat men werkt. 872 00:41:54,520 --> 00:41:56,545 Dus ik ga om te kopiëren dat IP-adres weer. 873 00:41:56,545 --> 00:41:58,820 Ik ga al deze tabbladen te sluiten. 874 00:41:58,820 --> 00:42:03,800 Ik ga om te gaan openen, dat speciaal netwerk tabblad hier beneden. 875 00:42:03,800 --> 00:42:07,800 En ik ga alleen http bezoeken: //. 876 00:42:07,800 --> 00:42:10,694 En nu ga ik druk op Enter. 877 00:42:10,694 --> 00:42:11,860 En laten we eens kijken wat er gebeurde. 878 00:42:11,860 --> 00:42:20,662 >> Als ik kijk naar die verzoeken, mededelingen dat my-- Facebook is een slecht voorbeeld. 879 00:42:20,662 --> 00:42:22,370 Omdat ze een superchique techniek 880 00:42:22,370 --> 00:42:25,960 dat verbergt die detail van ons. 881 00:42:25,960 --> 00:42:30,690 Laat me gebruiken Yahoo instead-- http: // dat IP. 882 00:42:30,690 --> 00:42:36,030 Laten we ons netwerk te openen tab, behouden logboek. 883 00:42:36,030 --> 00:42:37,945 En hier gaan we, Enter. 884 00:42:37,945 --> 00:42:40,669 885 00:42:40,669 --> 00:42:41,210 Dat is grappig. 886 00:42:41,210 --> 00:42:44,480 OK, dus hier is de beroemde 404-bericht. 887 00:42:44,480 --> 00:42:48,500 Wat grappig is dat ze waarschijnlijk nooit zal terugkomen. 888 00:42:48,500 --> 00:42:51,430 Omdat er waarschijnlijk niet iets mis per se. 889 00:42:51,430 --> 00:42:54,050 Ze hoeven alleen maar doelbewust besloten niet te steunen 890 00:42:54,050 --> 00:42:56,250 de numerieke vorm van hun adres. 891 00:42:56,250 --> 00:43:00,270 >> Dus wat we eigenlijk zien in de tabblad Netwerk, als ik trek dit hier, 892 00:43:00,270 --> 00:43:06,140 is, zoals ik al zei, de befaamde 404, waarbij als ik kijk naar de reactie headers, 893 00:43:06,140 --> 00:43:09,070 dit is wat ik heb hier-- 404 Not Found. 894 00:43:09,070 --> 00:43:11,360 Dus laten we proberen een ander. 895 00:43:11,360 --> 00:43:13,180 Eens kijken of CNN samen met ons. 896 00:43:13,180 --> 00:43:19,440 Ik pak een van CNN's IP-adressen, schakelt u dit, http, dah, dah, dah, dah. 897 00:43:19,440 --> 00:43:21,620 Dus in antwoord op Chris vraag, dat men werkte. 898 00:43:21,620 --> 00:43:24,140 899 00:43:24,140 --> 00:43:26,255 >> En laten we naar response headers. 900 00:43:26,255 --> 00:43:30,810 901 00:43:30,810 --> 00:43:33,640 Eigenlijk niet, oké, ik ben worstelen om een ​​werkend voorbeeld te vinden. 902 00:43:33,640 --> 00:43:38,270 Dus CNN heeft besloten, zullen wij je gewoon laat op welk adres je eigenlijk bezoeken, 903 00:43:38,270 --> 00:43:40,359 branding vraagstukken buiten beschouwing. 904 00:43:40,359 --> 00:43:43,275 Maar wat zou niet gebeuren, indien we konden zien in Facebook's geval, 905 00:43:43,275 --> 00:43:46,700 is dat we zouden krijgen een 301 Moved Permanent hoogstwaarschijnlijk 906 00:43:46,700 --> 00:43:54,420 binnenste gedeelte is locatie: https: //www.facebook.com. 907 00:43:54,420 --> 00:44:01,210 En de kans is www.facebook.com is een alias voor exact dezelfde server we gewoon 908 00:44:01,210 --> 00:44:01,710 ging naar. 909 00:44:01,710 --> 00:44:03,500 >> Dus het is een beetje contraproductief. 910 00:44:03,500 --> 00:44:05,170 We zijn letterlijk een bezoek aan de server. 911 00:44:05,170 --> 00:44:07,040 De server wordt ons dan vertellen, ga weg. 912 00:44:07,040 --> 00:44:08,320 Ga naar dit ander adres. 913 00:44:08,320 --> 00:44:10,870 Maar we net zo toevallig terug te gaan naar dezelfde server. 914 00:44:10,870 --> 00:44:14,550 Maar vermoedelijk we nu blijven op die server, zonder deze heen en weer. 915 00:44:14,550 --> 00:44:18,600 Want nu zijn we met behulp van de naam versie van de site niet de numerieke. 916 00:44:18,600 --> 00:44:20,060 Goede vraag. 917 00:44:20,060 --> 00:44:23,690 >> OK, dus als we nu assume-- we load balancing hebben opgelost. 918 00:44:23,690 --> 00:44:25,894 We hebben nu een mechanisme, of het nu via DNS, 919 00:44:25,894 --> 00:44:29,060 of het nu via deze black box, of dat het gebruik van elk van deze technieken. 920 00:44:29,060 --> 00:44:33,810 We kunnen het verzoek van een gebruiker te nemen en erachter te komen welke server, 1, 2 of 3, 921 00:44:33,810 --> 00:44:35,420 om hem of haar te sturen. 922 00:44:35,420 --> 00:44:39,180 >> Wat begint te breken over onze website? 923 00:44:39,180 --> 00:44:41,160 Met andere woorden, we bouwde een bedrijf dat 924 00:44:41,160 --> 00:44:43,480 was eerder op een enkele server. 925 00:44:43,480 --> 00:44:46,870 Nu dat het bedrijfsleven wordt uitgevoerd over meerdere servers. 926 00:44:46,870 --> 00:44:51,770 Welke soorten veronderstellingen, welke soorten van ontwerpbeslissingen, 927 00:44:51,770 --> 00:44:54,870 kan nu worden breken? 928 00:44:54,870 --> 00:44:55,745 >> Dit is minder voor de hand. 929 00:44:55,745 --> 00:44:58,620 Maar laten we eens kijken of we niet kunnen zetten onze vinger op een aantal van het probleem dat we hebben 930 00:44:58,620 --> 00:44:59,780 gecreëerd voor onszelf. 931 00:44:59,780 --> 00:45:02,750 Nogmaals, het is een soort van als het vasthouden beneden het lek in de slang. 932 00:45:02,750 --> 00:45:05,094 En nu een aantal nieuwe nummer is uitgeklapt hier. 933 00:45:05,094 --> 00:45:07,880 934 00:45:07,880 --> 00:45:11,380 >> PUBLIEK: [ONVERSTAANBAAR] 935 00:45:11,380 --> 00:45:16,574 936 00:45:16,574 --> 00:45:19,240 DAVID MALAN: OK, dus we moeten blijven groeien onze harde schijf ruimte. 937 00:45:19,240 --> 00:45:20,450 Ik ben OK met dat recht nu. 938 00:45:20,450 --> 00:45:23,212 Omdat ik denk dat ik kan horizontaal schaal. 939 00:45:23,212 --> 00:45:26,420 Net als ik laag ben actief, zal ik gewoon een vierde server, misschien een vijfde server, 940 00:45:26,420 --> 00:45:30,820 en verhoog onze capaciteit met nogmaals 30% of 50% of zo. 941 00:45:30,820 --> 00:45:32,759 Dus ik ben OK met dat, althans voor nu. 942 00:45:32,759 --> 00:45:33,634 PUBLIEK: [ONVERSTAANBAAR] 943 00:45:33,634 --> 00:45:37,314 944 00:45:37,314 --> 00:45:38,980 DAVID MALAN: OK, dus dat is een goed punt. 945 00:45:38,980 --> 00:45:42,340 Dus stel dat de servers niet identiek. 946 00:45:42,340 --> 00:45:45,260 En klantenservice of e gelijkwaardige 947 00:45:45,260 --> 00:45:48,690 krijgt een aantal bericht van een gebruiker zeggende: Dit is niet goed werkt. 948 00:45:48,690 --> 00:45:52,070 Het is heel goed mogelijk, soms, dat misschien een of meer servers 949 00:45:52,070 --> 00:45:55,000 handelt een beetje verkeerd, maar niet de anderen, die zeker kan 950 00:45:55,000 --> 00:45:57,096 maken het moeilijker om op te jagen naar beneden de kwestie. 951 00:45:57,096 --> 00:45:58,720 Je zou kunnen hebben om meerdere plaatsen te kijken. 952 00:45:58,720 --> 00:46:00,960 >> Dat manifestatie een ander soort insect, 953 00:46:00,960 --> 00:46:03,950 dat is dat je waarschijnlijk moet uw infrastructuur zijn zo ontworpen 954 00:46:03,950 --> 00:46:06,200 dat alles is echt identiek. 955 00:46:06,200 --> 00:46:10,390 Maar het blijkt dat er een nieuw probleem dat we niet eerder hadden. 956 00:46:10,390 --> 00:46:11,715 Wat nog meer? 957 00:46:11,715 --> 00:46:12,590 PUBLIEK: [ONVERSTAANBAAR] 958 00:46:12,590 --> 00:46:16,390 959 00:46:16,390 --> 00:46:19,500 >> DAVID MALAN: Ja, er is meer complexiteit. 960 00:46:19,500 --> 00:46:20,792 Er is fysiek meer draden. 961 00:46:20,792 --> 00:46:21,750 Er is een ander apparaat. 962 00:46:21,750 --> 00:46:26,310 In feite heb ik een fundamentele introduceerde concept en een fundamenteel probleem 963 00:46:26,310 --> 00:46:28,300 bekend als enkelvoudig falen, waarvan 964 00:46:28,300 --> 00:46:30,110 zelfs als je nog nooit hebt gehoord de zin, kunt u waarschijnlijk 965 00:46:30,110 --> 00:46:31,780 nu terug te werken en figure it out. 966 00:46:31,780 --> 00:46:35,560 Wat betekent het dat ik een enkele point of failure in mijn architectuur? 967 00:46:35,560 --> 00:46:39,694 En door de architectuur, ik heb net verstaan ​​de topologie van het. 968 00:46:39,694 --> 00:46:40,610 >> PUBLIEK: [ONVERSTAANBAAR] 969 00:46:40,610 --> 00:46:42,901 >> DAVID MALAN: Ja, wat als de load balancer naar beneden gaat? 970 00:46:42,901 --> 00:46:46,290 Ik heb dit middelste man, wiens gestoken doel in het leven is om een ​​probleem op te lossen. 971 00:46:46,290 --> 00:46:47,740 Maar ik heb een nieuw probleem geïntroduceerd. 972 00:46:47,740 --> 00:46:49,350 Een nieuw lek is ontstaan ​​in de slang. 973 00:46:49,350 --> 00:46:53,500 Want nu als de load balancer overlijdt of breuken of misfunctions, 974 00:46:53,500 --> 00:46:56,350 Nu ik de toegang te verliezen mijn drie servers. 975 00:46:56,350 --> 00:46:58,880 En eerder, heb ik niet hebben deze tussenpersoon. 976 00:46:58,880 --> 00:47:03,020 En dus dit is een nieuw probleem, misschien wel. 977 00:47:03,020 --> 00:47:05,245 We zullen terug te komen op hoe kunnen we dat oplossen. 978 00:47:05,245 --> 00:47:06,734 >> PUBLIEK: [ONVERSTAANBAAR] 979 00:47:06,734 --> 00:47:08,400 DAVID MALAN: Dat zou een benadering zijn. 980 00:47:08,400 --> 00:47:13,926 Ja, en dus dit gaat heel zijn hole van de rat gaan we naar beneden te gaan. 981 00:47:13,926 --> 00:47:15,800 Maar laten we terugkeren naar dat in slechts een moment. 982 00:47:15,800 --> 00:47:17,299 Welke andere problemen die we hebben gecreëerd? 983 00:47:17,299 --> 00:47:25,540 984 00:47:25,540 --> 00:47:27,470 >> Dus Dan genoemd database voordat. 985 00:47:27,470 --> 00:47:29,500 En zelfs als je niet te bekend technisch, 986 00:47:29,500 --> 00:47:33,220 een database is gewoon een server waar veranderende data wordt typisch opgeslagen, 987 00:47:33,220 --> 00:47:36,430 misschien een bestelling iemand heeft geplaatst, uw gebruikersprofiel, uw naam, 988 00:47:36,430 --> 00:47:40,810 uw e-mailadres, dingen die zouden kunnen worden ingevoerd of veranderd in de tijd. 989 00:47:40,810 --> 00:47:44,599 >> Voorheen was mijn gegevensbestand dezelfde server als mijn webserver. 990 00:47:44,599 --> 00:47:46,390 Want ik had net een web hosting account. 991 00:47:46,390 --> 00:47:48,480 Alles was allemaal in dezelfde plaats. 992 00:47:48,480 --> 00:47:54,200 Waar moet ik mijn gegevensbestand nu op de server 1, 2 of 3? 993 00:47:54,200 --> 00:47:55,100 >> Publiek: 4. 994 00:47:55,100 --> 00:47:58,070 >> DAVID MALAN: 4, OK, alle Goed, dus laten we er naartoe te gaan. 995 00:47:58,070 --> 00:48:01,650 Dus ga ik legde mijn database-- en laten we 996 00:48:01,650 --> 00:48:06,520 start het labelen van deze www, www, www. 997 00:48:06,520 --> 00:48:08,780 En ik ga zeggen, dit is nummer vier. 998 00:48:08,780 --> 00:48:11,270 En ik zal zeggen db voor de database. 999 00:48:11,270 --> 00:48:12,870 OK, ik hou van deze. 1000 00:48:12,870 --> 00:48:17,021 Welke lijn moet ik vermoedelijk hier tekenen? 1001 00:48:17,021 --> 00:48:18,850 >> PUBLIEK: [ONVERSTAANBAAR] 1002 00:48:18,850 --> 00:48:22,740 >> DAVID MALAN: Ja, dus de code, als we morgen zullen bespreken, 1003 00:48:22,740 --> 00:48:24,900 vermoedelijk hetzelfde op alle drie servers. 1004 00:48:24,900 --> 00:48:28,374 Maar het moet nu niet aan op een database onder lokaal maar ook elders. 1005 00:48:28,374 --> 00:48:29,040 En dat is prima. 1006 00:48:29,040 --> 00:48:31,623 We kunnen alleen maar geven de database een te noemen, zoals we hebben, of een nummer. 1007 00:48:31,623 --> 00:48:33,930 En dat alles werkt prima. 1008 00:48:33,930 --> 00:48:35,820 Maar wat hebben we gedaan? 1009 00:48:35,820 --> 00:48:40,640 We hebben horizontaal geschaald door het hebben van drie servers in plaats van één, waarvan 1010 00:48:40,640 --> 00:48:41,140 is goed. 1011 00:48:41,140 --> 00:48:44,240 Want nu kunnen we omgaan drie keer zoveel lading. 1012 00:48:44,240 --> 00:48:47,710 >> En nog beter, als een of twee van die servers naar beneden gaat, 1013 00:48:47,710 --> 00:48:49,350 mijn bedrijf kan blijven opereren. 1014 00:48:49,350 --> 00:48:53,960 Want ik heb nog steeds een, zelfs als ik ben soort hinkt prestaties-wise. 1015 00:48:53,960 --> 00:49:01,020 Maar wat nieuw probleem heb ik die bij het bewegen van de gegevensbank 1016 00:49:01,020 --> 00:49:04,350 deze aparte server in plaats van op 1, 2 en 3? 1017 00:49:04,350 --> 00:49:05,412 >> PUBLIEK: [ONVERSTAANBAAR] 1018 00:49:05,412 --> 00:49:08,120 DAVID MALAN: Ja, dus nu heb ik nog een single point of failure. 1019 00:49:08,120 --> 00:49:12,330 Als mijn gegevensbestand overlijdt, of moet worden opgewaardeerd, of wat dan ook, nu zeker, 1020 00:49:12,330 --> 00:49:13,610 Mijn website is online. 1021 00:49:13,610 --> 00:49:16,270 En ik kan statische dienen, onveranderlijke inhoud. 1022 00:49:16,270 --> 00:49:21,210 Maar ik kan niet toestaan ​​dat gebruikers zich aanmelden of wijzigen iets of orde iets, nog erger. 1023 00:49:21,210 --> 00:49:24,120 Want als 4 is offline, vervolgens 1, 2 en 3 1024 00:49:24,120 --> 00:49:27,710 kan echt niet te spreken per definitie. 1025 00:49:27,710 --> 00:49:31,560 >> OK dus ja, en dus dit is de reden waarom Ik aarzelen om dit te tekenen. 1026 00:49:31,560 --> 00:49:32,690 Dus laten we terug naar die komen. 1027 00:49:32,690 --> 00:49:33,700 Ik bedoel niet te blijven pushen je af. 1028 00:49:33,700 --> 00:49:36,030 Maar het beeld is erg snel gaan stressvol te krijgen. 1029 00:49:36,030 --> 00:49:38,620 Omdat je nodig hebt om te beginnen met twee van alles. 1030 00:49:38,620 --> 00:49:41,850 In feite, als je ooit hebt gezien de movie Contact een paar jaar geleden 1031 00:49:41,850 --> 00:49:45,310 met Jodie Foster-- nee? 1032 00:49:45,310 --> 00:49:47,410 >> OK, dus voor de twee van ons die contact hebben gezien, 1033 00:49:47,410 --> 00:49:50,800 er is een relatie daar waar ze wezen kocht twee van iets 1034 00:49:50,800 --> 00:49:53,250 in plaats van één, zij met tweemaal de prijs. 1035 00:49:53,250 --> 00:49:55,922 Dus het was een soort van een speelse commentaar in de film. 1036 00:49:55,922 --> 00:49:57,130 Het is een beetje met betrekking tot dit. 1037 00:49:57,130 --> 00:49:58,290 We kunnen absoluut doen. 1038 00:49:58,290 --> 00:50:00,123 En je hebt gewoon de kosten ons twee keer zo veel geld. 1039 00:50:00,123 --> 00:50:01,300 Maar we zullen hierop terugkomen. 1040 00:50:01,300 --> 00:50:02,400 >> Dus hebben we deze opgelost. 1041 00:50:02,400 --> 00:50:03,108 Dus weet je wat? 1042 00:50:03,108 --> 00:50:04,450 Dit is als een hellend vlak. 1043 00:50:04,450 --> 00:50:07,033 Ik wil niet om te gaan met het hebben van om een ​​duplicaat database. 1044 00:50:07,033 --> 00:50:08,037 Het is te veel geld. 1045 00:50:08,037 --> 00:50:08,620 Weet je wat? 1046 00:50:08,620 --> 00:50:12,880 Ik wil mijn database net als in versie one 1047 00:50:12,880 --> 00:50:17,450 waar elke server zijn eigen lokale database. 1048 00:50:17,450 --> 00:50:19,480 Dus ik ga gewoon tekenen db over elk van deze. 1049 00:50:19,480 --> 00:50:22,240 >> Dus nu elke webserver identiek voorzover 1050 00:50:22,240 --> 00:50:25,650 aangezien het dezelfde code, dezelfde statische activa, dezelfde foto's en tekst 1051 00:50:25,650 --> 00:50:26,720 enzovoorts. 1052 00:50:26,720 --> 00:50:29,580 En elk heeft zijn eigen database. 1053 00:50:29,580 --> 00:50:31,450 Ik bevestigde de single point van mislukking probleem. 1054 00:50:31,450 --> 00:50:32,570 Nu heb ik een database. 1055 00:50:32,570 --> 00:50:36,210 Maakt niet uit welke twee of één van deze dingen sterven, er is altijd een links. 1056 00:50:36,210 --> 00:50:41,156 Maar wat nieuw probleem heb ik gemaakt dat Dan's oplossing vermeden? 1057 00:50:41,156 --> 00:50:42,470 >> PUBLIEK: [ONVERSTAANBAAR] 1058 00:50:42,470 --> 00:50:44,386 >> DAVID MALAN: Yeah, I moet ze synchroniseren, toch? 1059 00:50:44,386 --> 00:50:47,860 Omdat beide ik nodig om te synchroniseren wie gaat where-- met andere woorden, 1060 00:50:47,860 --> 00:50:50,570 Als Alice bezoekt mijn site, is gebeurd en ze 1061 00:50:50,570 --> 00:50:55,070 om willekeurig of rond robined of wat dan ook, naar de server nummer één, 1062 00:50:55,070 --> 00:50:58,770 daarna moet ik altijd stuur haar naar de server 1. 1063 00:50:58,770 --> 00:50:59,420 Waarom? 1064 00:50:59,420 --> 00:51:01,540 Want als ik haar stuur server 2, het gaat 1065 00:51:01,540 --> 00:51:03,140 om te kijken alsof ze niet bestaan. 1066 00:51:03,140 --> 00:51:04,450 >> Ik ben niet van plan om haar bestelling geschiedenis. 1067 00:51:04,450 --> 00:51:06,300 Ik ben niet van plan om haar profiel daar. 1068 00:51:06,300 --> 00:51:09,360 En dat alleen maar voelt als het is uitnodigend problemen. 1069 00:51:09,360 --> 00:51:11,400 En toen Bob bezoekt, I moet hem altijd te sturen 1070 00:51:11,400 --> 00:51:14,800 dezelfde server, 2, of welke een, en Charlie aan een derde, 1071 00:51:14,800 --> 00:51:15,797 en consistent. 1072 00:51:15,797 --> 00:51:17,130 Dit is niet onredelijk, dat wel. 1073 00:51:17,130 --> 00:51:19,270 Dit heet partitioneren van uw database. 1074 00:51:19,270 --> 00:51:21,270 En in feite was dit wat Facebook deed vroeg op. 1075 00:51:21,270 --> 00:51:24,020 >> Als je de geschiedenis van de gevolgde Facebook, het begon hier op de campus 1076 00:51:24,020 --> 00:51:25,770 als www.thefacebook.com. 1077 00:51:25,770 --> 00:51:29,260 Daarna evolueerde het ooit begon Mark verspreiden naar andere campussen 1078 00:51:29,260 --> 00:51:34,450 te zijn en harvard.thefacebook.com mit.thefacebook.com, en waarschijnlijk 1079 00:51:34,450 --> 00:51:37,027 bu.thefacebook.com, en dergelijke. 1080 00:51:37,027 --> 00:51:38,860 En dat was omdat vroeg op, ik denk niet dat 1081 00:51:38,860 --> 00:51:40,484 kon je vrienden over campussen hebben. 1082 00:51:40,484 --> 00:51:41,410 Maar dat is prima. 1083 00:51:41,410 --> 00:51:43,930 Omdat iedereen van Harvard werd verzonden naar deze server. 1084 00:51:43,930 --> 00:51:45,744 Iedereen uit de BU werd verzonden naar deze server. 1085 00:51:45,744 --> 00:51:47,910 Iedereen uit MIT kreeg na deze server-- in theorie. 1086 00:51:47,910 --> 00:51:50,540 Ik weet niet goed alle onderliggende implementatie details. 1087 00:51:50,540 --> 00:51:55,610 Maar hij vermoedelijk verdeeld mensen door hun campus, waar hun netwerk was. 1088 00:51:55,610 --> 00:51:58,772 >> Dus dat is goed tot het moment waar je moet twee servers voor Harvard, 1089 00:51:58,772 --> 00:51:59,980 of drie servers voor Harvard. 1090 00:51:59,980 --> 00:52:01,800 En dan die eenvoud soort breekt. 1091 00:52:01,800 --> 00:52:03,174 Maar dat is een redelijke benadering. 1092 00:52:03,174 --> 00:52:04,950 Laten we altijd sturen Alice naar dezelfde plaats, 1093 00:52:04,950 --> 00:52:06,366 altijd sturen Bob naar dezelfde plek. 1094 00:52:06,366 --> 00:52:09,680 Maar wat gebeurt er als Alice's server offline gaat? 1095 00:52:09,680 --> 00:52:12,300 Bob en Charlie kan nog steeds kopen dingen en inloggen op de site. 1096 00:52:12,300 --> 00:52:13,462 Maar Alice kan niet. 1097 00:52:13,462 --> 00:52:15,170 Dus je hebt verloren een derde van uw user base. 1098 00:52:15,170 --> 00:52:16,980 Misschien is dat beter is dan 100%? 1099 00:52:16,980 --> 00:52:20,580 Maar misschien zou het mooi zijn als we konden nog steeds achter 100% van onze gebruikers 1100 00:52:20,580 --> 00:52:23,470 zelfs indien een derde van onze servers offline gaat. 1101 00:52:23,470 --> 00:52:24,760 >> Dus konden we wat synchroniseren? 1102 00:52:24,760 --> 00:52:29,250 Niet de gebruikers, per se, maar de databank op al deze servers. 1103 00:52:29,250 --> 00:52:33,350 Dus nu we soort van wat nodig soort interconnectie 1104 00:52:33,350 --> 00:52:37,880 Hier zodat de servers zelf kan sync-- niet onredelijk. 1105 00:52:37,880 --> 00:52:40,090 En in feite is deze technologie bestaat. 1106 00:52:40,090 --> 00:52:45,550 In de wereld van databases, er het begrip master-slave-databases, 1107 00:52:45,550 --> 00:52:48,240 of primaire-secundaire, waar naast de functies 1108 00:52:48,240 --> 00:52:51,050 niet alleen het opslaan van gegevens en antwoorden met data, 1109 00:52:51,050 --> 00:52:53,375 maar ook gewoon om voortdurend synchroniseren met elkaar. 1110 00:52:53,375 --> 00:52:56,480 Dus elke keer dat je te schrijven of op te slaan iets deze database 1111 00:52:56,480 --> 00:53:00,040 het onmiddellijk wordt "gerepliceerd" de andere databases ook. 1112 00:53:00,040 --> 00:53:02,870 >> En elke keer dat je van het lezen, het maakt niet uit waar je bent. 1113 00:53:02,870 --> 00:53:05,170 Want als in theorie ze hebben alle gesynchroniseerde, je bent 1114 00:53:05,170 --> 00:53:07,710 naar dezelfde weergave van de gegevens op te halen. 1115 00:53:07,710 --> 00:53:10,800 Dit klinkt zo perfect. 1116 00:53:10,800 --> 00:53:11,883 Er moet een addertje onder het gras. 1117 00:53:11,883 --> 00:53:15,200 1118 00:53:15,200 --> 00:53:18,990 Wat zou de vangst? 1119 00:53:18,990 --> 00:53:21,790 >> PUBLIEK: [ONVERSTAANBAAR] 1120 00:53:21,790 --> 00:53:25,830 >> DAVID MALAN: Ja, dus drie keer zo veel dingen mis kan gaan. 1121 00:53:25,830 --> 00:53:26,930 Dat is een realiteit. 1122 00:53:26,930 --> 00:53:28,480 Het zou allemaal dezelfde geest. 1123 00:53:28,480 --> 00:53:30,404 Maar iemand nodig heeft om deze te configureren. 1124 00:53:30,404 --> 00:53:33,070 Er is een grotere kans dat er iets gaat mis te gaan. 1125 00:53:33,070 --> 00:53:38,130 Net combinatorieel je hebt meer dingen gevoelig voor fouten. 1126 00:53:38,130 --> 00:53:40,505 Wat is slecht mogelijk? 1127 00:53:40,505 --> 00:53:41,380 PUBLIEK: [ONVERSTAANBAAR] 1128 00:53:41,380 --> 00:53:44,100 1129 00:53:44,100 --> 00:53:46,180 >> DAVID MALAN: Ja, dus synchronisatie kan slecht zijn. 1130 00:53:46,180 --> 00:53:48,110 Zelfs als je zou weten van back-ups en dergelijke, 1131 00:53:48,110 --> 00:53:50,520 als je gewoon blind maken backups, wat als er iets doet 1132 00:53:50,520 --> 00:53:51,560 misgaan op een database? 1133 00:53:51,560 --> 00:53:53,018 U verwijdert iets wat je niet zou moeten. 1134 00:53:53,018 --> 00:53:56,299 Je hebt meteen gerepliceerd dat probleem overal elders. 1135 00:53:56,299 --> 00:53:58,840 Dus Victoria was talking-- backups zou een goede zaak hier te zijn. 1136 00:53:58,840 --> 00:54:00,549 En dus zullen we terug naar dat. 1137 00:54:00,549 --> 00:54:03,090 En om duidelijk te zijn, we hebben het niet om back-ups hier per se. 1138 00:54:03,090 --> 00:54:08,240 We hebben het over de ware replicatie of synchronisatie over servers. 1139 00:54:08,240 --> 00:54:09,110 Ze zijn allemaal levend. 1140 00:54:09,110 --> 00:54:12,074 Ze zijn niet bedoeld om te worden gebruikt voor back-ups. 1141 00:54:12,074 --> 00:54:13,294 >> PUBLIEK: [ONVERSTAANBAAR] 1142 00:54:13,294 --> 00:54:14,335 DAVID MALAN: Wat is dat? 1143 00:54:14,335 --> 00:54:14,710 PUBLIEK: Higher-- 1144 00:54:14,710 --> 00:54:15,751 DAVID MALAN: Hogere kosten. 1145 00:54:15,751 --> 00:54:20,180 We hebben de kosten voor verdrievoudigd dat, hoewel althans wat 1146 00:54:20,180 --> 00:54:21,100 van de hardware. 1147 00:54:21,100 --> 00:54:23,200 Omdat een database gewoon een stukje software. 1148 00:54:23,200 --> 00:54:25,189 En een web server is een stukje software. 1149 00:54:25,189 --> 00:54:27,980 Het is waarschijnlijk gratis als we gebruiken een aantal open source dingen. 1150 00:54:27,980 --> 00:54:30,480 Maar als we met behulp van zoiets als Oracle, 1151 00:54:30,480 --> 00:54:36,574 we betalen Oracle meer geld per licenties, of Microsoft voor de toegang. 1152 00:54:36,574 --> 00:54:38,240 Er moet hier een ander addertje onder het gras. 1153 00:54:38,240 --> 00:54:39,240 Het kan dit niet eenvoudig zijn. 1154 00:54:39,240 --> 00:54:42,990 1155 00:54:42,990 --> 00:54:47,300 >> Dus om je punt, ik denk dat het Kareem, aardrijkskunde earlier-- of nee, 1156 00:54:47,300 --> 00:54:50,870 Roman, was het, voor geography-- veronderstellen dat we slim over dit, 1157 00:54:50,870 --> 00:54:54,080 en we zetten een van onze servers, en op zijn beurt onze databases, in de VS, 1158 00:54:54,080 --> 00:54:56,910 en een in Europa, een in Zuid-Amerika, Afrika andere, 1159 00:54:56,910 --> 00:55:00,290 een andere in Azië, waar we Misschien wil de hele wereld. 1160 00:55:00,290 --> 00:55:04,220 We weten al van onze trace routes dat punt A en punt 1161 00:55:04,220 --> 00:55:06,910 B, indien ze verder uit elkaar, gaan meer tijd in beslag nemen. 1162 00:55:06,910 --> 00:55:10,312 >> En als sommige van jullie hebben gebruikt gereedschappen, zoals Facebook of Twitter 1163 00:55:10,312 --> 00:55:13,520 of een van deze sites deze dagen dat veranderen voortdurend als gevolg van de gebruiker 1164 00:55:13,520 --> 00:55:16,880 gecreëerde data, soms als je Klik Reload of open dezelfde pagina 1165 00:55:16,880 --> 00:55:20,270 in een andere browser, zie je verschillende versies, bijna. 1166 00:55:20,270 --> 00:55:22,875 Je zou de status van iemand te zien werken hier, maar niet hier, 1167 00:55:22,875 --> 00:55:25,500 en vervolgens opnieuw u, en dan is het verschijnt en je weer herladen, 1168 00:55:25,500 --> 00:55:26,640 en het verdwijnt. 1169 00:55:26,640 --> 00:55:29,076 Met andere woorden, houden een oog voor dit, op zijn minst 1170 00:55:29,076 --> 00:55:30,950 als je gebruik maakt van sociale netwerken in het bijzonder. 1171 00:55:30,950 --> 00:55:33,320 >> Nogmaals, alleen omdat de gegevens worden zo snel veranderen, 1172 00:55:33,320 --> 00:55:35,710 soms servers krijg niet synchroon. 1173 00:55:35,710 --> 00:55:37,230 En misschien is het een super klein venster. 1174 00:55:37,230 --> 00:55:39,970 Maar 200 milliseconden, misschien zelfs meer dan het dat-- 1175 00:55:39,970 --> 00:55:43,415 gaan naar een aantal niet-nul hoeveelheid nemen van tijd voor deze databases te synchroniseren. 1176 00:55:43,415 --> 00:55:45,290 En we zijn niet alleen praten over een aanvraag. 1177 00:55:45,290 --> 00:55:48,540 Als een bedrijf heeft duizenden gebruikers het gebruik ervan tegelijkertijd, 1178 00:55:48,540 --> 00:55:49,460 ze kunnen bufferen. 1179 00:55:49,460 --> 00:55:52,240 Met andere woorden, er zou zijn een wachtrij of een wachttijd lijn 1180 00:55:52,240 --> 00:55:54,950 voor al deze databank queries kan gesynchroniseerd. 1181 00:55:54,950 --> 00:55:56,610 Dus misschien is het eigenlijk een paar seconden. 1182 00:55:56,610 --> 00:55:59,820 >> En inderdaad, dit is waar ik denk dat zelfs tot op de dag met Facebook, waarbij 1183 00:55:59,820 --> 00:56:02,010 wanneer ze synchroniseren vanaf East Coast naar West Coast, 1184 00:56:02,010 --> 00:56:06,026 het heeft een niet-triviale voortplantingsvertraging zogezegd, 1185 00:56:06,026 --> 00:56:07,650 dat je gewoon een soort van te tolereren. 1186 00:56:07,650 --> 00:56:11,210 En dus is het niet zozeer een fout aangezien het een realiteit 1187 00:56:11,210 --> 00:56:14,230 dat uw gebruikers niet zou kunnen zien de juiste gegevens ten minste 1188 00:56:14,230 --> 00:56:14,970 een paar seconden. 1189 00:56:14,970 --> 00:56:17,410 >> Ik zie dit op Twitter veel eigenlijk, waar soms zal ik 1190 00:56:17,410 --> 00:56:21,227 tweet in één venster, open een andere aan zie het dan inderdaad bevestigen dat het 1191 00:56:21,227 --> 00:56:22,560 ging op, en het is er nog niet. 1192 00:56:22,560 --> 00:56:25,340 En ik moet soort herladen, herladen, reload-- oh, daar is het. 1193 00:56:25,340 --> 00:56:27,150 En dat is niet omdat het niet is opgeslagen. 1194 00:56:27,150 --> 00:56:29,850 Het is gewoon niet gepropageerd naar andere servers. 1195 00:56:29,850 --> 00:56:33,120 >> Dus dit trade-off, too-- heb je echt jezelf wilt blootstellen aan het risico 1196 00:56:33,120 --> 00:56:37,254 dat als de gebruiker naar de bestelling geschiedenis, het is nog niet echt daar? 1197 00:56:37,254 --> 00:56:38,420 Ik zie dit op bepaalde banken. 1198 00:56:38,420 --> 00:56:42,100 Het ergert me altijd bij, nou ja, voor een, je kunt alleen gaan als zes maanden terug 1199 00:56:42,100 --> 00:56:45,160 in uw bankafschriften in sommige banken, hoewel in theorie ze zouden moeten 1200 00:56:45,160 --> 00:56:46,576 in staat zijn om alles online te hebben. 1201 00:56:46,576 --> 00:56:48,630 Ze nemen gewoon spullen offline soms. 1202 00:56:48,630 --> 00:56:51,430 Soms too-- wat website is het? 1203 00:56:51,430 --> 00:56:53,570 Er is een-- oh, het is GoDaddy, denk ik. 1204 00:56:53,570 --> 00:56:56,620 GoDaddy, wanneer u uitcheckt het kopen van een domeinnaam of iets, 1205 00:56:56,620 --> 00:56:58,630 zullen ze vaak geven je een link naar uw ontvangstbewijs. 1206 00:56:58,630 --> 00:57:01,470 En als je op die verwijzen naar rechts afstand, vaak niet werkt. 1207 00:57:01,470 --> 00:57:03,290 Het zegt enkel, doodlopende weg, hier niets. 1208 00:57:03,290 --> 00:57:05,450 >> En dat is ook vanwege deze voortplantingsvertragingen. 1209 00:57:05,450 --> 00:57:08,290 Want voor welke reden dan ook, ze het nemen van een beetje tijd 1210 00:57:08,290 --> 00:57:09,670 om daadwerkelijk te genereren dat. 1211 00:57:09,670 --> 00:57:12,070 Dus dit is een soort als je wilt trek je haar uit op een bepaald punt. 1212 00:57:12,070 --> 00:57:14,486 Omdat alles wat je probeert te doen is een eenvoudig probleem oplossen. 1213 00:57:14,486 --> 00:57:16,590 En we houden het creëren van nieuwe problemen voor onszelf. 1214 00:57:16,590 --> 00:57:18,770 Dus laten we kijken of we kan dit soort ongedaan te maken. 1215 00:57:18,770 --> 00:57:22,730 >> Het blijkt dat het combineren databases op al uw webservers 1216 00:57:22,730 --> 00:57:25,090 is niet echt best practice. 1217 00:57:25,090 --> 00:57:27,950 In het algemeen, wat een ingenieur zou doen, of systemen architect, 1218 00:57:27,950 --> 00:57:30,340 anders zou hebben niveaus van servers. 1219 00:57:30,340 --> 00:57:33,160 En net omwille van de ruimte is, zal ik stellen hun database hier. 1220 00:57:33,160 --> 00:57:38,060 >> We zouden database en server nummer vier hier 1221 00:57:38,060 --> 00:57:42,430 die wel verbindingen elk van deze servers hier. 1222 00:57:42,430 --> 00:57:45,400 Dus dit kan onze concurrenten voor te zijn end tier, als mensen zouden zeggen. 1223 00:57:45,400 --> 00:57:47,770 En dit zou onze back end tier zijn. 1224 00:57:47,770 --> 00:57:50,580 En dat betekent gewoon dat die het gezicht van de gebruiker. 1225 00:57:50,580 --> 00:57:53,010 En de databases niet het gezicht van de gebruiker. 1226 00:57:53,010 --> 00:57:55,480 Geen gebruiker kan direct de database. 1227 00:57:55,480 --> 00:57:59,280 >> Dus laten we nu misschien naar beneden gaan de route Victoria voorgesteld. 1228 00:57:59,280 --> 00:58:00,940 Dit is een single point of failure. 1229 00:58:00,940 --> 00:58:02,290 Dat maakt me ongemakkelijk. 1230 00:58:02,290 --> 00:58:05,790 Dus wat is misschien wel de meest voor de hand liggende oplossing? 1231 00:58:05,790 --> 00:58:06,665 PUBLIEK: [ONVERSTAANBAAR] 1232 00:58:06,665 --> 00:58:09,979 1233 00:58:09,979 --> 00:58:11,437 DAVID MALAN: Sorry, zeg dat nog eens. 1234 00:58:11,437 --> 00:58:12,352 PUBLIEK: [ONVERSTAANBAAR] 1235 00:58:12,352 --> 00:58:13,810 DAVID MALAN: Non-productie server. 1236 00:58:13,810 --> 00:58:15,364 Wat bedoelt u? 1237 00:58:15,364 --> 00:58:17,120 >> PUBLIEK: [ONVERSTAANBAAR] 1238 00:58:17,120 --> 00:58:19,120 >> DAVID MALAN: Oh, OK, dus back-ups. 1239 00:58:19,120 --> 00:58:21,110 OK, dus we konden doen, zeker. 1240 00:58:21,110 --> 00:58:23,790 En eigenlijk is dit zeer vaak gedaan. 1241 00:58:23,790 --> 00:58:26,470 Dit kan de database nummer vijf zijn. 1242 00:58:26,470 --> 00:58:28,510 Maar dat is alleen aangesloten op nummer vier. 1243 00:58:28,510 --> 00:58:31,110 En je zou noemen het een hot spare. 1244 00:58:31,110 --> 00:58:35,080 Deze twee databases kunnen worden geconfigureerd gewoon constant synchroniseren 1245 00:58:35,080 --> 00:58:35,850 elkaar. 1246 00:58:35,850 --> 00:58:39,010 En dus als deze machine sterft, voor wat dom reason-- de harde schijf 1247 00:58:39,010 --> 00:58:42,100 overlijdt, iemand struikelt over de koord, sommige software is gebrekkig 1248 00:58:42,100 --> 00:58:46,560 en de machine hangt of crashes-- je kan een mens hebben letterlijk 1249 00:58:46,560 --> 00:58:51,090 stekker deze van de muur en in plaats daarvan sluit deze in. 1250 00:58:51,090 --> 00:58:56,340 En vervolgens binnen, laten we zeggen, een enkele minuten, misschien een half uur, 1251 00:58:56,340 --> 00:58:57,210 je bent terug online. 1252 00:58:57,210 --> 00:58:59,259 >> Het is niet geweldig, maar het is ook niet verschrikkelijk. 1253 00:58:59,259 --> 00:59:01,800 En je hoeft geen zorgen te maken over eventuele synchronisatieproblemen. 1254 00:59:01,800 --> 00:59:03,080 Omdat alles er al is. 1255 00:59:03,080 --> 00:59:05,000 Want je had een perfect back-up klaar om te gaan. 1256 00:59:05,000 --> 00:59:07,100 >> Je zou een beetje te zijn liefhebber over dit, 1257 00:59:07,100 --> 00:59:12,990 zoals sommige mensen vaak doen, waar je misschien databank nummer vier hier hebben, 1258 00:59:12,990 --> 00:59:17,480 databank nummer vijf hier, die praten met elkaar. 1259 00:59:17,480 --> 00:59:24,120 Maar je hebt ook deze soort arrangement-- 1260 00:59:24,120 --> 00:59:27,440 en het met opzet slordig uitziet, omdat het 1261 00:59:27,440 --> 00:59:30,220 is-- waar alle front-end servers kunnen 1262 00:59:30,220 --> 00:59:32,870 praten met alle naherfstservers. 1263 00:59:32,870 --> 00:59:38,130 En dus als deze databank niet reageren, deze front-end servers 1264 00:59:38,130 --> 00:59:40,212 de programmering hebben code in hen die zegt: 1265 00:59:40,212 --> 00:59:42,170 als je niet krijgt een verbinding met deze database 1266 00:59:42,170 --> 00:59:45,830 de primaire start onmiddellijk praten met de secundaire. 1267 00:59:45,830 --> 00:59:48,310 >> Maar dit duwt nu de complexiteit van de code. 1268 00:59:48,310 --> 00:59:52,070 En nu ontwikkelaars, software ontwikkelaars, moeten weten. 1269 00:59:52,070 --> 00:59:56,454 En je bent soort van de koppeling van de code die je schrijft uw werkelijke back-end 1270 00:59:56,454 --> 00:59:58,370 implementatie details, waardoor het moeilijker, 1271 00:59:58,370 --> 01:00:00,670 vooral in een grotere bedrijf of een grotere website, 1272 01:00:00,670 --> 01:00:05,020 waar je niet per se willen dat de programmeurs hebben 1273 01:00:05,020 --> 01:00:10,890 weten hoe de gegevensbank ingenieurs doen hun werk. 1274 01:00:10,890 --> 01:00:13,810 Je zou willen om die rollen te houden soort functioneel verschillend dus 1275 01:00:13,810 --> 01:00:16,810 dat er dit laagje abstractie tussen de twee. 1276 01:00:16,810 --> 01:00:17,940 >> Dus hoe kunnen we dit oplossen? 1277 01:00:17,940 --> 01:00:20,290 Nou, we soort opgelost dit probleem een ​​keer eerder. 1278 01:00:20,290 --> 01:00:25,680 Waarom gaan we niet zetten een van deze dingen hier, waar 1279 01:00:25,680 --> 01:00:30,947 het spreekt op zijn beurt tot nummer vier en vijf, alle vooreinde webservers 1280 01:00:30,947 --> 01:00:33,780 praat met deze tussenpersoon, en de tussenpersoon op zijn beurt routes hun gegevens? 1281 01:00:33,780 --> 01:00:38,494 In feite, wat misschien een goede naam voor dit ding? 1282 01:00:38,494 --> 01:00:39,704 >> PUBLIEK: [ONVERSTAANBAAR] 1283 01:00:39,704 --> 01:00:41,120 DAVID MALAN: OK, database manager. 1284 01:00:41,120 --> 01:00:48,030 Maar wat kan een termijn die we kunnen hergebruiken voor dit apparaat? 1285 01:00:48,030 --> 01:00:49,760 We balanceren. 1286 01:00:49,760 --> 01:00:52,480 Ja, dus eigenlijk, ik ben hier niet eerlijk. 1287 01:00:52,480 --> 01:00:56,760 Dus een load balancer zou impliceren dat we schakelen heen en weer hier, 1288 01:00:56,760 --> 01:00:58,836 die moeten niet echt het geval. 1289 01:00:58,836 --> 01:01:00,460 Dus er zijn een paar manieren waarop we konden doen. 1290 01:01:00,460 --> 01:01:03,920 >> Indien dit inderdaad een load balancer, de verhaal is precies hetzelfde als voorheen. 1291 01:01:03,920 --> 01:01:05,230 Sommige van de verzoeken naar 4. 1292 01:01:05,230 --> 01:01:06,150 Sommigen naar 5. 1293 01:01:06,150 --> 01:01:06,710 En dat is goed. 1294 01:01:06,710 --> 01:01:08,835 Want nu kunnen we omgaan tweemaal zoveel throughput. 1295 01:01:08,835 --> 01:01:11,120 Maar deze verbinding hier is super belangrijk. 1296 01:01:11,120 --> 01:01:14,050 Ze moeten constant blijven gesynchroniseerd en hopelijk 1297 01:01:14,050 --> 01:01:17,670 zijn niet geografisch te ver uit elkaar, zodat dat de synchronisatie in hoofdzaak 1298 01:01:17,670 --> 01:01:18,520 onmiddellijk. 1299 01:01:18,520 --> 01:01:20,410 Anders zouden we een probleem hebben. 1300 01:01:20,410 --> 01:01:21,330 >> Dus dat is niet slecht. 1301 01:01:21,330 --> 01:01:25,132 Maar nogmaals, we hebben introduceerde een nieuw probleem. 1302 01:01:25,132 --> 01:01:26,590 Welk probleem heb ik gewoon opnieuw? 1303 01:01:26,590 --> 01:01:30,000 1304 01:01:30,000 --> 01:01:31,020 Single point of failure. 1305 01:01:31,020 --> 01:01:32,390 Dus wat is de oplossing voor dat? 1306 01:01:32,390 --> 01:01:39,270 Dus als Victoria's dol op om geld te besteden, kunnen we deze man nemen en dit te doen. 1307 01:01:39,270 --> 01:01:41,731 En ik ga gewoon bewegen hier genoeg ruimte. 1308 01:01:41,731 --> 01:01:43,230 En het gaat een beetje rommelig te zijn. 1309 01:01:43,230 --> 01:01:44,563 Ik ga het tekenen van lijnen te houden. 1310 01:01:44,563 --> 01:01:47,080 Stel dat alle die lijnen gaan in beide? 1311 01:01:47,080 --> 01:01:52,670 >> Een veel voorkomende techniek zou hier een techniek genaamd hartslag gebruiken 1312 01:01:52,670 --> 01:01:57,390 waarbij elk van deze inrichtingen, links en rechts load balancers, 1313 01:01:57,390 --> 01:02:00,740 of wat we willen hen te bellen, is voortdurend te zeggen: ik leef, 1314 01:02:00,740 --> 01:02:03,220 Ik leef, ik leef, ik leef. 1315 01:02:03,220 --> 01:02:05,910 Eén van hen standaard treedt op als eerste. 1316 01:02:05,910 --> 01:02:09,620 Dus al het verkeer wordt omgeleid via de ene aan de linkerkant, bijvoorbeeld, 1317 01:02:09,620 --> 01:02:11,260 standaard willekeurig. 1318 01:02:11,260 --> 01:02:16,890 >> Maar zodra de man op de juiste niet meer horen van links man, 1319 01:02:16,890 --> 01:02:20,440 de een aan de rechterkant is geprogrammeerd automatisch, bijvoorbeeld 1320 01:02:20,440 --> 01:02:24,110 nemen via het IP-adres van de ene aan de linkerkant, 1321 01:02:24,110 --> 01:02:28,240 en daarom worden de primaire en Misschien stuur dan een e-mail of een SMS-bericht 1322 01:02:28,240 --> 01:02:31,570 om de mensen te zeggen: hey, de linker primaire is offline. 1323 01:02:31,570 --> 01:02:33,310 Ik zal primair worden voor nu. 1324 01:02:33,310 --> 01:02:35,760 Dus vice-president wordt president, om zo te zeggen. 1325 01:02:35,760 --> 01:02:38,180 En iemand moet gaan redden de president, als je wilt. 1326 01:02:38,180 --> 01:02:41,090 Want nu hebben we een tijdelijke single point of failure. 1327 01:02:41,090 --> 01:02:45,020 >> Dus zo ingewikkeld of stressvol als Dit lijkt om te beginnen wordt, 1328 01:02:45,020 --> 01:02:46,990 dit is hoe je deze problemen op te lossen. 1329 01:02:46,990 --> 01:02:48,190 Dat doe je gooit geld in. 1330 01:02:48,190 --> 01:02:49,370 Je gooit hardware in. 1331 01:02:49,370 --> 01:02:52,170 Maar helaas je toe te voegen complexiteit voor. 1332 01:02:52,170 --> 01:02:56,450 Maar het resultaat uiteindelijk, dat heb je een veel meer, in theorie, 1333 01:02:56,450 --> 01:02:57,670 robuuste architectuur. 1334 01:02:57,670 --> 01:02:58,850 Het is nog niet perfect. 1335 01:02:58,850 --> 01:03:02,470 Want zelfs als we have-- we misschien niet een single point of failure. 1336 01:03:02,470 --> 01:03:05,240 We hebben nu dual points of failure. 1337 01:03:05,240 --> 01:03:07,630 Maar als twee dingen verkeerd gaan, die absoluut kon, 1338 01:03:07,630 --> 01:03:09,030 we gaan nog steeds offline zijn. 1339 01:03:09,030 --> 01:03:11,660 >> En zo heel gebruikelijk in de industrie te beschrijven 1340 01:03:11,660 --> 01:03:14,000 je up tijd in termen van negens. 1341 01:03:14,000 --> 01:03:18,610 En sorteren van het doel te streven naar is 99,999% 1342 01:03:18,610 --> 01:03:21,580 van de tijd dat uw site online is. 1343 01:03:21,580 --> 01:03:24,170 Of nog beter, voeg een paar negens dat. 1344 01:03:24,170 --> 01:03:28,159 Helaas zijn deze negens zijn erg duur. 1345 01:03:28,159 --> 01:03:29,450 En laten we dit eigenlijk doen uit. 1346 01:03:29,450 --> 01:03:35,510 Dus als ik open mijn grote rekenmachine weer, 365 dagen per jaar, 24 uur in een dag, 1347 01:03:35,510 --> 01:03:44,780 60 minuten in een uur, en 60 seconden in een minuut, 1348 01:03:44,780 --> 01:03:48,690 dat is hoeveel seconden er in een jaar als ik het goed. 1349 01:03:48,690 --> 01:03:55,740 Dus als we dit keer door 0,99999, dat is hoeveel tijd we willen streven. 1350 01:03:55,740 --> 01:04:00,600 Dus dat betekent dat we moeten worden dit aantal seconden gedurende het jaar. 1351 01:04:00,600 --> 01:04:03,920 Dus als ik nu aftrekken van de oorspronkelijke waarde, of liever 1352 01:04:03,920 --> 01:04:07,480 Deze nieuwe waarde van de first-- 316 seconden, 1353 01:04:07,480 --> 01:04:09,640 wat natuurlijk is vijf minuten. 1354 01:04:09,640 --> 01:04:13,770 >> Dus als uw website of uw bedrijf claimen "vijf negens", waarbij je bent 1355 01:04:13,770 --> 01:04:17,050 tot 99,99% van de tijd, dat betekent dat je beter 1356 01:04:17,050 --> 01:04:23,470 zijn slim genoeg en snel geweest genoeg en flush genoeg met de middelen 1357 01:04:23,470 --> 01:04:27,890 dat uw servers zijn alleen offline vijf minuten van het jaar. 1358 01:04:27,890 --> 01:04:29,980 Het is een dure en moeilijk ding om naar te streven. 1359 01:04:29,980 --> 01:04:31,430 >> Dus het is een afweging, ook. 1360 01:04:31,430 --> 01:04:35,866 99,999% van de tijd is vrij darn moeilijk en duur. 1361 01:04:35,866 --> 01:04:38,740 Vijf minutes-- je nauwelijks kunt krijgen de server fysiek vervanging 1362 01:04:38,740 --> 01:04:40,040 iets dat mis is gegaan. 1363 01:04:40,040 --> 01:04:42,810 En daarom beginnen we bedrading dingen samen ingewikkelder 1364 01:04:42,810 --> 01:04:48,240 apriori zodat de computers kunnen zich soort vast te stellen. 1365 01:04:48,240 --> 01:04:49,446 Ja. 1366 01:04:49,446 --> 01:04:52,344 >> PUBLIEK: [ONVERSTAANBAAR] 1367 01:04:52,344 --> 01:05:02,014 1368 01:05:02,014 --> 01:05:04,430 DAVID MALAN: het probleem zou kunnen in een aantal plaatsen. 1369 01:05:04,430 --> 01:05:05,090 En in fact-- 1370 01:05:05,090 --> 01:05:07,101 >> PUBLIEK: [ONVERSTAANBAAR] 1371 01:05:07,101 --> 01:05:08,600 DAVID MALAN: Absoluut, absoluut. 1372 01:05:08,600 --> 01:05:10,720 En als het beeld is steeds ingewikkelder, 1373 01:05:10,720 --> 01:05:12,110 het zou kunnen zijn de webservers. 1374 01:05:12,110 --> 01:05:14,690 Het zou de macht om het gebouw. 1375 01:05:14,690 --> 01:05:17,900 Het zou iets fysieks, zoals zijn de kabels raakte gerafeld of geschopt. 1376 01:05:17,900 --> 01:05:19,879 Het zou de database reageert niet. 1377 01:05:19,879 --> 01:05:22,920 Het kan worden ze bijgewerkt hun operationele -systeem en iets opknoping. 1378 01:05:22,920 --> 01:05:24,634 Dus er zijn zoveel andere bewegende delen. 1379 01:05:24,634 --> 01:05:27,050 En zo veel van de techniek dat moet gaan hierachter 1380 01:05:27,050 --> 01:05:30,431 is eigenlijk alleen maar de handel offs, zoals hoe veel tijd, hoeveel geld is het eigenlijk 1381 01:05:30,431 --> 01:05:32,930 de moeite waard, en wat zijn de bedreigingen je bent echt bezorgd over? 1382 01:05:32,930 --> 01:05:35,471 Bijvoorbeeld, in de cursussen die ik geef les aan Harvard, 1383 01:05:35,471 --> 01:05:38,470 We gebruiken veel van cloud computing, die we beginnen met een blik op nu, 1384 01:05:38,470 --> 01:05:41,107 in feite, wanneer we gebruiken Amazon Web Services. 1385 01:05:41,107 --> 01:05:42,940 Gewoon omdat dat de degene die we begonnen met. 1386 01:05:42,940 --> 01:05:45,856 Maar er is steeds meer van deze dagen van Google en Microsoft en anderen. 1387 01:05:45,856 --> 01:05:50,030 En we bewust voor kiezen om alle zetten virtuele machines onze cursussen ', 1388 01:05:50,030 --> 01:05:55,400 zoals ze heten, in het denk ik het is West-Virginia datacenter. 1389 01:05:55,400 --> 01:05:57,560 De meeste van onze studenten toevallig uit de VS, 1390 01:05:57,560 --> 01:05:59,820 hoewel er zeker een aantal internationaal. 1391 01:05:59,820 --> 01:06:02,630 >> Maar de realiteit is dat het gewoon eenvoudiger en het is goedkoper voor ons 1392 01:06:02,630 --> 01:06:05,540 aan al onze eieren leggen in de Virginia mand, 1393 01:06:05,540 --> 01:06:08,050 hoewel ik weet dat als er iets misgaat in Virginia, 1394 01:06:08,050 --> 01:06:12,760 zo heeft af en toe happened-- zoals als er een orkaan of een weer 1395 01:06:12,760 --> 01:06:15,890 gebeurtenis als dat, als er een aantal machtskwestie rooster of de like-- alle 1396 01:06:15,890 --> 01:06:20,240 van de gegevens van onze cursussen 'misschien offline te gaan gedurende een aantal minuten of uren 1397 01:06:20,240 --> 01:06:21,600 of zelfs langer. 1398 01:06:21,600 --> 01:06:24,020 >> Maar de hoeveelheid complexiteit dat nodig zou zijn, 1399 01:06:24,020 --> 01:06:26,895 en de hoeveelheid geld die zou nodig zijn, om alles te bedienen 1400 01:06:26,895 --> 01:06:31,420 parallel in Europa of California gewoon niet zo veel zin. 1401 01:06:31,420 --> 01:06:35,080 Dus het is een rationele handel off, maar een pijnlijke 1402 01:06:35,080 --> 01:06:37,740 als je eigenlijk het hebben van die downtime. 1403 01:06:37,740 --> 01:06:41,830 >> Nou, laten we de overgang op dit moment om een aantal van de cloud-gebaseerde oplossingen 1404 01:06:41,830 --> 01:06:43,320 sommige van deze problemen. 1405 01:06:43,320 --> 01:06:45,040 Alles wat we zijn geweest bespreking tot dusver 1406 01:06:45,040 --> 01:06:47,527 is een soort van problemen die moeten bij ons voor enige tijd, 1407 01:06:47,527 --> 01:06:49,610 of u uw eigen servers in uw bedrijf, 1408 01:06:49,610 --> 01:06:52,740 of je naar een co-locatie plaats als een datacenter en delen 1409 01:06:52,740 --> 01:06:55,110 ruimte met iemand anders, of tegenwoordig in de cloud. 1410 01:06:55,110 --> 01:06:57,040 >> En wat is er leuk is aan de cloud is dat alle 1411 01:06:57,040 --> 01:06:59,540 van die dingen die ik ben tekenen als fysieke objecten 1412 01:06:59,540 --> 01:07:02,400 kan nu worden gezien als soort van virtuele objecten 1413 01:07:02,400 --> 01:07:04,659 in de cloud die gesimuleerd met software. 1414 01:07:04,659 --> 01:07:07,700 Met andere woorden, de moderne computers, servers van vandaag, zoals de Dell beeld 1415 01:07:07,700 --> 01:07:11,720 Ik al eerder liet zien, zijn zo snel, hebben zo veel RAM, zoveel CPU, zo veel disk 1416 01:07:11,720 --> 01:07:16,140 ruimte, die mensen hebben geschreven software vrijwel partitie 1417 01:07:16,140 --> 01:07:21,130 één server omhoog in de illusie ervan het zijn twee servers, of 200 servers, dus 1418 01:07:21,130 --> 01:07:24,150 dat ieder van ons de klanten heeft de illusie van 1419 01:07:24,150 --> 01:07:29,110 niet alleen een account op een aantal web hosten, maar onze eigen machine die we 1420 01:07:29,110 --> 01:07:30,490 het huren van iemand anders. 1421 01:07:30,490 --> 01:07:34,140 >> Maar het is een virtuele machine Voorzover op een Dell server, 1422 01:07:34,140 --> 01:07:39,160 opnieuw kan worden opgedeeld in twee of 200 of meer virtuele machines, 1423 01:07:39,160 --> 01:07:43,770 die allemaal geef iemand administratieve toegang, maar op een manier, waar niemand van ons 1424 01:07:43,770 --> 01:07:48,040 weet of u toegang tot andere virtuele machines op dezelfde hardware. 1425 01:07:48,040 --> 01:07:53,430 Dus om een ​​beeld te schetsen in dia's van vandaag, Ik heb dit geschoten hier van een website 1426 01:07:53,430 --> 01:07:54,160 genaamd Docker. 1427 01:07:54,160 --> 01:07:56,970 >> Dus dit is een beetje meer detail dan we eigenlijk nodig hebben. 1428 01:07:56,970 --> 01:07:59,830 Maar als je dit als uw infrastructure-- 1429 01:07:59,830 --> 01:08:02,910 dus gewoon de hardware van uw eigen, uw servers, de rekken, de gegevens 1430 01:08:02,910 --> 01:08:06,480 center, en alle dat-- je zou meestal uitvoeren van een host-besturingssysteem. 1431 01:08:06,480 --> 01:08:08,275 Zo iets like-- het zou kunnen Windows. 1432 01:08:08,275 --> 01:08:09,430 Het zou niet Mac OS. 1433 01:08:09,430 --> 01:08:11,430 Want dat is niet echt enterprise deze dagen. 1434 01:08:11,430 --> 01:08:15,670 Dus het zou Linux of Solaris worden of Unix of BSD of FreeBSD 1435 01:08:15,670 --> 01:08:19,779 of een aantal andere besturingssystemen die zijn ofwel gratis of commerciële. 1436 01:08:19,779 --> 01:08:22,120 >> En dan loop je een programma, speciaal programma, 1437 01:08:22,120 --> 01:08:26,479 riep een hypervisor, of virtual machine monitor, VMM. 1438 01:08:26,479 --> 01:08:31,649 En dit zijn producten, als je vertrouwd, zoals VMware of VirtualBox 1439 01:08:31,649 --> 01:08:34,080 of Virtual PC of anderen. 1440 01:08:34,080 --> 01:08:38,430 En wat deze programma's doen is precies die functie ik eerder beschreef. 1441 01:08:38,430 --> 01:08:41,779 Het creëert de illusie dat één fysieke machine 1442 01:08:41,779 --> 01:08:44,550 kunnen meerdere virtuele machines. 1443 01:08:44,550 --> 01:08:48,260 >> En dus deze kleurrijke dozen up top is het schilderen van een beeld van het volgende. 1444 01:08:48,260 --> 01:08:50,260 Deze hypervisor, dit stukje software, noem het 1445 01:08:50,260 --> 01:08:54,090 VMware, die draait op een andere besturingssysteem, noem het Linux, 1446 01:08:54,090 --> 01:08:56,910 is het creëren van de illusie dat Deze fysieke computer daadwerkelijk 1447 01:08:56,910 --> 01:09:00,149 één, twee, drie virtuele computers. 1448 01:09:00,149 --> 01:09:04,270 Dus ik heb nu gekocht, als eigenaar van Deze hardware, één fysieke computer. 1449 01:09:04,270 --> 01:09:06,200 En nu ben ik het huren aan drie klanten. 1450 01:09:06,200 --> 01:09:09,731 >> En die drie klanten denk dat alle zij hebben een toegewezen virtuele machine. 1451 01:09:09,731 --> 01:09:10,939 En het is niet bait and switch. 1452 01:09:10,939 --> 01:09:13,750 Het is meer dat openbaarmaking u een virtuele machine. 1453 01:09:13,750 --> 01:09:17,589 Maar technologisch, we hebben allemaal hebben volledige administratieve controle 1454 01:09:17,589 --> 01:09:19,880 meer dan elk van die gast besturingssystemen, waardoor 1455 01:09:19,880 --> 01:09:21,370 zijn een aantal besturingssystemen. 1456 01:09:21,370 --> 01:09:23,029 >> Ik kan wat ik wil installeren. 1457 01:09:23,029 --> 01:09:24,640 Ik kan het upgraden als ik wil. 1458 01:09:24,640 --> 01:09:27,470 En ik weet niet eens te weten of zorg over de overige bedrijfskosten 1459 01:09:27,470 --> 01:09:29,678 systemen op die computer, de andere virtuele machines, 1460 01:09:29,678 --> 01:09:35,290 tenzij de eigenaar van al deze grijze spul is een beetje hebberig 1461 01:09:35,290 --> 01:09:37,540 en opdringen van zijn of haar middelen. 1462 01:09:37,540 --> 01:09:40,800 >> Dus als je het nemen van een fysieke machine en verkopen 1463 01:09:40,800 --> 01:09:44,399 maar niet 200 400 klanten, ergens 1464 01:09:44,399 --> 01:09:47,270 we gaan trippen in deze Dezelfde problemen met de prestaties als voorheen. 1465 01:09:47,270 --> 01:09:50,460 Want je hebt maar een eindige hoeveelheid schijfruimte en RAM enzovoort. 1466 01:09:50,460 --> 01:09:53,450 En een virtuele machine is gewoon een programma dat is 1467 01:09:53,450 --> 01:09:56,140 doen alsof ze een zijn volwaardige computer. 1468 01:09:56,140 --> 01:09:58,040 Dus je krijgt waar je voor betaalt. 1469 01:09:58,040 --> 01:10:02,150 >> Dus u online zult merken dat je zou kunnen betalen een gerenommeerd bedrijf misschien $ 100 per maand 1470 01:10:02,150 --> 01:10:05,660 voor je eigen virtuele machine, of uw eigen virtual private server, 1471 01:10:05,660 --> 01:10:07,090 dat is een andere term voor het. 1472 01:10:07,090 --> 01:10:10,400 Of je zou een aantal fly door vinden 's nachts waar je betaalt $ 5,99 per maand 1473 01:10:10,400 --> 01:10:12,080 voor uw eigen virtuele machine. 1474 01:10:12,080 --> 01:10:15,614 Maar kansen zijn je hoeft lang niet hebben zo veel prestaties voor u beschikbaar, 1475 01:10:15,614 --> 01:10:18,530 want ze zijn opdringen is dus, dan je zou doen met de hogere 1476 01:10:18,530 --> 01:10:22,340 tier van de dienst of de betere leverancier. 1477 01:10:22,340 --> 01:10:24,590 >> Dus wat betekent dit eigenlijk voor ons? 1478 01:10:24,590 --> 01:10:26,110 Dus laat me gaan naar dit. 1479 01:10:26,110 --> 01:10:29,580 Ik ga om te gaan naar aws.amazon.com. 1480 01:10:29,580 --> 01:10:31,590 Gewoon omdat ze hebben een mooi menu met opties. 1481 01:10:31,590 --> 01:10:34,700 Maar deze zelfde lessen toepassen op een heleboel andere cloud leveranciers. 1482 01:10:34,700 --> 01:10:38,201 Helaas, het is vaak meer marketing spreken dan wat dan ook. 1483 01:10:38,201 --> 01:10:39,200 En dit blijft veranderen. 1484 01:10:39,200 --> 01:10:41,820 Dus ga je naar een website als deze. 1485 01:10:41,820 --> 01:10:44,560 En dit is echt niet zeg je veel van alles. 1486 01:10:44,560 --> 01:10:47,780 >> En zelfs ik, als ik kijk naar dit, doe niet echt weten wat een van deze dingen 1487 01:10:47,780 --> 01:10:49,334 per se doen tot ik duik in. 1488 01:10:49,334 --> 01:10:50,875 Maar laten we beginnen aan de linkerkant, Compute. 1489 01:10:50,875 --> 01:10:52,980 En ik ga dit klikken. 1490 01:10:52,980 --> 01:10:56,960 En nu Amazon heeft eerlijk gezegd een overweldigend aantal diensten 1491 01:10:56,960 --> 01:10:57,960 de laatste tijd. 1492 01:10:57,960 --> 01:11:01,040 Maar Amazon EC2 is misschien wel de eenvoudigste. 1493 01:11:01,040 --> 01:11:05,840 >> Amazon EC2 zal precies te creëren voor ons het beeld zagen we een ogenblik geleden. 1494 01:11:05,840 --> 01:11:10,240 Het is hoe ze maken veel hun geld in de cloud. 1495 01:11:10,240 --> 01:11:12,910 Blijkbaar Netflix en anderen zijn in de cloud met hen. 1496 01:11:12,910 --> 01:11:16,260 Dit is allemaal typisch pluizige marketing spreken. 1497 01:11:16,260 --> 01:11:19,720 Dus wat ik wil doen is naar Pricing-- of liever laten we naar Instances 1498 01:11:19,720 --> 01:11:23,790 eerst alleen maar om een ​​beeld van dit te schilderen. 1499 01:11:23,790 --> 01:11:25,800 >> Dus dit is afhankelijk van de leverancier. 1500 01:11:25,800 --> 01:11:29,590 En we hoeven niet te diep in te krijgen het onkruid hier van hoe dit allemaal werkt. 1501 01:11:29,590 --> 01:11:34,720 Maar zoals Amazon bijvoorbeeld huurt u een virtuele machine of een server 1502 01:11:34,720 --> 01:11:37,200 in de cloud wordt ze hebben dit soort grappige namen, 1503 01:11:37,200 --> 01:11:41,000 zoals t2.nano, die kleine middelen, of t2.large, die groot betekent. 1504 01:11:41,000 --> 01:11:43,970 Elk van hen geeft je ofwel één of twee virtuele CPU's. 1505 01:11:43,970 --> 01:11:45,470 >> Waarom is het een virtuele CPU? 1506 01:11:45,470 --> 01:11:49,440 Nou ja, de fysieke machine zou hebben 64 of meer werkelijke CPU's. 1507 01:11:49,440 --> 01:11:52,125 Maar nogmaals, door middel van software, creëren ze de illusie 1508 01:11:52,125 --> 01:11:55,410 dat een machine kan worden divvied aan meerdere gebruikers. 1509 01:11:55,410 --> 01:11:58,765 Dus kunnen we denken aan dit als het hebben van een Intel CPU of twee. 1510 01:11:58,765 --> 01:12:01,290 CPU credits per hour-- zou ik moet u de kleine lettertjes te lezen 1511 01:12:01,290 --> 01:12:02,581 wat dit eigenlijk betekent. 1512 01:12:02,581 --> 01:12:05,850 Het betekent hoeveel van de machine u kunt gebruiken per uur vis-à-vis 1513 01:12:05,850 --> 01:12:07,730 andere klanten die hardware. 1514 01:12:07,730 --> 01:12:11,560 >> Hier is hoeveel RAM-geheugen of geheugen get-- ofwel een halve gigabyte, of 500 1515 01:12:11,560 --> 01:12:14,120 megabytes, of 1 gigabyte, of 2. 1516 01:12:14,120 --> 01:12:17,390 En dan de opslag alleen betrekking heeft op wat voor soort schijven geven ze je. 1517 01:12:17,390 --> 01:12:19,950 Er zijn verschillende storage technologieën die zij aanbieden. 1518 01:12:19,950 --> 01:12:22,870 Maar interessanter dan dit dan zou de prijsstelling zijn. 1519 01:12:22,870 --> 01:12:25,860 >> Dus als je de CTO of een ingenieur die dat niet doet 1520 01:12:25,860 --> 01:12:28,420 wil een server draaien in uw kantoor, om welke reden dan ook, 1521 01:12:28,420 --> 01:12:30,230 en het is veel te ingewikkelde of dure 1522 01:12:30,230 --> 01:12:33,930 om servers te kopen en co-lokaliseren hen en huur betalen in een aantal fysieke ruimte kooi 1523 01:12:33,930 --> 01:12:36,670 somewhere-- je gewoon wilt zitten op uw laptop 's avonds laat, 1524 01:12:36,670 --> 01:12:40,480 typt u in uw credit card informatie, en huur servers in de cloud-- goed, 1525 01:12:40,480 --> 01:12:41,920 we kunnen het hier doen. 1526 01:12:41,920 --> 01:12:45,769 Ik ga naar beneden te gaan to-- Linux is een populaire besturingssysteem. 1527 01:12:45,769 --> 01:12:47,310 En laten we gewoon een gevoel van dingen. 1528 01:12:47,310 --> 01:12:48,990 Whoops-- te groot. 1529 01:12:48,990 --> 01:12:53,670 >> Dus laten we eens kijken naar hun kleinste virtual machine, die lijkt te hebben, 1530 01:12:53,670 --> 01:12:57,440 voor onze doeleinden, een CPU en 500 MB RAM-geheugen. 1531 01:12:57,440 --> 01:12:58,440 Dat is vrij klein. 1532 01:12:58,440 --> 01:13:00,820 Maar eerlijk gezegd, webservers niet moeten zo veel te doen. 1533 01:13:00,820 --> 01:13:02,630 Je hebt een betere specs in uw laptop. 1534 01:13:02,630 --> 01:13:04,990 Maar je hoeft niet degenen specs van deze dag voor dingen. 1535 01:13:04,990 --> 01:13:11,490 Je gaat naar $ 0,0065 per uur te betalen. 1536 01:13:11,490 --> 01:13:12,080 >> Dus laten we eens kijken. 1537 01:13:12,080 --> 01:13:15,970 Als er 24 uur in een dag, en we betalen dit veel per uur, 1538 01:13:15,970 --> 01:13:20,680 het kost je $ 0,15 te huur dat bepaalde server in de cloud. 1539 01:13:20,680 --> 01:13:22,210 En dat is nog maar voor een dag. 1540 01:13:22,210 --> 01:13:27,050 Als we dit doen 365-- $ 57 tot huren die bepaalde server. 1541 01:13:27,050 --> 01:13:28,420 het klinkt zo super goedkoop. 1542 01:13:28,420 --> 01:13:31,100 >> Dat is ook super lage prestaties. 1543 01:13:31,100 --> 01:13:37,169 Dus we, voor cursussen die ik leer hier, hebben de neiging te gebruiken Ik denk t2.smalls of t2.mediums. 1544 01:13:37,169 --> 01:13:39,960 En we zouden een paar honderd hebben gebruikers, een paar duizend gebruikers, totaal. 1545 01:13:39,960 --> 01:13:40,900 Het is vrij bescheiden. 1546 01:13:40,900 --> 01:13:42,360 Dus laten we zien wat dit zou kosten. 1547 01:13:42,360 --> 01:13:49,260 Dus als ik doe dit de kosten tijden 24 uur tijd 365, deze is $ 225. 1548 01:13:49,260 --> 01:13:51,160 En voor de cursussen Ik geef les, wij over het algemeen 1549 01:13:51,160 --> 01:13:54,970 lopen twee van alles, voor redundantie en ook voor prestaties. 1550 01:13:54,970 --> 01:13:59,230 Dus we kunnen besteden, dus $ 500 voor de servers 1551 01:13:59,230 --> 01:14:00,860 dat we nodig zou kunnen hebben per jaar. 1552 01:14:00,860 --> 01:14:05,210 >> Nu, als je meer nodig hebt performance-- laten we eens een kijkje nemen op het geheugen. 1553 01:14:05,210 --> 01:14:06,810 We hebben gesproken over het geheugen nogal wat. 1554 01:14:06,810 --> 01:14:09,330 En als je meer nodig hebt memory-- en 64 gigabytes 1555 01:14:09,330 --> 01:14:12,310 is het nummer dat ik hield mentioning-- dit is bijna $ 1 per uur. 1556 01:14:12,310 --> 01:14:16,180 En je kunt vrij snel zien waar dit goes-- dus 24 uur 365 keer. 1557 01:14:16,180 --> 01:14:20,580 Dus nu is het $ 8000 per jaar voor een heel behoorlijk server. 1558 01:14:20,580 --> 01:14:23,010 >> Dus op een gegeven moment, er is dit buigpunt 1559 01:14:23,010 --> 01:14:29,510 Waar nu we konden besteden $ 6000 waarschijnlijk en koop een machine als dat 1560 01:14:29,510 --> 01:14:33,800 en afschrijven de kosten dan misschien twee, drie jaar, de levensduur van de machine. 1561 01:14:33,800 --> 01:14:38,880 Maar wat zou je duwen in gunst of ongenade van de huur 1562 01:14:38,880 --> 01:14:41,230 een machine in de cloud als dit? 1563 01:14:41,230 --> 01:14:44,110 Nogmaals, dit is vergelijkbaar waarschijnlijk een van die Dell-servers 1564 01:14:44,110 --> 01:14:47,208 we zagen afgebeeld een beetje geleden. 1565 01:14:47,208 --> 01:14:51,016 >> PUBLIEK: [ONVERSTAANBAAR] 1566 01:14:51,016 --> 01:14:54,350 1567 01:14:54,350 --> 01:14:56,190 >> DAVID MALAN: Ja, dat is een enorme ondersteboven. 1568 01:14:56,190 --> 01:14:58,640 Omdat we niet kopen van de machine, hoeven we niet te Unbox. 1569 01:14:58,640 --> 01:14:59,600 We hoeven niet op te tillen. 1570 01:14:59,600 --> 01:15:01,110 We hoeven niet aan te sluiten in onze rack. 1571 01:15:01,110 --> 01:15:02,080 We hoeven niet aan te sluiten in. 1572 01:15:02,080 --> 01:15:03,140 We hoeven niet te betalen de elektrische factuur. 1573 01:15:03,140 --> 01:15:05,120 >> We hoeven niet te draaien de airconditioning aan. 1574 01:15:05,120 --> 01:15:07,620 Wanneer een harde schijf sterft, hebben we niet te rijden in het midden van de nacht 1575 01:15:07,620 --> 01:15:08,172 om het te repareren. 1576 01:15:08,172 --> 01:15:09,630 We hoeven niet op te zetten monitoring. 1577 01:15:09,630 --> 01:15:13,750 We hebben geen to-- de lijst gaat maar door en van alle fysieke dingen 1578 01:15:13,750 --> 01:15:15,810 je hoeft niet te doen als gevolg van "de cloud." 1579 01:15:15,810 --> 01:15:18,620 >> En om duidelijk te zijn, cloud computing Dit is zeer veel gebruikt term. 1580 01:15:18,620 --> 01:15:22,790 Het is echt gewoon betekent dat het betalen van iemand anders te servers draaien voor u, 1581 01:15:22,790 --> 01:15:25,300 of het huren van ruimte op servers van iemand anders. 1582 01:15:25,300 --> 01:15:27,110 Dus de term "cloud computing" is nieuw. 1583 01:15:27,110 --> 01:15:30,260 Het idee is tientallen jaren oud. 1584 01:15:30,260 --> 01:15:32,070 Dus dat is behoorlijk overtuigend. 1585 01:15:32,070 --> 01:15:33,960 >> En wat wil je dan? 1586 01:15:33,960 --> 01:15:38,287 Nou, krijgt u ook de mogelijkheid om te doe alles op een laptop thuis. 1587 01:15:38,287 --> 01:15:40,620 Met andere woorden, alle foto's die ik was gewoon drawing-- 1588 01:15:40,620 --> 01:15:44,010 en het was niet zo lang geleden dat zelfs Ik kroop rond op een server vloer 1589 01:15:44,010 --> 01:15:46,680 inpluggen van de kabels voor elk van de lijnen die je ziet, 1590 01:15:46,680 --> 01:15:49,590 en upgraden van het besturingssysteem systemen en veranderen rijdt rond. 1591 01:15:49,590 --> 01:15:51,610 Er is een heleboel lichamelijkheid om dat allemaal. 1592 01:15:51,610 --> 01:15:55,300 >> Maar wat is mooi over virtual machines, zoals de naam doet vermoeden soort, 1593 01:15:55,300 --> 01:15:57,600 nu zijn er web-based interfaces waarbij 1594 01:15:57,600 --> 01:15:59,900 als je wilt het equivalent van een lijn van deze server 1595 01:15:59,900 --> 01:16:03,959 naar de andere, typ je gewoon, het type, type, klik en sleep op Submit, en voila, 1596 01:16:03,959 --> 01:16:05,250 heb je het bedraad virtueel. 1597 01:16:05,250 --> 01:16:07,235 Omdat het allemaal gedaan in software. 1598 01:16:07,235 --> 01:16:09,110 En de reden waarom het is gebeurd software weer 1599 01:16:09,110 --> 01:16:12,650 want we hebben zo veel RAM en zo veel CPU beschikbaar is voor ons deze dagen, 1600 01:16:12,650 --> 01:16:14,880 hoewel alle dat spul kost tijd, 1601 01:16:14,880 --> 01:16:18,450 het is trager om dingen te draaien in software dan hardware, 1602 01:16:18,450 --> 01:16:23,710 Zoals het ook langzamer mechanische gebruiken apparaat zoals een harde schijf dan RAM, 1603 01:16:23,710 --> 01:16:25,190 wat zuiver elektronisch. 1604 01:16:25,190 --> 01:16:27,490 We hebben zo veel middelen beschikbaar voor ons. 1605 01:16:27,490 --> 01:16:29,920 Wij mensen zijn een soort invariant traag. 1606 01:16:29,920 --> 01:16:33,840 En nu de machines kunnen doen dus veel meer per tijdseenheid. 1607 01:16:33,840 --> 01:16:36,640 We hebben deze vaardigheden om dingen vrijwel doen. 1608 01:16:36,640 --> 01:16:39,120 >> En ik zal zeggen voor cursussen Ik geef les, bijvoorbeeld hier, 1609 01:16:39,120 --> 01:16:43,464 we hebben ongeveer misschien een dozijn of dus totaal van virtuele machines 1610 01:16:43,464 --> 01:16:45,880 als dat draait op elk tijd doen front end spul, 1611 01:16:45,880 --> 01:16:47,620 het doen van back-end spul. 1612 01:16:47,620 --> 01:16:50,237 We hebben al onze opslag. 1613 01:16:50,237 --> 01:16:52,820 Dus geen video's, met inbegrip van de dingen als deze die we schieten, 1614 01:16:52,820 --> 01:16:54,330 belanden we het in de cloud. 1615 01:16:54,330 --> 01:16:58,710 Amazon heeft diensten genoemd Amazon S3, hun eenvoudige storage service, die 1616 01:16:58,710 --> 01:17:00,397 is net als schijfruimte in de cloud. 1617 01:17:00,397 --> 01:17:02,230 Ze hebben iets genaamd CloudFront, die 1618 01:17:02,230 --> 01:17:06,040 is een CDN service, Content Delivery Network dienst, die 1619 01:17:06,040 --> 01:17:10,190 betekent dat ze nemen al uw bestanden en voor u automagisch repliceren 1620 01:17:10,190 --> 01:17:11,290 rond de wereld. 1621 01:17:11,290 --> 01:17:12,780 >> Zodat ze niet preventief te doen. 1622 01:17:12,780 --> 01:17:15,159 Maar de eerste keer dat iemand in India vraagt ​​uw dossier, 1623 01:17:15,159 --> 01:17:16,700 ze zullen mogelijk lokaal cache het. 1624 01:17:16,700 --> 01:17:19,325 De eerste keer in China, de eerste keer in Brazilië dat gebeurt, 1625 01:17:19,325 --> 01:17:20,880 ze zullen beginnen lokaal caching het. 1626 01:17:20,880 --> 01:17:22,730 En je hoeft niet aan een van die te doen. 1627 01:17:22,730 --> 01:17:26,710 En zo is het zo ongelooflijk dwingende deze dagen om dingen te verplaatsen 1628 01:17:26,710 --> 01:17:27,890 in de cloud. 1629 01:17:27,890 --> 01:17:31,890 Want je moet dit vermogen letterlijk om niet de mens doet bijna net zo veel 1630 01:17:31,890 --> 01:17:32,390 werken. 1631 01:17:32,390 --> 01:17:35,930 En je letterlijk niet zo veel nodig mensen doen deze banen anymore-- 1632 01:17:35,930 --> 01:17:38,450 "Ops" of operationele taken, meer. 1633 01:17:38,450 --> 01:17:43,150 Je moet echt hoeft alleen maar ontwikkelaars en engineers minder 1634 01:17:43,150 --> 01:17:44,840 die gewoon dingen doen praktisch. 1635 01:17:44,840 --> 01:17:46,590 In feite, alleen maar om te geven je een gevoel van deze, 1636 01:17:46,590 --> 01:17:51,800 laat me gaan naar de prijsstelling voor een ander product hier. 1637 01:17:51,800 --> 01:17:58,170 Laten we eens kijken zoiets als CDN S3. 1638 01:17:58,170 --> 01:18:01,140 Dus dit is in wezen een virtuele harde schijf in de cloud. 1639 01:18:01,140 --> 01:18:14,360 En als we naar beneden scrollen om pricing-- dus het is $ 0,007 per gigabyte. 1640 01:18:14,360 --> 01:18:16,300 En dat is-- hoe kunnen we dit doen? 1641 01:18:16,300 --> 01:18:17,410 Ik denk dat dat per maand. 1642 01:18:17,410 --> 01:18:21,530 >> Dus als dat is per maand-- of per dag? 1643 01:18:21,530 --> 01:18:23,200 Dan, is dit per dag? 1644 01:18:23,200 --> 01:18:24,700 Dit is per maand, OK. 1645 01:18:24,700 --> 01:18:28,280 Dus als dit per maand-- sorry, het is de $ 0,03 per maand. 1646 01:18:28,280 --> 01:18:29,820 Er is 12 maanden van het jaar. 1647 01:18:29,820 --> 01:18:32,250 Dus hoeveel gegevens kunnen u opslaan in de cloud? 1648 01:18:32,250 --> 01:18:37,410 Een gigabyte is niet groot, maar ik weet het niet, zoals 1 terabyte, 1649 01:18:37,410 --> 01:18:38,460 dus als 1000 van die. 1650 01:18:38,460 --> 01:18:39,501 Dat is niet zo heel veel. 1651 01:18:39,501 --> 01:18:44,382 Het is $ 368 tot een terabyte op te slaan van de gegevens in de cloud van Amazon. 1652 01:18:44,382 --> 01:18:46,090 Dus wat zijn enkele van de trade offs, dan? 1653 01:18:46,090 --> 01:18:47,970 Het kan niet allemaal goed. 1654 01:18:47,970 --> 01:18:52,260 Niets van wat we hebben gesproken over vandaag de dag is soort zonder vangst of een kostprijs. 1655 01:18:52,260 --> 01:18:55,269 Dus wat is slecht over het verplaatsen van alles in de cloud? 1656 01:18:55,269 --> 01:18:56,060 PUBLIEK: Beveiliging. 1657 01:18:56,060 --> 01:18:57,721 DAVID MALAN: OK, wat bedoel je? 1658 01:18:57,721 --> 01:18:58,596 PUBLIEK: [ONVERSTAANBAAR] 1659 01:18:58,596 --> 01:19:01,589 1660 01:19:01,589 --> 01:19:02,630 DAVID MALAN: Ja, tuurlijk. 1661 01:19:02,630 --> 01:19:05,130 En wil je echt enkele willekeurige ingenieurs 1662 01:19:05,130 --> 01:19:08,750 Amazon dat je nooit zult ontmoeten met fysieke toegang tot die computers, 1663 01:19:08,750 --> 01:19:11,010 en als ze echt wilde, virtuele toegang? 1664 01:19:11,010 --> 01:19:15,070 En hoewel in theorie software-- goed, 1665 01:19:15,070 --> 01:19:17,442 encryptie kan absoluut u te beschermen tegen dit. 1666 01:19:17,442 --> 01:19:19,150 Dus als wat je bent opslaan op uw servers 1667 01:19:19,150 --> 01:19:21,470 is encrypted-- minder een punt van zorg. 1668 01:19:21,470 --> 01:19:25,010 >> Maar zodra een mens heeft fysieke Toegang tot een machine encryptie opzij, 1669 01:19:25,010 --> 01:19:26,100 alle weddenschappen zijn een soort van off. 1670 01:19:26,100 --> 01:19:28,240 Je zou kunnen kennen van weleer Pc's bijzonder, 1671 01:19:28,240 --> 01:19:30,360 zelfs als je had die dingen "BIOS wachtwoorden," 1672 01:19:30,360 --> 01:19:33,360 waren toen het bureaublad opgestart, je zou worden gevraagd met een wachtwoord 1673 01:19:33,360 --> 01:19:35,980 heeft niets te maken met Windows, kunt u doorgaans 1674 01:19:35,980 --> 01:19:39,750 opent u het chassis van de machine, vind piepkleine pinnen, 1675 01:19:39,750 --> 01:19:42,240 en het gebruik van een zogenaamde een jumper en gewoon aansluiten 1676 01:19:42,240 --> 01:19:45,690 deze twee draden gedurende een tweede, waardoor een circuit te voltooien. 1677 01:19:45,690 --> 01:19:47,360 En dat zou het wachtwoord te elimineren. 1678 01:19:47,360 --> 01:19:49,800 >> Dus als je fysieke toegang tot een apparaat, kunt u dat soort dingen te doen. 1679 01:19:49,800 --> 01:19:51,110 U kunt de harde schijf te verwijderen. 1680 01:19:51,110 --> 01:19:53,060 U kunt de toegang tot het systeem kan krijgen op die manier. 1681 01:19:53,060 --> 01:19:55,442 En dus dit is de reden waarom, in het geval van Dropbox, 1682 01:19:55,442 --> 01:19:57,900 Zo, het is een beetje zorgelijk dat niet alleen zij 1683 01:19:57,900 --> 01:20:02,860 de data, hoewel het versleutelde, ze hebben ook de sleutel. 1684 01:20:02,860 --> 01:20:04,993 Andere zorgen? 1685 01:20:04,993 --> 01:20:08,430 >> PUBLIEK: [ONVERSTAANBAAR] 1686 01:20:08,430 --> 01:20:27,740 1687 01:20:27,740 --> 01:20:30,240 DAVID MALAN: Ja, het is heel true-- de Googles, de appels, 1688 01:20:30,240 --> 01:20:31,406 de Microsofts van de wereld. 1689 01:20:31,406 --> 01:20:34,400 En in feite, hoe lang hebben je had je iPhone voor? 1690 01:20:34,400 --> 01:20:35,885 Ja, geven of te nemen. 1691 01:20:35,885 --> 01:20:36,760 PUBLIEK: [ONVERSTAANBAAR] 1692 01:20:36,760 --> 01:20:37,780 DAVID MALAN: Het spijt me? 1693 01:20:37,780 --> 01:20:39,667 Je bent onder degenen die heeft een iPhone, toch? 1694 01:20:39,667 --> 01:20:40,250 Publiek: Ja. 1695 01:20:40,250 --> 01:20:42,208 DAVID MALAN: Hoe lang Hebt u uw iPhone? 1696 01:20:42,208 --> 01:20:43,372 PUBLIEK: [ONVERSTAANBAAR] 1697 01:20:43,372 --> 01:20:45,080 DAVID MALAN: OK, dus Apple letterlijk weet 1698 01:20:45,080 --> 01:20:49,030 waar je elk uur van zijn geweest de dag voor de laatste vijf jaar. 1699 01:20:49,030 --> 01:20:51,112 >> PUBLIEK: [ONVERSTAANBAAR] 1700 01:20:51,112 --> 01:20:54,626 1701 01:20:54,626 --> 01:20:56,375 DAVID MALAN: Wat is een prachtige eigenschap. 1702 01:20:56,375 --> 01:20:57,860 PUBLIEK: [ONVERSTAANBAAR] 1703 01:20:57,860 --> 01:21:00,875 DAVID MALAN: Ja, maar afweging zeker. 1704 01:21:00,875 --> 01:21:01,750 PUBLIEK: [ONVERSTAANBAAR] 1705 01:21:01,750 --> 01:21:04,720 1706 01:21:04,720 --> 01:21:07,813 >> DAVID MALAN: Ja, het is heel gemakkelijk om. 1707 01:21:07,813 --> 01:21:08,688 PUBLIEK: [ONVERSTAANBAAR] 1708 01:21:08,688 --> 01:21:12,040 1709 01:21:12,040 --> 01:21:13,248 DAVID MALAN: Andere minpunten? 1710 01:21:13,248 --> 01:21:16,995 PUBLIEK: [ONVERSTAANBAAR] 1711 01:21:16,995 --> 01:21:26,151 1712 01:21:26,151 --> 01:21:27,900 DAVID MALAN: Absolutely-- technologisch, 1713 01:21:27,900 --> 01:21:31,550 economisch, het is vrij overtuigend aan soort van krijgen deze schaalvoordelen 1714 01:21:31,550 --> 01:21:33,579 en ga alles in de zogenaamde cloud. 1715 01:21:33,579 --> 01:21:35,870 Maar je waarschijnlijk wilt gaan met enkele van de grootste 1716 01:21:35,870 --> 01:21:39,380 vissen, de Amazones, de Googles, de Microsofts-- Rackspace is vrij big-- 1717 01:21:39,380 --> 01:21:42,200 en een paar anderen, en niet noodzakelijkerwijs vliegen 's nachts mensen 1718 01:21:42,200 --> 01:21:45,640 voor wie het is heel makkelijk om te doen dergelijke techniek tegenwoordig. 1719 01:21:45,640 --> 01:21:49,140 En dat is wie je kunt betalen $ 5,99 per maand. 1720 01:21:49,140 --> 01:21:50,890 Maar je zult zeker krijgt wat je betaalt voor. 1721 01:21:50,890 --> 01:21:54,014 >> Als je zegt dat [ONHOORBAAR], dat is wanneer dingen zoals deze vijf negens komen, 1722 01:21:54,014 --> 01:21:58,017 waarbij zelfs als technologisch we kunnen niet echt garanderen 99.999, 1723 01:21:58,017 --> 01:22:00,350 we zullen gewoon op te bouwen in een soort van de straf van het contract 1724 01:22:00,350 --> 01:22:03,910 zodat als dat gebeurt, althans is er een aantal kosten voor ons, de leverancier. 1725 01:22:03,910 --> 01:22:07,950 En dat is wat u gewend bent worden om ze in te stemmen met. 1726 01:22:07,950 --> 01:22:09,590 >> PUBLIEK: [ONVERSTAANBAAR] 1727 01:22:09,590 --> 01:22:12,290 >> DAVID MALAN: En de een soort van zegen 1728 01:22:12,290 --> 01:22:15,630 is dat zelfs wanneer we naar beneden gaan, voor bijvoorbeeld, of zelfs bepaalde bedrijven, 1729 01:22:15,630 --> 01:22:17,800 de realiteit is Amazon, Zo heeft zoveel 1730 01:22:17,800 --> 01:22:21,780 darn klanten, bekende klanten, opereren vanuit bepaalde datacenters 1731 01:22:21,780 --> 01:22:26,224 dat wanneer er iets echt mis gaat, zoals daden van God en het weer en dergelijke, 1732 01:22:26,224 --> 01:22:29,390 als er een soort van zilveren voering, het is dat je in goed gezelschap. 1733 01:22:29,390 --> 01:22:30,680 Uw website kan offline zijn. 1734 01:22:30,680 --> 01:22:32,750 Maar dat is net als de helft van de de populaire internet. 1735 01:22:32,750 --> 01:22:36,230 En dus is het misschien wel een beetje beter verteerbaar voor uw klanten 1736 01:22:36,230 --> 01:22:38,780 als het meer van een internet wat is dan een acme.com zaak. 1737 01:22:38,780 --> 01:22:41,780 Maar dat is een beetje een cheat. 1738 01:22:41,780 --> 01:22:46,740 >> Dus in termen van andere dingen om naar te kijken, gewoon zo dat we niet uit te sluiten anderen, 1739 01:22:46,740 --> 01:22:51,210 als je naar Windows Azure, ze hebben zowel Linux als Windows stuff 1740 01:22:51,210 --> 01:22:53,190 Dat is vergelijkbaar met Amazon's. 1741 01:22:53,190 --> 01:22:57,540 Als je naar Google Compute Engine, ze hebben iets soortgelijks ook. 1742 01:22:57,540 --> 01:23:00,500 En net te ronden deze cloud-aanbod, 1743 01:23:00,500 --> 01:23:02,762 Ik zal melding gemaakt van een ander ding te maken. 1744 01:23:02,762 --> 01:23:04,720 Dit is een populaire website dat is representatief 1745 01:23:04,720 --> 01:23:08,590 een klasse van technologieën. 1746 01:23:08,590 --> 01:23:12,350 Degene die we net gesproken over, Amazon, zou IAAS zijn, 1747 01:23:12,350 --> 01:23:17,150 Infrastructure As A Service, waar u soort van fysieke hardware als een service. 1748 01:23:17,150 --> 01:23:18,757 Er is SAAS. 1749 01:23:18,757 --> 01:23:20,090 Eigenlijk, laat me noteren deze naar beneden. 1750 01:23:20,090 --> 01:23:23,290 1751 01:23:23,290 --> 01:23:28,190 >> IAAS-- Infrastructuur As A Service, SAAS, 1752 01:23:28,190 --> 01:23:31,870 en Paas, die zijn opmerkelijk verwarrende acroniemen 1753 01:23:31,870 --> 01:23:34,400 die wel beschrijven drie verschillende soorten dingen. 1754 01:23:34,400 --> 01:23:36,400 En de acroniemen zelf niet echt toe. 1755 01:23:36,400 --> 01:23:38,360 Dit is allemaal van de wolk spul we hebben net gesproken over, 1756 01:23:38,360 --> 01:23:41,570 het lagere niveau spul, de virtualisatie van hardware en opslag 1757 01:23:41,570 --> 01:23:44,890 in de zogenaamde cloud, of het Amazon, Microsoft, Google, of andere. 1758 01:23:44,890 --> 01:23:47,270 >> Software als een service-- ieder van ons soort dit van te gebruiken. 1759 01:23:47,270 --> 01:23:49,810 Als u gebruik maken van Google Apps voor Gmail of agenda's, 1760 01:23:49,810 --> 01:23:52,530 een van deze web-based toepassingen die 10 jaar geleden zijn we 1761 01:23:52,530 --> 01:23:55,560 dubbel zouden klikte pictogrammen op hebben onze desktop, software as a service 1762 01:23:55,560 --> 01:23:57,400 is nu echt webapplicatie. 1763 01:23:57,400 --> 01:24:00,110 En platform als een dienst soort hangt. 1764 01:24:00,110 --> 01:24:03,140 >> En een voorbeeld dat ik je hier geven in het kader van cloud computerwerk 1765 01:24:03,140 --> 01:24:06,250 er is een bedrijf dat is heel populair deze dagen, Heroku. 1766 01:24:06,250 --> 01:24:08,940 En ze zijn een dienst, een platform, als je wil, 1767 01:24:08,940 --> 01:24:11,730 die draait bovenop Amazon's infrastructuur. 1768 01:24:11,730 --> 01:24:15,800 En ze gewoon maken het nog makkelijker voor ontwikkelaars en engineers 1769 01:24:15,800 --> 01:24:18,330 naar web-based applicaties online te krijgen. 1770 01:24:18,330 --> 01:24:22,170 >> Het is lastig, aanvankelijk te gebruiken Amazon Web Services en andere dingen. 1771 01:24:22,170 --> 01:24:24,170 Omdat je eigenlijk kennen en begrijpen 1772 01:24:24,170 --> 01:24:27,617 over databases en webservers en load balancers en alle spullen 1773 01:24:27,617 --> 01:24:28,450 Ik heb net gesproken over. 1774 01:24:28,450 --> 01:24:32,780 Omdat alle Amazon heeft gedaan is niet verborgen die ontwerp uitdagingen. 1775 01:24:32,780 --> 01:24:35,790 Ze hebben net gevirtualiseerd hen en zet ze in een browser, 1776 01:24:35,790 --> 01:24:37,770 in de software in plaats van hardware. 1777 01:24:37,770 --> 01:24:43,020 >> Maar bedrijven als Heroku en andere PAAS providers, Platform as a Service 1778 01:24:43,020 --> 01:24:46,900 zij gebruiken deze barebone fundamentals dat we net gesproken over, 1779 01:24:46,900 --> 01:24:50,340 en ze bouwen makkelijker te gebruik maken van software op de top van het 1780 01:24:50,340 --> 01:24:54,241 zodat als je wilt krijg je een web-based aanvraag online deze dagen, 1781 01:24:54,241 --> 01:24:55,990 je zeker moeten weten hoe te programmeren. 1782 01:24:55,990 --> 01:25:00,280 U moet weten Java of Python of PHP of Ruby of een heleboel andere talen. 1783 01:25:00,280 --> 01:25:02,180 >> Maar je moet ook een plek om het te zetten. 1784 01:25:02,180 --> 01:25:04,790 En we eerder over gesproken het krijgen van een web hosting bedrijf. 1785 01:25:04,790 --> 01:25:08,630 Dat is een soort van het soortgelijke mid-2000s benadering van het krijgen van iets online. 1786 01:25:08,630 --> 01:25:12,140 Tegenwoordig is dat u misschien in plaats daarvan iemand betalen zoals Heroku een paar dollar per maand. 1787 01:25:12,140 --> 01:25:15,370 En in wezen, als je eenmaal hebt gedaan een aantal initiële configuratie, 1788 01:25:15,370 --> 01:25:18,704 om uw website te updaten, u typ een opdracht in een venster. 1789 01:25:18,704 --> 01:25:21,370 En wat code die je hebt geschreven hier op uw laptop onmiddellijk 1790 01:25:21,370 --> 01:25:24,350 wordt verspreid aan een aantal van servers in de cloud. 1791 01:25:24,350 --> 01:25:26,440 >> En Heroku zorgt alle van de complexiteit. 1792 01:25:26,440 --> 01:25:28,930 Ze denken allemaal de database stuff, alle load balancing, 1793 01:25:28,930 --> 01:25:31,480 alle van de hoofdpijn die we hebben gewoon geschreven op het bord, 1794 01:25:31,480 --> 01:25:33,320 en verbergen dat alles voor je. 1795 01:25:33,320 --> 01:25:36,170 En in ruil daarvoor, je gewoon betalen ze een beetje meer. 1796 01:25:36,170 --> 01:25:39,810 Dus je hebt deze infrastructuur als een dienst, platforms als een dienst, 1797 01:25:39,810 --> 01:25:41,400 en dan software as a service. 1798 01:25:41,400 --> 01:25:45,390 Het is, nogmaals, dit abstractie of gelaagdheid. 1799 01:25:45,390 --> 01:25:51,187 >> Heeft u vragen over de cloud of het bouwen van een eigen infrastructuur? 1800 01:25:51,187 --> 01:25:52,270 Oké, dat was een stuk. 1801 01:25:52,270 --> 01:25:54,200 Waarom gaan we niet doorgaan en nemen onze pauze van 15 minuten hier. 1802 01:25:54,200 --> 01:25:57,241 We zullen terug te komen met een aantal nieuwe concepten en een beetje hands-on mogelijkheid 1803 01:25:57,241 --> 01:25:59,110 voordat de avond voorbij. 1804 01:25:59,110 --> 01:26:00,332