David MALAN: Lahat ng karapatan, maligayang pagdating pabalik. Bago namin sumisid sa cloud computing, Akala ko gusto ko i-pause para sa isang sandali kung may anumang mga natitirang mga katanungan o mga paksa na dumating up sa panahon ng tanghalian na maaaring ngayon maging ng interes. Madla: [hindi marinig] David MALAN: OK. Ah sige. Madla: [hindi marinig] David MALAN: Hindi, siyempre. OK, well sana ang lahat ng iyong problema lumabas dahil sa susunod na ilang oras at bukas lalo na. Ngunit sabihin kumuha ng isang pagtingin, at pagkatapos, sa kung saan huling discussion tungkol sa set up isang website leads, mas pangkalahatang paraan pagdating sa ulap computing, set up ng isang server architecture, ang mga uri ng mga desisyon na mga inhinyero at developer at mga tagapamahala kailangan upang gumawa ng pagdating sa paggawa ng higit pa sa pag-sign up para sa isang $ 10 bawat buwan web host kapag ang tunay na nais na bumuo ng out iyong sariling infrastructure. At susubukan naming itali ito pabalik, halimbawa, sa Dropbox at iba katulad nila. Kaya natin simulan upang isaalang-alang kung ano ang problema lumabas dahil bilang negosyo makakakuha ng magandang at mahusay na problema lumabas dahil. Kaya sa pinakadulo pinakasimpleng kaso ng pagkakaroon ng ilang mga kumpanya na may isang web server, maaaring mayroon ka, sabihin nating, isang server na kami na lang gumuhit na ganito ang hitsura. At mga araw, karamihan servers-- at sabihin aktwal na ilagay ang isang larawan sa ito lang kaya na ito ay isang maliit na mas mababa malabo. Kaya Dell rack server-- pabalik sa araw, may ay mainframe computer yaon na nagsibuhat buong kuwarto. Mga araw na ito, kung ikaw ay upang makakuha ng isang server, ito maaaring tumingin ng isang maliit na isang bagay na katulad nito. Servers ay sinusukat sa kung ano ang ay tinatawag na rack unit, o Rus. At isa RU ay 1.5 pulgada, kung saan ay isang pamantayan sa industriya. Kaya ito ay ganito ang hitsura ng isang dalawang RU server. Kaya ito ay 3 pulgada matangkad. At ang mga ito sa pangkalahatan ay 19 pulgada ang lapad, na nangangahulugan na ang lahat ng ganitong uri ng mga bagay-bagay ay ulirang. Kaya't kung tiningnan mo sa isang data center-- hindi lamang sa isang server, ngunit sabihin bistahan ng Google data center at makita kung kami makita ang isang nice picture sa Google Images. Ito ay magkano ang mas mahusay na naiilawan kaysa sa iyo ay karaniwang mahanap, at marami pang sexier naghahanap bilang isang resulta. pero ito ay kung ano ang hitsura tulad ng isang pares daang mga server lahat tungkol sa na parehong laki, actually, sa rack pagkatapos rack matapos rack pagkatapos rack sa isang sentro ng data. Isang bagay na tulad this-- ito ay maaaring na rin maging ng Google, dahil ako googled Google. Ngunit maaaring ito ay kinatawan ng mas pangkalahatang isang sentro ng data na kung saan maraming mga kumpanya ay karaniwang co-matatagpuan. At co-matatagpuan sa pangkalahatan ay nangangahulugan na pumunta ka sa isang lugar tulad ng Equinix o iba pang vendor na may malaking warehouses na magkaroon ng maraming ng kapangyarihan, lots ng paglamig, sana lots ng seguridad, at mga indibidwal na cages akip racks ng server, at gawin ninyo ang alinman magrenta ng racks o dalhin sa iyo ang racks in. At mga indibidwal na mga kumpanya, startup lalo na, ay magkakaroon ng ilang mga uri ng biometrics upang makakuha ng sa kanilang mga hawla, o isang key, o isang key card. binuksan mo ang pinto. At sa loob ng may lamang isang parisukat na sukat sa talampakan footprint na ikaw ay nagbabayad para sa, sa loob ng na kung saan maaari mong ilagay ang anumang nais mo. At ikaw ay karaniwang magbayad para sa kapangyarihan. At babayaran mo para sa mga yapak. At pagkatapos mong bayaran ang iyong sarili para sa mga server na kayo ay nagdadala sa puwang na iyon. At kung ano ang iyong pagkatapos ay may pagpipilian upang gawin ay magbayad ng isang tao para sa iyong koneksyon sa internet service. Maaari kang magbayad ng anumang bilang ng mga vendor, ang lahat ng kanino karaniwang dumating sa na data center. Ngunit ang tunay na kagiliw-giliw na tanong ay, kung ano talaga ang napupunta sa mga racks? Sila ay maaaring lahat ng napakahusay hitsura kung ano lang namin nakita. Ngunit nagsasagawa ang mga ito ng iba't ibang mga pag-andar at maaaring kailangan upang gawin ang iba't ibang bagay. At sabihin aktwal ganyakin ang talakayang ito sa mga tanong ng, kung ano ang problema nagsisimula upang lumabas dahil kung ikaw ay matagumpay? Kaya mo na nakuha ng isang website na iyong itinayo. At siguro ito nagbebenta widgets o isang bagay tulad na. At kayo ay gumagawa ng tunay mabuti na may mga benta ng mga widgets online. At simulan mo upang maranasan ilang mga sintomas, ang iyong website. Ano ang maaaring maging ang ilan sa ang mga teknikal na mga sintomas na gumagamit ng ulat ng negosyo ay lumalaki at booming at ang iyong website ay benefiting mula sa na? Madla: [hindi marinig] David MALAN: Oo, eksakto. Kaya maaaring ikaw ay isang paghina ng iyong website. At kung bakit maaaring na mangyayari? Well, kung ipinapalagay namin, para sa sa kapakanan ng discussion sa ngayon, na ikaw ay nasa isang sa mga commercial web host na usapan natin ang tungkol sa bago tanghalian, na babayaran mo ang ilang bilang ng mga dolyar sa bawat buwan, at mo na Nabayaran para sa taunang gastos ng iyong domain pangalan, na web host ay marahil overselling kanilang mga mapagkukunan sa ilang mga lawak. Kaya na maaaring mayroon ka ng isang username at password sa kanilang server. Ngunit kaya maaaring ilang mga iba pang, o ilang dosenang iba pang, o marahil kahit na ilang daang iba pang mga, ang mga gumagamit. At mga website nakatira pisikal sa parehong server. Bakit ay ito maaari? Well mga araw na ito, mga server tulad nito ay karaniwang magkaroon ng maramihang mga hard drive, siguro bilang maraming bilang ng anim o higit pang mga hard drive, ang bawat isa ay maaaring maging kasindami bilang 4 terabytes mga araw na ito. Kaya maaaring ikaw ay 24 terabytes ng space sa loob lamang ng maliit na server na katulad nito. At kahit na magnakaw sa iyo ang ilan sa mga puwang na iyon para sa kalabisan, para sa backup na mga layunin, ito ay pa rin lubos ng maraming espasyo. At tiyak, ang isang pangkaraniwang website ay hindi kailangan na magkano ang space. Just pagrerehistro user at pag-iimbak logs ng mga order ay hindi kumuha ng lahat na marami space. Kaya maaari mong pagkahati ito lubos ng kaunti at bigyan ang bawat user lamang ng isang maliit na paghiwa-hiwain ng mga iyon. Samantala, isang computer tulad nito ang mga araw na karaniwang ay may maramihang mga CPUs-- hindi lamang isa, marahil dalawa, siguro apat, siguro 16, o kahit na higit pa. At bawat isa sa mga CPUs ay may isang bagay na tinatawag na isang core, na kung saan ay uri ng tulad ng isang utak sa loob ng isang utak. Kaya sa katunayan karamihan sa lahat dito sa modernong laptops ay marahil ng isang dual core o patyo sa loob core CPU-- at marahil lamang isa CPU sa loob ng isang laptop mga araw na ito. Ngunit desktop computer at rack computer tulad ng ito ay maaaring magkaroon ng lubos ng ilang mga mas CPUs, at siya namang cores. At lantaran, kahit na sa aming mga Mac at PC ng araw na ito, hindi mo talaga kailangan dual core o patyo sa loob core upang suriin ang iyong email. Kung may anumang bottleneck kapag ito ay dumating sa paggamit ng isang computer, mo ang tao ay marahil ang slowest bagay tungkol sa computer na. At hindi ka pagpunta sa maaari able sa suriin ang iyong email sa anumang mas mabilis kung ikaw may apat na beses na mas maraming CPUs o cores. Ngunit ang parehong ay uri ng tunay ng isang server. Isang solong website ay maaaring hindi kinakailangang kailangan ng higit sa isang CPU o isa core, isa maliit na utak sa loob ginagawa ang lahat ng mga pag-iisip at ang processing. Kaya mga tagagawa ay may parehas na nagsimula upang hatiin up ng mga resources nang sa gayon ay marahil ang iyong website ay makakakuha ng isa core, ang iyong website ay makakakuha ng isang core, o marahil kami ay pagbabahagi ng isa tulad core. Din namin ibinabahagi puwang sa disk. At din namin ibinabahagi RAM, o Random Access Memory sa harap, kung saan mayroon ding isang may takda na halaga. At iyon ang key. Walang bagay na kung paano mahal ang computer ay, mayroong pa rin ng isang may hangganan halaga ng mga mapagkukunan sa loob nito. At kaya ang higit pa at higit pa sa iyo subukan upang ubusin mga resources, ang mas mabagal na mga bagay na maaari maging. Pero bakit? Bakit bagay pabagalin bilang sintomas ng isang server yutyot? Anong nangyayari? Madla: [hindi marinig] David MALAN: Oo, eksakto. iminungkahi ko kanina na RAM ay isang uri ng memory. Ito ay madaling matuyo, kung saan na kung saan apps at data ay naka-imbak kapag sila ay ginagamit. At kaya samakatuwid mayroong lamang ng isang hangganan bilang ng bagay na maaari mong gawin tila sa iisang pagkakataon. At ito ay din mas mabilis, na kung saan ay isang magandang bagay. Ngunit ito ay din mas mahal, na kung saan ay isang masamang bagay. At ito ay din samakatuwid naroroon sa mas mababang dami kaysa puwang sa disk, hard disk space, na kung saan ay may kaugaliang ay mas mura. Sa ibang salita, ikaw ay maaaring magkaroon ng 4 terabytes ng disk space sa iyong computer. Ngunit maaari mong magkaroon ng 4 gigabytes, o 64 gigabytes, sa pagkakasunud-sunod ng magnitude, isang kadahilanan ng 1,000 mas kaunti, mas ng RAM sa iyong computer. Kaya kung ano ang isang computer gawin? Well, ipagpalagay na ikaw kailangang 64 gigabytes ng RAM sa isang server na tulad nito, na kung saan ay magiging ganap pangkaraniwan, kung hindi mababa sa mga araw na ito. Ngunit ipagpalagay na mayroon kang kaya maraming mga ang mga gumagamit ay paggawa nito maraming bagay na ikaw uri ng uri ng kailangan 65 gigabytes ng memorya upang pangasiwaan ang lahat ng na sabay-sabay na paggamit? Well, maaari mo lamang sabihin, Paumanhin, ang ilang bilang ng mga gumagamit lamang ay hindi maaaring ma-access ang site. At iyon ay ang sukatan ng huling resort, tiyak. O kaya mo, pati na ang operating system, tulad ng Windows o Mac OS o Linux o Solaris o anumang bilang ng iba pang OSes sa server na iyon, maaaring lamang magpasya, alam mo kung ano? lamang Mayroon akong 64 gigabytes ng RAM. Ako uri ng kailangan 65. Kaya alam mo kung ano? Pupunta ako sa tumagal ng 1 gigabyte nagkakahalaga ng data sa RAM na ang hindi bababa sa access kamakailan at lamang ilipat ito sa disk pansamantalang, literal kopyahin ito mula sa mabilis memory sa mas mabagal memory gayon ay maaari kong pagkatapos ay hawakan na 65th gigabyte pangangailangan para sa memory, gawin ang ilang mga pag-compute sa mga ito. At kapag ako ako tapos paggawa na, kukunin ko na lang ilipat na sa disk, ilipat na ang ibang RAM ko pansamantalang ilagay sa disk sa likod ng aktwal na hardware kaya na ako uri ng multitasking. Kaya ako uri ng paglalagay ng mga bagay pansamantalang sa slower space kaya gumawa ako ng ilusyon ng paghawak sa lahat. Subalit mayroong isang paghina. Bakit? Well, sa loob ng mga mahirap disks mga araw na ito ay kung ano? Sa halip, kung ano ang gumagawa ng isang hard drive naiiba mula RAM bilang pinakamahusay na alam mo na ngayon? Madla: [hindi marinig] David MALAN: OK, totoo. Madla: [hindi marinig] David MALAN: Kaya napaka totoo. At iyon ay isang pangalawang epekto o tampok ng ang katunayan na RAM ay sa katunayan mas mabilis. At dahil dito gusto mong gamitin ito para sa kasalukuyang paggamit. At isang disk ay mas mabagal. Ngunit ito ay permanenteng, o nonvolatile. Kaya gamitin mo ito para sa pangmatagalang imbakan. Ngunit sa mga tuntunin ng pagpapatupad, kung tiningnan ko up ano ang tinatawag na isang DIMM, Dual Inline Memory Module, ito ay kung ano ang isang piraso ng RAM maaaring karaniwang hitsura. Kaya sa loob ng aming mga Mac-- na ang isang bug. Sa loob ng aming mga Mac at PC, ang aming desktop mga computer ay may sticks ng memory, tulad ng gagawin mo tumawag sa kanila, o DIMMs, o SIMMS likod sa araw, ng memorya na ganito ang hitsura. Ang aming laptops marahil ay may mga bagay na ay isang ikatlong ang sukat o kalahati ang laki. Ang mga ito ay isang maliit na mas maliit, ngunit ang parehong idea-- maliit piraso ng berde silikon barkilyos o plastic na may maliit na itim na chips sa mga ito na may maraming ng wires interconnecting lahat ng bagay. Maaari mong magkaroon ng isang buong grupo ng mga loob ng iyong computer. Ngunit ang takeaway dito ay ito ay ganap na electronic. Mayroon lamang ang electron umaagos sa device na ito. Sa pamamagitan ng kaibahan, kung tinitingnan namin ang ang loob ng isang hard drive at pull up ng isang larawan dito, gusto mo sa halip makita ang isang bagay tulad nito, na kung saan ay may koryente pagpunta sa pamamagitan nito sa huli. Ngunit ano din jumps out sa iyo ang tungkol sa bagay na ito? Madla: [hindi marinig] David MALAN: Oo, mayroong tila paglipat ng mga bahagi. Ito ay uri ng tulad ng isang lumang record player o phonograph player. At ito pretty marami ay. Ito ay isang maliit na may interes kaysa na- samantalang ang isang ponograpo player na ginamit grooves sa record, ito ang tunay na ay gumagamit ng maliit na maliit maliit magnetic particles na hindi pa natin nakikita. Ngunit kung ang isang maliit magnetic maliit na butil ganito ang hitsura nito, ito ay itinuturing na isang 1. At kung ito ganito ang hitsura nito, hilaga-timog sa halip ng timog-hilaga, maaaring ito ay isang 0. At kami makita bukas kung paano namin maaaring bumuo ng mula sa na sa mas maraming mga kagiliw-giliw na mga bagay. Ngunit anumang bagay na nakuha sa pisikal na ilipat ay tiyak pagpunta upang pumunta mas mabagal kaysa sa bilis ng liwanag, na sa palagay ay kung ano ang isang elektron ay gumuho sa, bagaman realistically hindi pa. Kaya mechanical devices-- magkano ang mas mabagal. Ngunit ang mga ito mas mura. At maaari mong magkasya kaya magkano mas maraming data sa loob ng mga ito. Kaya ang katotohanan na may umiiral sa mundo ng isang bagay tinatawag na virtual memory, gamit ang isang hard disk na tulad nito na parang ito ay RAM transparent sa user, sa pamamagitan lamang ng paglipat ng data mula sa RAM sa hard disk, pagkatapos ay lumipat ito pabalik kapag kailangan mo ito muli, ay lumilikha ng paghina. Dahil ikaw literal kung kopyahin ito mula sa isang lugar sa isa pa. At ang bagay ka na kopyahin ito sa at mula ay talagang mas mabagal kaysa sa RAM kung saan mo nais ito upang maging. Ang alternatibong solusyon here-- kung hindi mo gusto na pabagalin, at ang iyong virtual memory ay uri ng pagiging overtaxed, kung ano ang isa pang solusyon sa problemang ito? Madla: [hindi marinig] David MALAN: Well, pagtaas ng virtual memory ipaalam sa amin gawin ito sa isang mas mas malaking scale. Maaari naming hawakan 66 gigabytes nagkakahalaga ng memorya pangangailangan, o 67 gigabytes. Ngunit ipagpalagay na hindi ko gusto ito mabagal down, sa katunayan Gusto kong i-off virtual memory kung na kahit posible, ano pa ang maaari kong ihagis sa ang problemang ito upang malutas ito, kung saan gusto kong hawakan mas maraming mga user at higit pa mga kinakailangan memory kaysa ako pisikal ay may sa sandaling ito? Madla: [hindi marinig] David MALAN: Sa kasamaang palad hindi. Kaya ang CPU at ang mga core na ang mga ito in ay may wakas ng isang mapagkukunan. At walang analog sa na konteksto. Magandang katanungan, bagaman. Kaya lang na maging malinaw, masyadong, kung sa loob ng computer na ito ay, sabihin nating, isang stick ng RAM na mukhang tulad this-- at kaya kami ay tumawag ito RAM. At sa paglipas dito ay ang hard disk drive. At kukunin ko na lang gumuhit ito pictorially bilang isang maliit na bilog. Mayroong 0 at 1 sa pareho ng these-- data, kami ay magbigay ng tuntuning panlahat ito bilang. At mahalagang, kung ang isang gumagamit ay pagpapatakbo ng isang application tulad ng, sabihin nating, isang website na nangangailangan ito magkano ang RAM sa bawat gumagamit, kung ano ako ng pagpapanukala, sa pamamagitan ng paraan ng bagay na ito tinatawag na virtual memory, ay sa makatarungan pansamantalang ilipat na sa paglipas dito kaya na ngayon ko maaaring ilipat memory ng ibang tao kinakailangan banda roon. At pagkatapos ay kapag na tapos na, Maaari ko bang kopyahin ito pabalik sa paglipas ng at ito goes here, at dahil doon ang paglipat ano ang nais kong sa doon sa iba pang lugar sama-sama. Kaya doon ay lamang ng isang pulutong ng mga switcheroo, ay ang takeaway dito. Kaya kung hindi mo gusto ito, at hindi mo gusto nais na ilagay ang anumang bagay sa hard drive, kung ano ang uri ng halata solusyon para sa negosyo tao sa problema, o ang engineer solusyon, para sa mga bagay, masyadong? Madla: [hindi marinig] David MALAN: Oo, ang ibig sabihin ko literal ihagis ng pera sa ang problema. At talagang, ito ay ang perpektong segue sa ilan sa mga mas mataas na antas mga talakayan ng mga ulap computing. Dahil ang isang pulutong ng mga ito ay motivated sa pamamagitan ng pinansiyal na mga desisyon, hindi kahit na kinakailangang teknolohikal. Kung 64 gigs ng RAM ay masyadong maliit, well, bakit hindi makakuha ng 128 gigabytes ng RAM? Bakit hindi makakuha ng 256 gigabytes ng RAM? Bakit hindi? Madla: [hindi marinig] David MALAN: Well, ito Nagkakahalaga ng mas maraming pera, sigurado. At kung ikaw ay mayroon ng ekstrang hard disk space, mabisa, o equivalently, hard disk space ay kaya magkano ang mas mura maaari mong pati na rin gamitin ito. Kaya muli, mayroong ito kalakalan-off na nakita natin kahit na mas maaga sa umaga na ito, kung saan mayroong talagang hindi kinakailangan ng isang tamang sagot, mayroong lamang ng isang mas mahusay o mas masahol pa sagot batay sa kung ano ang iyong aktwal na nagmamalasakit tungkol sa. Kaya mayroon ding teknolohikal katotohanan. Hindi ko ma-bumili ng isang computer, sa aking kaalaman, na may isang trilyon gigabytes ng RAM ngayon. Ito lamang pisikal ay hindi umiiral. Kaya may ilang mga itaas na nakatali. Ngunit kung ikaw ay kailanman kahit shopped para sa isang consumer Mac o PC, masyadong, sa pangkalahatan ay mayroong ito curve ng mga tampok kung saan doon ay maaaring maging isang magandang, isang mas mahusay, at isang pinakamahusay na computer. At ang nagbalik nasa gilid sa iyong dollar pagbili ang pinakamahusay na computer versus ang mas mahusay na computer maaaring hindi halos bilang mataas na bilang paggastos ng kaunti pang pera at pagkuha ng mas mahusay na computer sa ibabaw ng magandang computer. Sa ibang salita, ikaw ay nagbabayad ng isang premium upang makakuha ng tuktok ng linya. At ano ang makikita namin makita sa discussion ng ulap computing ay na kung ano ay napaka-pangkaraniwan mga araw, at kung ano ang mga kumpanya tulad ng Google maaga popularized, ay hindi nagbabayad para sa at gusali talagang magarbong, mahal souped up computer na may maraming at maraming mga lahat ng bagay, ngunit sa halip pagbili o pagbuo pretty katamtaman computer ngunit maraming ng mga ito, at paggamit ng isang bagay na sa pangkalahatan tinatawag horizontal scaling sa halip ng vertical scaling. Kaya vertical scaling ay nangangahulugan ng higit pang RAM, mas disk, higit pa sa lahat ng bagay, at uri ng mamuhunan patayo sa iyong hardware kaya lang ikaw ay nakakakuha ng pinakamahusay sa mga pinakamahusay sa mga pinakamahusay na, ngunit ikaw ay nagbabayad para dito. Horizontal scaling ay uri ng makuha ang bottom tier mga bagay, ang mahusay na modelo, o kahit na mas masahol pa ang modelo, ngunit makakuha ng maraming ng mga ito. Ngunit sa lalong madaling mong makakuha ng maraming mga them-- halimbawa, sa kasong ito, server web, kung ang isang ito server o isa web host ay hindi sapat, pagkatapos lamang intuitively, ang solusyon sa problemang ito ng load o labis na karga sa iyong mga server ay alinman makakuha ng isang mas malaking server o, kung ano ako ipanukala dito sa halip ng scaling patayo kaya na magsalita, ay magiging, alam mo kung ano? Basta makakuha ng isang pangalawang isa sa mga ito. O marahil kahit na makakuha ng isang third. Ngunit ngayon lumikha kami isang problema engineering sa pamamagitan ng likas na katangian ng negosyo na ito o pinansiyal na desisyon. Ano ang engineering problema ngayon? Madla: [hindi marinig] David MALAN: Yeah, paano ikinonekta mo ang mga ito at- paumanhin? Madla: [hindi marinig] David MALAN: Right, dahil ako pa rin have-- kung buhayin ko sa akin sa ang larawang ito, kung ito ay ang aking laptop sa tabi-tabi sa internet, na kung saan ay ngayon sa pagitan ng ako at ang kumpanya namin ay pakikipag-usap tungkol sa, ngayon ay mayroon akong upang malaman kung, kung saan server ko ipapadala ito partikular na paggamit? At kung mayroong iba pang mga gumagamit, tulad ng na ito, at pagkatapos ang isang ito sa paglipas dito, at marahil ito ay user A, ito ay user B, ito ay user C, at ito ay server 1, 2, at 3-- ngayon isang intuitive sagot ay maaaring dito ay maging ganap, magpapadala kami sa user A hanggang 1 at B sa 2 at C sa 3. At maaari namin pinangangasiwaan 3 beses na mas maraming mga user. Ngunit iyon lamang ang isang oversimplification. Paano mo magpasya kung kanino upang magpadala kung saan? Kaya sabihin subukan upang dahilan sa pamamagitan ng ito. Kaya ipagpalagay na ang mga computer A, B, at C ay mga customer, at mga server 1, 2, at 3 ay horizontally kinaliskisan servers. Kaya ang mga ito ay uri ng magkapareho. Lahat sila ay tumatakbo sa parehong software. At maaari silang lahat gawin ang parehong bagay. Ngunit ang dahilan na mayroon kami tatlong ng mga ito ay kaya na maaari naming hawakan tatlong beses na mas maraming mga tao nang sabay-sabay. Kaya alam namin mula sa aming discussion bago ang tanghalian na mayroong hardware sa pagitan ang mga laptop at mga server. Ngunit kami ay lamang ang uri ng tuntuning panlahat na ngayon bilang sa internet o sa cloud. Ngunit alam natin na sa aking tahanan, doon ay marahil isang bahay router. Malapit sa mga server, doon ay marahil isang router, DNS server, DHCP. Maaaring magkaroon ng anumang bagay gusto namin sa kuwentong ito. Kaya kung paano namin simulan upang magpasya, kapag ang user A napupunta sa something.com, na kung saan server sa ruta sa gumagamit na? Paano natin simulan upang sabihin sa kuwentong ito? Madla: Load balancing? David MALAN: Load balancing. Anong ibig mong sabihin? Madla: Bumabalik kung saan ang pinaka paggamit ay at kung saan ang isa ay ang pinaka magagamit na mapagkukunan. David MALAN: OK, kaya hayaan mo akong ipakilala ang isang bagong uri ng hardware na hindi pa namin napag-usapan, kung saan ay eksakto na, isang load balancer. Ito masyadong ay maaaring lamang maging isang server. Ito ay maaaring tumingin nang eksakto tulad ang isa nakita namin ang isang sandali ang nakalipas. A load balancer ay tunay na lamang ng isang piraso ng software na patakbuhin mo sa isang piraso ng hardware. O maaari kang magbayad ng isang vendor, tulad ng Citrix o sa iba, Cisco o sa iba. Maaari kang magbayad para sa kanilang sariling hardware, kung saan ay isang hardware load balancer. Ngunit iyon lamang ay nangangahulugan na sila pre-install na ang load balancing software sa kanilang mga hardware at ibinebenta ito sa iyo ang lahat ng sama-sama. Kaya makikita namin lamang gumuhit ito bilang isang parihaba para sa aming mga layunin. Paano ngayon ko ipatupad ang isang load balancer? Sa ibang salita, kapag ang user A ay nais na bisitahin ang aking site, ang kanilang mga kahilingan sa anumang paraan o iba pang, marahil sa pamamagitan ng paraan ng mga routers usapan natin ang tungkol mas maaga, ay pagpunta sa huli maabot ito load balancer, na pagkatapos ay kailangang gumawa ng isang routing-like desisyon. Ngunit ito ay routing para sort ng isang mas mataas na layunin ngayon. Ito ay hindi lamang tungkol sa pagkuha ng mula sa punto A upang ituro B. Ito ay tungkol sa pagpapasya kung aling mga point B ay ang pinakamahusay na kabilang them-- 1, 2, o 3 sa kasong ito. Kaya paano ko magpasya kung upang pumunta sa 1, 2, 3? Kung ano ang maaaring ito itim na kahon, kaya na magsalita, iyong gawin sa loob? Ito rin ay isa pang halimbawa sa computer science ng abstraction. Literal na ako may diwa ng isang load balancer bilang isang itim na kahon sa itim na tinta, sa loob ng kung saan ay ang ilang mga interesanteng logic, o magic kahit na, sa labas ng kung saan ay nangangailangan na dumating isang decision-- 1, 2, o 3. At ang input ay lamang A. Madla: [hindi marinig] David MALAN: Sorry? Madla: [hindi marinig] David MALAN: Lahat ng karapatan, kung paano maaari naming bigyan ng pamantayan ang mga uri ng mga transaksyon dito? Madla: Pagtingin sa isang webpage versus querying isang database. David MALAN: OK, na maganda. Kaya siguro ang user na ito A Nais ni upang tingnan ang isang web page. At marahil ito ay kahit static na nilalaman, isang bagay na ang mga pagbabago bihira, kung kailanman. At na tila tulad ng isang pretty simpleng operasyon. Kaya siguro makikita lang namin nagkataon, ngunit makatwirang, sabihin, server 1, ang kanyang layunin sa buhay ay sa makatarungan maglingkod up static nilalaman, mga file na bihira, kung kahit minsan, pagbabago. Siguro ito ang mga larawan sa pahina. Siguro ito ang teksto sa pahina o iba pang mga naturang uri ng kawili-wili bagay, wala transactional, walang dynamic. Sa pamamagitan ng kaibahan, kung ang user A ay suri out ng kanyang shopping cart na ay nangangailangan ng isang database, isang lugar na naa upang mag-imbak at tandaan na transaksyon, well marahil na kahilingan dapat pumunta sa server 2. Kaya na mabuti. Upang maaari naming load balance batay sa uri ng kahilingan. Paano pa ang maaari naming gawin ito? Anong iba-- Madla: Batay sa mga server paggamit at kapasidad. David MALAN: Right, OK. Kaya mo nabanggit na mas maaga, Kareem. Kaya kung ano kung nagbibigay kami ng ilang input sa [hindi marinig] kabilang server 1, 2, at 3 sa mga ito load balancer sa gayon ay lamang na sila ay patuloy na nagpapaalam ang load balancer kung ano ang kanilang katayuan ay? Like, hey, load balancer, ako sa 50% paggamit. Sa ibang salita, mayroon akong kalahati ng maraming mga gumagamit bilang ko talagang hawakan ngayon. Hey, load balancer, ako sa 100% paggamit. Hey, load balancer, 0% paggamit. Ang load balancer, kung ito ay dinisenyo sa isang paraan na maaaring tumagal ng sa mga komento bilang input, pagkatapos kaya nito magpasya, ooh, number 2 ay sa 100%. Hayaan akong magpadala walang hinaharap kahilingan sa kanya bukod sa mga gumagamit na konektado. Tao na ito ay sa 0%. magpadala ng isang pulutong ng trapiko sa kanya Hayaan. Tao na ito ay sinabi siya ay sa 50%. ni magpadala ng ilang mga trapiko sa kanya Hayaan. Sa gayon ay magiging isang sahog, na kami ay maaaring tumagal ng load sa account. At ito ay pagpunta upang baguhin sa paglipas ng panahon. Kaya ang desisyon ay magbabago. Kaya na ang isang tunay na magandang diskarteng ito, isa na karaniwang ginagamit. Ano pa ang maaari naming gawin? At sabihin talagang lamang sabihin sa maikling pangungusap dito. Kaya ang desisyon dito ay maaaring ayon sa uri ng trapiko, Tatawag ako ito. Maaari itong i-base sa load. Tayo'y makita kung hindi namin Maaari makabuo ng isang ilang mga iba pang. Madla: [hindi marinig] David MALAN: Location. Kaya na ang isang magandang isa. Kaya location-- kung paano mo pakikinabangan ang impormasyon na iyon? Madla: [hindi marinig] David MALAN: Oh, na maganda. At tungkol sa kung gaano karaming mga milliseconds ito bumaba sa pamamagitan ng batay sa kung ano ang nakita namin ito umaga, ang sasabihin mo? Madla: [hindi marinig] David MALAN: Well, batay sa mga ruta trace nakita natin mas maaga, na kung saan ay lamang ng isang magaspang na sukatan ng isang bagay, hindi bababa sa kung gaano katagal aabutin para sa data upang makakuha ng mula A hanggang B nararamdaman tulad ng anumang bagay lokal ay, ano, tulad 74 milliseconds, bigyan o tumagal? At pagkatapos ay anumang bagay 100 plus, 200 plus ay marahil sa ibang bansa. At kaya batay sa na nag-iisa, ito tila makatwirang upang ipalagay na para sa isang user sa US na ang isang European server maaaring tumagal ng dalawang beses o tatlong beses bilang mahaba, kahit na sa milliseconds, kaysa sa maaari itong tumagal ng kung na server ay matatagpuan dito heograpiya, o vice versa. Kaya kapag ako iminungkahi mas maaga na lalo isang beses mong i-cross na 200 millisecond threshold, bigyan o tumagal, mga kawani na tao ay magsisimulang upang mapansin. At ang trace ruta ay lamang sa pag-aakala raw, hindi kawili-wili data. Kapag mayroon kang isang website, kailangan mong makuha ang user download ng mga imahe o pelikula file, maraming mga teksto, kasunod na mga kahilingan. Nakita namin kapag kami binisita, kung ano ang ito, Facebook o Amazon mas maaga, mayroong isang buong pulutong ng mga bagay-bagay na mga pangangailangan upang ma-download. Kaya na ay pagpunta sa magdagdag ng hanggang. Kaya multi-segundo baka hindi wala sa katwiran. Kaya mabuting, heograpiya ay isa sahog. Kaya sa katunayan mga kumpanya tulad ng Akamai, kung mo na narinig ng mga ito, o sa iba ay may matagal na kinuha heograpiya sa account. At ito ay lumiliko out na sa pamamagitan ng likas na katangian ng isang IP address, IP address ng aking laptop, maaari mong magpakilala, na may ilang bagay na maaaring mangyari, kung nasaan ka sa mundo. At sa katunayan mayroong third party serbisyo na iyong maaaring bayaran na mapanatili database ng mga IP address at mga heograpiya na may mataas na kumpiyansa ay tunay na kapag nagtanong, kung saan sa mundo ay ito IP address? At kaya sa katunayan kung ano iba pang mga kompanya ng gamitin ang mga ito? Kung ikaw ay may Hulu o Netflix, kung ka na ay naglalakbay sa ibang bansa, at subukan mo upang panoorin ang isang bagay sa Hulu, at ikaw ay hindi sa US, maaari kang makakita ng mensahe na sinasabi, Hindi sa US. Paumanhin, hindi mo maaaring tingnan ang nilalamang ito. Madla: [hindi marinig] David MALAN: Oh, talaga? Ngunit oo, kaya ang tunay na iyan ay isang perpektong application ng isang bagay na napaka-teknikal sa isang aktwal na problema. Kung kayo ay upang VPN mula Europa o Asya o saan sa mundo sa iyong corporate punong-himpilan sa New York o nasaan ka man, ikaw ay pagpunta upang lumikha ng ang hitsura sa labas mga website na ikaw ay talagang sa New York, kahit na ikaw ay pisikal Medyo malayo ang layo. Ngayon ikaw ang gumagamit ay pagpunta sa alam ikaw ay malinaw naman ang layo. Kundi pati na rin ikaw ay pagpunta sa pakiramdam ito dahil ng mga karagdagang milliseconds. Na ang karagdagang mga distansya at ang encryption na nangyayari sa VPN ay pagpunta upang mapabagal bagay pababa. Kaya ito ay maaaring o maaaring hindi maging isang mahusay na karanasan. Ngunit Hulu at Netflix ay pagpunta upang makita sa iyo bilang pag-upo sa isang lugar sa New York, bilang malinaw na iyong gleaned. Ano ang isang perpektong solusyon sa iyon. O sige, kaya heograpiya ay isa desisyon. Ano pa ang maaari naming gamitin upang magpasya kung paano sa ruta ng trapiko mula sa A, B, at C sa 1, 2, at 3, muli, paglalagay ang engineering hat on? Ito ang lahat ng tunog napaka-kumplikado. Uh, hindi ko kahit na alam kung saan upang simulan ang pagpapatupad ng mga iyon. Bigyan mo ako ng isang bagay na mas simple. Ano ang pinakamadaling paraan upang gumawa ng desisyon na ito? Madla: Ay ang server na magagamit? David MALAN: Ay ang server na magagamit? Kaya hindi masama. Mabuti yan. Iyan ay ang uri ng isang nuancing ng load. Kaya sabihin panatilihin na sa kategorya ng load. Kung ikaw ay magagamit, ako lang pagpunta sa ipadala ang data doon. Ngunit na maaaring backfire mabilis. Dahil kung gamitin ko na logic, at kung ako laging humingi 1, ikaw ay nasa, ikaw ay nasa, ikaw ay nasa, kung ang sagot ay laging oo, Pupunta ako sa magpadala ng 100% ng trapiko sa kanya, 0% sa lahat ng tao sino pa ang paririto. At sa isang punto, kami ay pagpunta sa hit na paghina o site hindi magagamit. Kaya kung ano ang bahagyang mas mahusay kaysa na ngunit pa rin medyo simple at hindi halos bilang matalino bilang pagkuha ng lahat ang mga karagdagang data sa account? Madla: Cost per server. David MALAN: Cost per server. OK, kaya hayaan mo akong palabunutan na sa kategorya ng pag-load, masyadong. Dahil kung ano ang makikita mo sa isang kumpanya, too-- na kung ikaw i-upgrade ang iyong mga server sa paglipas ng panahon o bumili ng higit pa, maaaring hindi mo magagawang upang makakuha ng eksakto ang parehong mga bersyon ng hardware. Dahil ito ay bumaba sa labas ng petsa. Hindi ka maaaring bumili ito anymore. Mga presyo baguhin. Kaya maaaring ikaw ay disparate mga server sa iyong piling, kaya na magsalita. Iyan ay ganap pagmultahin. Ngunit hardware sa susunod na taon ay maaaring maging ng dalawang beses nang mas mabilis, dalawang beses bilang may kakayahang bilang na ito taon. Upang maaari naming siklutin na sa kategorya load. Ito feedback loop sa pagitan ng 1, 2, at 3 sa load balancer maaaring Katotohanang sinasabi ito, hey, ako sa 50% kapasidad. Ngunit sa pamamagitan ng ang paraan, ako din may dalawang beses bilang ng maraming mga cores. Gamitin ang impormasyong iyon. Kahit simpler-- at ito ay pagpunta na maging isang tema sa computer science. Kapag may pagdududa, o kapag nais mo ang isang simpleng solusyon na sa pangkalahatan ay gumagana nang maayos sa paglipas ng panahon, huwag piliin ang parehong server sa lahat ng oras, ngunit choose-- Madla: Ang isang random na isa? David MALAN: --a random server. Yeah, pumili ng isa o ang iba. Kaya randomness ay talagang ito tunay malakas na sahog sa computer science, at sa engineering mas sa pangkalahatan, lalo na kapag gusto mong upang makagawa ng isang simpleng desisyon mabilis walang complicating ito sa lahat ng sa mga napaka-matalino, ngunit din napaka-matalino, mga solusyon na nangangailangan ng lahat ng mga mas engineering, ang lahat ng ang mas pag-iisip, kapag talaga, bakit hindi ko lamang ang uri ng i-flip ng barya, o isang tatlong panig coin sa kasong ito, at magpasya kung upang pumunta 1, 2, 3? Na maaaring kalabang apoy probabilistically, ngunit halos tulad ng logro ng flipping ulo muli at muli at muli at muli at muli at muli ay posible sa reality-- super, super walang kasiguruhan. Kaya sa paglipas ng panahon, logro ay lamang ng pagpapadala gumagamit ng random sa 1, 2, at 3 ay pagpunta sa ehersisyo ang perpektong fine. At ito ay isang pamamaraan karaniwang kilala bilang round robin. O kaya naman talaga, na hindi round robin. Ito ay ang mga random na diskarte. At kung nais mong maging kahit isang maliit na mas simple kaysa sa na, round robin ay magiging, unang tao napupunta sa 1, pangalawang tao sa 2, ikatlong tao sa 3, ika-apat na tao sa 1. At sa ganyang bagay ay namamalagi ang round robin. Ikaw lamang ang uri ng pumunta sa paligid sa isang cycle. Ngayon, dapat mong maging matalino tungkol dito. nang walang taros ka dapat magpadala sa gumagamit na i server number one kung ano ay ang kaso? Kung ito ay sa max kapasidad, o ito lamang ay hindi na tumutugon. Kaya sa isip nais mo ng ilang uri ng feedback loop. Kung hindi man, ikaw lamang ipadala ang lahat ng ng iyong mga gumagamit sa isang patay na dulo. Ngunit na maaaring kinuha sa account, masyadong. Kaya huwag ilalim pinasasalamatan ang halaga ng lamang randomness, na kung saan ay lubos na madalas isang solusyon sa mga ganitong uri ng mga problema. At kami isulat round robin. Kaya paano ang ilang mga kumpanya ipatupad round robin o randomness o alinman sa mga desisyon? Well sa kasamaang-palad, ang mga ito gumawa ng mga bagay na katulad nito. Hayaan akong makuha ang isa pang mabilis na screenshot. Sa totoo lang, sabihin gawin dalawa. Hindi ko alam kung bakit kami pagkuha ng lahat ng mga pagkain. Iyan ay lubhang kakaiba. O sige, kung ano ako tunay gusto ay isang screenshot. Iyon ay kakaiba. O sige, kaya ang maaari kong madaya ito. Hindi ko alam kung magkano ang higit na malayo Gusto kong panatilihin scroll. Kaya napaka-karaniwang, makikita mo ang iyong sarili sa isang address tulad www.2.acme.com, siguro www.3 o 4 o 5. At panatilihin ang isang mata para sa ito. Hindi mo makita ang mga ito na madalas. Ngunit kapag ginawa mo, ito uri ng ay may gawi na maging mas malaki, mas matanda, stodgier kumpanya na technologically ay hindi tunay mukhang alam kung ano ang kanilang ginagawa. At nakikita mo na ito sa tech na mga kumpanya kung minsan, ang mga mas lumang mga bago. Kaya kung ano ang kanilang ginagawa? Paano ang mga ito sa pagpapatupad load balancing, ito ay tila? Kung nakita mo ang iyong sarili bilang ang user pagta-type www.something.com, at biglang ikaw ay nasa www.2.something.com, ano ay ang kanilang load balancer marahil ginawa? Madla: [hindi marinig] David MALAN: Oo, kaya ang load balancer ay baka gumawa ng isang desisyon batay sa isa sa mga paggawa ng desisyon processes-- Hindi ito tunay bagay na kung saan. Ngunit marami tulad ko na iginuhit ang mga numero sa board dito, ang mga server ay hindi lamang tinatawag 1, 2, at 3. marahil ito ay tinatawag na www1, www2, www3. At ito ay lumiliko out na sa loob ng isang HTTP kahilingan ay ang tampok na ito. At ako pagpunta sa gayahin ito tulad ng sumusunod. Pupunta ako upang buksan up na parehong developer network tab tulad ng dati lamang upang maaari naming makita kung ano ang nangyayari sa ilalim ng hood. Pupunta ako sa i-clear ang screen. At ako pagpunta sa pumunta sa, sabihin sabihin, http://harvard.edu. Ngayon para sa kahit anong dahilan ng negosyo, Harvard ay nagpasya, tulad ng maraming, maraming iba pang mga website, upang ilagay sa pamantayan nito website sa www.harvard.edu para sa parehong mga teknikal na at mga dahilan marketing. Ito ay lamang ng uri ng sa vogue ang magkaroon ng www. Kaya ang server sa Harvard ay may upang kahit papaano ay i-redirect ang gumagamit, bilang panatilihin kong nangagsasabi, mula isang URL hanggang sa kabila. Paano gumagana ang na gumagana? Well, hayaan mo akong sige at pindutin ang Enter. At mapansin ang URL sa katunayan mabilis pinalitan sa www.harvard.edu. Hayaan akong mag-scroll pabalik sa ito kasaysayan at i-click debug ito diagnostic impormasyon, kung ikaw ay. Hayaan akong tumingin sa aking kahilingan. Kaya narito ang request na aking ginawa. At mapansin ito ay pare-pareho sa ang uri ng Hinihiling ko na gawa sa Facebook bago. Ngunit mapansin ang tugon. Ano ang naiiba sa ang tugon oras na ito? Madla: [hindi marinig] David MALAN: Oo, kaya ito ay hindi isang 200 OK. Ito ay hindi isang 404 Hindi Natagpuan. Ito ay isang 301 Moved Permanently, na kung saan ay uri ng isang nakakatawa paraan ng sinasabi, Harvard ay upped at inilipat sa ibang lugar upang www.harvard.edu. Ang 301 signifies na ito ay isang pag-redirect. At sa kung saan dapat ang user ay apparently ay nai-redirect? Mayroong isang karagdagang maliit na piraso ng impormasyon sa loob sobre na. At bawat isa sa mga linyang ito ay ngayon simulan ang pagtawag ng isang HTTP header. Header ay lamang ng isang susi halaga pair-- bagay colon isang bagay. Ito ay isang piraso ng impormasyon. Saan dapat ang mga bagong lokasyon tila maging? Pansinin ang huling linya sa lahat ng mga header. Madla: [hindi marinig] David MALAN: Oo, kaya mayroong karagdagang impormasyon. Ang unang linya na ko na naka-highlight sabi ni 301 Inilipat Permanenteng. Well, kung saan ay ito ay inilipat? Ang huling line-- at hindi sila kailangang maging sa order na ito. Maaari itong maging random. Lokasyon colon ibig sabihin nito, hey browser, pumunta sa URL na ito sa halip. Kaya browser maunawaan HTTP pag-redirect. At ito ay isang napaka, napaka karaniwang paraan ng nagba-bounce ang mga gumagamit mula sa isang lugar patungo sa isa pa. Halimbawa, kung nag-ba sinubukan upang bisitahin ang isang website na ikaw ay hindi naka-log sa, maaari mong biglang mahanap ang iyong sarili sa isang bagong URL lahatan pagiging sinenyasan upang mag login. Paano gumagana ang na gumagana? Ang server ay marahil pagpapadala ng isang 301. Mayroon ding iba pang mga numero, tulad ng 302, medyo iba sa kahulugan, na magpadala sa iyo sa isa pang URL. At pagkatapos ay ang server, kapag nakalikha ka na naka-log in, Padadalhan ka pabalik sa kung saan aktwal na nilayon mo. Kaya kung ano, at pagkatapos, ay hindi maganda engineered website paggawa? Kapag binisita mo ang www.acme.com, at sila lamang mangyari sa may pangalan na ang kanilang mga server www1, www2, www3, at iba pa, sila ay lubhang simply-- na kung saan ay makatarungan, ngunit napaka uri ng foolishly---redirect ka sa isang tunay na naiiba pinangalanan server. At ito ay gumagana ganap na ganap pagmultahin. Ito ay maganda at madaling. Nakita namin kung paano magiging tapos sa ilalim ng hood sa virtual na sobre. Ngunit kung bakit ay ito arguably isang masamang engineering desisyon? At bakit ako uri ng condescending patungo sa partikular na engineering lapitan? Magtaltalan kung bakit ito ay masama. Ben? Madla: [hindi marinig] David MALAN: Ang bawat server ay may sa magkaroon ng isang dobleng kopya ng website. Ako OK na iyon. At sa katunayan, na kung ano ako kung kaya para sa buong kuwento, dahil kung namin wanted-- well actually, maliban para sa Dan mas maaga mungkahi, kung saan kung mayroon kang iba't ibang server paggawa ng iba't ibang bagay, at pagkatapos siguro hindi na nila talagang maging functionally paggawa ng iba't ibang mga bagay. Ngunit kahit na pagkatapos, sa isang punto, ang iyong database ay pagpunta upang makakuha overload. Ang iyong static asset server ay pagpunta upang makakuha overload. Kaya sa ilang mga punto, hindi namin bumalik sa kuwentong ito, kung saan kami kailangan ng maramihang mga kopya ng parehong bagay. Kaya ako OK na iyon. Madla: [hindi marinig] David MALAN: OK, kaya ang ilang mga pahina maaaring maging disproportionately popular. At kaya fixating sa isa address ay hindi kinakailangan ang pinakamahusay na bagay. [Hindi marinig]? Madla: [hindi marinig] David MALAN: Ano ang ibig mong sabihin sa pamamagitan ng na? Madla: [hindi marinig] David MALAN: Oo, eksakto. Kaya hindi mo nais na kinakailangang have-- ikaw ay tiyak na hindi nais na magkaroon ng iyong mga user mano-manong pag-type sa www1 o www2. Mula sa isang branding perspektibo, ito lamang ang hitsura ng isang maliit na katawa-tawa. Kung gusto mo lamang uri ng isang malinis, elegante karanasan, pagkakaroon ng mga uri ng mga random may bilang mga URL tunay ay hindi mabuti. Dahil pagkatapos ang mga gumagamit ay tiyak na pagpunta sa kopyahin at idikit ang mga ito sa mga email o instant message. Ngayon sila ay propagating. Ngayon, nag-uri ng nakalilito ang iyong mas teknikal na madla, na thinks iyong mga web address ay www2.something.com. Walang nag-uudyok na semantika sa na. Ito lamang ang mangyayari sa maging isang pinagbabatayan teknikal na detalye na ikaw may bilang iyong mga server sa ganitong paraan. At mas masahol pa, kung ano kung, halimbawa, siguro sa paligid ng Pasko oras kapag negosyo ay talagang booming, nakuha mo www1 pamamagitan www99, ngunit sa Enero at Pebrero at pasulong, i-off mo kalahati ng mga kaya mayroon ka lamang www1 pamamagitan www50? Ano ang implikasyon na ngayon para sa na napaka-makatwirang negosyo na desisyon? Madla: [hindi marinig] David MALAN: Kailangan mong pamahalaan ang lahat ng mga pa rin. Madla: [hindi marinig] David MALAN: Mismong. Iyon uri ng catch doon. Kung ang iyong mga customer ay sa ugali ng bookmark bagay, pag-email ang mga ito, kailangan lang pag-save ng URL sa isang lugar, o kung ito lamang ay sa kanilang auto makumpleto sa kanilang browser kaya ang mga ito hindi talaga sinasadya pag-type ito, lamang ito ay nangyayari, maaaring nila, para sa 11 buwan sa labas ng taon mabisa, maabot ang isang patay na dulo. At lamang ang pinaka-matalas ng mga user ay pagpunta sa mapagtanto, siguro ang dapat kong nang manu-mano alisin ang numerong ito. Ibig kong sabihin, ito lamang ay hindi pagpunta sa mangyayari na may maraming mga gumagamit, kaya masamang para sa negosyo, masamang pagpapatupad engineering matalino. Kaya thankfully, ito ay hindi kahit na kailangan. Ito ay lumiliko out na kung ano load balancers maaaring gawin ay sa halip na sabihing, kapag A gumagawa ng isang request-- hey A, pumunta sa 1. Sa ibang salita, sa halip ng pagpapadala na redirect tulad na hakbang isa sa ito proseso ay ang go dito, at pagkatapos ay siya ay sinabi upang pumunta sa ibang dako. At kaya hakbang tatlong ay, siya ay napupunta sa ibang lugar. Maaari mong sa halip ay patuloy na ruta, upang panatilihin ang paggamit ng term na iyon, ang lahat ng ni A data sa pamamagitan ng load balancer upang siya hindi kailanman contact 1, 2, o 3 direkta. Ang lahat ng mga trapiko ay makakuha ng "dadalhin" sa pamamagitan ng load balancer mismo. At kaya ngayon kami ay uri ng sadyang blurring ng mga linya kasama ng mga iba't ibang mga aparato. A load balancer Maaari data ruta. Ito ay lamang ng isang function na ito ay may. Kaya ang isang load balancer, masyadong, ito ay isang piraso ng software, really. At isang router ay isang piraso ng software. At maaari mong talagang may dalawang piraso ng software sa loob ng isang pisikal na computer kaya ng isang load balancer makagagawa ng mga maramihang mga bagay na ito. Kaya mayroong isang iba pang paraan upang gawin ito, na aktwal na napupunta bumalik sa uri ng mga pangunahing alituntunin ng DNS, na usapan natin ang tungkol bago break. DNS ay Domain Name System. Tandaan na maaari mong magtanong sa isang DNS server, kung ano ang ang IP address ng google.com, facebook.com? At maaari naming talagang gawin ito. Isang tool hindi namin ginamit mas maaga ay isang bagay na tulad ng naa-access, tinatawag nslookup, para sa pangalan ng server lookup. At ako lamang ang pagpunta upang i-type facebook.com. At nakikita ko na IP Facebook ni address ay tila na ito. Hayaan akong sige at kopyahin na, pumunta sa isang browser, at pumunta sa http: // at na IP address at pindutin ang Enter. At sigurado sapat, ito tila sa trabaho. Ngayon nagtatrabaho paurong, kung ano ang sa loob ng virtual sobre na ang Facebook ay tumugon sa kapag Binisita ko na IP address direkta? Dahil paunawa, kung nasaan ako ngayon? Kung nasaan ako ngayon, ang address? Madla: [hindi marinig] David MALAN: Sa secure na bersyon, at sa www.facebook.com. Kaya ito ay hindi kahit na lamang ang mga secure na IP address. Facebook ay kinuha ito sa kanyang sarili kailangang sabihin, ito ay walang katotohanan. Hindi namin pagpunta upang panatilihin kang sa ito pangit naghahanap URL na numeric. Kami ay pagpunta sa magpadala sa iyo ng isang HTTP redirect sa pamamagitan ng paraan ng na parehong header na nakita natin before-- lokasyon colon isang bagay. At kaya ito ay nangangahulugan lamang na sa ilalim ng hood ay pa rin ito IP address. Ang bawat computer sa internet ay may isang IP address, ito ay tila. Ngunit ikaw ay hindi kinakailangang magkaroon upang ilantad na sa user. At marami pang tulad pabalik sa araw, may ay 1-800-mangolekta, 1-800-C-O-L-L-E-C-T, sa US, ay isang paraan ng paggawa ng collect tawag sa pamamagitan ng isang napaka madaling malilimot phone numero, o 1-800-MATTRESS upang bumili ng isang kama, at mga katulad na nimonika na kayo kahit na makita sa telepono uri ng uri ng pa rin, na ang mga titik-map sa mga numero. Ngayon, kung bakit ay na? Well, ito ay isang pulutong mas madali kabisaduhin 1-800-MATTRESS o 1-800-COLLECT halip ng 1-800 isang bagay ng isang bagay ng isang bagay isang bagay ng isang bagay ng isang bagay isang bagay, kung saan ang bawat sa mga ito ay isang digit. Katulad nito, ang mundo natutunan mabilis na hindi namin dapat may mga tao kabisaduhin mga IP address. Iyon ay magiging uto. Kami ay pagpunta sa gamitin ang mga pangalan sa halip. At iyon ang dahilan kung bakit DNS ay ipinanganak. O sige, para sa na sinabi, sa mga tuntunin ng load balancing, sabihin subukan yahoo.com. Well, na kawili-wili. Yahoo anyong bumabalik tatlong IPs. Kaya magpakilala sa ito, kung maaari mong, kung ano ang isa pang paraan na maaari naming ipatupad ito paniwala ng load balancing siguro walang kahit ang paggamit ng isang pisikal na aparato, ang bagong pisikal na device? Sa ibang salita, maaari ba akong mag-alis ng pagpopondo mayroon kayo para sa load balancer at sabihin sa iyo na gumamit ng ilang mga umiiral na piraso ng hardware na ipatupad ito paniwala ng load balancing? At ang manglilipol ay, oo, ngunit kung ano, o kung paano? Ano ang Yahoo marahil ginagawa dito? Kareem? OK, Chris? Madla: [hindi marinig] David MALAN: Oo, lahat tatlong ng mga trabaho. Kaya randomness, round robin, location-- maaari mo lamang pakikinabangan ang isang umiiral na piraso ng malaking suliranin na usapan natin ang tungkol sa mas maaga ng DNS system at lang sabihin, kapag ang unang user ng araw humihiling yahoo.com, bigyan sila ng unang IP address, tulad ng isa na nagtatapos sa 45 up doon. At nang sumunod na oras na ang isang kahilingan ng gumagamit ang IP address ng yahoo.com mula sa isang lugar sa mundo, bigyan sila ng pangalawang IP, pagkatapos ang third IP, at pagkatapos ay ang unang IP, at pagkatapos ay ang pangalawang. O maging matalino tungkol dito at gawin ito graphically. O gawin ito nang sapalaran at hindi lamang gawin ito round robin sa ganitong paraan. At sa kasong ito, at pagkatapos ay hindi namin kahit na kailangan upang ipakilala ito itim kahon sa aming larawan. Hindi namin kailangan ng isang bagong aparato. Lang namin ay nagsasabi computer upang pumunta sa mga server ng direkta, mabisa, ngunit hindi sa pamamagitan ng paraan ng kanilang mga pangalan. Sila ay hindi kailanman kailangan upang malaman ang pangalan. Ang mga ito ay lamang na sinabi na yahoo.com mga mapa sa anumang isa sa mga ito IP address. Kaya ito ay nagpapadala ang eksaktong parehong kahilingan. Ngunit sa labas ng ang sobre, ito lamang inilalagay ang IP na ito ay alam ng. At sa ganitong paraan, masyadong, ay maaaring load namin balansehin ang mga kahilingan sa pamamagitan lamang ng pagpapadala ng sobre sa isang iba't ibang mga isa sa sariling mga server ng Yahoo? At kung tinutupad natin ang paghuhukay, kami makita marahil ng iba pang mga kumpanya na may higit pa. CNN ay may dalawang publiko nakalantad. Kahit talagang kung gagawin namin ito muli at again-- cnn.com-- maaari mong makita sila ay pagbabago ng order, talaga. Kaya kung ano ang mekanismo ay CNN gamit, tila? Madla: Random. David MALAN: Well, ito maaaring maging random, kahit na ito anyong pagbibisikleta papunta at pabalik. Kaya marahil ito ay round robin kung saan sila ay lamang ng paglipat ng order kaya na kukunin ko siguro gawin ang unang. Ang aking computer ay magdadala ang unang sa bawat oras. Kaya na ang load balancing. At na ay nagbibigay-daan sa amin, sa huli, upang i-map data, o mga hiling sa mapa, sa maramihang mga server. Kaya kung ano ang mga uri ng problema ngayon pa rin umiiral? Ito nararamdaman tulad ng kami lang talagang malulutas ng isang magandang problema. Mayroon kaming gumagamit sa iba't ibang mga server. But-- oh, at Chris, ginawa may tanong ka bago? Madla: [hindi marinig] David MALAN: Totally depende. Kaya kung ano ang nangyayari dito? At maaari naming aktwal na makita ito. Kaya sabihin subukan Yahoo. Sa totoo lang, sabihin pumunta sa Facebook. Dahil alam namin na ang isa ay gumagana. Kaya ako ng pagpunta upang kopyahin na IP address muli. Pupunta ako upang isara ang lahat ng mga tab. Pupunta ako sa pumunta bukas na espesyal na network tab pababa dito. At ako pagpunta upang bisitahin lamang http: //. At ngayon ako pagpunta sa pindutin ang Enter. At sabihin makita kung ano ang nangyari. Kung tumingin ako sa na kahilingan, notice na my-- Facebook ay isang masamang halimbawa. Dahil mayroon silang isang super fancy diskarteng na Itinatago na detalye mula sa amin. Hayaan mo akong gamitin Yahoo instead-- http: // IP iyon. buksan ang aming mga network Hayaan tab, mapanatili log. At ayan na naman, ang Enter. Nakakatawa iyan. OK, kaya dito ay ang sikat 404 message. Ano ang nakakatawa dito ay na sila marahil hindi kailanman ay bumalik. Dahil doon ay marahil hindi isang bagay na mali per se. Ang mga ito ay lamang ng kusa nagpasya hindi upang suportahan ang ang numeric anyo ng kanilang address. Kaya kung ano ang aktwal na kami ay nakakakita sa tab Network, kung hilahin ko ito up dito, ay, tulad ng sinasabi ko, ang sikat 404, kung saan kung tumingin ako sa header tugon, ito ay kung ano ang nakuha ko here-- 404 Hindi Natagpuan. Kaya sabihin subukan ang isa isa. Tingnan natin kung CNN cooperates sa amin. Kukunin ko grab ang isa sa CNN IP address, malinaw na ito, http, dah, dah, dah, dah. Kaya sa sagot sa Chris tanong, isa na nagtrabaho. At sabihin pumunta sa header tugon. Sa totoo lang hindi, lahat ng karapatan, ako struggling upang mahanap ang isang nagtatrabaho halimbawa. Kaya CNN ay nagpasya, kami na lang iniwan mo sa kahit anong address na iyong aktwal na bisitahin, branding isyu tabi. Ngunit ano ang hindi ay nangyayari, kung maaari naming makita ito sa kaso ng Facebook, ay namin nais makakuha ng isang 301 Moved Permanenteng, malamang, sa loob ng kung saan ay lokasyon: https: //www.facebook.com. At logro ay www.facebook.com ay isang alias para sa eksaktong parehong server namin lamang pumunta sa. Kaya ito ay isang maliit na counterproductive. literal Kami ay pagbisita sa server. Ang server ay pagkatapos ay nagsasabi sa amin, pumunta ang layo. Pumunta sa ang iba pang mga address. Ngunit kami lang kaya ang mangyayari na maging balik sa na parehong server. Ngunit siguro kami ngayon manatili sa na server nang hindi ito papunta at pabalik. Dahil ngayon kami ay gamit ang pinangalanan bersyon ng site, hindi ang numeric. Magandang tanong. OK, kaya kung namin ngayon assume-- namin nalutas load balancing. Kami ngayon ay mayroon ng isang mekanismo, maging ito man ay sa pamamagitan ng DNS, maging ito man ay sa pamamagitan ng ito itim na kahon, kung ito ay gumagamit ng alinman sa mga pamamaraan na ito. Maaari naming gawin kahilingan ng isang gumagamit sa at malaman kung na kung saan server, 1, 2, o 3, upang magpadala sa kanya. Ano nagsisimula sa break tungkol sa aming website? Sa ibang salita, mayroon kaming na binuo ng isang negosyo na dati ay sa isang solong server. Ngayon negosyo na tumatakbo sa maramihang mga server. Anong mga uri ng pagpapalagay, ano ang mga uri ng mga desisyon disenyo, maaaring ngayon ay paglabag? Ito ay mas mababa halata. Ngunit sabihin makita kung hindi namin maaaring ilagay ang aming daliri sa ilan sa mga problema na namin nilikha para sa ating sarili. Muli, ito ay uri ng tulad ng may hawak na down ang tumagas sa diligan. At ngayon ang ilang bagong isyu ay binusa up sa paglipas dito. Madla: [hindi marinig] David MALAN: OK, kaya kami ay upang panatilihin ang lumalaking aming mga hard disk space. Ako OK na may na ngayon. Dahil sa tingin ko ang maaari kong horizontally scale. Tulad ng kung ako nagpapatakbo mababa, kukunin ko na lang makakuha ng ang ikaapat na server, marahil ang ikalimang server, at pagkatapos ay taasan ang aming kapasidad sa pamamagitan ng isa pang 30% o 50% o watnat. Kaya ako OK na may na, hindi bababa sa para sa ngayon. Madla: [hindi marinig] David MALAN: OK, kaya na ang isang magandang point. Kaya ipagpalagay na ang mga server ay hindi magkapareho. At ang customer service o ang email katumbas ay nakakakuha ng ilang mga mensahe mula sa isang user na sinasabi, ito ay hindi gumagana ng tama. Ito ay napaka-posible, kung minsan, na siguro isa o higit pang mga server ay kumikilos ng kaunti pilipit, ngunit hindi ang iba, na kung saan ay tunay na gawin itong mas mahirap na habulin down ang isyu. Maaaring mayroon kang upang tumingin maramihang mga lugar. Iyon ay manipestasyon ng isa pang uri ng bug, na kung saan ay na marahil ay dapat ay naka-disenyo ng iyong infrastructure kaya na ang lahat ay tunay na magkapareho. Ngunit ito ay ipakita ang isang bagong problema na hindi namin ay may bago. Ano pa? Madla: [hindi marinig] David MALAN: Oo, mayroon pa kumplikado. May pisikal pa wires. May isa pang aparato. Sa katunayan, na may ipinakilala akong pangunahing konsepto at isang pangunahing problema dito kilala bilang isang solong point ng kabiguan, kung saan, kahit na hindi pa ninyo narinig ang pariralang, maaari mong malamang na ngayon gumagana paurong at tayahin ito lumitaw. Ano ang ibig sabihin na mayroon akong isang solong punto ng kabiguan sa aking architecture? At sa pamamagitan ng architecture, ako lang nangangahulugan na ang topology ng mga ito. Madla: [hindi marinig] David MALAN: Oo, paano kung ang load balancer napupunta down? Ko na ipinasok ito middle tao na ang layunin sa buhay ay upang malutas ang isang problema. Ngunit ko na nagpasimula ng isang bagong problema. Ang isang bagong tumagas ay sprung sa diligan. Dahil ngayon kung ang load balancer namatay o break o misfunctions, ngayon nawala ko ng access sa lahat ng tatlong ng aking mga server. At bago, ako ay hindi magkaroon ito middleman. At kaya ito ay isang bagong problema, arguably. Darating kami pabalik sa kung paano namin maaaring ayusin na. Madla: [hindi marinig] David MALAN: Iyon ay magiging isa na diskarte. Yeah, at iba pa na ito ay pagpunta sa lubos na hole ng daga naming simulan upang pumunta pababa. Ngunit bumalik upang ipaalam na sa loob lamang ng ilang sandali. Anong mga problema na nilikha namin? Kaya nabanggit Dan database bago. At kahit na kung ikaw ay hindi masyadong pamilyar technically, isang database ay lamang ng isang server na kung saan pagpapalit ng data ay karaniwang naka-imbak, siguro isang order ang isang tao ay inilagay, iyong user profile, ang iyong pangalan, ang iyong email address, mga bagay na maaaring inputted o nagbago sa paglipas ng panahon. Noong nakaraan, ang aking database ay sa parehong server bilang aking web server. Dahil ako lamang ay nagkaroon ng isa web hosting account. Lahat ng bagay ay ang lahat sa parehong lugar. Saan ko dapat ilagay ang aking database ngayon, sa server 1, 2, o 3? Madla: 4. David MALAN: 4, OK, ang lahat ng karapatan, kaya sabihin pumunta doon. Kaya ako pagpunta sa ilagay ang aking database-- at sabihin simulan labeling mga www www www. At ako pagpunta sa sabihin, ito ay bilang apat. At sasabihin ko db para sa database. OK, gusto ko ito. Ano line dapat kong siguro ay pagguhit dito? Madla: [hindi marinig] David MALAN: Oo, kaya ang code, bilang namin talakayin bukas, siguro ay pareho sa lahat ng tatlong mga server. Ngunit ito ngayon ay nangangailangan upang kumonekta hindi sa isang database tumatakbo sa isang lugar lamang ngunit sa ibang dako. At iyon ang fine. Maaari lang namin bigyan ang database ng pangalan, pati na mayroon kami, o isang numero. At na ang lahat ay gumagana fine. Ngunit ano ang mayroon kami tapos? horizontally kami ng naka-scale sa pamamagitan ng pagkakaroon tatlong server sa halip ng isa, na kung saan ay mabuti. Dahil ngayon maaari naming panghahawakan tatlong beses ng mas maraming load. At mas mahusay pa, kung ang isa o dalawang sa mga server goes down, aking negosyo ay maaaring magpatuloy upang gumana. Dahil ako pa rin magkaroon ng isa, kahit na ako uri ng hingkod kasama pagganap-pera. Ngunit kung ano ang bagong problema ko ipinakilala sa pamamagitan ng paggalaw sa mga database sa ito hiwalay na server sa halip na sa 1, 2, at 3? Madla: [hindi marinig] David MALAN: Oo, kaya ngayon ay mayroon akong isa pang solong punto ng kabiguan. Kung ang aking database ay namatay, o mga pangangailangan sa ma-upgrade, o ano pa man, ngayon sigurado, aking website ay online. At maaari kong maglingkod static, walang bago nilalaman. Ngunit hindi ko maaaring ipaalam sa mga gumagamit na mag-log in o pagbabago kahit ano o pagkakasunud-sunod ng anumang bagay, mas masahol pa. Dahil kung 4 ay offline, pagkatapos ay 1, 2, at 3 talagang hindi maaaring makipag-usap sa mga ito sa pamamagitan ng kahulugan. OK kaya oo, at sa gayon ito ay kung bakit Ako maatubili upang gumuhit ito. Kaya sabihin bumalik sa na. Hindi ko ibig sabihin upang panatilihin patulak mo off. Ngunit ang larawan ay sadyang mabilis pagpunta upang makakuha ng mabigat. Dahil kailangan mo upang simulan ang pagkakaroon ng dalawang ng lahat. Sa katunayan, kung ikaw ay kailanman nakita ang movie Contact ng ilang taon na ang nakakaraan kay Jodie Foster-- no? OK, kaya para sa inyong dalawa amin na iyong nakita Contact, mayroong isang relasyon doon kung saan sila mahalagang bumili ng dalawang ng isang bagay sa halip na isa, albeit sa dalawang beses ang presyo. Kaya ito ay uri ng isang mapaglaro magkomento sa pelikula. Ito ay uri ng kaugnayan sa ito. Namin mai absolutely gawin iyon. At na sa iyo lamang cost sa amin ng dalawang beses bilang magkano ang pera. Ngunit kami ay bumalik sa na. Kaya na lutasin namin ito. Kaya alam mo kung ano? Ito ay tulad ng isang madulas libis. Hindi ko nais na pakikitungo sa pagkakaroon na magkaroon ng isang dobleng database. Ito ay masyadong maraming pera. Alam mo ba? Gusto kong magkaroon ng aking database tulad ng sa bersyon ng isa kung saan ang bawat server ay may sarili nitong lokal na database. Kaya ako lamang ang pagpunta sa gumuhit db sa bawat isa sa mga ito. Kaya ngayon sa bawat web server ay kapareho sa gana bilang ito ay may parehong code, ang parehong static ari-arian, parehong mga larawan at teksto at iba pa. At sa bawat ay may sariling database. Naayos ko ang nag-iisang punto ng kabiguan problema. Ngayon Mayroon akong isang database. Walang bagay na kung saan ang dalawa o isa sa mga ito bagay mamatay, may palaging isa kaliwa. Ngunit kung ano ang bagong problema ko nilikha na ni Dan solusyon iwasan? Madla: [hindi marinig] David MALAN: Oo, ako kung sync ang mga ito, right? Dahil ang alinman sa kailangan ko upang i-sync kung sino ang pagpunta where-- sa ibang salita, kung Alice bumisita sa aking site, at nagkataong upang makakuha ng random o pag-ikot robined o ano pa man, sa server bilang isa, pagkatapos noon kailangan kong palaging ipadala sa kanya sa server 1. Bakit? Dahil kung ako magpadala ng kanyang sa server 2, ito ay pagpunta upang magmukhang siya ay hindi umiiral doon. Hindi ako pagpunta upang magkaroon ng kanyang kasaysayan ng order. Hindi ako pagpunta upang magkaroon ng kanyang profile doon. At na lamang ang nararamdaman tulad ng ito ay nag-aanyaya sa mga problema. At kapag Bob pagbisita, ako kung magpadala sa kanya palaging sa parehong server, 2, o kung ano man isa, at Charlie sa isang third isa, at tuloy-tuloy. Ito ay hindi walang katwiran, kahit na. Ito ay tinatawag na partitioning iyong database. At sa katunayan ito ay kung ano Facebook ginawa maaga. Kung sinundan mo ang kasaysayan ng Facebook, ito na nagsimula dito sa campus bilang www.thefacebook.com. Pagkatapos ito nagbago nang isang beses Mark nagsimula pagkalat sa iba pang mga campus upang maging harvard.thefacebook.com at mit.thefacebook.com, at marahil bu.thefacebook.com, at ang gusto. At iyon ay dahil maaga, Hindi sa tingin ko maaari kang magkaroon ng mga kaibigan sa buong campus. Ngunit iyon lamang ang fine. Dahil ang sinuman mula sa Harvard got na ipinadala sa server na ito. Sinuman mula sa BU got na ipinadala sa server na ito. Sinuman mula sa MIT got na ipinadala sa ito server-- sa teorya. Hindi ko lubos na malaman ang lahat ng pinagbabatayan pagpapatupad ng mga detalye. Subalit siya siguro partitioned tao sa pamamagitan ng kanilang campus, kung saan ang kanilang network ay. Kaya na ay mabuti hanggang sa punto kung saan kailangan mo ng dalawang mga server para sa Harvard, o tatlong server para sa Harvard. At pagkatapos na simple uri ng break down. Ngunit iyon lamang ang isang makatwirang diskarte. ni palaging ipadala Alice Hayaan sa parehong lugar, palaging ipadala Bob sa parehong lugar. Ngunit ano ang mangyayari kung Alice server napupunta offline? Bob at Charlie ay maaari pa ring bumili ng mga bagay at mag-log sa site. Ngunit Alice ay maaaring hindi. Kaya mo na nawala ng isang third ng iyong user base. Siguro na ang mas mahusay kaysa sa 100%? Pero siguro gusto ito ay nice kung maaari namin suportahan pa rin 100% sa aming gumagamit kahit na kapag ang isang third ng aming server napupunta offline. Kaya maaari naming i-sync ang ano? Hindi ang mga gumagamit, per se, ngunit ang database sa lahat ng mga server. Kaya ngayon namin uri ng kailangan ng ilang uri ng pagkakabit dito kaya na ang mga server sa kanilang sarili maaari sync-- hindi walang katwiran. At sa katunayan, ang teknolohiya na ito ay umiiral na. Sa mundo ng mga database, may ang paniwala ng mga database master-alipin, o pangunahing-secondary, kung saan kabilang sa mga tampok ay hindi lamang upang tindahan ng data at tumugon sa data, kundi pati na rin lamang na patuloy na sync sa bawat isa. Kaya anumang oras mong isulat o i-save isang bagay na database na ito, agad ito ay makakakuha ng "Ginagaya" sa iba pang mga database pati na rin. At anumang oras na basahin mo mula dito, ito ay hindi mahalaga kung nasaan ka. Dahil kung sa teorya lahat sila na naka-sync, ikaw ay pagpunta sa makuha ang parehong view ng data. Kaya ito tunog perpekto. May ay nakuha na maging isang catch. Ano ang maaaring maging ang catch? Madla: [hindi marinig] David MALAN: Oo, kaya tatlong beses ng mas maraming mga bagay-bagay ay maaaring magkamali. Iyan ay isang katotohanan. Maaaring lahat ay ang parehong sa espiritu. Ngunit ang isang tao ay kailangang i-configure ang mga ito. Mayroong isang mas mataas na posibilidad na isang bagay ay pagpunta sa pumunta mali. Just Combinatorially mayroon kang mas bagay-bagay madaling kapitan ng sakit na mga error. Ano pa ay hindi magandang potensyal? Madla: [hindi marinig] David MALAN: Oo, kaya pag-sync ay maaaring maging masama. Kahit na maaari mong malaman mula backups at tulad, kung ikaw lamang ay walang taros paggawa backups, paano kung ang isang bagay ay magkamali sa isang database? Mong tanggalin ang isang bagay hindi mo dapat. Agad mo na replicated na ang problemang sa lahat ng dako sino pa ang paririto. Kaya Victoria ay talking-- backups ay magiging isang magandang bagay dito. At kaya babalikan ka namin sa na. At upang maging malinaw, pinag-uusapan natin hindi tungkol sa pag-backup dito per se. Pinag-uusapan natin tungkol sa tunay na pagtitiklop o pag-sync sa buong server. Ang mga ito ay ang lahat ng live. Hindi sila ay sinadya upang gamitin para sa backups. Madla: [hindi marinig] David MALAN: Ano iyon? Madla: Higher-- David MALAN: Ang mas mataas na gastos. triple namin ang gastos para sa sigurado, bagaman hindi bababa sa mga tuntunin ng hardware. Dahil ang isang database ay lamang ng isang piraso ng software. At isang web server ay isang piraso ng software. Ito ay marahil sa libreng kung ang aming ginagamit anumang bilang ng mga open source mga bagay. Ngunit kung kami ay gumagamit isang bagay tulad ng Oracle, kami ay nagbabayad Oracle ng mas maraming pera sa bawat lisensya, o Microsoft para sa access. May ay nakuha na maging ang ilang mga iba pang mga catch dito. Hindi ito maaaring maging na ito simple. Kaya sa iyong punto, sa tingin ko ito ay Kareem, para sa heograpiya earlier-- o hindi, Roman, ay ito, para geography-- ipagpalagay na kami ay pagiging matalino tungkol dito, at kami ay paglalagay ng isa sa aming mga server, at sa turn ang aming database, sa US, at isa pa sa Europa, isa pa sa South America, isa pang sa Africa, isa pa sa Asia, kahit saan kami Baka gusto sa buong mundo. Namin na malaman mula sa aming trace ruta na punto A at point B, kung ang mga ito mas malayo bukod, ay pagpunta sa tumagal ng mas maraming oras. At kung ang ilan sa inyo ay may ginagamit mga kasangkapan, tulad ng Facebook o Twitter o alinman sa mga site na ito mga araw na ito ay patuloy na nagbabago dahil sa user nilikha data, minsan kung ikaw hit Reload o buksan ang parehong pahina sa ibang browser, makikita mo iba't ibang mga bersyon, halos. Maaari mong makita ang katayuan ng isang tao i-update dito ngunit hindi dito, at pagkatapos mong i-reload, at pagkatapos ito lilitaw, at i-reload sa iyo muli, at ito disappears. Sa ibang salita, panatilihin ang isang mata out para sa mga ito, hindi bababa sa kung gumagamit ka ng mga social networking lalo. Muli, dahil lamang ang data ay nagbabago nang mabilis, minsan mga server ay tumayo mula sa pag-sync. At marahil ito ay isang sobrang maliit na window. Ngunit 200 milliseconds, siguro kahit na higit sa na- ito ay pagpunta sa tumagal ng ilang mga di-zero na halaga ng oras para sa mga database upang i-sync. At kami ay hindi lamang pakikipag-usap tungkol sa isang kahilingan. Kung ang isang kumpanya ay may libu-libong mga ang mga gumagamit ay gumagamit ng ito sabay-sabay, upang kanilang buffer. Sa ibang salita, mayroong maaaring maging isang queue o isang maghintay line bago ang lahat ng mga database tanong ay maaaring makakuha ng synchronize. Kaya marahil ito ay talagang isang ilang segundo. At sa katunayan ito ay totoo tingin ko kahit sa araw na ito sa Facebook, kung saan kapag sila i-synchronize mula sa East Coast sa West Coast, ito ay may isang di-mahalaga pagpapalaganap pagkaantala, kaya na magsalita, na ikaw lamang ang uri ng kung magparaya. At kaya ito ay hindi kaya magkano isang bug dahil ito ay isang katotohanan na ang iyong mga gumagamit ay hindi maaaring makita ang tamang data para sa hindi bababa ng ilang segundo. nakikita ko ito sa Twitter ng isang pulutong aktwal na kung saan minsan kukunin ko tweet sa isang window, buksan ang isa pang sa pagkatapos ay makita ito upang kumpirmahin na ito sa katunayan umahon, at ito ay hindi doon pa. At kailangan kong uri ng i-reload, reload, reload-- oh, may ito ay. At iyan ay hindi dahil hindi ito ay na-save. Ito lamang ay hindi propagated sa iba pang mga server. Kaya ito kalakalan-off, gawin too-- ikaw talaga nais na ilantad ang iyong sarili sa panganib na kung ang gumagamit ay pumunta sa kanilang pagkakahalihalili kasaysayan, ito ay hindi talagang doon pa? nakikita ko ito sa mga tiyak na mga bangko. Ito ay palaging annoys sa akin kapag, well, para sa isa, maaari ka lamang pumunta tulad ng anim na buwan sa likod sa iyong bank statement sa ilang mga bangko, kahit na sa teorya ay dapat na sila ay maaaring magkaroon ng lahat ng bagay online. Sila lang ang dadalhin stuff offline kung minsan. Minsan, too-- ano website ay ito? Mayroong one-- oh, ito ay GoDaddy, tingin ko. GoDaddy, kapag nag-check out pagbili ng isang domain name o isang bagay, ang mga ito ay madalas na magbibigay sa iyo ng isang link sa iyong resibo. At kung nag-click ka sa link na iyon karapatan ang layo, ito madalas ay hindi gumagana. Ito lamang ay nagsasabi, patay na dulo, wala dito. At iyon ang dahilan masyadong dahil sa mga pagpapalahi pagkaantala. Dahil para sa anumang dahilan, ang mga ito ay pagkuha ng isang maliit na piraso ng oras upang aktwal na bumuo ng iyon. Kaya ito ay uri ng tulad ng gusto mong hilahin ang iyong buhok out sa isang punto. Dahil ang lahat ng sinusubukan mong gawin ay malutas ang isang simpleng problema. At panatilihin namin ang paglikha ng mga bagong mga problema para sa ating sarili. Kaya sabihin makita kung kami maaari uri ng i-undo ito. Ito ay lumiliko out na pagsasama-sama ng database sa lahat ng iyong mga web server ay hindi talaga pinakamahusay na pagsasanay. Sa pangkalahatan, kung ano ang isang engineer ay gawin, o mga sistema architect, ay upang magkaroon ng iba't ibang tiers ng mga server. At lamang dahil kay space, kukunin ko gumuhit ng kanilang database up dito. Maaari naming magkaroon ng database at server bilang apat dito na ay magkaroon ng koneksyon sa bawat isa sa mga server dito. Kaya ito ay maaaring maging ang aming front end tier, bilang mga tao ay sinasabi. At ito ay ang aming back end tier. At na lamang ay nangangahulugan na mga mukha user. At ang mga database ay hindi mukha user. Walang user ay maaaring direktang ma-access ang database. Kaya natin ngayon siguro bumaba ang ruta Victoria iminungkahi. Ito ay isang solong punto ng kabiguan. Na gumagawa ako komportable. Kaya kung ano ang marahil ang pinaka-halata na solusyon? Madla: [hindi marinig] David MALAN: Paumanhin, sabihin na muli. Madla: [hindi marinig] David MALAN: Non-production server. Anong ibig mong sabihin? Madla: [hindi marinig] David MALAN: Oh, OK, kaya backups. OK, sa gayon maaari naming gawin iyon, tiyak. At talagang ito ay napaka-karaniwang gawin. Ito ay maaaring maging database bilang lima. Ngunit iyon lamang kay bilang apat. At maaari kang tumawag ito ng isang mainit ekstrang. Ang dalawang mga database ay maaaring i-configure sa makatarungan patuloy synchronize isa't isa. At kaya kung ang machine na ito ay namatay, para sa kahit anong bobo reason-- ang hard drive namatay, isang tao paglalakbay sa mga cord, ang ilang mga software na ito ay flawed at ang makina hangs o crashes-- maaari kang magkaroon ng isang tao na literal amplag ang isang ito mula sa pader at sa halip ay plug ang isang ito in. At pagkatapos ay sa loob, sabihin nating, isang ilang minuto, siguro kalahating oras, ikaw ay bumalik sa online. Ito ay hindi mahusay, ngunit ito ay din hindi kakila-kilabot. At hindi mo na kailangang mag-alala tungkol sa anumang mga isyu sa pag-synchronize. Dahil lahat ng bagay ay naka-doon. Dahil kayo ay nagkaroon ng isang perpektong backup handa na pumunta. Ikaw ay maaaring maging isang maliit na may interes tungkol dito, bilang ilang mga tao ay madalas na gawin, kung saan mo ay maaaring magkaroon ng database bilang apat dito, database bilang lima dito, na pakikipag-usap sa bawat isa. Ngunit mayroon ka ring ito uri ng arrangement-- at ito sadyang mukhang makalat, dahil ito is-- kung saan ang lahat ng front end server Maaari makipag-usap sa lahat ng mga back end server. At kaya kung ito database ay hindi tumugon, ang mga front end server ay may na magkaroon ng programming code sa kanila na nagsasabing, kung hindi mo makakuha ng isang koneksyon sa database na ito, ang pangunahing agad nagsisimula pakikipag-usap sa ang pangalawang. Ngunit ito ngayon pushes ang pagiging kumplikado upang ang code. At ngayon ang iyong mga developer, ang iyong software developer, na kailangang malaman tungkol dito. At ikaw ay uri ng tinali ang code na ikaw ay sumusulat sa iyong aktwal na dulo pabalik detalye ng pagpapatupad, na ginagawang mas mahirap, lalo na sa isang mas malaking kumpanya o ng isang mas malaking website, kung saan hindi mo kinakailangang gusto ang mga programmer na magkaroon malaman kung paano ang database inhinyero ay paggawa ng kanilang mga trabaho. Baka gusto mong panatilihin ang mga tungkulin uri ng functionally natatanging kaya na mayroong layer na ito ng abstraction sa pagitan ng dalawang. Kaya kung paano maaari naming ayusin ito? Well, namin uri ng malulutas ang problemang ito nang isang beses bago. Bakit hindi namin ilagay ang isa sa mga bagay na ito dito kung saan ito talks naman sa numero ng apat at limang, ang lahat ng mga front end web server makipag-usap sa middleman ito, at ang middleman siya namang ruta ang kanilang data? Sa katunayan, kung ano ang maaaring maging isang magandang pangalan para sa bagay na ito? Madla: [hindi marinig] David MALAN: OK, database manager. Ngunit kung ano ang maaaring isang termino maging na maaari naming muling gamitin para sa aparatong ito? Kami ay pagbabalanse. Oo, kaya talaga, ako hindi pagiging patas dito. Kaya ang isang load balancer ay magpahiwatig na kami ay toggling pabalik-balik dito, kung saan kailangan hindi tunay na maging ang kaso. Kaya mayroong ilang mga paraan na maaari naming gawin ito. Kung ito ay sa katunayan ng isang load balancer, ang kuwento ay eksakto ang parehong tulad ng dati. Ang ilan sa mga kahilingan pumunta sa 4. Ang ilan sa kanila ay pumunta sa 5. At iyon ang mabuti. Dahil ngayon maaari naming panghahawakan dalawang beses bilang magkano throughput. Ngunit ito koneksyon dito ay sobrang mahalaga. Ang mga ito ay upang manatili patuloy synchronize at sana ay hindi geographically masyadong malayo bukod sa gayon na ang pag-synchronize ay mahalagang madalian. Kung hindi man ay magkaroon tayo ng isang problema. Kaya na hindi masama. Ngunit muli, hindi namin nagpasimula ng isang bagong problema. Ano ang problema ay may ko na lang recreated? Single punto ng kabiguan. Kaya kung ano ang solusyon sa na? Kaya bilang Victoria mahilig na gumastos ng pera, maaari naming gawin ito tao out at gawin ito. At ako lamang ang pagpunta sa ilipat dito sapat na silid. At ito ay pagpunta sa maging isang maliit na makalat. Pupunta ako sa panatilihin ang pagguhit ng mga linya. Ipagpalagay na ang lahat ng mga linya pumunta sa pareho? Isang napaka-karaniwang pamamaraan dito ay ang paggamit ng isang pamamaraan na tinatawag na tibok ng puso kung saan ang bawat isa sa mga aparatong ito, kaliwa at kanang load balancers, o kahit anong gusto naming tumawag sa kanila, ay patuloy na sinasabi, Ako ang buhay, ako buhay, ako buhay, ako buhay. Isa sa mga ito sa pamamagitan ng default gumaganap bilang ang pangunahing. Kaya ang lahat ng trapiko ay routed sa pamamagitan ng ang isa sa kaliwa, halimbawa, sa pamamagitan ng default, nagkataon. Ngunit sa lalong madaling ang mga tao sa kanang ay hindi marinig mula sa kaliwa guy anymore, ang isa sa kanan ay program upang awtomatikong, halimbawa, sakupin ang IP address ng isa sa kaliwa, at sa gayon ay maging ang pangunahing, at siguro magpadala ng email o ng isang text message upang ang mga tao sabihin, hey, kaliwa pangunahing ay offline. ako ang magiging pangunahing para sa ngayon. So vice president ay nagiging president, kaya na magsalita. At isang tao ay may upang pumunta i-save ang president, kung gusto mo. Dahil ngayon kami ay may isang pansamantalang solong punto ng kabiguan. Kaya bilang asawa o nakababahalang bilang ito ay maaaring mukhang upang simulan ang pagiging, ito ay kung paano mo malutas ang mga problema. Gawin mo magtapon ng pera sa ito. Itapon mo hardware sa ito. Ngunit sa kasamaang palad ikaw magdagdag ng pagiging kumplikado para dito. Ngunit ang resulta, sa huli, ay na ikaw ay may isang marami pang iba, sa teorya, matatag na architecture. Ito ay hindi pa rin perpekto. Dahil kahit na have-- namin maaaring namin hindi magkaroon ng isang solong punto ng kabiguan. Kami ngayon ay mayroon dual punto ng kabiguan. Ngunit kung ang dalawang mga bagay pumunta mali, na walang pasubali ay maaaring, pa rin namin ay pagpunta sa maging offline. At kaya laganap sa industriya ay upang ilarawan iyong up oras sa mga tuntunin ng nines. At pag-uuri ng mga layunin sa hangarin sa ay 99.999% sa mga oras na ang iyong site ay online. O kahit na mas mahusay, magdagdag ng isang ilang higit pang mga nines sa na. Sa kasamaang palad, ang mga ito nines ay masyadong mahal. At sabihin talagang gawin ito out. Kaya kung buksan ko up ang aking malaking calculator muli, 365 araw sa isang taon, 24 na oras sa isang araw, 60 minuto sa isang oras, at 60 segundo sa isang minuto, na ang dahilan kung ilang segundo may mga sa isang taon kung ginawa ko ito nang tama. Kaya kung kami ulit ito sa pamamagitan ng 0.99999, na ang dahilan kung magkano ang oras namin nais na maghangad sa. Kaya ibig sabihin nito upang tayo'y maging up ito karaming mga segundo sa panahon ng taon. Kaya kung ako ngayon ibawas ang orihinal na halaga, o sa halip ang bagong halaga mula sa first-- 316 segundo, na siyempre ay limang minuto. Kaya kung ang iyong website o sa iyong kumpanya ay nagke-claim "limang nines," kung saan ikaw ay up 99.99% ng oras, ay nangangahulugan na ikaw na mas mahusay na ay matalino na sapat at mabilis sapat at flush sapat na may mga mapagkukunan na ang iyong server ay lamang offline limang minuto sa labas ng taon. Ito ay isang mahal at mabigat na bagay sa hangarin sa. Kaya ito ay isang kalakalan off, masyadong. 99.999% ng oras ay medyo darn mahirap at mahal. Five minutes-- maaari mong bahagya makakuha sa server sa pisikal na palitan isang bagay na maling naganap. At iyon ang dahilan kung bakit namin simulan sa pag-wire mga bagay-sama mas komplikado apriori upang ang mga computer maaari uri ng ayusin ang kanilang mga sarili. Yeah. Madla: [hindi marinig] David MALAN: Ang problema ay maaaring maaaring sa anumang bilang ng mga lugar. At sa fact-- Madla: [hindi marinig] David MALAN: Absolutely, walang pasubali. At kung paanong ang larawan ay nakakakuha ng mas kumplikado, maaaring ito ay ang web server. Maaaring ito ay ang kapangyarihan sa mga gusali. Ito ay maaaring maging isang bagay na pisikal, tulad ng ang mga cable got nisnis o kicked out. Maaaring ito ay ang database ay hindi tumutugon. Maaaring ito ay sila-update ang kanilang operating system at ang isang bagay ay nagha-hang. Kaya may mga kaya maraming iba pang mga paglipat ng mga bahagi. At sa gayon ang isang pulutong ng mga engineering na may upang pumunta sa likod ng ito ay talagang lamang ikakalakal offs, tulad ng kung paano karaming oras, kung magkano ang pera ay ito ang tunay na nagkakahalaga, at ano ang mga banta ikaw ay talagang nag-aalala tungkol sa? Halimbawa, sa kurso magturo ako sa Harvard, ginagamit namin ang isang pulutong ng mga ulap computing, na kung saan magsisimula kami ng pagtingin sa ngayon, sa katunayan, kung saan ginagamit namin Amazon Web Services. Dahil lamang iyon ang isa namin makapagsimula sa. Ngunit mayroong kailanman mas mga araw na ito mula sa Google at Microsoft at iba pa. At hindi na namin sinasadya pumili upang ilagay ang lahat ng sa aming mga kurso 'virtual machine, habang ang mga ito ay tinatawag na, sa tingin ko ito ay Western Virginia data center. Karamihan ng aming mga mag-aaral mangyari na maging mula sa US, kahit na may mga tiyak na ilang internationally. Subalit ang katotohanan ay ito lang mas simple at ito ay mas mura para sa amin upang ilagay ang lahat ng aming mga itlog sa Virginia basket, kahit na alam ko kung ang isang bagay napupunta mali sa Virginia, bilang ay paminsan-minsan happened-- tulad kung mayroong isang bagyo o ilang panahon kaganapan tulad na, kung mayroong ilang mga kapangyarihan isyu grid o ang like-- lahat sa aming mga kurso 'data ay maaaring mag-offline para sa ilang bilang ng mga minuto o oras o kahit na. Ngunit ang halaga ng pagiging kumplikado na kakailanganing ipataw, at ang halaga ng pera na gagawin kinakailangan, upang mapatakbo ang lahat ng bagay kahanay sa Europa o sa California lamang ay hindi magkaroon kaya magkano ang kahulugan. Kaya ito ay isang rational kalakalan off, ngunit isang masakit isa kapag ikaw ay tunay na nagkakaroon na downtime. Well, sabihin transition ngayon upang ang ilan sa mga cloud-based na mga solusyon sa ilan sa mga problemang ito. Everything kami nakapunta pagtalakay sa gayon ay malayo ay uri ng mga problema na mayroon naging sa amin para sa ilang oras, kung mayroon kang ang iyong sariling server sa iyong kumpanya, kung pumunta ka sa isang co-location ilagay tulad ng isang data center at magbahagi space sa ibang tao, o sa panahong ito sa cloud. At kung ano ang maganda tungkol ang ulap ay na ang lahat ng sa mga bagay na ako pagguhit ng mga pisikal na mga bagay ay maaari na ngayong maaaring iisip ng bilang uri ng virtual na mga bagay sa ulap na kunwa sa software. Sa ibang salita, ang mga computer ngayon, server ngayon, tulad ng Dell larawan Ako ay nagpakita ng mas maaga, ay kaya mabilis, ay may kaya magkano RAM, kaya magkano CPU, kaya magkano disk space, na ang mga tao ay may nakasulat na software sa halos partition isang server up sa ilusyon ng mga ito pagiging dalawang mga server, o 200 mga server, kaya bawat isa sa atin mga customer ay ang ilusyon ng pagkakaroon ng hindi lamang ng isang account sa ilang mga web host, ngunit ang aming sariling mga makina na kami arendamyento mula sa ibang tao. Ngunit ito ay isang virtual machine sa gana sa isang Dell server, ito muli ay maaaring partitioned up sa dalawa o 200 o higit pang mga virtual machine, ang lahat ng na magbigay ng isang tao administrative access, ngunit sa isang paraan na kung saan ang sinoman sa atin ay alam o maaaring ma-access ng iba pang mga virtual machine sa parehong hardware. Kaya upang pintura ng isang larawan sa slide ngayong araw, Ako ay may na ito kinunan dito mula sa isang website tinatawag Docker. Kaya ito ay isang kaunti pa detalye kaysa namin talagang kailangan. Ngunit kung tiningnan mo ito bilang iyong infrastructure-- kaya lang ang hardware ng iyong sarili, ang iyong mga server, ang racks, ang data center, at ang lahat ng na- gagawin mo karaniwang magpatakbo ng isang host ng operating system. Kaya isang bagay tulad ng maaaring ito ay Windows. Hindi ito ay magiging Mac OS. Dahil iyan ay hindi tunay enterprise mga araw na ito. Kaya magiging Linux o Solaris o Unix o BSD o FreeBSD o anumang bilang ng iba pang mga operating system na alinman sa libre o commercial. At pagkatapos mong patakbuhin ang isang programa, mga espesyal na programa, tinatawag na isang hypervisor, o virtual machine monitor, VMM. At ang mga ito ay mga produkto, kung ikaw ay pamilyar, tulad ng VMware o VirtualBox o Virtual PC o sa iba. At kung ano ang mga programa gawin ay eksakto ang tampok na iyon ko na inilarawan mas maaga. Ito ay lumilikha ng ilusyon na ang isa pisikal na makina ay maaaring maging maramihang mga virtual machine. At kaya ang mga makulay na mga kahon up itaas ay pagpipinta ng isang larawan sa mga sumusunod. hypervisor ito, ito piraso ng software, tumawag ito VMware, na tumatakbo sa ilang iba pang mga operating system, tumawag ito Linux, ay ang paglikha ng ilusyon na ito pisikal na computer ay talagang isa, dalawa, tatlo virtual computer. Kaya ngayon ko na binili, bilang may-ari ng ito hardware, isang pisikal na computer. At ngayon ako pagrenta ito sa tatlong mga customer. At ang mga tatlong mga customer ang lahat ng tingin sila ay may isang dedikado virtual machine. At ito ay hindi pain at lumipat. Ito ay higit pa pagsisiwalat na gumagamit ka ng isang virtual machine. Ngunit technologically, namin ang lahat magkaroon ng ganap na administrative control sa bawat isa sa mga guest operating system, na maaaring maging anumang bilang ng mga operating system. Maaari ko bang i-install ang anumang bagay na gusto ko. Maaari ko bang i-upgrade ang mga ito bilang gusto ko. At ako ay hindi kahit na malaman o aalaga ang tungkol sa iba pang mga operating sistema sa computer na iyon, ang iba pang mga virtual machine, maliban kung ang may-ari ng lahat ng kulay-abo na ito bagay-bagay ay pagiging isang maliit na matakaw at ito ay overselling kanyang resources. Kaya't kung ikaw ay pagkuha ng isa pisikal na makina at nagbebenta ito upang hindi 200 ngunit 400 mga customer, sa isang punto kami ay pagpunta sa biyahe sa mga parehong mga isyu sa pagganap tulad ng dati. Dahil mayroon ka lamang ng isang may hangganan halaga ng disk at RAM at iba pa. At isang virtual machine ay lamang ng isang programa na hili na maging isang buong nasimulan computer. Kaya makakakuha ka ng kung ano ang babayaran mo para dito. Kaya makikita mo mahanap ang mga online na maaari mong magbayad ng isang kagalang-galang kumpanya siguro $ 100 sa isang buwan para sa iyong sariling virtual machine, o ang iyong sariling mga virtual pribadong server, na kung saan ay isa pang term para dito. O maaari mong mahanap ang ilang mga fly sa pamamagitan ng gabi kung saan magbabayad ka $ 5.99 sa isang buwan para sa iyong sariling virtual machine. Ngunit logro ay hindi mo na kailangang halos ng mas maraming pagganap na magagamit sa iyo, dahil sila ay nasuri overselling ito kaya, kaysa sa makukuha mo na may mas mataas tier ng serbisyo o ang mas mahusay na vendor. Kaya kung ano ang na ito tunay na ibig sabihin para sa amin? Kaya hayaan mo akong pumunta sa ito. Pupunta ako sa pumunta sa aws.amazon.com. Dahil lamang mayroon sila a nice menu ng mga opsyon. Ngunit ang mga parehong mga aralin-aplay sa isang ang maramihang mga iba pang vendor ulap. Sa kasamaang palad, ito ay madalas na mas marketing magsalita kaysa sa kahit ano. At ito mapigil ang pagbabago. Kaya kang pumunta sa isang website na katulad nito. At ito tunay ay hindi sabihin sa iyo magkano ng anumang bagay. At kahit ako, bilang ako ay tumingin sa ito, hindi talaga alam kung ano ang alinman sa mga bagay na ito kinakailangang gawin hanggang ako puwedeng sumisid in. Ngunit sabihin magsimula sa kaliwa, Compute. At ako pagpunta sa i-click ito. At ngayon Amazon ay lantaran na ng napakalaki na bilang ng mga serbisyo sa mga araw na ito. Ngunit Amazon EC2 ay marahil ang pinakasimpleng. Amazon EC2 ay lumikha ng para sa amin nang eksakto larawan nakita namin ang isang sandali ang nakalipas. Ganyan kung paano sila ay gumawa ng isang pulutong ng mga ang kanilang pera sa cloud. Sa malas Netflix at iba pa ay nasa cloud sa kanila. Ito ay ang lahat ay karaniwang fluffy marketing magsalita. Kaya kung ano ang gusto kong gawin ay pumunta sa Pricing-- o sa halip sabihin pumunta sa Pagkakataon unang lamang upang ipinta ang isang larawan ng mga ito. Kaya ito ay mag-iiba sa pamamagitan ng vendor. At hindi namin kailangan upang makakuha ng masyadong malalim sa ang mga damo dito ng kung paano ito gumagana ang lahat. Ngunit ang paraan Amazon, halimbawa, rents sa iyo ng isang virtual machine o isang server sa cloud ay sila na nakuha ang mga uri ng funny mga pangalan, tulad t2.nano, na nangangahulugan maliit, o t2.large, na nangangahulugan malaki. Bawat isa sa kanila ay nagbibigay sa iyo ang alinman sa isa o dalawang virtual CPUs. Bakit ito ay isang virtual CPU? Well, ang pisikal na machine baka may 64 o higit pang mga tunay na mga CPUs. Ngunit muli, sa pamamagitan ng software, sila lumikha ng ilusyon na na ang isa machine ay maaaring maging divvied hanggang sa maramihang mga gumagamit. Upang maaari naming isipin na ito bilang pagkakaroon ng isa Intel CPU o dalawang. CPU credits per hour-- Gusto ko kung basahin ang fine print bilang sa kung ano ito tunay na ibig sabihin. Ang ibig sabihin nito kung gaano kalaki sa machine maaari mong gamitin sa bawat oras vis-a-vis iba pang mga customer sa na hardware. Narito ang kung magkano ang RAM o memory mo get-- alinman sa kalahati ng isang gigabyte, o 500 megabytes, o 1 gigabyte, o 2. At pagkatapos ay ang imbakan lamang ay tumutukoy sa kung anong uri ng mga disk bibigyan ka lang nila. Mayroong iba't ibang mga storage teknolohiya na nag-aalok sila. Ngunit mas kawili-wiling kaysa sa na ito pagkatapos ay maaaring maging ang pagpepresyo. Kaya't kung ikaw ay ang CTO o isang engineer kung sino ang hindi nais na magpatakbo ng isang server sa iyong opisina, para sa anumang dahilan, at ito ay paraan masyadong asawa o mahal upang bumili ng mga server at co-hanapin ang mga ito at magbayad ng upa sa ilang mga pisikal hawla space somewhere-- gusto mo lamang upang umupo sa iyong laptop huli sa gabi, i-type sa iyong impormasyon sa credit card, at upa server sa cloud-- well, maaari naming gawin ito dito. Ako pagpunta sa pumunta down to-- Linux ay isang popular na operating system. At sabihin lamang makakuha ng isang kahulugan ng mga bagay. Whoops-- masyadong malaki. Kaya sabihin tumingin sa kanilang mga tiniest virtual machine, na tila na magkaroon, para sa aming mga layunin, isa CPU at 500 megabytes ng RAM. Iyan ay medyo maliit. Subalit lantaran, web server ay hindi kailangan na gawin ang lahat na magkano. Mayroon kang mas mahusay na specs sa iyong laptop. Ngunit hindi mo na kailangan ang mga specs mga araw na ito para sa mga bagay. Ikaw ay pagpunta sa magbayad ng $ 0,0065 bawat oras. Kaya sabihin makita. Kung may mga 24 na oras sa isang araw, at kami ay nagbabayad ito magkano kada oras, ito ay gastos mo $ 0.15 magrenta na partikular na server sa cloud. At ito lamang para sa isang araw. Kung gagawin natin ito 365-- $ 57 upang magrenta partikular server. Kaya ito tunog super cheap. Iyon din super mababang pagganap. Gayon din tayo, para sa mga kurso magturo ako dito, may posibilidad gamitin Sa tingin ko t2.smalls o t2.mediums. At kami ay maaaring magkaroon ng ilang daang mga gumagamit, ng ilang libong mga gumagamit, total. Ito ay medyo katamtaman. Kaya sabihin makita kung ano ito ay gastos. Kaya kung gagawin ko ito cost beses 24 oras oras 365, ang isang ito ay $ 225. At para sa mga kurso Turuan ko, kami ay karaniwang tumakbo ang dalawa sa lahat ng bagay, para sa kalabisan at din para sa pagganap. Kaya maaari naming gastusin, samakatuwid, $ 500 para sa mga server upang tayo'y kailangan bawat taon. Ngayon, kung kailangan mo ng karagdagang performance-- sabihin tumagal ng isang pagtingin sa memory. Na-usapan namin ang tungkol sa memory lubos ng kaunti. At kung hindi mo kailangan ng higit memory-- at 64 gigabytes ay ang bilang ko iningatan mentioning-- ito ay halos $ 1 sa bawat oras. At maaari mong pretty mabilis na makita kung saan ito goes-- kaya 24 oras beses 365. Kaya ngayon ito ay $ 8,000 kada taon para sa isang medyo disenteng server. Kaya sa ilang mga punto, may ito pagbabago ng tono point kung saan ngayon maaari naming gumastos ng $ 6,000 marahil at bumili ng machine tulad na at amortize nito gastos sa paglipas ng siguro dalawang, tatlong taon, ang buhay ng makina. Ngunit kung ano ang maaaring itulak sa iyo sa pabor o hindi pagsang-ayon ng upa isang machine sa ulap na tulad nito? Muli, ito ay maihahambing, marahil, sa isa sa mga server ng Dell Nakita namin pictured ng kaunti ang nakakaraan. Madla: [hindi marinig] David MALAN: Oo, na isang malaking nakabaligtad. Dahil hindi namin ay pagbili ang machine, hindi namin kailangang mag-unbox ito. Wala kaming upang iangat ito. Hindi namin kailangang mag-plug ito sa aming rack. Wala kaming mag-plug ito in. Hindi namin kailangang magbayad ang electrical bill. Wala kaming upang i-on ang air conditioning sa. Kapag ang isang hard drive ay namatay, wala kaming upang humimok sa sa gitna ng gabi upang ayusin ito. Wala kaming mag-set up ng pagsubaybay. Wala kaming to-- ang listahan napupunta sa at sa ng lahat ng mga pisikal na mga bagay hindi mo na kailangan na gawin dahil sa "cloud." At upang maging malinaw, ulap computing ay ito tunay baldado term. Ito talaga ay nangangahulugan lamang nagbabayad ng isang tao sino pa ang paririto na tumakbo server para sa iyo, o pag-upa puwang sa servers ibang tao. Kaya ang salitang "ulap computing" ay bago. Ang ideya ay dekada gulang. Kaya na medyo nakakahimok. At ano pa ang gagawin mo makakuha? Well, ikaw din makakuha ng kakayahan upang gawin ang lahat sa isang laptop sa bahay. Sa ibang salita, ang lahat ng mga larawan Lamang ako ay drawing-- at ito ay hindi na matagal na ang nakalipas na kahit Ako ay pag-crawl sa paligid sa isang server floor i-plug ang cable sa para bawat isa sa mga linya na nakikita mo, at pag-upgrade sa operating systems, at pagpapalit ng drive sa paligid. May isang pulutong ng mga physicality sa lahat ng iyon. Ngunit kung ano ang maganda tungkol sa virtual machine, tulad ng pangalan ng uri ng nagmumungkahi, ngayon may mga web-based interface kung saan kung nais mo ang katumbas ng isang linya mula sa server na ito sa iba, i-type lamang, uri, uri, i-click at i-drag, i-click ang Isumite, at voila, ikaw ay may ito wired up virtually. Dahil ang lahat ng ito ay tapos na sa software. At ang dahilan ito ay tapos na in software ay muli dahil kami ay may kaya magkano ang RAM at iba pa magkano ang CPU na magagamit sa amin mga araw na ito, kahit na ang lahat ng bagay-bagay na tumatagal ng oras, ito ay mas mabagal upang magpatakbo ng mga bagay sa software kaysa hardware, tulad ito ay mas mabagal na gumamit ng isang makina aparato tulad ng isang hard drive kaysa RAM, isang bagay pulos electronic. Mayroon kaming napakaraming mga resources magagamit sa amin. Tayong mga tao ay uri ng invariantly mabagal. At kaya ngayon ang mga makina ay maaaring gawin kaya marami pang iba sa bawat yunit ng oras. Mayroon kaming mga kakayahan gawin ang mga bagay virtually. At sasabihin ko para sa mga kurso Turuan ko, halimbawa, dito, kami ay may tungkol sa marahil isang dosenang o kaya kabuuang ng mga virtual machine tulad na tumatakbo sa anumang naibigay na oras ng paggawa front end bagay-bagay, ginagawa back end stuff. Mayroon kaming lahat ng aming mga imbakan. Kaya ang anumang mga video, kabilang ang mga bagay tulad nito na kami ay pagbaril, namin end up ng paglagay sa alapaap. Amazon ay may mga serbisyo na tinatawag na Amazon S3, kanilang mga simpleng imbakan serbisyo, na kung saan ay tulad ng disk space sa cloud. Ang mga ito ay isang bagay tinatawag CloudFront, na kung saan ay isang CDN service, Nilalaman Delivery Network service, na kung saan nangangahulugan na sila gawin ang lahat ng iyong mga file at para sa iyo awtomatikong magtiklop ito sa buong mundo. Kaya hindi nila gawin ito preemptively. Ngunit ang unang pagkakataon na may nag sa Indya ay humihiling ng iyong file, ang mga ito ay potensyal na cache ito sa isang lugar lamang. Sa unang pagkakataon sa Tsina, ang unang pagkakataon sa Brazil na ang mangyayari, ang mga ito ay simulan caching ito nang lokal. At hindi mo na kailangang gawin ang anumang ng na. At kaya ito ay kaya hindi kapani-paniwalang nakahihimok mga araw na ito upang ilipat ang mga bagay sa alapaap. Dahil ikaw ay may kakayahan na ito literal upang hindi magkaroon ng mga kawani na tao ginagawa halos ng mas maraming trabaho. At mong literal ay hindi kailangan ng maraming tao paggawa ng mga trabaho anymore-- "Ops," o pagpapatakbo tungkulin, anymore. Mo ba talagang kailangan lang developer at mas kaunting mga inhinyero kung sino ang maaaring lamang gumawa ng mga bagay virtually. Sa katunayan, lamang na magbigay sa iyo ng isang pakiramdam ng mga ito, hayaan mo akong pumunta sa pagpepresyo para isang iba pang produkto dito. makita ang isang bagay tulad ng CDN S3 Hayaan. Kaya ito ay mahalagang isang virtual hard drive sa cloud. At kung mag-scroll namin pababa sa pricing-- kaya $ 0.007 per gigabyte. At that's-- kung paano ang gagawin namin ito? Sa tingin ko na sa bawat buwan. Kaya kung na per month-- o bawat araw? Dan, ay ito sa bawat araw? Ito ay sa bawat buwan, OK. Kaya kung ito ay para sa bawat month-- Paumanhin, ito ay ang $ 0.03 bawat buwan. May 12 buwan sa labas ng taon. Kaya kung magkano ang data maaari iimbak mo sa ulap? A gigabyte ay hindi malaki, ngunit ako hindi alam, tulad ng 1 terabyte, kaya tulad ng 1,000 sa mga iyon. Iyan ay hindi lahat na magkano. Ito ay $ 368 sa tindahan ng isang terabyte ng data sa Amazon ulap. Kaya kung ano ang ilan sa mga ang kalakalan offs, at pagkatapos? Hindi ito maaaring ang lahat ay mabuti. Nothing kami uusapang tungkol sa ngayon ay uri ng walang catch o isang gastos. Kaya kung ano ang masamang tungkol sa paglipat ang lahat ng bagay sa alapaap? Madla: Security. David MALAN: OK, ano ang gagawin mo bang sabihin? Madla: [hindi marinig] David MALAN: Yeah, right. At gawin ang gusto mo talagang ilang mga random na mga inhinyero sa Amazon na hindi mo na matugunan ang pagkakaroon pisikal na access sa mga computer, at kung sila ay talagang nais, virtual access? At kahit na sa teorya software-- well, encryption Maaari absolutely maprotektahan ka laban na ito. Kaya kung ano ang ikaw ay pag-iimbak sa iyong mga server ay encrypted-- mas mababa ng isang pag-aalala. Ngunit sa lalong madaling isang tao ay may pisikal na access sa isang makina, encryption tabi, lahat ng taya ay uri ng off. Maaaring kilala mo mula sa nakalipas na na PCs lalo na, kahit na kayo ay ang mga bagay tinatawag na "BIOS password," ay kapag ang iyong desktop booted up, gusto mo ay sasabihan na may isang password na ay walang kinalaman sa Windows, maaari mong karaniwang buksan lamang ang chassis ng machine, hanapin maliliit na maliit na pin, at gamitin ang isang bagay na tinatawag na jumper at lamang kumonekta mga dalawang wires para sa mga tungkol sa isang segundo, at dahil doon pagkumpleto ng isang circuit. At iyon ay alisin ang password. Kaya kapag mayroon kang pisikal na access sa isang aparato, maaari mong gawin ang mga bagay tulad na. Maaari mong alisin ang hard drive. Maaari kang makakuha ng access sa ito na paraan. At kaya ito ay kung bakit, sa kaso ng Dropbox, halimbawa, ito ay isang maliit nakakaligalig na hindi lamang ang kanilang ginagawa magkaroon ng data, kahit na ito ay encrypted, sila ay mayroon ding ang susi. Ibang mga alalahanin? Madla: [hindi marinig] David MALAN: Oo, ito ay napaka- true-- ang Googles, ang mansanas, ang Microsofts ng mundo. At sa katunayan, kung gaano katagal mayroon nagkaroon ka ng iyong iPhone para sa? Yeah, bigyan o tumagal. Madla: [hindi marinig] David MALAN: Sorry? ikaw ay kabilang sa mga taong ay may isang iPhone, right? Madla: Oo. David MALAN: Gaano katagal mayroon ka sa iyong iPhone? Madla: [hindi marinig] David MALAN: OK, kaya Apple literal alam kung saan ka pa sa bawat oras ng araw para sa huling limang taon. Madla: [hindi marinig] David MALAN: Alin ang isang kahanga-hangang tampok na ito. Madla: [hindi marinig] David MALAN: Oo, ngunit ikakalakal off para sigurado. Madla: [hindi marinig] David MALAN: Oo, ito ay mas madali upang. Madla: [hindi marinig] David MALAN: Other downsides? Madla: [hindi marinig] David MALAN: Absolutely-- technologically, matipid, ito ay medyo nag-uudyok sa uri ng makakuha ng mga ekonomiya ng scale at ilipat ang lahat sa ang tinatawag na ulap. Ngunit ikaw ay malamang na nais na pumunta sa ilan sa mga pinakamalalaking isda, ang Amazons, ang Googles, ang Microsofts-- Rackspace ay medyo big-- at ng ilang mga iba, at hindi kinakailangang lumipad sa pamamagitan ng gabi folks para sa kanino ito ay mas madali upang gawin ganitong uri ng pamamaraan sa panahong ito. At iyon ang dahilan kung kanino maaari mong magbayad ng $ 5.99 bawat buwan sa. Ngunit makikita mo tiyak makakuha ng kung ano ang babayaran mo para sa. Kapag sinabi mo [hindi marinig], na kapag mga bagay tulad ng mga ito ng limang nines makabuo, kung saan kahit na technologically hindi talaga namin magagarantiya 99.999, kami na lang bumuo sa ilang mga uri ng parusa sa kontrata kaya na kung na mangyayari, hindi bababa sa mayroong ilang mga gastos sa amin, ang vendor. At na kung ano gagawin mo ay karaniwang ay pagkuha ng mga ito upang sumang-ayon sa. Madla: [hindi marinig] David MALAN: At ang isang uri ng pagpapala ay na kahit na kapag pumunta kami bababa: sapagka't halimbawa, o kahit na ilang mga kumpanya, ang katotohanan ay Amazon, halimbawa, ay may kaya maraming darn customer, mga kilalang mga customer, operating sa labas ng ilang mga sentro ng data na kapag ang isang bagay talagang napupunta mali, tulad na gawain ng Diyos at ng panahon at tulad, kung mayroong anumang uri ng magandang panig, ito ay na ikaw ay nasa napakahusay na kumpanya. Ang iyong website ay maaaring maging offline. Ngunit kaya ay tulad ng kalahati ng ang sikat internet. At kaya ito ay arguably isang maliit na mas masarap sa iyong mga customer kung ito ay higit pa sa isang internet bagay kaysa sa isang acme.com bagay. Ngunit iyon lamang ang isang bit ng isang impostor. Kaya sa mga tuntunin ng iba pang mga bagay upang tumingin sa, lang kaya na hindi namin mamuno out iba, kung ikaw ay pupunta sa Microsoft Azure, sila magkaroon ng parehong Linux at Windows bagay-bagay na maihahambing sa Amazon. Kung pupunta ka sa Google Compute Engine, mayroon silang isang bagay na katulad pati na rin. At lamang sa round out mga ulap na susunugin, Kukunin ko babanggitin ang isa pang bagay. Ito ay isang popular na website na kinatawan ng isang klase ng mga teknolohiya. Ang mga namin lamang talked tungkol sa, Amazon, ay magiging IaaS, Infrastructure Bilang Isang Service, kung saan mo uri ng pisikal na hardware bilang isang serbisyo. Mayroong SAAS. Sa totoo lang, hayaan mo akong mag-lista ang mga down. IAAS-- Infrastructure Bilang Isang Service, SAAS, at PAAS, na kung saan ay halatang-halata nakalilito acronyms na naglalarawan ng tatlong iba't ibang mga uri ng mga bagay. At ang kanilang mga sarili acronyms hindi talaga mahalaga. Ito ay ang lahat ng mga bagay-bagay cloud namin lamang pakikipag-usap tungkol sa, mas mababang antas bagay-bagay, ang virtualization hardware at imbakan sa tinatawag na ulap, kung ito ay Amazon, Microsoft, Google, o iba pang. Software bilang isang service-- lahat ng sa amin uri ng gamitin ito. Kung gumagamit ka ng Google Apps para sa Gmail o kalendaryo, alinman sa mga web-based aplikasyon na 10 taon na ang nakaraan namin ay magkakaroon double click sa icon aming desktop, software bilang isang serbisyo ngayon ay talagang web application. At platform bilang isang service uri ng depende. At isang halimbawa Bibigyan kita dito sa konteksto ng cloud computing-- mayroong isang kumpanya na ay lubos na popular na mga araw, Heroku. At ang mga ito ng isang serbisyo, isang platform, kung ikaw ay, na tumatakbo sa tuktok ng Amazon infrastructure. At sila lamang gawin itong mas madali para sa mga developer at mga inhinyero upang makakuha ng mga web application na nakabatay sa online. Ito ay isang sakit, sa una, upang gamitin Amazon Web Serbisyo at iba pang mga bagay. Dahil ang tunay na ikaw ay may upang malaman at maunawaan tungkol sa mga database at mga web server at load balancers at ang lahat ng mga bagay-bagay Ko lang talked tungkol sa. Dahil ang lahat ng Amazon ay tapos na ay hindi nakatagong mga hamon na disenyo. lang Sila na virtualized mga ito at ilipat ang mga ito sa isang browser, sa software sa halip ng hardware. Ngunit mga kumpanya tulad ng Heroku at iba pang mga PAAS providers, Platform Bilang Isang Service, ginagamit nila ang mga barebone fundamentals na lang namin talked tungkol sa, at bumuo ng ito ay mas madaling gamitin na software sa tuktok ng ito upang kung nais mong makakuha ng isang web-based application online na mga araw, ikaw ay tiyak na kung alam kung paano sa programa. Kailangan mong malaman Java o sawa o PHP o Ruby o isang bungkos ng iba pang mga wika. Ngunit kailangan mo din ng isang lugar upang ilagay ito. At hindi na namin talked tungkol sa mas maaga pagkuha ng isang web hosting kumpanya. Iyon ay uri ng tulad ng mid-2000s diskarte sa pagkuha ng isang bagay online. Ngayong mga araw na maaari mong sa halip magbayad ng isang tao tulad Heroku ng ilang mga dolyar sa isang buwan. At mahalagang, sa sandaling hindi mo tapos na ang ilang paunang configuration, upang i-update ang iyong website, ikaw i-type lamang ng isang command sa isang window. At kahit anong code na iyong isinulat dito sa iyong laptop kaagad makakakuha ipinamamahagi sa anumang bilang ng mga server sa cloud. At Heroku ay siyang bahala sa ang lahat ng mga kumplikado. malaman nila ang lahat ng database bagay-bagay, ang lahat ng mga load balancing, ang lahat ng mga sakit ng ulo na kami lamang na nakasulat sa board, at itago ang lahat ng iyon para sa iyo. At bilang kapalit, ikaw lamang bayaran ang mga ito ng kaunti pa. Kaya ikaw ay may mga infrastructures bilang isang serbisyo, platform bilang isang serbisyo, at pagkatapos ay ang software bilang isang serbisyo. Ito ay, muli, ito abstraction o layering. Anumang mga katanungan sa ulap o pagbuo ng sariling infrastructure? O sige, na noon ay isang lot. Bakit hindi namin sige at tumagal ang aming 15 minutong break na dito. Susubukan naming bumalik na may ilang mga bagong konsepto at isang bit ng hands-on na pagkakataon bago ang gabi ay higit sa.