David Malan: Alle reg, welkom terug. Voordat ons duik in wolk rekenaar, Ek het gedink ek wil 'n oomblik stilstaan As daar enige uitstaande vrae of onderwerpe wat tydens middagete opgekom het wat kan nou van belang. Gehoor: [onhoorbaar] David Malan: OK. O, OK. Gehoor: [onhoorbaar] David Malan: Nee, natuurlik. OK, goed hopelik al jou probleme in die volgende paar ure en môre veral. Maar laat ons neem 'n blik, dan, na waar die laaste bespreking oor die opstel van 'n webwerf lei, meer algemeen wanneer dit kom by rekenaar wolk die oprigting van 'n bediener argitektuur, die soorte besluite dat ingenieurs en ontwikkelaars en bestuurders moet maak wanneer dit kom om meer te doen as net meld vir 'n $ 10 per maand webhost wanneer jy eintlik wil bou uit jou eie infrastruktuur. En ons sal probeer om dit terug te bind, byvoorbeeld, om Dropbox en ander soos hulle. So kom ons begin om te oorweeg watter probleme ontstaan ​​as besigheid kry goeie en goeie probleme ontstaan. So in die heel eenvoudigste geval van ' sommige maatskappy wat 'n webbediener het, jy mag hê, kom ons sê, 'n bediener wat ons sal net trek wat so lyk. En deesdae is die meeste servers-- en laat ons eintlik sit 'n foto om dit net so dat dit 'n bietjie minder vaag. So Dell rek server-- terug in die dag, is daar was hoofraamrekenaars wat opgetel hele kamer. Deesdae, as jy om 'n bediener te kry, is dit dalk 'n bietjie soos volg lyk. Servers word gemeet in watter geroep rek eenhede, of Rus. En een RU is 1.5 duim, wat is 'n industrie standaard. So dit lyk soos 'n twee RU bediener. Dit is dus 3 duim lank. En hulle is oor die algemeen 19 duim breed, wat beteken al hierdie soort dinge gestandaardiseer is. So as jy kyk in 'n data center-- nie net op een bediener, maar laat ons 'n blik op Google se data sentrum en kyk of ons sien 'n mooi prentjie in Google Images. Dit is baie beter verlig as jy sou tipies vind, en nog baie sexier kyk as 'n resultaat. maar dit is wat lyk soos 'n paar honderd bedieners al oor dieselfde grootte, eintlik, in rek nadat rek na rek nadat rek in 'n data-sentrum. Iets soos this-- Dit kan goed wees Google, want ek googled Google. Maar dit kon verteenwoordigend wees meer algemeen 'n data-sentrum waar baie maatskappye is gewoonlik saam geleë. En mede-geleë beteken oor die algemeen dat jy gaan na 'n plek soos Equinix of ander verskaffers wat het 'n groot pakhuise wat baie krag het, baie koel, hopelik baie sekuriteit, en individuele hokke omringende rakke van bedieners, en jy óf huur die rakke of jy bring die rakke in. En individuele maatskappye, starters veral sal 'n soort van biometrie het om in hul hok, of 'n sleutel, of 'n sleutel kaart. Jy maak die deur oop. En binnekant van daar net 'n vierkant materiaal voetspoor dat jy betaal vir, binne wat jy enigiets wat jy wil kan sit. En jy tipies betaal vir die krag. En jy betaal vir die voetspore. En dan betaal jy jouself vir die bedieners wat jy bring in daardie ruimte. En wat jy dan moet die opsie om te doen is betaal iemand vir jou internet diens aansluit. Jy kan enige aantal betaal van verskaffers, wat almal tipies kom in daardie data sentrum. Maar die werklike interessante vraag is, wat eintlik gaan in die rakke? mag hulle almal baie goed lyk dit wat ons nou net gesien het. Maar hulle verrig verskillende funksies en mag nodig wees om verskillende dinge te doen. En laat ons eintlik motiveer hierdie bespreking met die vraag van wat die probleem begin om op te staan ​​as jy suksesvol is? So jy het 'n webwerf het wat jy gebou. En miskien is dit verkoop widgets of iets soos dit. En jy is baie goed met verkope van widgets aanlyn. En jy begin om te ervaar sommige simptome, jou webwerf. Wat dalk 'n paar van die tegniese simptome dat gebruikers rapporteer as besigheid groei en floreer en jou webwerf is voordeel trek uit dit? Gehoor: [onhoorbaar] David Malan: Ja, presies. So jy kan 'n verlangsaming van jou webwerf. En hoekom sou dit gebeur? Wel, as ons aanvaar, vir Ter wille van bespreking nou, dat jy aan die een van hierdie kommersiële web hosts dat ons gepraat oor voor middagete, dat jy betaal 'n paar aantal dollars om per maand, en jy het reeds betaal vir die jaarlikse koste van jou domein noem dat webhost is waarskynlik overselling hul hulpbronne tot 'n mate. So jy kan 'n gebruikersnaam het wagwoord op hul bediener. Maar so ook 'n hele paar ander, of 'n paar dosyn ander, of dalk selfs 'n paar honderd ander gebruikers. En webtuistes lewe fisies op dieselfde bediener. Hoekom is dit moontlik? Wel deesdae, bedieners soos hierdie gewoonlik het verskeie hardeskywe, miskien soveel as ses of meer hardeskywe, wat elkeen kan net so veel wees as 4 terabyte deesdae. So jy mag hê 24 teragrepe se ruimte in net 'n klein bediener soos hierdie. En selfs as jy steel 'n paar van daardie ruimte vir ontslag, vir Friends doeleindes, dit is nog steeds heelwat ruimte. En in elk geval, 'n tipiese webwerf nie dat daar nog baie ruimte nodig. Net registreer gebruikers en stoor logs van bestellings nie alles wat veel ruimte te neem. So jy kan dit nogal verdeel 'n bietjie en gee elke gebruiker net 'n bietjie sny dit. Intussen het 'n rekenaar soos hierdie deesdae het gewoonlik verskeie CPUs-- nie net een, miskien twee, miskien vier, miskien 16, of selfs meer. En elkeen van daardie CPUs het iets genoem 'n kern, wat is 'n soort van soos 'n brein binnekant van 'n brein. So in werklikheid die meeste mense hier met moderne skootrekenaars het waarskynlik 'n dual core of quad core CPU-- en waarskynlik net een CPU binnekant van 'n skootrekenaar deesdae. Maar rekenaars en rek rekenaars soos hierdie dalk 'n hele paar het meer CPUs, en op sy beurt cores. En eerlik, selfs in ons Mac en PC van vandag, het jy nie regtig nodig het 'n dubbele kern of quad cores om jou e-pos na te gaan. As daar enige knelpunt toe dit kom by die gebruik van 'n rekenaar, jy die menslike is waarskynlik die stadigste ding oor daardie rekenaar. En jy gaan nie in staat wees om maak seker jou e-pos enige vinniger as jy het vier keer soveel CPUs of kerne. Maar dit is soort van ware van 'n bediener. Een enkele webwerf mag nie noodwendig meer as een nodig CPU of een kern, een klein brein in te doen al die denke en die verwerking. So vervaardigers het insgelyks begin te sny tot hierdie hulpbronne sodat miskien jou webwerf kry 'n kern, jou webwerf kry 'n kern, of miskien is ons deel van een so 'n kern. Ons is ook die deel van spasie op die hardeskyf. En ons ook deel RAM, of Random Access Memory voor, waarvan Daar is ook 'n beperkte hoeveelheid. En dit is die sleutel. Maak nie saak hoe duur die rekenaar was, daar is nog 'n beperkte hoeveelheid hulpbronne daarin. En so het die al hoe meer jy probeer om hierdie hulpbronne te vernietig, die stadiger dinge sou word. Maar hoekom? Hoekom sou dinge stadiger as 'n simptoom van 'n bediener wat oorlaai? Wat gebeur? Gehoor: [onhoorbaar] David Malan: Ja, presies. Ek voorgestelde vroeër RAM is 'n tipe geheue. Dit is wisselvallig, waardeur dit is waar programme en data is gestoor wanneer hulle gebruik word. En so dan is daar slegs 'n beperkte aantal van dinge wat jy kan glo nie in 'n keer. En dit is ook vinniger, wat is 'n goeie ding. Maar dit is ook duurder, wat is 'n slegte ding. En dit is ook dan teenwoordig is in 'n laer hoeveelhede as skyfspasie, hardeskyf ruimte, wat geneig is om goedkoper wees. Met ander woorde, jy mag hê 4 terabyte skyfspasie op jou rekenaar. Maar jy mag hê 4 GB, of 64 GB, in orde van grootte, 'n faktor van 1000 minder, RAM op jou rekenaar. So, wat beteken 'n rekenaar te doen? Wel, dink dat jy het nie 64 GB RAM in 'n bediener soos hierdie, wat sou redelik algemeen, indien nie laag deesdae. Maar veronderstel jy het so baie gebruikers doen so baie dinge dat jy soort soort moet 65 GB geheue al wat hanteer gelyktydige gebruik? Wel, jy kan net sê, Jammer, 'n aantal gebruikers net kan nie toegang tot die webwerf. En dit is die maatstaf laaste uitweg, beslis. Of jy, as die bedryfstelsel stelsel, soos die Windows of Mac OS of Linux of Solaris of enige aantal ander bedryfstelsels op daardie bediener, kon net besluit, jy weet wat? Ek het net 64 GB RAM. Ek hou nogal van moet 65. So jy weet wat? Ek gaan 1 gigagreep neem die moeite werd om van die data in die geheue wat die minste onlangs verkry en net beweeg dit na die hardeskyf tydelik, letterlik kopieer dit uit die vinnige geheue na die stadiger geheue sodat ek dan kan hanteer wat 65 GB behoefte aan geheue, doen 'n paar berekening daarop. Toe ek klaar doen wat, Ek sal net voorstel dat op skyf, beweeg dat ander ram ek tydelik op die skyf terug in die werklike hardeware sodat Ek is soort van multitasking. So ek soort van om dinge tydelik in hierdie stadiger ruimte so ek skep die illusie hanteer almal. Maar daar is 'n verlangsaming. Hoekom? Wel, in hierdie harde skywe deesdae is wat? Inteendeel, wat maak 'n harde ry anders as RAM as die beste nou weet jy? Gehoor: [onhoorbaar] David Malan: OK, waar is. Gehoor: [onhoorbaar] David Malan: So baie waar. En dit is 'n newe-effek of funksie van die feit dat RAM is inderdaad vinniger. En daarom wil gebruik dit vir die huidige gebruik. En 'n skyf is stadiger. Maar dit is permanente, of stabiel en. So jy dit gebruik vir 'n lang stoor termyn. Maar in terme van implementering, as ek opkyk Wat is 'n DIMM genoem, Dual inline Memory Module, dit is wat 'n stuk van die geheue kan tipies lyk. So binnekant van ons Mac-- dit is 'n fout. Binnekant van ons Mac en PC, ons lessenaar rekenaars sou stokke van geheue het, as jy hulle sou noem, of DIMMs, of Simms terug in die dag, van geheue wat lyk soos hierdie. Ons skootrekenaars het waarskynlik dinge wat is 'n derde van die grootte of die helfte van die grootte. Hulle is 'n bietjie kleiner, maar dit is dieselfde idea-- bietjie stukkies groen silikon wafer of plastiek wat het min swart skyfies op hulle met baie drade tussen deur alles. Jy kan 'n hele klomp van het hierdie binnekant van jou rekenaar. Maar die afhaal hier is dit is heeltemal elektroniese. Daar is net elektrone vloei op hierdie toestel. In teenstelling hiermee, as ons kyk na die binnekant van 'n hardeskyf en trek 'n foto hier, sal jy in plaas sien iets soos hierdie, wat wel elektrisiteit gaan deur dit uiteindelik. Maar wat spring ook uit by jou oor hierdie saak? Gehoor: [onhoorbaar] David Malan: Ja, daar is blykbaar bewegende dele. Dit is soort van soos 'n ou rekord speler of fonograaf speler. En dit pretty much is. Dit is 'n bietjie liefhebber as that-- terwyl 'n fonograaf speler gebruik groewe in die rekord, dit eintlik gebruik klein bietjie magnetiese deeltjies dat ons kan nie heeltemal sien. Maar as 'n bietjie magnetiese deeltjies lyk soos volg, is dit beskou as 'n 1. En as dit so lyk, noord-suid in plaas van suid-noord, dit dalk 'n 0. En ons sal sien môre hoe ons kan bou van daardie meer interessante dinge. Maar iets wat het om fisies te beweeg is sekerlik gaan stadiger gaan as die spoed van lig, wat in teorie is wat 'n elektron wankel voor, al realisties nie heeltemal. So meganiese devices-- veel stadiger. Maar hulle is goedkoper. En jy kan soveel pas meer inligting binnekant van hulle. So die feit dat daar bestaan ​​in die wêreld iets genoem virtuele geheue, met behulp van 'n hardeskyf soos hierdie asof dit RAM deursigtig is om die gebruiker, eenvoudig deur die verskuiwing van data uit geheue na die hardeskyf, dan beweeg dit terug wanneer jy dit nodig dit weer, skep die verlangsaming. Omdat jy letterlik moet kopieer dit van die een plek na die ander. En die ding wat jy dit kopieer na en uit is eintlik stadiger as die RAM waar jy dit wil hê. Die alternatiewe oplossing here-- As jy nie daarvan hou dat stadiger, en jou virtuele geheue is soort wat overtaxed, Wat is 'n ander oplossing vir hierdie probleem? Gehoor: [onhoorbaar] David Malan: Wel, die verhoging van die virtuele geheue sou laat ons dit doen op 'n nog groter skaal. Ons kan hanteer 66 GB werd geheue behoeftes, of 67 GB. Maar dink ek hou nie daarvan hierdie stadiger, in werklikheid Ek wil virtuele afskakel geheue as dit is selfs moontlik, Wat anders kon ek gooi op hierdie probleem op te los, waar ek wil meer gebruikers te hanteer en meer geheue vereistes as ek fisies op die oomblik? Gehoor: [onhoorbaar] David Malan: Ongelukkig nie. So het die SVE en die kerne hulle in 'n beperkte hulpbron. En daar is geen analoog in daardie konteks. Goeie vraag, al is. So net om duidelik te wees, ook as binnekant van hierdie rekenaar is, kom ons sê, 'n stok RAM wat lyk soos this-- en so ons sal hierdie RAM noem. En hier is die hardeskyf. En ek sal net die trek picturaal as 'n bietjie sirkel. Daar is 0 en 1 in beide van these-- data, sal ons dit veralgemeen as. En in wese, as 'n gebruiker is hardloop 'n aansoek soos, kom ons sê, 'n webwerf wat dit verg veel geheue per gebruiker, wat ek voorstel, deur middel van hierdie ding genoem virtuele geheue, is om net tydelik te beweeg wat hier sodat ek nou kan geheue iemand anders se skuif vereistes daar. En dan wanneer dit gedoen is, Ek kan dit oor kopieer terug en dit gaan hier, en daardeur beweeg wat ek wou daar iewers anders geheel en al. Daar is dus net 'n baie switcheroo, is die afhaal hier. So as jy nie hierdie wil, en jy doen nie wil niks op die hardeskyf sit, wat soort van die ooglopende oplossing sakepersoon se vir die probleem, of die ingenieur se oplossing, wat dit betref, ook? Gehoor: [onhoorbaar] David Malan: Ja, ek bedoel letterlik gooi geld op die probleem. En eintlik is dit die perfekte segue om 'n paar van die hoër vlak besprekings van wolk rekenaar. Omdat 'n baie dit gemotiveer deur finansiële besluite, nie eens noodwendig tegnologiese. As 64 gigs RAM is te min, goed, waarom nie 128 GB RAM kry? Hoekom nie 256 GB RAM kry? Wel, hoekom nie? Gehoor: [onhoorbaar] David Malan: Wel, dit kos meer geld, seker. En as jy al spaar spasie op die hardeskyf, effektief, Of anders gestel, spasie op die hardeskyf is so baie goedkoper kan net so goed gebruik. So weer, daar is dié kompromis wat Ons het selfs vroeër op hierdie oggend, waar daar is regtig nie noodwendig 'n regte antwoord, Daar is net 'n beter of slegter antwoord op grond van wat jy eintlik omgee. Daar is dus ook tegnologiese realiteite. Ek kan 'n rekenaar koop nie, sover ek weet, met 'n triljoen GB RAM op die oomblik. Dit is net fisies bestaan ​​nie. Daar is dus 'n bogrens. Maar as jy nog ooit selfs inkopies vir 'n verbruiker Mac of PC, Ook oor die algemeen is daar ' hierdie kurwe van funksies waar daar 'n goeie mag wees, 'n beter en 'n beste rekenaar. En die marginale opbrengste op jou dollar koop die beste rekenaar versus hoe beter rekenaar kan nie naastenby so hoog wees as die besteding van 'n bietjie meer geld en om die beter rekenaar oor die goeie rekenaar. Met ander woorde, jy betaal 'n premie tot die top van die lyn te kry. En wat ons sal sien in die bespreking van wolk rekenaar is dat wat baie algemeen hierdie dae, en wat maatskappye soos Google vroeg gewild is nie betaal vir en bou regtig fancy, duur opgevoerde rekenaars met baie, baie van alles, maar eerder koop of bou mooi beskeie rekenaars, maar baie van hulle, en die gebruik van iets wat oor die algemeen genoem horisontale skaal plaas van vertikale skaal. So vertikale skaal sou beteken meer RAM, meer skyf, meer van alles, en soort belê vertikaal in jou hardeware sodat jy net om die beste van die beste van die beste, maar jy betaal vir dit. Horisontale skaal is 'n soort van kry die onderste vlak dinge, die goeie model, of selfs die ergste model, maar kry baie van hulle. Maar so gou as jy baie van die toets-- byvoorbeeld, in hierdie geval, webbedieners, indien dit 'n bediener of een webhost is onvoldoende, dan net intuïtief, die oplossing vir hierdie probleem van vrag of oorlading op jou bedieners óf kry 'n groter bediener of, wat ek hier stel in plaas van skalering vertikaal om so te praat, sou wees, weet jy wat? Net 'n tweede een van hulle nie. Of miskien kry selfs 'n derde. Maar nou is ons geskep het 'n Ingenieur probleem deur die natuur van hierdie sake of finansiële besluit. Wat is die ingenieurswese probleem nou? Gehoor: [onhoorbaar] David Malan: Ja, hoe doen jy and-- jammer verbind hulle? Gehoor: [onhoorbaar] David Malan: Reg, omdat ek nog have-- As ek weer in te voer my in hierdie foto, As dit is my laptop iewers op die internet, wat nou tussen my en die maatskappy wat ons praat, nou het ek om uit te vind, waaraan bediener kan ek hierdie spesifieke gebruiker stuur? En as daar is ander gebruikers, soos hierdie, en dan hierdie een hier, en miskien is hierdie gebruiker A, hierdie is gebruiker B, dit is gebruikers C, en dit is bediener 1, 2, en 3-- nou 'n intuïtiewe antwoord kan hier net, ons sal stuur gebruiker A tot 1 en B tot 2 en C tot 3. En ons kan hanteer 3 keer soveel gebruikers. Maar dit is 'n oorvereenvoudiging. Hoe besluit jy wie om te stuur waar? So kom ons probeer om te redeneer deur middel van hierdie. So veronderstel dat rekenaars A, B, en C is kliënte, en bedieners 1, 2, en 3 is horisontaal afgeskaal bedieners. So hulle is soort van identies. Hulle is almal hardloop dieselfde sagteware. En hulle kan almal dieselfde ding te doen. Maar die rede waarom ons het drie van hulle is so dat ons kan hanteer drie keer soveel mense op een slag. So ons weet van ons bespreking voor middagete dat daar hardeware tussenin die skootrekenaars en die bedieners. Maar ons sal net soort veralgemeen wat nou as die internet of die wolk. Maar ons weet dat in my huis, Daar is waarskynlik 'n huis router. Naby die bedieners, daar is waarskynlik 'n router, DNS-bediener, DHCP. Daar kan enigiets wees Ons wil in hierdie verhaal. So hoe begin ons om te besluit, wanneer die gebruiker 'n gaan na something.com, wat bediener om die roete van die gebruiker om? Hoe kan ons begin om hierdie storie te vertel? Publiek: load balancing? David Malan: load balancing. Wat bedoel jy daarmee? Publiek: Returning waar die meeste gebruik is en wat 'n mens die mees beskikbare hulpbronne. David Malan: OK, so laat my stel 'n nuwe tipe hardeware dat ons nog nie bespreek het, wat is presies wat 'n load balancer. Dit kan ook net 'n bediener wees. Dit kan lyk presies soos die een het ons 'n oomblik gelede. A load balancer is regtig net 'n stuk sagteware dat jy loop op 'n stuk hardeware. Of jy kan betaal 'n ondernemer, soos Citrix of ander, Cisco of ander. Jy kan betaal vir hul eie hardeware, Dit is 'n hardeware load balancer. Maar dit net beteken dat hulle pre-geïnstalleer die load balancing sagteware op hul hardeware en verkoop dit aan julle almal saam. So sal ons net teken dit as 'n reghoek vir ons doeleindes. Hoe nou implementeer ek 'n load balancer? Met ander woorde, wanneer die gebruiker 'n wil besoek my site, hulle versoek een of ander manier of ander, waarskynlik deur middel van die routers het ons gepraat oor vroeër, gaan uiteindelik bereik hierdie load balancer, wat dan moet 'n roete-agtige besluit te neem. Maar dit is routing vir tipe van 'n hoër doel nou. Dit is nie net oor die manier waarop van punt A na punt B. Dit gaan oor die besluit wat punt B is die beste onder toets-- 1, 2, of 3 in hierdie geval. So, hoe kan ek besluit of om te gaan na 1, 2, 3? Wat beteken hierdie black box, om so te praat, gaan aan die werk aan die binnekant? Dit is ook nog 'n voorbeeld in Rekenaarwetenskap van abstraksie. Ek het letterlik getrek n load balancer as 'n swart boks in swart ink, binne waarvan 'n paar interessante logika, of magie selfs, waaruit moet kom 'n decision-- 1, 2, of 3. En die insette is net A. Gehoor: [onhoorbaar] David Malan: Ek is jammer? Gehoor: [onhoorbaar] David Malan: Alle reg, Hoe kan ons kategoriseer die tipes transaksies hier? Publiek: Besigtig n webblad versus bevraagteken 'n databasis. David Malan: OK, dit is goed. So miskien gebruiker A wil 'n webblad te kan sien. En miskien is dit selfs statiese inhoud, iets wat selde verander, indien ooit. En dit lyk soos 'n mooi eenvoudige operasie. So miskien sal ons net na willekeur, maar redelik, sê, bediener 1, sy doel in die lewe is om net dien statiese inhoud, lêers wat selde, indien ooit, verandering. Miskien is dit die beelde op die bladsy. Miskien is dit die teks op die bladsy of ander so 'n soort van vervelige dinge, niks transaksionele, niks dinamiese. In teenstelling hiermee, as gebruiker A keur uit sy of haar inkopie mandjie nie dat vereis 'n databasis, êrens op te slaan en onthou dat transaksie, asook Miskien is dit versoek moet gaan na bediener 2. So dit is 'n goeie. Sodat ons kan laai balans gebaseer van die tipe versoeke. Hoe anders kan ons dit doen? wat other-- Publiek: Gebaseer op die bediener se benutting en kapasiteit. David Malan: Right, OK. So jy het genoem dat vroeër, Kareem. So wat as ons 'n mate van insette op [onhoorbaar] onder bedieners 1, 2, en 3 om hierdie load balancer sodat hulle is net voortdurend in te lig die load balancer wat hul status is? Soos, hey, load balancer, Ek is op 50% benutting. Met ander woorde, ek het helfte soveel gebruikers as ek eintlik kan hanteer op die oomblik. Haai, load balancer, ek is teen 100% benutting. Haai, load balancer, 0% benutting. Die load balancer, al is dit ontwerp op 'n manier wat kan neem in die kommentaar as invoer, kan dit besluit, ooh, nommer 2 is op 100%. Laat my geen toekoms versoeke te stuur vir hom behalwe die gebruikers reeds verbind. Hierdie man is teen 0%. Kom ons stuur 'n baie verkeer na hom. Hierdie man het gesê hy is op 50%. Kom ons 'n paar verkeer na hom. So dit sou 'n bestanddeel wees, wat Ons kan vrag in ag neem. En dit gaan verander met verloop van tyd. So die besluite sal verander. So dit is 'n baie goeie tegniek, een wat algemeen gebruik word. Wat anders kon ons doen? En laat ons eintlik net hier op te som. So die besluite hier kan wees deur die tipe van verkeer, sal ek dit noem. Dit kan gegrond wees op load. Kom ons kyk of ons kan nie kom met 'n paar ander. Gehoor: [onhoorbaar] David Malan: Plek. So dit is 'n goeie een. So location-- hoe kan jy hefboom wat inligting? Gehoor: [onhoorbaar] David Malan: Ag, dit is goed. En oor hoeveel millisekondes sou dit verminder deur gebaseer op wat ons dit sien oggend, sou jy sê? Gehoor: [onhoorbaar] David Malan: Wel, gebaseer op die spoor roetes Ons het vroeër, wat net 'n rowwe aanduiding van iets, ten minste hoe lank dit neem vir data om uit 'n leer B voel soos niks plaaslike was, wat, soos 74 millisekondes, gee of neem? En dan enigiets 100 plus, 200 plus was waarskynlik in die buiteland. En so gebaseer op wat alleen, blyk dit redelik om te aanvaar wat vir 'n gebruiker in die VSA om toegang te verkry tot 'n Europese bediener dalk twee of drie keer te neem solank, selfs in millisekondes, as wat dit kon neem as dit bediener is hier geleë geografies, of andersom. So wanneer ek voorgestel vroeër gesê veral Sodra jy oor wat 200 millisekonde drumpel, gee of neem, die mens weet begin raaksien. En die spoor roete is net veronderstelling rou, vervelige data. As jy 'n webwerf te hê, moet jy kry die gebruiker te laai beelde of fliek lêers, baie van die teks, daaropvolgende versoeke. Ons het toe ons besoek het, wat was dit, Facebook of Amazon vroeër, daar is 'n hele klomp van die dinge wat gevolg moet word afgelaai. So wat gaan optel. So 'n multi-sekondes mag nie onredelik wees. So goed, geografie is een bestanddeel. So in werklikheid maatskappye soos Akamai, as jy al gehoor van hulle, of ander lang geneem geografie in ag neem. En dit blyk dat die natuur van 'n IP-adres, IP-adres van my laptop se jy kan aflei, met 'n paar waarskynlikheid, waar jy is in die wêreld. En in werklikheid is daar dienste derdeparty jy kan betaal wat databasisse in stand te hou van IP-adresse en geografiese wat met 'n hoë vertroue sal wees waar wanneer gevra, waar in die wêreld is hierdie IP-adres? En so in werklikheid wat ander maatskappye dit gebruik? As jy Hulu of Netflix, indien jy al ooit in die buiteland reis, en jy probeer om iets te kyk op Hulu, en jy is nie in die VSA, jy dalk 'n boodskap te sien gesê nie in die VSA. Jammer, kan u hierdie inhoud nie te sien. Gehoor: [onhoorbaar] David Malan: Ag, eintlik? Maar ja, so eintlik is dit 'n perfekte aansoek van iets baie tegniese om 'n werklike probleem. As jy was om te Skynprivaatnetwerk uit Europa of Asië of op enige plek in die wêreld om jou korporatiewe hoofkwartier in New York of waar jy is, is jy gaan die voorkoms te skep om buite webwerwe wat jy eintlik in New York, selfs al is jy fisies baie ver weg. Nou kan jy die gebruiker gaan weet jy natuurlik weg. Maar jy ook gaan om dit te voel omdat van daardie addisionele millisekondes. Dit bykomende afstand en die enkripsie wat gebeur in die VPN gaan dinge stadiger. So dit mag of nie mag nie 'n wonderlike ervaring. Maar Hulu en Netflix gaan sien jy as iewers sit in New York, as jy duidelik het opgetel. Wat 'n perfekte oplossing vir dit. Goed, so geografie is een besluit. Wat anders kan ons gebruik om te besluit hoe om die roete verkeer van A, B, en C tot 1, 2, en 3, weer, om die ingenieurswese hoed op? Dit klink alles baie ingewikkeld. Uh, ek weet nie eens waar om te begin implementeer diegene. Gee my iets wat makliker. Wat is die eenvoudigste manier om hierdie besluit te neem? Publiek: Is die bediener beskikbaar? David Malan: Is die bediener beskikbaar? So nie sleg nie. Dis goed. Dit is soort van 'n graadverskil van vrag. So laat ons hou dit in die kategorie vrag. As jy beskikbaar is, is ek net gaan die data daar te stuur. Maar dit kan vinnig terug slaan. Want as ek daardie logika, en as ek altyd vra 1, is jy op, is jy op, Is jy op, indien die antwoord is altyd ja, Ek gaan 100% van die verkeer te stuur hom, 0% tot almal. En op 'n stadium, ons gaan om te tref dat verlangsaming of webwerf beskikbaar. So, wat is 'n bietjie beter as wat maar nog redelik maklik en nie naastenby so slim soos die neem van al hierdie bykomende inligting in ag geneem? Publiek: Koste per bediener. David Malan: Koste per bediener. OK, so laat my gooi dit in die kategorie vrag ook. Want wat jy in sal vind 'n maatskappy, too-- dat as jy gradeer jou bedieners met verloop van tyd of koop meer, jy dalk nie in staat wees om presies te kry dieselfde weergawes van hardeware. Omdat dit val verouderd. Jy kan dit nie meer te koop. Pryse verander. So jy kan uiteenlopende bedieners het in jou groep, om so te praat. Dit is heeltemal fyn. Maar hardeware volgende jaar se dalk twee keer so vinnig wees, twee keer so in staat as vanjaar se. So kan ons gooi dit in die kategorie vrag. Hierdie terugvoer lus tussen 1, 2 en 3 in die load balancer kon beslis sê dit, hey, ek is teen 50% kapasiteit. Maar by the way, ek het ook het twee keer soveel cores. Gebruik hierdie inligting. Selfs simpler-- en dit gaan 'n tema in rekenaarwetenskap wees. Wanneer jy twyfel, of as jy wil 'n eenvoudige oplossing wat oor die algemeen goed werk met verloop van tyd, nie dieselfde kies bediener al die tyd, maar jou keuse Publiek: 'n Ewekansige een? David Malan: --a ewekansige bediener. Ja, kies een of die ander. So willekeur is eintlik hierdie baie kragtige bestanddeel in rekenaarwetenskap, en in ingenieurswese meer oor die algemeen, veral wanneer jy wil 'n eenvoudige besluit vinnig te maak sonder komplikasies dit met al van hierdie baie slim nie, maar ook baie slim, oplossings wat vereis des te meer ingenieurswese, al hoe meer gedink, toe regtig, hoekom kry ek dan net soort van Flip a Coin, of 'n drie eensydige muntstuk in hierdie geval, en besluit of om te gaan 1, 2, 3? Dit kan probabilistically backfire, maar baie soos die kans van weer daarby koppe en weer en weer en weer en weer en weer moontlik in reality-- super, super onwaarskynlik. So met verloop van tyd, is die kans net gebruikers stuur lukraak tot 1, 2, en 3 gaan uitwerk heeltemal fyn. En dit is 'n tegniek algemeen bekend as rondomtalie. Of eintlik, dis nie rondomtalie. Dit sou die ewekansige benadering wees. En as jy wil, selfs wees 'n bietjie eenvoudiger as dit, rondomtalie sou wees, eerste persoon gaan tot 1, tweede persoon tot 2, derde persoon tot 3, vierde persoon om 1. En daarin lê die rondomtalie. Jy moet net soort gaan rond in 'n siklus. Nou, moet jy slim wees daaroor. Jy moet nie blindelings die gebruiker te stuur na bediener nommer een as wat die geval is? As dit by Max kapasiteit, of dit is net nie meer reageer. So ideaal wat jy wil 'n paar soort terugvoerlus. Andersins, jy moet net al stuur van jou gebruikers 'n doodloopstraat. Maar dit kan in ag geneem word, ook. So moenie onder waardeer die waarde van net willekeur, wat dikwels 'n oplossing vir hierdie soort probleme. En ons sal neerskryf rondomtalie. So hoe sommige maatskappye te implementeer rondomtalie of ewekansigheid of enige van hierdie besluite? Wel ongelukkig hulle doen dinge soos hierdie. Laat my toe om nog 'n vinnige kiekie. Eintlik, laat ons doen twee. Ek weet nie hoekom ons kry al hierdie geregte. Dit is baie vreemd. Goed, wat ek regtig wil hê, is 'n kiekie. Dit is vreemd. Goed, so ek kan dit spoof. Ek weet nie hoeveel verder Ek wil blaai hou. So baie algemeen, sal jy jouself vind by 'n adres soos www.2.acme.com, Miskien www.3 of 4 of 5. En hou 'n oog vir hierdie. Jy hoef dit nie so dikwels sien. Maar wanneer jy dit doen, is dit soort geneig is om wees groter, ouer, stodgier maatskappye wat tegnologies nie regtig lyk om te weet wat hulle doen. En jy sien dit op tegnologie maatskappye soms, die ouer kinders. So, wat doen hulle? Hoe word hulle die implementering load balancing, wil dit voorkom asof? As jy jouself as die gebruiker tik www.something.com, en skielik is jy by www.2.something.com, wat het hul vrag balancer waarskynlik gedoen? Gehoor: [onhoorbaar] David Malan: Ja, so die load balancer is vermoedelik 'n besluit neem op grond van een van hierdie besluitnemingsproses processes-- maak nie regtig saak wat. Maar net soos ek het getrek die getalle op die bord hier, die bedieners is nie net genoem 1, 2, en 3. Hulle is waarskynlik genoem WWW1, WWW2, www3. En dit blyk dat die binnekant van 'n HTTP-versoek is hierdie funksie. En ek gaan simuleer dit soos volg. Ek gaan om oop te maak wat dieselfde blad ontwikkelaar netwerk soos voorheen net sodat ons kan sien wat aangaan op onder die enjinkap. Ek gaan die skerm skoon te maak. En ek gaan om te gaan na, kom ons sê, http://harvard.edu. Nou vir wat ook al besigheid redes, Harvard besluit, soos baie, baie ander webtuistes, om te standaardiseer sy webwerf op www.harvard.edu vir beide tegniese en bemarking redes. Dis net soort in mode om die www het. So die bediener aan die Harvard het aan die gebruiker op 'n manier te lei, as ek hou die woorde: uit 'n URL na die ander. Hoe werk dit? Wel, laat ek gaan voort en druk Enter. En let op die URL inderdaad vinnig verander na www.harvard.edu. Laat my terug blaai in hierdie geskiedenis en klik op hierdie debug diagnostiese inligting, as jy wil. Laat my kyk na my versoek. So hier is die versoek wat ek gemaak het. En sien dis in ooreenstemming met die aard versoek ek gemaak Facebook voor. Maar let op die reaksie. Wat anders is in die reaksie hierdie keer? Gehoor: [onhoorbaar] David Malan: Ja, so dit is nie 'n 200 OK. Dit is nie 'n 404 nie gevind nie. Dit is 'n 301 wat altyd wat is 'n soort van 'n snaakse manier om te sê, Harvard het upped en verhuis elders te www.harvard.edu. Die 301 dui aan dat dit is 'n aanstuur. En na die plek waar moet die gebruiker blykbaar herlei word? Daar is 'n bykomende versnapering van inligting binne daardie koevert. En elkeen van hierdie lyne sal nou begin roep 'n HTTP-kop. Kop is net 'n sleutel waarde pair-- iets kolon iets. Dit is 'n stukkie van die inligting. Waar moet die nuwe plek blykbaar wees? Let op die laaste lyn onder al die hoofde. Gehoor: [onhoorbaar] David Malan: Ja, so daar is Bykomende inligting. Die eerste reël wat ek uitgelig sê 301 geskuif permanent. Wel, waar het dit verskuif? Die laaste line-- en hulle doen nie moet wees in hierdie volgorde. Dit kan willekeurig wees. Plek kolon beteken, hey leser, gaan na hierdie URL in plaas. So blaaier verstaan ​​HTTP aansture. En dit is 'n baie, baie algemene manier van weerkaats die gebruiker van een plek na 'n ander. Byvoorbeeld, as jy al ooit probeer om 'n webwerf wat jy nie besoek aangeteken in, kan jy skielik vind jouself op 'n nuwe URL geheel en al om gevra om aan te meld. Hoe werk dit? Die bediener is waarskynlik die stuur van 'n 301. Daar is ook ander getalle, soos 302, 'n bietjie anders in betekenis, dat jy na 'n ander URL. En dan die bediener, Sodra jy ingeteken het, sal jy terug te stuur na die plek waar jy eintlik bedoel. So, wat is dan is swak ontwerp webtuistes doen? Wanneer jy besoek www.acme.com, en hulle het net gebeur hul bedieners te vernoem WWW1, WWW2, www3, en dies meer, hulle is baie simply-- wat regverdig, maar baie soort foolishly-- redirecting jy 'n werklik anders genoem bediener. En dit werk heeltemal fyn. Dit is lekker en maklik. Ons het gesien hoe dit sou wees gedoen onder die enjinkap in die virtuele koevert. Maar hoekom is dit waarskynlik 'n slegte ingenieurswese besluit? En hoekom is ek soort neerbuigende teenoor hierdie spesifieke ingenieurswese benader? Argumenteer waarom dit sleg. Ben? Gehoor: [onhoorbaar] David Malan: Elke bediener sal moet 'n kopie van die webwerf. Ek is ok met dit. En in werklikheid, dit is wat ek is gedink om hierdie hele storie, want as ons goed wanted-- eintlik, behalwe vir Dan se vroeëre voorstel, waar as jy anders gewees bedieners doen verskillende dinge, dan Miskien kan hulle eintlik funksioneel doen verskillende dinge. Maar selfs dan, op 'n sekere punt, jou databasis gaan kry oorlaai. Jou statiese bates bediener gaan kry oorlaai. So op 'n sekere punt, ons is terug by die storie, waar ons moet veelvuldige kopieë van dieselfde ding. So ek is ok met dit. Gehoor: [onhoorbaar] David Malan: OK, so 'n paar bladsye dalk buite verhouding gewild wees. En so fixerende op een adres is nie noodwendig die beste ding. [Onhoorbaar]? Gehoor: [onhoorbaar] David Malan: Wat doen jy daarmee? Gehoor: [onhoorbaar] David Malan: Ja, presies. So jy wil nie noodwendig have-- jy beslis wil nie jou gebruikers hand tik in WWW1 of WWW2. Uit 'n brandmerk perspektief, dit net kyk 'n bietjie belaglik. As jy net wil soort van 'n skoon, elegante ervaring, met hierdie soort van lukraak genommer URLs is regtig nie goed nie. Want dan gebruikers is sekerlik gaan kopieer en plak dit in e-pos of kitsboodskappe. Nou is dit dan propageer. Nou is jy soort van verwarrend jou minder tegniese gehoor, wat dink jou web adres is www2.something.com. Daar is geen dwingende semantiek daardie. Dit gebeur net te wees 'n onderliggende tegniese detail wat jy het genommer jou bedieners op hierdie manier. En erger nog, wat as, byvoorbeeld, Miskien rondom Kerstyd toe besigheid is regtig bloeiende, jy WWW1 het deur www99, maar in Januarie en Februarie en af, jy draai af die helfte van diegene so jy hoef net WWW1 deur www50? Wat is nou die implikasie vir daardie baie billike sakebesluit? Gehoor: [onhoorbaar] David Malan: Jy moet bestuur al diegene wat nog. Gehoor: [onhoorbaar] David Malan: Presies. Dit is soort van die vangs daar. As jou kliënte is in die gewoonte om Marken dinge, e-pos hulle net redding van die URL iewers, of al is dit net in hul motor voltooi in die leser, sodat hulle nie regtig doelbewus tik dit, dit is net gebeur, hulle mag, vir 11 maande uit die jaar effektief, bereik 'n doodloopstraat. En net die mees slim van gebruikers gaan om te besef, Miskien moet ek met die hand verwyder hierdie nommer. Ek bedoel, dit is net nie gaan gebeur met baie gebruikers, so sleg vir besigheid, slegte implementering ingenieurswese wyse. So gelukkig, dis nie eens nodig nie. Dit blyk dat wat vrag balancers kan doen is in plaas daarvan om te sê: As 'n maak 'n request-- hey A, gaan na 1. Met ander woorde, in plaas stuur wat aanstuur sodanig dat stap een in hierdie proses is die pad hier, Hy is toe aangesê om elders te gaan. En so stap drie is, hy gaan elders. Jy kan plaas voortgaan om die roete te hou die gebruik van die term, al data A se deur die load balancer sodat hy nooit kontakte 1, 2, of 3 direk. Al die verkeer kry nie "verslaan" deur die load balancer self. En so nou is ons soort doelbewus vervaag die lyne En onder hulle verskeie toestelle. A load balancer kan roete data. Dis net 'n funksie wat dit het. So 'n load balancer ook dis 'n stuk sagteware, regtig. En 'n router is 'n stuk sagteware. En jy kan absoluut twee stukke sagteware binnekant van een fisiese rekenaar so 'n vrag Balancer kan hierdie verskeie dinge doen. Daar is dus 'n ander manier om dit te doen, wat eintlik gaan terug na soort eerste beginsels van DNS, wat ons gepraat oor voor pouse. DNS was Domain Name System. Onthou dat jy kan vra 'n DNS-bediener, wat die IP-adres van google.com, facebook.com? En ons kan eintlik dit te doen. 'N instrument wat ons nie vroeër gebruik is een wat net so toeganklik, genoem Nslookup, vir naam bediener soek. En ek gaan net om te tik facebook.com. En ek sien dat Facebook se IP adres is blykbaar hierdie. Laat my gaan voort en kopieer dat, na 'n leser, en gaan na http: // en dat IP-adres en druk Enter. En sowaar, dit blyk te werk. Nou werk agteruit, wat binnekant van die virtuele koevert dat Facebook gereageer met toe Ek het daardie IP-adres direk? Omdat kennisgewing, waar is ek nou? Waar is ek nou, die adres? Gehoor: [onhoorbaar] David Malan: Op die veilige weergawe, en by die www.facebook.com. Dit is dus nie eens net die veilige IP-adres. Facebook het dit gewaag om homself om te sê, dit is belaglik. Ons gaan nie om jou te hou op hierdie lelike soek URL dis numeriese. Ons gaan jou 'n HTTP stuur lei deur middel van daardie selfde kop wat ons gesien het before-- plek kolon iets. En so dit beteken eenvoudig dat onder die enjinkap is steeds hierdie IP-adres. Elke rekenaar op die internet 'n IP-adres, sou dit lyk. Maar jy hoef nie noodwendig bloot te stel wat aan die gebruiker. En net soos in die ou dae, is daar was 1-800-in te samel, 1-800-C-O-L-L-E-C-T, in die VSA, was 'n manier om inligting te versamel doen 'n beroep deur 'n baie maklik onvergeetlike selfoon nommer, of 1-800-matras 'n bed koop, en soortgelyke geheue hulpjes wat jy selfs sien oor die telefoon soort soort nog, wat briewe te karteer om getalle. Nou, hoekom is dit? Wel, dit is 'n baie makliker om te onthou 1-800 matras of 1-800-VERSAMEL plaas van 1-800 iets iets iets iets iets iets iets, waar elke van diegene is 'n syfer. Net so, die wêreld geleer vinnig dat ons nie het mense onthou IP-adresse. Dit sou dom wees. Ons gaan name in plaas gebruik. En dit is hoekom DNS gebore. Goed, so met wat gesê het, in terme van load balancing, kom ons probeer yahoo.com. Wel, dit is interessant. Yahoo blyk te wees terugkeer drie IPs. So hieruit aflei, as jy kon, wat 'n ander manier wat ons kan implementeer hierdie idee van load balancing Miskien selfs sonder die gebruik van 'n fisiese toestel, hierdie nuwe fisiese toestel? Met ander woorde, kan ek wegneem die befondsing wat jy vir die load balancer en vir jou sê om te gebruik 'n paar bestaande stuk hardeware te implementeer hierdie idee van load balancing? En die verwoester, Ja, maar wat, of hoe? Wat is Yahoo hier miskien doen? Kareem? OK, Chris? Gehoor: [onhoorbaar] David Malan: Ja, al drie van die werk. So willekeur, rondomtalie, location-- jy kan net hefboom 'n bestaande stuk van die legkaart dat ons gepraat oor vroeër van die DNS stelsel en net sê, wanneer die eerste gebruiker van die dag vra yahoo.com, gee hulle die eerste IP-adres, soos die een wat eindig in 45 daar. En die volgende keer 'n gebruiker versoeke die IP-adres van yahoo.com iewers in die wêreld, gee hulle die tweede IP, dan is die derde IP, dan is die eerste IP, dan is die tweede. Of wees slim daaroor en doen dit grafies. Of het dit lukraak en nie net te doen dit rondomtalie in hierdie mode. En in hierdie geval, dan Ons hoef nie eens om hierdie swart voer boks in ons prentjie. Ons het nie 'n nuwe toestel nodig het. Ons eenvoudig vertel rekenaars om direk na die bedieners, effektief, maar nie deur middel van hul naam. Hulle moet nooit die naam ken. Hulle is maar net vertel dat yahoo.com kaarte om enige een van hierdie IP-adresse. So dit stuur presies dieselfde versoek. Maar aan die buitekant van die koevert, is dit eenvoudig plaas die IP wat dit is in kennis gestel van. En op hierdie manier ook kon Ons laai die balans van die versoeke deur net die stuur van die koevert om 'n n ander een van Yahoo se eie bedieners? En as ons grawe hou, sal ons sien waarskynlik ander maatskappye met meer. CNN het twee in die openbaar blootgestel. Alhoewel eintlik as ons dit doen weer en again-- cnn.com-- jy kan sien hulle veranderende orde, eintlik. So, wat meganisme is CNN behulp glo? Publiek: Random. David Malan: Wel, dit ewekansige kon wees, al is dit blyk te heen en weer word fietsry. Dit is dus waarskynlik rondomtalie waar hulle is net skakel die einde so dat ek waarskynlik sal neem die eerste. My rekenaar sal neem die eerste elke keer. So dit is load balancing. En wat ons toelaat, uiteindelik, om data, of kaart versoeke te karteer, oor verskeie bedieners. So watter soort probleme nou nog bestaan? Dit voel asof ons net regtig opgelos 'n goeie probleem. Ons het gebruikers op verskillende bedieners. But-- O ja, en Chris, het jy 'n vraag voor? Gehoor: [onhoorbaar] David Malan: Heeltemal hang. So, wat gebeur hier? En ons kan eintlik sien. So kom ons probeer Yahoo se. Eintlik, laat ons gaan na Facebook. Omdat ons weet dat 'n mens werk. So ek gaan kopieer wat IP-adres weer. Ek gaan al hierdie oortjies toemaak. Ek gaan om te gaan oop dat spesiale netwerk blad hier af. En ek gaan net http besoek: //. En nou gaan ek druk Enter. En laat ons sien wat gebeur het. As ek kyk na wat versoek kennisgewing dat my-- Facebook is 'n slegte voorbeeld. Omdat hulle 'n super fancy tegniek wat verberg wat detail van ons. Laat my gebruik Yahoo instead-- http: // wat IP. Kom ons ons netwerk oop blad, bewaar log. En hier gaan ons, Tik. Dit is snaaks. OK, so hier is die befaamde 404 boodskap. Wat is snaaks hier is dat hulle waarskynlik nooit sal terug wees. Want daar is waarskynlik nie iets verkeerd per se. Hulle het net doelbewus besluit om nie te ondersteun die numeriese vorm van hul adres. So, wat ons eintlik sien in die blad netwerk, as ek trek dit hier, is, soos ek sê, die befaamde 404, waar As ek kyk na die reaksie kop, dit is wat ek here-- 404 nie gevind nie. So kom ons probeer een ander. Kom ons kyk of CNN saam met ons. Ek sal gryp een van CNN se IP-adresse, duidelik hierdie, http, Dah, Dah, Dah, Dah. So in antwoord op Chris se vraag, dat 'n mens gewerk. En laat ons gaan om reaksie kop. Eintlik nie, alles reg, ek sukkel om 'n werkende voorbeeld vind. So CNN het besluit, sal ons jou net laat by watter adres jy eintlik besoek, brandmerk kwessies opsy. Maar wat sal nie gebeur nie, as Ons kan dit sien in Facebook se geval, is ons sou kry 'n 301 Geskuif Permanent, heel waarskynlik, binnekant van wat plek: https: //www.facebook.com. En die kans is www.facebook.com is 'n alias vir presies dieselfde bediener het ons net gaan. Dit is dus 'n bietjie teenproduktief. Ons letterlik besoek aan die bediener. Die bediener is ons dan vertel, gaan weg. Gaan na hierdie ander adres. Maar ons het net so gebeur te wees gaan terug na daardie selfde bediener. Maar vermoedelik ons ​​nou bly dat bediener sonder hierdie heen en weer. Want nou is ons met behulp van die naam van weergawe van die webwerf, nie die numeriese. Goeie vraag. OK, so as ons nou assume-- ons load balancing opgelos. Ons het nou 'n meganisme, of dit nou via DNS, of dit nou deur middel van hierdie swart boks, of dit met behulp van enige van hierdie tegnieke. Ons kan versoek 'n gebruiker se neem in en uit te vind waaraan bediener, 1, 2, of 3, aan hom of haar te stuur. Wat begin breek oor ons webwerf? Met ander woorde, ons het bou 'n besigheid wat was voorheen op 'n enkele bediener. Noudat besigheid loop oor verskeie bedieners. Watter soort aannames, watter soort ontwerp besluite te neem, kan nou breek? Dit is minder voor die hand liggend. Maar laat ons kyk of ons nie kan sit ons vinger op 'n paar van die probleem wat ons het geskep vir onsself. Weereens, dit is soort van soos die vashou af die lek in die pyp. En nou 'n paar nuwe uitgawe het opgeduik hier. Gehoor: [onhoorbaar] David Malan: OK, so ons het om hou groei ons spasie op die hardeskyf. Ek is ok met dit nou. Want ek dink ek kan horisontaal skaal. Soos as ek 'n lae is hardloop, sal ek net kry 'n vierde bediener, dalk 'n vyfde bediener, en dan verhoog ons vermoë deur 'n ander 30% of 50% of iets anders. So ek is ok met dit, ten minste vir nou. Gehoor: [onhoorbaar] David Malan: OK, so dit is 'n goeie punt. So dink die bedieners is nie identies. En kliëntediens of die e-pos ekwivalent is om 'n paar boodskap van 'n gebruiker en gesê: Dit is nie werk nie reg nie. Dit is baie moontlik, soms, dat ons dalk een of meer bedieners optree 'n bietjie mis, maar nie die ander, wat beslis kan maak dit moeiliker om te jaag in die kwessie. Jy kan hê om verskeie plekke kyk. Dit is manifestasie van 'n ander soort van fout, naamlik dat jy waarskynlik jou infrastruktuur het so ontwerp dat alles werklik identies. Maar dit beteken openbaar 'n nuwe probleem dat ons nie voorheen gehad het. Wat nog? Gehoor: [onhoorbaar] David Malan: Ja, daar is meer ingewikkeld. Daar is fisies meer drade. Daar is 'n ander toestel. Trouens, ek het 'n fundamentele kennis konsep en 'n fundamentele probleem hier bekend as 'n enkele punt van mislukking, wat, selfs as jy nog nooit gehoor die frase, kan jy waarskynlik nou agteruit te werk en dit uitwerk. Wat beteken dit dat ek 'n enkele punt van mislukking in my argitektuur? En deur argitektuur, ek het net beteken die topologie van dit. Gehoor: [onhoorbaar] David Malan: Ja, wat as die load balancer ondergaan? Ek het hierdie middel man wie se plaas doel in die lewe is om 'n probleem op te los. Maar Ek het 'n nuwe probleem bekendgestel. 'N Nuwe lek het opgeskiet in die pyp. Want nou as die load balancer sterf of breek of misfunctions, nou ek toegang te verloor al drie van my bedieners. En voor, ek het nie hierdie middelman. En so dit is 'n nuwe probleem, waarskynlik. Ons sal terugkom na hoe ons kan regmaak nie. Gehoor: [onhoorbaar] David Malan: Dit sou 'n mens benadering wees. Ja, en so dit gaan nogal wees gat die rot se ons begin om af te gaan. Maar laat ons terugkeer tot wat in net 'n oomblik. Watter ander probleme het ons nie geskape nie? So Dan genoem databasis voor. En selfs as jy nie te bekend tegnies, 'n databasis is net 'n bediener waar veranderende data is tipies gestoor, Miskien 'n bevel iemand geplaas het, jou rekening, jou naam, jou e-posadres, dinge wat dalk word ingevoer of verander met verloop van tyd. Voorheen het my databasis is op dieselfde bediener as my webbediener. Want ek het net een web hosting rekening. Alles was almal in dieselfde plek. Waar moet ek my databasis nou, op bediener 1, 2, of 3? Publiek: 4. David Malan: 4, OK, al reg, so laat ons daarheen te gaan. So ek gaan sit my database-- en laat ons verdink hierdie www, www, www. En ek gaan om te sê, dit is nommer vier. En ek sal sê DB vir die databasis. OK, ek hou van hierdie. Wat lyn moet ek vermoedelik hier teken? Gehoor: [onhoorbaar] David Malan: Ja, so die kode, as ons môre sal bespreek, vermoedelik dieselfde op al drie bedieners. Maar dit moet nou nie meer toegang tot 'n databasis hardloop plaaslik, maar elders. En dit is goed. Ons kan net gee die databasis 'n noem, as ons het, of 'n aantal. En dat alle werk goed. Maar wat het ons gedoen? Ons het horisontaal afgeskaal deur met drie bedieners in plaas van een, wat is goed. Want nou kan ons hanteer drie keer soveel vrag. En nog beter, as een of twee van daardie bedieners gaan af, my besigheid kan voortgaan om te funksioneer. Want ek het nog een, selfs as ek soort aanhinken prestasie-wyse. Maar wat nuwe probleem I wat deur die verskuiwing van die databasis hierdie aparte bediener in plaas van op 1, 2, en 3? Gehoor: [onhoorbaar] David Malan: Ja, so nou moet ek 'n ander enkele punt van mislukking. As my databasis sterf, of moet opgegradeer, of wat ook al, nou seker, my webwerf is aanlyn. En ek kan statiese dien, onveranderlike inhoud. Maar ek kan nie toelaat dat gebruikers teken of verandering enigiets of bevel enigiets, erger nog. Want as 4 is op die regte, dan 1, 2, en 3 kan regtig nie om dit te praat per definisie. OK, so ja, en so dit is hoekom Ek aarsel om hierdie te trek. So laat ons terug na wat kom. Ek bedoel nie om te hou stoot jou af. Maar die prentjie is baie vinnig gaan stresvolle te kry. Omdat jy nodig het om te begin om twee van alles. In werklikheid, as jy nog ooit gesien het die movie Kontak 'n paar jaar gelede met Jodie Foster-- geen? OK, so vir die twee van ons wat Kontak gesien het, daar is 'n verhouding is daar waar hulle wese gekoop het twee van iets eerder as een, al is dit teen dubbel die prys. So was dit soort van 'n speelse kommentaar in die fliek. Dit is soort van in verband met hierdie. Ons kan absoluut doen. En jy het net koste ons twee keer soveel geld. Maar ons sal terug kom. So het ons hierdie opgelos. So jy weet wat? Dit is soos 'n glybaan. Ek wil nie om te gaan met wat om 'n duplikaat databasis. Dit is te veel geld. Jy weet wat? Ek wil my databasis het net soos in weergawe een waar elke bediener het sy eie plaaslike databasis. Dus is ek net gaan trek db op elk van hierdie. So nou elke web bediener identies sover want dit het dieselfde kode, dieselfde statiese bates, dieselfde foto's en teks en dies meer. En elkeen het sy eie databasis. Ek vaste die enkele punt van mislukking probleem. Nou het ek 'n databasis. Maak nie saak watter twee of een van hierdie dinge sterf, is daar altyd een links. Maar wat nuwe probleem wat ek gemaak het dat Dan se oplossing vermy? Gehoor: [onhoorbaar] David Malan: Ja, ek moet hulle pas nie, of hoe? Omdat óf ek moet pas nie wie gaan where-- met ander woorde, As Alice besoek webwerf, gebeur en sy te kry lukraak of ronde robined of wat ook al, aan bediener nommer een, daarna moet ek altyd stuur haar na bediener 1. Hoekom? Want as ek haar stuur aan bediener 2, gaan dit lyk sy nie daar bestaan. Ek is nie van plan om haar orde geskiedenis het. Ek is nie van plan om haar profiel daar te hê. En dit voel net soos dit nooi probleme. En toe Bob besoek, ek moet hom altyd stuur om dieselfde bediener, 2, of wat ook al een, en Charlie aan 'n derde een, en konsekwent. Dit is nie onredelik, al is. Dit staan ​​bekend as skeiding jou databasis. En in werklikheid was dit wat Facebook het vroeg. As jy die geskiedenis van gevolg Facebook, dit begin hier by die kampus as www.thefacebook.com. Dan ontwikkel dit eens Mark begin versprei na ander kampusse wees harvard.thefacebook.com en mit.thefacebook.com, en waarskynlik bu.thefacebook.com, en dies meer. En dit was as gevolg vroeg, dink ek nie jy kan vriende regoor kampusse het. Maar dit is goed. Omdat niemand van Harvard het gestuur om hierdie bediener. Enigiemand uit BU het gestuur om hierdie bediener. Enigiemand van MIT het gestuur hierdie server-- in teorie. Ek weet nie heeltemal weet al die onderliggende implementering besonderhede. Maar hy vermoedelik verdeel mense deur hul kampus, waar hul netwerk was. So dit is 'n goeie tot die punt waar jy dit nodig twee bedieners vir Harvard, of drie bedieners vir Harvard. En dan is dit die eenvoud soort breek. Maar dit is 'n redelike benadering. Kom ons altyd stuur Alice na dieselfde plek, altyd stuur Bob na dieselfde plek. Maar wat gebeur as Alice se bediener gaan af? Bob en Charlie kan nog koop dinge en teken in op die blad. Maar Alice kan nie. So jy verloor het 'n derde van jou basis van gebruikers. Miskien is dit beter as 100%? Maar miskien sal dit lekker wees as ons kon steeds ondersteun 100% van ons gebruikers selfs wanneer 'n derde van ons bedieners gaan af. So kan ons wat pas nie? Nie die gebruikers, per se, maar die databasis oor al hierdie bedieners. So nou is ons soort van 'n paar nodig soort interkonneksie hier sodat die bedieners self kan sync-- nie onredelik. En in werklikheid, hierdie tegnologie bestaan. In die wêreld van databasisse, daar is die idee van meester-slaaf databasisse, of primêre-sekondêre, waar onder die funksies is nie net om te stoor en reageer met data, maar ook net om voortdurend sync met mekaar. So 'n tyd wat jy skryf of te red iets om hierdie databasis, dit onmiddellik raak "herhaal" om die ander databasisse sowel. En elke keer as jy lees daaruit, dit maak nie saak waar jy is. Want as in teorie hulle het al gesynchroniseerd, jy gaan dieselfde siening van die data te kry. dit klink so perfek. Daar moet 'n vangs wees. Wat kan die vangs wees? Gehoor: [onhoorbaar] David Malan: Ja, so drie keer soveel dinge kan verkeerd loop. Dit is 'n werklikheid. Dit mag dalk al wees dieselfde in die gees. Maar iemand moet hierdie instel. Daar is 'n hoër waarskynlikheid dat iets gaan verkeerd gaan. Net combinatorially jy meer dinge wat geneig is tot foute. Wat anders is sleg potensieel? Gehoor: [onhoorbaar] David Malan: Ja, so sinchroniseer kan sleg wees. Selfs as jy dalk weet vanaf rugsteun en so, as jy net blindelings maak rugsteun, wat as iets doen skeefloop op een databasis? Jy verwyder iets wat jy nie moet nie. Jy het onmiddellik gerepliseer dat die probleem oral anders. So Victoria was talking-- rugsteun sou 'n goeie ding hier wees. En so sal ons terug na daardie. En duidelik te wees, ons praat nie oor rugsteun hier op sigself. Ons praat oor waarheid replikasie of sinchronisasie oor bedieners. Hulle is almal lewe. Hulle is nie bedoel om gebruik word vir rugsteun. Gehoor: [onhoorbaar] David Malan: Wat is dit? Publiek: Higher-- David Malan: Hoër koste. Ons het die koste vir verdriedubbel seker, maar ten minste in terme van die hardeware. Omdat 'n databasis is net 'n stukkie van die sagteware. En 'n web bediener is 'n stuk sagteware. Dit is waarskynlik vry as ons gebruik enige aantal open source dinge. Maar as ons gebruik iets soos Oracle, Ons betaal Oracle meer geld per lisensies, of Microsoft vir toegang. Daar moet hier 'n paar ander vangs wees. Dit kan nie hierdie eenvoudige wees. So om jou punt, ek dink dit was Kareem, vir geografie earlier-- of nee, Romeinse, was dit vir geography-- veronderstel dat ons word slim oor hierdie, en ons is om een ​​van ons bedieners, en op sy beurt ons databasis, in die VSA, en 'n ander in Europa, 'n ander in Suid-Amerika, 'n ander in Afrika, 'n ander in Asië, oral ons dalk wil regoor die wêreld. Ons weet reeds uit ons spoor roetes wat punt A en punt B, as hulle verder uitmekaar, gaan meer tyd in beslag neem. En as sommige van julle gebruik het gereedskap, soos Facebook of Twitter of enige van hierdie plekke deesdae dat verander voortdurend as gevolg van die gebruiker geskep data, soms as jy getref herlaai of oop dieselfde bladsy in 'n ander leser, sien jy verskillende weergawes, amper. Jy kan die status van iemand se kyk werk hier, maar nie hier nie, en dan herlaai jou, en dan is dit verskyn, en jy weer laai, en dit verdwyn. Met ander woorde, hou 'n op die uitkyk vir hierdie, ten minste As jy met behulp van sosiale netwerke, veral. Weereens, net omdat die data so vinnig verander, soms bedieners kry nie uit pas. En miskien is dit 'n super klein venster. Maar 200 millisekondes, miskien selfs meer as that-- dis gaan 'n paar nie nul-bedrag te neem tyd vir hierdie databasisse te sinchroniseer. En ons is nie net praat oor een versoek. As 'n maatskappy het duisende gebruikers gebruik dit gelyktydig, hulle kan buffer. Met ander woorde, is daar dalk 'n tou of 'n wag lyn voor al daardie databasis navrae kan kry gesinchroniseer. So miskien is dit eintlik 'n paar sekondes. En inderdaad is dit waar ek dink selfs tot vandag toe met Facebook, waardeur wanneer hulle sinchroniseer vanaf East Coast om Weskus, dit het 'n nie-triviale voortplanting vertraging, om so te praat, dat jy net soort van moet duld nie. En dus is dit nie soseer 'n fout, want dit is 'n werklikheid dat jou gebruikers nie kan sien die korrekte data vir ten minste 'n paar sekondes. Ek sien dit op Twitter 'n baie eintlik waar soms sal ek tweet in 'n venster, open 'n ander te sien dit dan aan inderdaad bevestig dat dit opgegaan, en dit is nog nie daar nie. En ek het soort van herlaai, herlaai, reload-- O, daar is dit. En dit is nie, want dit was nie gered. Dit het net nie gepropageer om ander bedieners. So hierdie kompromis, too-- dink jy regtig wil jouself bloot te stel aan die risiko dat indien die gebruiker gaan na hul bestelling geskiedenis, dit is nog nie eintlik daar? Ek sien dit op sekere banke. Dit sorg vir groot struikelblok my altyd wanneer, goed, vir een, jy kan net gaan soos ses maande terug in jou bankstate in sommige banke, alhoewel in teorie wat hulle behoort in staat wees om alles online het. Hulle neem net dinge op die regte pad soms. Soms, too-- wat webwerf is dit? Daar is one-- O, dis GoDaddy, dink ek. GoDaddy, wanneer jy kyk na koop van 'n domein naam of iets, hulle sal dikwels gee jy 'n skakel na jou kwitansie. En as jy op die skakel kliek regs weg, dit dikwels nie werk nie. Dit sê net, doodloopstraat, niks hier. En dit is ook as gevolg van hierdie voortplanting vertragings. Omdat vir watter rede ook al, hulle neem 'n bietjie van die tyd om werklik te genereer nie. So is hierdie soort van soos jy wil trek jou hare uit op 'n sekere punt. Want al wat jy probeer om te doen, is 'n eenvoudige probleem op te los. En ons hou die skep van nuwe probleme vir onsself. So laat ons kyk of ons kan hierdie soort ongedaan te maak. Dit blyk dat die kombinasie van databasisse op al jou webservers is nie regtig die beste praktyke. Oor die algemeen, wat 'n ingenieur sou doen, of stelsels argitek, sou wees om anders te hê vlakke van bedieners. En net ter wille van die ruimte se ek sal trek hul databasis hier. Ons kan databasis en bediener nommer vier hier wat wel verbindings na elk van hierdie bedieners hier. So dit kan ons voor wees eindig vlak, as mense sou sê. En dit sal ons agterkant vlak wees. En dit beteken net dat hierdie gesig die gebruiker. En die databasisse nie in die gesig staar die gebruiker. Geen gebruiker kan direk toegang tot die databasis. So laat ons nou miskien gaan af die roete Victoria voorgestel. Dit is 'n enkele punt van mislukking. Dit maak my ongemaklik. So, wat is dalk die mees voor die hand liggend oplossing? Gehoor: [onhoorbaar] David Malan: Jammer, sê dat weer. Gehoor: [onhoorbaar] David Malan: Nie-produksie bediener. Wat bedoel jy? Gehoor: [onhoorbaar] David Malan: Ag, OK, so rugsteun. OK, so ons kan dit doen, beslis. En eintlik is dit baie algemeen gedoen. Dit kan databasis nommer vyf wees. Maar dit is net gekoppel aan nommer vier. En jy kan noem dit 'n warm spaar. Hierdie twee databasisse kan gekonfigureer om net voortdurend sinchroniseer mekaar. En so as hierdie masjien sterf, vir ongeag dom reason-- die hardeskyf sterf, iemand reise oor die koord, 'n sagteware is gebrekkig en die masjien hang of crashes-- jy kan 'n mens het letterlik koppel hierdie een van die muur en in plaas prop hierdie een in. En dan binne, kom ons sê, 'n n paar minute, miskien 'n halfuur, jy weer online. Dit is nie 'n groot, maar dit is ook nie verskriklik. En jy hoef nie te bekommer oor enige sinkronisasie kwessies. Want alles is reeds daar. Omdat jy 'n perfekte Friends gereed om te gaan. Jy kan 'n bietjie wees liefhebber hieroor, soos sommige mense dikwels doen, waar jy dalk databasis nommer vier het hier, databasis nommer vyf hier, wat met mekaar te praat. Maar jy het ook hierdie soort arrangement-- en dit doelbewus lyk slordig, omdat dit is-- waar al die voorkant bedieners kan praat met al die agterkant bedieners. En so as hierdie databasis nie reageer, hierdie voorkant bedieners het tot programmering het -kode in die wat sê: as jy nie kry 'n verbinding met die databasis, die primêre begin onmiddellik praat met die sekondêre. Maar dit stoot nou die kompleksiteit van die kode. En nou jou ontwikkelaars, jou sagteware ontwikkelaars, het om te weet oor hierdie. En jy soort van die vasmaak van die kode wat jy skryf jou werklike agterkant implementering besonderhede, wat maak dit moeiliker, veral in 'n groter maatskappy of 'n groter webwerf, waar jy nie noodwendig wil die programmeerders te hê om te weet hoe die databasis ingenieurs doen hul werk. Jy mag dalk wil om daardie rolle hou soort funksioneel duidelike so dat daar hierdie laag abstraksie tussen die twee. So, hoe kan ons dit regmaak? Wel, ons soort opgelos hierdie probleem keer voor. Hoekom het ons nie sit een van hierdie dinge hier waar dit praat op sy beurt tot nommer vier en vyf, almal van die front-end web bedieners praat met die middelman, en die middelman op sy beurt roetes hul data? Trouens, wat dalk 'n goeie naam vir hierdie ding? Gehoor: [onhoorbaar] David Malan: OK, databasis bestuurder. Maar wat kan 'n termyn wat ons kon onthou vir hierdie toestel? Ons balanseer. Ja, so eintlik is ek hier nie regverdig nie. So 'n load balancer sou impliseer dat ons Reguliere heen en weer hier, wat nodig nie eintlik die geval wees. Daar is dus 'n paar maniere waarop ons kan dit doen. As dit is in werklikheid 'n load balancer, die storie is presies dieselfde as voorheen. Sommige van die versoeke na 4. Sommige van hulle gaan na 5. En dit is goed. Want nou kan ons hanteer dubbel soveel deurset. Maar hierdie verband hier is super belangrik. Hulle moet voortdurend bly gesinchroniseer en hopelik is nie geografies ver van mekaar af sodat dat die sinchronisasie is in wese oombliklike. Andersins kan ons 'n probleem. So dit is nie sleg nie. Maar weereens, ons het 'n nuwe probleem. Watter probleem het ek net herskep? Enkele punt van mislukking. So, wat is die oplossing vir dit? So as Victoria se lief om geld te spandeer, Ons kan hierdie man uit en dit te doen. En ek is net gaan beweeg hier genoeg ruimte. En dit gaan 'n bietjie slordig te wees. Ek gaan lyne hou. Veronderstel dat al die lyne gaan in beide? 'N Baie algemene tegniek hier sou wees 'n tegniek genoem hartklop gebruik waardeur elk van hierdie toestelle, links en regs vrag balancers, of wat ons wil om dit te noem, voortdurend sê: Ek is in die lewe, Ek is in die lewe, ek lewe, ek is in die lewe. Een van hulle by verstek tree op as die primêre. So was dan al die verkeer word gelei deur die een aan die linkerkant, byvoorbeeld, by verstek, arbitrêr. Maar so gou as die man op die regte nie meer hoor van links man, die een aan die regterkant is geprogrammeer outomaties, byvoorbeeld, neem oor die IP-adres van die een aan die linkerkant, en daarom word die primêre en Miskien stuur 'n e-pos of 'n SMS-boodskap om die mense te sê, hey, links primêre is op die regte. Ek sal primêre geword vir nou. So vise-president word president, om so te praat. En iemand het om te gaan red die president, as jy wil. Want nou het ons 'n tydelike enkele punt van mislukking. So as ingewikkeld of stresvolle as hierdie mag lyk om te begin om, dit is hoe jy hierdie probleme op te los. Jy doen gooi geld op dit. Jy gooi hardeware op dit. Maar helaas jy voeg kompleksiteit daarvoor. Maar die resultaat uiteindelik is dat jy het 'n baie meer, in teorie, robuuste argitektuur. Dit is nog steeds nie perfek nie. Want selfs wanneer ons have-- ons kan nie 'n enkele punt van mislukking. Ons het nou 'n dubbele punte van mislukking. Maar as twee dinge verkeerd loop, wat absoluut kon, ons is nog steeds gaan af wees. En so baie algemeen in die bedryf is om te beskryf jou tot tyd in terme van neges. En soort van die doel om na te streef is 99,999% van die tyd jou webwerf is aanlyn. Of nog beter, voeg 'n paar pragtig om dit. Ongelukkig is hierdie neges is baie duur. En laat ons dit eintlik doen nie. So as ek oop my groot sakrekenaar weer, 365 dae in 'n jaar, 24 uur in 'n dag, 60 minute in 'n uur, en 60 sekondes in 'n minuut, dit is hoeveel sekondes is daar in 'n jaar as ek dit gedoen het korrek. So as ons keer dit deur 0,99999, dis hoeveel keer het ons wil streef. So dit beteken dat ons moet op wees soveel sekondes gedurende die jaar. So as ek nou trek die oorspronklike waarde, of liewer hierdie nuwe waarde van die first-- 316 sekondes, wat natuurlik is vyf minute. So as jou webwerf of jou maatskappy is beweer "vyf pragtig," waardeur jy up 99,99% van die tyd, wat beteken dat jy 'n beter het slim genoeg en vinnige gewees genoeg en spoel genoeg hulpbronne dat jou bedieners is net op die regte pad vyf minute uit die jaar. Dit is 'n duur en harde ding om te streef. Dit is dus 'n kompromis, ook. 99,999% van die tyd is redelik darn hard en duur. Vyf minutes-- jy skaars kan kry om die bediener om fisies te vervang iets wat verkeerd is weg. En dit is hoekom ons begin bedrading dinge saam meer ingewikkeld apriori sodat die rekenaars kan hulself soort op te los. Ja. Gehoor: [onhoorbaar] David Malan: Die probleem kan wees in 'n aantal plekke. En in fact-- Gehoor: [onhoorbaar] David Malan: Absoluut, absoluut. En as die prentjie is kry meer ingewikkeld, dit kan wees die web bedieners. Dit kan die bevoegdheid om die gebou te wees. Dit kan iets fisiese, soos in die kabels het uitgerafel of uitgeskop. Dit kan die databasis reageer nie. Dit kan hulle opgedateer hul bedryfstelsel stelsel en iets hang. So daar is so baie ander bewegende dele. En so 'n groot deel van die ingenieurswese wat om te gaan agter hierdie is eintlik net handel offs, soos hoe veel tyd, hoeveel geld is dit eintlik die moeite werd, en wat is die bedreigings jy regtig bekommerd oor? Byvoorbeeld, in die kursusse Ek leer by Harvard, Ons gebruik 'n baie van die wolk rekenaar, wat ons sal begin om 'n blik op nou, Trouens, waar ons gebruik Amazon Web Services. Net omdat dit is die een wat ons begin met. Maar daar is al hoe meer deesdae uit Google en Microsoft en ander. En ons doelbewus kies om al te sit van virtuele masjiene ons kursusse, as hulle geroep, in die dink ek dis Wes Virginia data sentrum. Die meeste van ons studente toevallig uit die VSA, al is daar beslis sommige internasionaal. Maar die werklikheid is dit net eenvoudiger en dit is goedkoper vir ons aan al ons eiers sit in die Virginia mandjie alhoewel ek weet as daar iets verkeerd gaan in Virginia, so ook van tyd tot tyd happened-- soos As daar 'n orkaan of 'n weer Indien so, indien daar is 'n paar krag kwessie rooster of die like-- al van data ons kursusse 'kan op die regte pad te gaan vir 'n geruime aantal minute of ure of selfs langer. Maar die bedrag van kompleksiteit wat nodig sou wees, en die bedrag van die geld wat sou vereis word, om alles te bedryf in parallel in Europa of in Kalifornië net nie soveel sin maak. Dit is dus 'n rasionele handel af, maar 'n pynlike een wanneer jy eintlik gesien dat die stilstand. Wel, laat ons oorgang nou om sommige van die wolk-gebaseerde oplossings sommige van hierdie probleme. Alles wat ons het is bespreek tot dusver is 'n soort van probleme wat was saam met ons vir 'n geruime tyd, of jy jou eie bedieners in jou maatskappy, of jy gaan na 'n mede-plek plaas soos 'n data-sentrum en deel ruimte met iemand anders, of deesdae in die wolk. En wat is lekker oor die wolk is dat alle van hierdie dinge het ek is teken as fisiese voorwerpe kan nou beskou word as soort virtuele voorwerpe in die wolk wat gesimuleerde met sagteware. Met ander woorde, die rekenaars vandag, bedieners vandag, soos die Dell prentjie Ek het vroeër gewys, is so vinnig, het soveel RAM, soveel CPU, soveel skyf ruimte, wat mense geskryf het sagteware om feitlik verdeling 'n bediener op in die illusie van dit om twee bedieners, of 200 bedieners, sodat dat elkeen van ons kliënte het die illusie van ' nie net 'n rekening op 'n paar web gasheer, maar ons eie masjien wat ons huur van iemand anders. Maar dit is 'n virtuele masjien in sover op een Dell bediener, om dit weer te opgevolg word verdeel in twee of 200 of meer virtuele masjiene, wat almal gee iemand administratiewe toegang, maar op 'n manier waar niemand van ons weet of kan toegang tot ander virtuele masjiene op dieselfde hardeware. So 'n prentjie verf in skyfies vandag, Ek het hierdie geskiet hier van 'n webwerf genoem Docker. So dit is 'n bietjie meer detail as wat ons werklik nodig het. Maar as jy hierdie sien as jou infrastructure-- sodat net die hardeware jou eie, jou bedieners, die rakke, die data sentrum, en al that-- jy sou tipies hardloop 'n gasheer bedryfstelsel. So iets like-- dit kan wees Windows. Dit sou nie Mac OS. Want dit is nie regtig onderneming deesdae. So dit sou Linux of Solaris wees of Unix of BSD of FreeBSD of enige aantal ander bedryfstelsels wat óf vry of kommersiële. En dan loop jy 'n program, spesiale program, bekend as 'n hypervisor, of virtuele masjien monitor, VMM. En dit is produkte, as jy bekende, soos VMware of VirtualBox of Virtual PC of ander. En wat hierdie programme doen is presies dat die funksie wat ek vroeër beskryf. Dit skep die illusie dat 'n mens fisiese masjien kan verskeie virtuele masjiene. En so hierdie kleurvolle bokse op die top is verf 'n prentjie van die volgende. Dit hypervisor, hierdie stuk sagteware, noem dit VMware, wat uitgevoer word op 'n ander bedryfstelsel, noem dit Linux, skep die illusie dat hierdie fisiese rekenaar is eintlik een, twee, drie virtuele rekenaars. So ek het nou gekoop, as die eienaar van hierdie hardeware, een fisiese rekenaar. En nou is ek huur dit tot drie kliënte. En daardie drie kliënte dink almal hulle het 'n toegewyde virtuele masjien. En dit is nie aas en skakelaar. Dit is meer bekendmaking dat jy 'n virtuele masjien. Maar tegnologies, ons almal volle administratiewe beheer oor elk van daardie gas bedryfstelsels, wat kan enige aantal bedryfstelsels. Ek kan enigiets wat ek wil installeer. Ek kan dit op te gradeer soos ek wil. En ek het nie eens weet of omgee vir die ander bedryfstelsel stelsels op die rekenaar, die ander virtuele masjiene, tensy die eienaar van al hierdie grys dinge is 'n bietjie gulsig en is overselling sy of haar hulpbronne. So as jy neem een fisiese masjien en verkoop dit om nie 200 maar 400 kliënte, op 'n stadium ons gaan reis na daardie dieselfde ding probleme soos voorheen. Omdat jy net 'n beperkte bedrag van skyf en RAM en dies meer. En 'n virtuele masjien is net 'n program wat voorgee om 'n wees volwaardig rekenaar. So kry jy waarvoor jy betaal hier. So jy aanlyn gaan vind jy dalk betaal betroubare maatskappy miskien $ 100 per maand vir jou eie virtuele masjien, of jou eie virtuele privaat-bediener, wat is 'n ander term vir dit. Of jy kan 'n paar vlieg deur vind nag waar jy betaal $ 5,99 per maand vir jou eie virtuele masjien. Maar die kans is jy nie naastenby het soveel prestasie aan u beskikbaar, want hulle het al overselling dit sodat, as jy sou met die hoër vlak van diens of die beter verkoper. So wat beteken dit eintlik beteken vir ons? So laat ek gaan na hierdie. Ek gaan om te gaan na aws.amazon.com. Net omdat hulle 'n lekker spyskaart van opsies. Maar hierdie selfde lesse van toepassing op 'n hele klomp van die ander wolk verkopers. Ongelukkig is dit dikwels meer bemarking praat as enigiets anders. En dit hou verander. So gaan jy na 'n webwerf soos hierdie. En dit maak nie regtig vertel jy veel van enigiets. En selfs ek, as ek kyk na hierdie, doen nie regtig weet wat enige van hierdie dinge noodwendig doen totdat ek duik in. Maar kom ons begin aan die linkerkant, te bereken. En ek gaan dit klik. En nou Amazon het eerlik n oorweldigende aantal dienste deesdae. Maar Amazon EC2 is miskien die eenvoudigste. Amazon EC2 sal presies te skep vir ons die prentjie wat ons gesien het 'n oomblik gelede. Dit is hoe hulle te maak 'n baie hul geld in die wolk. Blykbaar Netflix en ander is in die wolk met hulle. Dit is al tipies donsig bemarking praat. So, wat ek wil doen is om te gaan om Pricing-- of eerder laat gaan na Gevalle eerste net 'n prentjie van hierdie verf. So dit sal wissel deur die verkoper. En ons hoef nie te diep in te kry die onkruid hier van hoe dit alles werk. Maar die manier waarop Amazon, byvoorbeeld, huur jy 'n virtuele masjien of 'n bediener in die wolk is hulle het hierdie soort van snaaks name, soos t2.nano, wat klein beteken, of t2.large, wat groot beteken. Elkeen van hulle gee jou óf een of twee virtuele CPUs. Hoekom is dit 'n virtuele CPU? Wel, die fisiese masjien mag het 64 of meer werklike CPUs. Maar weereens, deur sagteware, Hulle skep die illusie dat 'n masjien kan wees divvied tot verskeie gebruikers. Sodat ons kan dink aan dit as met een Intel CPU of twee. CPU krediete per hour-- ek sou moet die fynskrif te lees oor wat dit werklik beteken. Dit beteken hoeveel van die masjien jy kan gebruik per uur vis-a-vis ander kliënte op daardie hardeware. Hier is hoeveel RAM of geheue jy get-- óf 'n halwe GB, of 500 megagrepe, of 1 GB, of 2. En dan die stoor net verwys na watter soort skywe hulle gee jou. Daar is verskillende stoor tegnologie wat hulle aanbied. Maar meer interessant as hierdie dan kan die prys wees. So as jy die tegniese direkteur of 'n ingenieur wat nie doen wil 'n bediener loop in jou kantoor, vir watter rede ookal, en dit is heeltemal te ingewikkeld of duur om bedieners te koop en mede-spoor hulle en betaal huur in sommige fisiese ruimte hok somewhere-- jy net wil om te sit op jou laptop laat in die nag, tik in jou kredietkaart inligting, en huur bedieners in die cloud-- goed, ons kan dit hier doen. Ek gaan om te gaan aan- Linux is 'n gewilde bedryfstelsel. En laat ons net kry 'n gevoel van dinge. Whoops-- te groot. So kom ons kyk na hul kleinste virtuele masjien, wat blyk te hê, Vir ons doeleindes, een CPU en 500 MB RAM. Dit is redelik klein. Maar eerlik, webbedieners doen nie moet alles wat veel te doen. Jy het 'n beter specs in jou laptop. Maar jy hoef nie die specs deesdae vir dinge. Jy gaan $ 0,0065 per uur betaal. So laat ons sien. As daar 24 uur in 'n dag, en Ons betaal soveel per uur, dit sal kos $ 0,15 te huur wat spesifieke bediener in die wolk. En dit is net vir 'n dag. As ons dit doen 365-- $ 57 tot huur daardie spesifieke bediener. Dit klink so super goedkoop. Dit is ook super lae prestasie. Sodat ons, vir kursusse Ek leer hier, is geneig gebruik ek dink t2.smalls of t2.mediums. En ons kan 'n paar honderd het gebruikers, 'n paar duisend gebruikers, totaal. Dit is redelik beskeie. So laat ons sien wat dit sou kos. So as ek doen dit koste keer 24 ure keer 365, se hierdie een $ 225. En van die afdelings Ek leer ons oor die algemeen hardloop twee van alles, vir ontslag en ook vir prestasie. Sodat ons kan spandeer dus $ 500 vir die bedieners dat ons dalk nodig per jaar. Nou, as jy meer nodig performance-- Kom ons neem 'n blik op die geheue. Ons het gepraat oor die geheue nogal 'n bietjie. En as jy meer nodig memory-- en 64 GB is die getal Ek het mentioning-- dit is byna $ 1 per uur. En jy kan redelik vinnig sien waar hierdie goes-- so 24 uur keer 365. Dus is dit nou $ 8000 per jaar vir 'n mooi ordentlike bediener. So op 'n sekere punt, daar is hierdie buigpunt waar nou ons kon spandeer $ 6000 waarskynlik en koop 'n masjien soos wat en amortiseer die koste meer as miskien twee, drie jaar, die lewe van die masjien. Maar wat kan jy druk in begunstiging of ongenade van die huur 'n masjien in die wolk soos hierdie? Weereens, dit is vergelykbaar, waarskynlik, om een ​​van daardie Dell bedieners Ons het foto 'n bietjie gelede. Gehoor: [onhoorbaar] David Malan: Ja, dit is 'n groot onderstebo. Omdat ons nie die koop van die masjien, het ons nie om dit unbox. Ons hoef nie om dit op te hef. Ons hoef nie te prop dit in ons rek. Ons hoef nie te prop dit in. Ons hoef nie te betaal die elektriese wetsontwerp. Ons hoef nie te draai die lugversorging aan. Wanneer 'n hardeskyf sterf, het ons nie ' om in te ry in die middel van die nag om dit op te los. Ons hoef nie op te rig monitering. Ons hoef nie aan- die lys gaan aan en op van al die fisiese dinge jy hoef nie te doen as gevolg van "die wolk." En duidelik te wees, wolk rekenaar is dit baie veelvuldig term. Dit is regtig net beteken die betaling van iemand anders bedieners loop vir jou, of die huur van die ruimte op bedieners iemand anders se. So het die term "wolk rekenaar" is 'n nuwe. Die idee is dekades oud. So dit is redelik dwingende. En wat meer kry jy? Wel, jy kry ook die vermoë om doen alles op 'n laptop by die huis. Met ander woorde, al die foto's wat ek kon net drawing-- en dit was nie so lank gelede dat selfs Ek is kruip rond op 'n bediener vloer steek die kabels in vir elk van die lyne wat jy sien, en die opgradering van die bedryfstelsel stelsels, en die verandering van rondry. Daar is 'n baie fisieke al wat. Maar wat is 'n pragtige oor virtuele masjiene, soos die naam soort aandui, nou is daar web-gebaseerde koppelvlakke waardeur As jy wil die ekwivalent van 'n lyn van hierdie bediener na 'n ander, tik, tik, tik, kliek en sleep, kliek Submit, en voila, jy het dit bedraad up feitlik. Want dit is al gedoen in sagteware. En die rede is dit gedoen in sagteware is weer want ons het soveel geheue en so veel CPU tot ons beskikking deesdae, selfs al is al dat dinge neem tyd, dit is stadiger om dinge uit te voer in sagteware as hardeware, net soos dit is stadiger om 'n meganiese gebruik toestel soos 'n hardeskyf as RAM, iets suiwer elektroniese. Ons het so baie hulpbronne tot ons beskikking. Ons mense is soort van invariantly stadig. En so nou die masjiene kan doen soveel meer per eenheid van tyd. Ons het hierdie vermoëns om dinge feitlik doen. En Ek sal sê vir kursusse Ek leer byvoorbeeld hier, Ons het ongeveer miskien 'n dosyn of so totaal van virtuele masjiene so loop op enige gegewe tyd doen voorkant dinge, doen agterkant dinge. Ons het al ons stoor. So geen video, insluitend dinge soos hierdie wat ons skiet, Ons beland om in die wolk. Amazon het dienste genoem Amazon S3, hul eenvoudige stoor diens, wat is net soos skyfspasie in die wolk. Hulle het iets genoem CloudFront, wat is 'n CDN diens, inhoud Aflewering netwerk diens, wat beteken dat hulle neem al jou lêers en vir jou automagically herhaal dit rondom die wêreld. Sodat hulle dit nie preemptively doen. Maar die eerste keer dat iemand in Indië vra jou lêer, hulle sal potensieel plaaslik cache nie. Die eerste keer in China, die eerste keer in Brasilië wat gebeur, hulle sal begin plaaslik caching dit. En jy hoef nie aan enige van daardie doen. En so is dit so ongelooflik dwingende deesdae om dinge te beweeg in die wolk. Omdat jy hierdie vermoë letterlik om nie mense te doen naastenby so baie werk. En jy letterlik nie soveel nodig mense doen hierdie werk anymore-- "Ops," of operasionele rolle, meer. Jy moet regtig net nodig ontwikkelaars en minder ingenieurs wie kan net dinge doen feitlik. Trouens, net om te gee jou 'n gevoel van hierdie, dat ek kan gaan om pryse vir een ander produk hier. Kom ons kyk so iets CDN S3. Dit is dus in wese 'n virtuele hardeskyf in die wolk. En as ons gaan na pricing-- so dit is $ 0,007 per gigagreep. En that's-- hoe doen ons dit? Ek dink dit is per maand. So as dit is per month-- of per dag? Dan is hierdie per dag? Dit is per maand, OK. So as dit is per month-- Jammer, dit is die $ 0,03 per maand. Daar is 12 maande uit die jaar. So hoeveel data mag jy slaan in die wolk? A GB is nie groot nie, maar ek weet nie, soos 1 terabyte, so soos 1000 van diegene. Dit is nie al dat daar nog baie. Dit is $ 368 'n terabyte stoor van data in die wolk Amazon se. So, wat is 'n paar van die handel offs, dan? Dit kan nie almal goed. Niks wat ons gepraat oor vandag soort sonder 'n vangs of 'n koste. So, wat is sleg oor die beweging Alles in die wolk? Publiek: Sekuriteit. David Malan: OK, wat bedoel jy? Gehoor: [onhoorbaar] David Malan: Ja, reg. En dink jy regtig wil 'n paar random ingenieurs by Amazon dat jy nooit sal ontmoet met fisiese toegang tot die rekenaars, en as hulle regtig wou, virtuele toegang? En selfs al in teorie software-- goed, enkripsie kan absoluut jou te beskerm teen hierdie. So as wat jy stoor op jou bedieners is encrypted-- minder van 'n probleem. Maar so gou as 'n mens het fisiese toegang tot 'n rekenaar, enkripsie ter syde stel, al die verbintenis is soort van af. Jy kan weet van weleer dat rekenaars veral selfs as jy het hierdie dinge genoem "BIOS wagwoorde," was toe jou lessenaar geselflaai up, jy gevra word met 'n wagwoord wat het niks te doen met Windows, kan jy gewoonlik net oop die onderstel van die masjien, vind klein bietjie penne, en gebruik iets genoem 'n trui en net aan te sluit daardie twee drade vir sowat 'n tweede, sodoende 'n kring te voltooi. En dit sal die wagwoord te skakel. So wanneer jy 'n fisiese toegang tot 'n toestel, kan jy sulke dinge doen. Jy kan die hardeskyf verwyder. Jy kan toegang tot dit kry op die manier. En so dit is waarom, in die geval van Dropbox, byvoorbeeld, is dit 'n bietjie kommerwekkende wat nie net doen wat hulle het die data, selfs al is dit geïnkripteer, hulle het ook die sleutel. Ander bekommernisse? Gehoor: [onhoorbaar] David Malan: Ja, dit is baie true-- die Googles, die appels, die Microsoft van die wêreld. En in werklikheid, hoe lank jy het jou iPhone vir? Ja, gee of neem. Gehoor: [onhoorbaar] David Malan: Ek is jammer? Jy is onder diegene wat het 'n iPhone, reg? Gehoor: Ja. David Malan: Hoe lank het jy al jou iPhone? Gehoor: [onhoorbaar] David Malan: OK, so Apple letterlik weet waar jy elke uur van gewees het die dag vir die afgelope vyf jaar. Gehoor: [onhoorbaar] David Malan: Wat is 'n wonderlike eienskap. Gehoor: [onhoorbaar] David Malan: Ja, maar kompromis vir seker. Gehoor: [onhoorbaar] David Malan: Ja, dit is baie maklik om te. Gehoor: [onhoorbaar] David Malan: Ander nadele? Gehoor: [onhoorbaar] David Malan: Absolutely-- tegnologies, ekonomies, dit is redelik dwingende om soort van kry hierdie skaalvoordele en skuif alles in die sogenaamde wolk. Maar jy waarskynlik wil saam met 'n paar van die grootste vis, die Amazones, die Googles, die Microsofts-- Rack is redelik big-- en 'n paar ander, en nie noodwendig fly by night mense vir wie dit is baie maklik om te doen hierdie soort tegniek deesdae. En dit is wat jy kan betaal $ 5,99 per maand aan. Maar jy sal beslis kry waarvoor jy betaal vir. Wanneer jy sê [onhoorbaar], dit is wanneer dinge soos hierdie vyf pragtig kom, waardeur selfs al tegnologies Ons kan nie regtig waarborg 99,999, ons sal net bou in 'n soort van straf om die kontrak sodat as dit nie gebeur nie, ten minste Daar is 'n paar koste vir ons, die verkoper. En dit is wat jy gewoonlik sou kry hulle om in te stem tot. Gehoor: [onhoorbaar] David Malan: En die een soort seën is dat selfs wanneer ons aftrek; want Byvoorbeeld, of selfs sekere maatskappye, Die realiteit is egter Amazon, byvoorbeeld, het so baie darn kliënte, bekende kliënte, bedryfstelsel uit sekere data sentrums dat wanneer iets regtig verkeerd gaan, soos dade van God en weer en so, as daar enige vorm van silwer randjie, dis wat jy in 'n baie goeie geselskap. Jou webwerf kan af wees. Maar so is soos die helfte van die gewilde internet. En dus is dit waarskynlik 'n bietjie meer aanvaarbaar vir jou kliënte As dit is meer van 'n internet ding as 'n acme.com ding. Maar dit is 'n bietjie van 'n bedrieër. Dus, in terme van ander dinge om na te kyk, net sodat ons nie uit ander, As jy na Microsoft blou, hulle beide Linux en Windows dinge dit is vergelykbaar met Amazon se. As jy gaan na Google Compute Engine, hulle het iets soortgelyks as well. En net om rond hierdie wolk aanbiedinge, Ek sal melding gemaak van 'n ander ding maak. Dit is 'n gewilde webwerf dit is verteenwoordigend van 'n klas van tegnologie. Die mense wat ons net gepraat oor, Amazon, sou IAAS wees, Infrastruktuur as 'n diens, waar jy soort van fisiese hardeware as 'n diens. Daar is SAAS. Eintlik, laat my stip dit neer. IAAS-- Infrastruktuur As 'n diens, SAAS, en Paas, wat merkwaardig verwarrend akronieme wat nie beskryf drie verskillende tipes dinge. En die akronieme hulself nie regtig saak nie. Dit is al die wolk dinge Ons het nou net gepraat oor, die laer vlak dinge, die skynwerklikmaking van hardeware en stoor in die sogenaamde wolk, of dit nou Amazon, Microsoft, Google, of ander. Sagteware as 'n service-- almal van ons soort dit van gebruik. As jy gebruik Google Apps vir Gmail of agenda, enige van hierdie web-gebaseerde programme wat 10 jaar gelede het ons sou dubbel gekliek ikone op hê ons lessenaar, sagteware as 'n diens is nou regtig web aansoek. En platform as 'n diens soort hang. En 'n voorbeeld sal ek jou hier gee in die konteks van wolk computing-- daar is 'n maatskappy wat nogal gewilde deesdae, Heroku. En dit is 'n diens, 'n platform, as jy wil, wat loop op die top van Amazon se infrastruktuur. En hulle net maak dit nog makliker vir ontwikkelaars en ingenieurs om web-gebaseerde programme aanlyn te kry. Dit is 'n pyn, aanvanklik, te gebruik Amazon Web Services en ander dinge. Omdat jy eintlik om te weet en te verstaan oor databasisse en webbedieners en vrag balancers en al die dinge Ek het nou net gepraat oor. Omdat al Amazon gedoen is nie versteek die ontwerp uitdagings. Hulle het net skynwerklik hulle en skuif dit in 'n leser, in sagteware in plaas van hardeware. Maar maatskappye soos Heroku en ander Paas verskaffers, platform as 'n diens, Hulle gebruik die Model grondbeginsels dat ons net gepraat oor, en hulle bou makliker om gebruik sagteware op die top van dit sodat as jy wil kry 'n web-gebaseerde aansoek aanlyn hierdie dae, jy beslis moet weet hoe om die program. Jy moet weet Java of Python of PHP of Ruby of 'n klomp van die ander tale. Maar jy moet ook 'n plek om dit te sit. En ons vroeër gepraat oor om 'n web hosting maatskappy. Dit is soort van dieselfde middel van die 2000s benadering tot om iets aanlyn. Deesdae kan jy in plaas betaal iemand soos Heroku 'n paar dollars per maand. En wese, Sodra jy gedoen 'n paar aanvanklike opset, om jou webwerf te werk, moet jy tik net 'n opdrag in 'n venster. En wat-kode wat jy geskryf het hier op jou laptop onmiddellik kry uitgedeel aan 'n aantal van bedieners in die wolk. En Heroku sorg al die kompleksiteit. Hulle vind al die databasis dinge, al die load balancing, al die hoofpyn wat ons het net op die bord geskryf, en verberg dit alles vir jou. En in ruil, jy moet net betaal hulle 'n bietjie meer. So jy het die infrastruktuur soos 'n diens, platforms as 'n diens, en dan sagteware as 'n diens. Dit is, weer, hierdie onttrekking of gelaagdheid. Enige vrae oor die wolk of die bou van 'n mens se eie infrastruktuur? Goed, dit was 'n baie. Hoekom het ons nie voort te gaan en neem ons 15 minute breek hier. Ons sal terug kom met 'n paar nuwe konsepte en 'n bietjie van hands-on geleentheid voor die aand is verby.