DAVID Malan: Todo ben, Benvido de volta. Antes de mergullo computación en nube, Pensei en deixar por un momento se hai cuestións pendentes ou temas que xurdiron durante o xantar que agora pode ser de interese. Audiencia: [inaudível] DAVID Malan: OK. Oh, OK. Audiencia: [inaudível] DAVID Malan: Non, por suposto. OK, así, espero que todos os seus problemas xorden nas próximas horas e mañá, especialmente. Pero imos dar un ollo, entón, a onde a última discusión sobre a configuración un sitio leva, de forma máis xeral cando se trata de computación en nube, a creación dunha arquitectura de servidor, tipo de decisións que os enxeñeiros e desenvolvedores e xerentes que facer cando se trata facendo máis que Rexístrate para un US $ 10 por servidor mes cando realmente quere construír fóra a súa propia infraestrutura. E nós imos tratar amarre iso de volta, por exemplo, para Dropbox e outros como eles. Entón, imos comezar a considerar cales son os problemas que xorden como negocio queda bo e xorden bos problemas. Así, no caso máis simple de algunha empresa que teña un servidor web, pode que, digamos, un servidor que imos chamar a que se parece con isto. E estes días, a maioría servers-- e imos en realidade, unha imaxe a este tan que é un pouco menos nebuloso. Entón server-- cremalleira Dell de volta ao día, hai eran ordenadores Exposicións que ocupaba salas enteiras. Estes días, se fose para un servidor, el Pode parecer un pouco algo así. Os servidores son medidos en que chámanse unidades de rack, ou Rus. E un RU é de 1,5 polgadas, que é un estándar da industria. Polo tanto, este parece ser un servidor de dous RU. Entón é 3 polgadas de altura. E son xeralmente 19 polgadas de ancho, o que significa todo isto tipo de cousas é estándar. Entón, se ollar nun center-- datos non só en un servidor, pero imos vexan Google de centro de datos para ver se nós ver unha imaxe agradable en Google Imaxes. Isto é moito mellor iluminado do que normalmente atopar, e moito máis sexy mirando como resultado. pero Isto é o que se parece un par cen servidores todo sobre iso mesmo tamaño, en realidade, no andel tras andel tras bastidor tras bastidor nun centro de datos. Algo así como isto-- Isto pode moi ben ser o de Google, sempre que eu pesquisei Google. Pero podería ser representativa dun modo máis xeral un centro no que moitos empresas son tipicamente co-localizados. E co-localizados xeralmente significa que vai a un lugar como Equinix ou doutros provedores que teñen grandes almacéns que teñen moita enerxía, lotes de refrixeración, esperanza moita seguridade, e gaiolas individuais poñendo baldas de servidores, e quere alugar as baldas ou traer as baldas en. E as empresas individuais, startups especialmente, terá algún tipo de biometría para entrar na súa gaiola, ou unha chave, ou unha tarxeta clave. Abre a porta. E dentro de alí é só unha pegada metragem cadrada que está pagando para, dentro que pode poñer o que queiras. E normalmente paga o poder. E paga as pegadas. E entón paga -Se aos servidores que está levando a este espazo. E o que ten entón a opción de facer é pagar alguén para a súa conectividade servizo de Internet. Pode pagar calquera número dos provedores, os cales normalmente veñen en que o centro de datos. Pero a cuestión realmente interesante é, que realmente pasa nos bastidores? Poden moi ben parecido ao que acabamos de ver. Pero desempeñan funcións diferentes e quizais necesite facer cousas distintas. E imos realmente motivar esta conversa coa cuestión de, cal é o problema comeza a xurdir se é exitoso? Entón tes un sitio que construíu. E quizais vende flores ou algo así. E ten feito moi ben con vendas de widgets en liña. E comeza a experimentar algúns síntomas, a súa web. Cales poden ser algunhas das os síntomas técnicas que os usuarios relatan como negocio está crecendo e crecendo eo seu sitio é beneficiando con iso? Audiencia: [inaudível] DAVID Malan: Si, exactamente. Entón vostede pode ter un desaceleración do seu sitio. E por que isto pode ocorrer? Ben, se asumirmos, por fins de discusión agora, que está nun destes anfitrións web comerciais que falamos antes do xantar, que pagar algún número de dólares para por mes, e xa pagou ao custo anual de dominio nome, para que servidor é probablemente overselling seus recursos en certa medida. Entón vostede pode ter un nome de usuario e contrasinal no seu servidor. Pero iso talvez outros, ou varios ducia de outros, ou quizais mesmo varios cen outras, usuarios. E sitios vivir fisicamente no mesmo servidor. Por que iso é posible? Ben estes días, servidores como este normalmente ten varios discos duros, quizais como moitos como seis ou máis unidades de disco duro, cada un dos cales pode ser tanto como 4 terabytes nos días de hoxe. Entón vostede pode ter 24 terabytes de espazo en só un pequeno servidor como este. E mesmo se roubar algo dese espazo para redundancia, para fins de copia de seguridade, aínda é unha morea de espazo. E, por suposto, un sitio típico Non precisa de tanto espazo. Basta rexistrar usuarios e almacenar os rexistros de ordes non leva todo o que moito espazo. Así, pode particionar moi un pouco e dar a cada usuario só un pequeno anaco do que iso. Mentres tanto, un ordenador como este nos días de hoxe normalmente ten varios CPUs-- non só un, quizais dous, quizais catro, quizais 16, ou máis. E cada un deses procesadores ten unha cousa chamada un núcleo, que é tipo de como un cerebro dentro dun cerebro. Entón, en realidade a maioría de todos aquí portátiles modernos ten, probabelmente, un dual core ou quad core CPU-- e, probablemente, só unha CPU dentro dun portátil estes días. Pero os computadores de escritorio e ordenadores de rack como isto pode ter moi poucos máis CPUs, e en núcleos de volta. E, francamente, mesmo nos nosos Macs e PCs de hoxe, o que realmente non precisa de dous núcleos ou quad core para comprobar o seu e-mail. Se hai algún pescozo cando se trata de usar un ordenador, vós, os humanos son probablemente a máis lento cousa sobre este ordenador. E non vai ser capaz de comprobe o seu correo electrónico máis rápido se teñen catro veces máis CPUs ou núcleos. Pero o mesmo é tipo da verdadeira dun servidor. Un único sitio quizais non necesariamente precisa máis que un CPU ou un núcleo, unha pequeno cerebro dentro facendo todos os pensamentos e procesamento. Así, os fabricantes teñen semellante comezou a cortar estas características de xeito que se cadra o seu sitio recibe un core, o seu sitio web recibe un núcleo, ou que estamos compartindo un tal núcleo. Tamén estamos compartindo espazo en disco. E tamén estamos compartindo RAM, ou memoria de acceso aleatorio de antes, dos cales hai tamén unha cantidade finita. E esa é a clave. Non importa o quão caro o ordenador estaba, aínda hai un finito cantidade de recursos na mesma. E así a máis e máis tentar consumir estes recursos, as cousas máis lentas pode facer. Pero por qué? Por que as cousas a modo como síntoma dun servidor que está a ser resaltado? Que pasa? Audiencia: [inaudível] DAVID Malan: Si, exactamente. Propuxen anteriormente que RAM é un tipo de memoria. É volátil, en que é onde as aplicacións e os datos están almacenado cando están a ser empregados. E así, polo tanto, non hai só un número finito de cousas que aparentemente pode facer dunha soa vez. E tamén é máis rápido, que é unha cousa boa. Pero tamén é máis caro, que é unha cousa mala. E tamén é, polo tanto, presentes en menor cantidades que espazo en disco, disco duro espazo, o que tende a ser máis barato. Noutras palabras, pode ter 4 terabytes de espazo en disco no seu ordenador. Pero pode ter 4 gigabytes, ou 64 gigabytes, en orde de magnitude, dun factor 1.000 a menos de RAM no seu ordenador. Entón, o que un ordenador fai? Ben, supoñamos que ten 64 gigabytes de memoria RAM nun servidor como este, que sería moi común, se non baixa estes días. Pero supoñamos que teña tantos os usuarios que fan tantas cousas que tipo de tipo de Debe de 65 gigabytes de memoria para xestionar todo isto uso simultáneo? Ben, podería só dicir, Sentímolo, algúns número de usuarios só non pode acceder ao sitio. E esa é a medida de último recurso, por suposto. Ou, como o operativo sistema, como Windows ou Mac OS ou Linux ou Solaris ou calquera número de outros sistemas operativos no servidor, podería simplemente decidir, vostede sabe o que? Eu só teño 64 gigabytes de memoria RAM. Eu medio que ten 65. Entón vostede sabe o que? Vou tomar 1 gigabyte valor dos datos na memoria RAM que foi o menos recentemente acceder e só movelo ao disco temporalmente, literalmente, copia o do rápido memoria para a memoria máis lenta para que eu poida, logo tratar con isto necesidade gigabyte 65ª á memoria, facer algunha computación nel. Entón, cando eu rematar de facelo, Eu só vou pasar que para o disco, mover a outra RAM engada temporalmente no disco ao seu hardware real de xeito que eu son o tipo de multitarefa. Entón, eu son unha especie de poñer as cousas temporalmente neste espazo máis lento entón eu crear a ilusión de manipulación de todos. Pero hai unha desaceleración. Por que? Ben, dentro destes disco discos nos días de hoxe é o que? Pola contra, o que fai un disco dirixir distinta da RAM o mellor que sei agora? Audiencia: [inaudível] DAVID Malan: OK, é verdade. Audiencia: [inaudível] DAVID Malan: Entón, moi certo. E iso é un efecto colateral ou recurso o feito de que a memoria RAM é realmente máis rápida. E, polo tanto, quere usalo para uso corrente. E un disco é máis lento. Pero é permanente ou non-volátil. Entón usalo para o almacenamento a longo prazo. Pero en termos de implantación, se eu ollar para arriba o que se chama un DIMM, memoria dual in-line Módulo, isto é o que unha peza de RAM pode normalmente ser parecida. Entón, dentro da nosa Mac-- iso é un erro. Dentro dos nosos Macs e PCs, a nosa área de traballo ordenadores tería sticks de memoria, como sería chamalos, ou DIMMs, ou SIMM de volta o día, da memoria que se parecen con iso. Os nosos portátiles probablemente ten cousas que son un terzo do tamaño ou a metade do tamaño. Son un pouco menores, pero o mesmo pouco idea-- pezas de silicio verde ou de plástico que galleta ten poucas fichas negras sobre eles con moita de fíos de interconexión todo. Pode ter unha chea de estes interior do seu ordenador. Pero o takeaway aquí é é enteiramente electrónico. Hai só electróns fluíndo neste dispositivo. Por outra banda, se miramos o interior de unha unidade de disco duro e tirar para arriba unha imaxe aquí, faría en vez ver algo como isto, que non teñen electricidade pasando por iso, en última instancia. Pero o que tamén salta para fóra con vostede sobre iso? Audiencia: [inaudível] DAVID Malan: Si, hai aparentemente partes móbiles. É como unha especie de rexistro vello ou lector de fonógrafo. E iso é moi fermoso. É un pouco máis sofisticado que isso-- mentres que un xogador fonógrafo usado rañuras no rexistro, que realmente usa minúsculas partículas magnéticas pequenas que non pode ver. Pero, se unha pequena partícula magnética parécese tanto, é considerado un 1. E se el se parece con isto, norte-sur, no canto de sur-norte, que podería ser un 0. E veremos mañá como podemos construír de que, para as cousas máis interesantes. Pero todo o que é ten que mover fisicamente e por suposto vai ir máis a modo que a velocidade da luz, que en teoría é a que un electrón pode fluír a, aínda realista non completamente. devices-- tan mecánica moito máis lento. Pero son máis baratos. E pode caber tanta máis datos dentro deles. Así, o feito de haber existe no mundo algo chamado de memoria virtual, usando un disco duro como este como se fose RAM transparente para o usuario, simplemente movendo datos desde a RAM para o disco duro, logo movelo de volta cando precisa Lo novo, crea a desaceleración. Porque literalmente ten que copialo dun lugar a outro. E a cousa que está copiando o para e de, en realidade, é máis lenta que a RAM onde queira que sexa. O aqui-- solución alternativa Se non gusta do que desacelerar, ea súa memoria virtual é tipo de ser resaltado, o que é outra solución a este problema? Audiencia: [inaudível] DAVID Malan: Ben, aumento da memoria virtual nos deixaría facelo unha escala aínda maior. Poderíamos xestionar 66 gigabytes das necesidades de memoria, ou 67 gigabytes. Pero supoñamos que eu non me gusta esta desaceleración, de feito Quero desconectar virtual memoria, se iso é posible, o que máis podería xogar na este problema para resolver-lo, onde quero tratar con máis usuarios e requisitos máis memoria do que eu fisicamente teñen no momento? Audiencia: [inaudível] DAVID Malan: Por desgraza non. Polo tanto, a CPU e os núcleos son en son un recurso finito. E non hai analóxico nese contexto. Boa pregunta. Entón, só para quedar claro, tamén, se interior deste computador é, digamos, unha vara de memoria RAM que se parece como isto-- e por iso imos chamar iso de RAM. E aquí é a unidade de disco duro. E eu vou sacar esa pictoricamente como un pequeno círculo. Hai 0 e 1s en ambos datos these--, imos xeneralizar-lo como. E, esencialmente, se un usuario é executar unha aplicación como, digamos, un sitio que require este cantidade de RAM por usuario, o que estou propoñendo, por medio desta cousa chamado de memoria virtual, é mover-se só temporalmente que por aquí para que agora pode mover a memoria de alguén requisitos alí. E entón, cando iso é feito, I pode copiar este cara atrás sobre e isto vai aquí, movendo-se, así, o que eu quería alí noutro lugar completamente. Polo tanto, hai só unha morea de switcheroo, é o takeaway aquí. Entón, se non gusta diso, e non fai Quere poñer nada no disco duro, o que é unha especie de evidente A solución da persoa da empresa ao problema, ou o enxeñeiro de solución, para que o asunto, tamén? Audiencia: [inaudível] DAVID Malan: Si, quero dicir literalmente xogar cartos no problema. E, de feito, esta é a perfecta Segue a algún do nivel discusións sobre a computación en nube. Porque unha morea de que está motivado por decisións financeiras, nin sequera necesariamente tecnolóxico. Se 64 GB de RAM é moi pouco, así, por que non comezar 128 gigabytes de memoria RAM? Por que non comezar 256 gigabytes de memoria RAM? Ben, por que non? Audiencia: [inaudível] DAVID Malan: Ben, custa máis cartos, con certeza. E se xa ten reposición espazo no disco duro, de forma eficaz, ou equivalentemente, espazo en disco duro é tan moito máis barato así como pode usalo. Entón, de novo, non hai ese trade off que vimos aínda máis cedo esta mañá, onde non hai realmente necesariamente unha resposta correcta, hai só unha resposta mellor ou peor con base no que realmente se preocupan. Polo tanto, hai tamén realidades tecnolóxicas. Non podo mercar un ordenador, a meu coñecemento, con un billón de gigabytes de RAM agora. É só fisicamente non existe. Polo tanto, hai algún límite superior. Pero se xa mesmo mercar para un consumidor Mac ou PC, Tamén, en xeral, hai esta curva de recursos onde pode haber unha boa, unha mellor e un mellor equipo. E os retorno marxinais na súa compra do dólar o mellor equipo contra o mellor equipo pode non ser tan alta como gastar un pouco máis de diñeiro e obter o mellor equipo sobre o bo equipo. Noutras palabras, está pagando un premio para o cumio da liña. E o que veremos na discusión de computación en nube é que o que é moi común nestes días, e que empresas como Google no inicio popularizou, non estaba prestando para e construción realmente sofisticados, caros souped enriba computadores con lotes e lotes de todo, senón comprar ou construír fermosa ordenadores modestos, pero moitos deles, e usando algo que adoita chamado escala horizontal, no canto de escala vertical. Entón escala vertical significaría estar máis RAM, máis duro, máis de todo, e unha especie de investir vertical no seu hardware entón está só comezando a mellor dos mellores dos mellores, pero está pagando por iso. escala horizontal é unha especie de obter o bottom capas cousas, o bo modelo, ou mesmo o modelo peor, pero moitos deles. Pero, logo que obter lotes de eles-- por exemplo, neste caso, servidores web, se este servidor ou dun sitio web é insuficiente, a continuación, só intuitivamente, o solución a este problema de carga ou sobrecarga nos seus servidores ou é obter un servidor grande ou, o que estou propoñendo aquí en vez de escalar verticalmente por así dicir, sería, vostede sabe o que? Basta obter unha segunda destes. Ou quizais ata obter un terceiro. Pero agora creamos un problema de enxeñaría por natureza deste negocio ou decisión financeira. Cal é o problema de enxeñaría agora? Audiencia: [inaudível] DAVID Malan: Si, como facer conecta-los e- pena? Audiencia: [inaudível] DAVID Malan: Dereito, porque eu have-- se eu reintroducir-me a esta imaxe, se este é o meu portátil en algún lugar en internet, que está agora entre me ea empresa que estamos a falar, agora eu teño que descubrir, ao cal servidor podo enviar este usuario específico? E se hai outros usuarios, como este, a continuación, este aquí, e quizais este é o usuario A este é o usuario B, que é o usuario C, e este é o servidor 1, 2, e 3-- agora unha resposta intuitiva pode aquí ser só, imos enviar o usuario A a 1 e B e C de 2 a 3. E se xestione 3 veces o número de usuarios. Pero iso é unha simplificación esaxerada. Como decide quen enviar a onde? Entón, imos tratar argumentar por iso. Entón, supoña que os ordenadores A, B, e C son os clientes, e servidores 1, 2 e 3 son horizontal escalado servidores. Entón, eles están tipo de idéntica. Están todos rodando o mesmo programa. E todos eles poden facer o mesmo. Pero a razón pola que temos tres deles é tan que podemos xestionar tres veces máis persoas á vez. Entón, nós sabemos da nosa discusión antes do xantar que hai en hardware entre os ordenadores portátiles e servidores. Pero imos só unha especie de xeneralizar que agora, como a internet ou a nube. Pero sabemos que, na miña casa, hai probablemente un router na casa. Preto os servidores, hai probablemente un router, servidor DNS, DHCP. Non pode ser calquera cousa queremos nesta historia. Entón, como é que imos comezar a decidir, cando o usuario A vai something.com, cal servidor para enviar o usuario? Como podemos comezar a contar esta historia? Audiencia: O balance de carga? DAVID Malan: O balance de carga. Que queres dicir con iso? Audiencia: Volvendo onde o uso é máis e cal deles ten o a maioría dos recursos dispoñibles. DAVID Malan: OK, entón deixe-me introducir un novo tipo de hardware que aínda non discutir, que é exactamente iso, un balance de carga. Isto tamén podería ser só un servidor. Pode parecer exactamente como a que vimos hai pouco. Un balance de carga é realmente só unha peza de software que executa en un pedazo de hardware. Ou pode pagar un provedor, como Citrix ou outros, Cisco ou outros. Pode pagar polo seu propio hardware, que é un balance de carga de hardware. Pero iso só significa que preinstalado o balance de carga software no seu hardware e vendeu para ti todos xuntos. Entón imos deseña-lo como un rectángulo para os nosos propósitos. Como agora aplicar un balance de carga? Noutras palabras, cando o usuario A quere visita o meu sitio, a proposta de algunha maneira ou outro, probablemente a través de quen routers que falamos anteriormente, chegará finalmente este balance de carga, que, a continuación, Debe de facer unha decisión de enrutamento-like. Pero é o enrutamento de tipo dun propósito maior agora. Non é só sobre a obtención de do punto A ó punto B. Trátase de decidir cal punto B é o mellor entre eles-- 1, 2, ou 3, neste caso. Entón, como fago para decidir se ir a 1, a 2, a 3? O que pode esta caixa negra, por así falar, estar facendo no interior? Isto tamén é outro exemplo en ciencia da computación da abstracción. Teño literalmente tirado dun balanceador de carga como unha caixa negra en tinta negra, dentro de que é un pouco interesante lóxica, ou maxia, mesmo, dos cales ten vir un decision-- 1, 2, ou 3. E a entrada é só A. Audiencia: [inaudível] DAVID Malan: Eu sinto moito? Audiencia: [inaudível] DAVID Malan: Todo ben, como podemos categorizar os tipos de transaccións aquí? Audiencia: ver unha páxina web contra consultando unha base de datos. DAVID Malan: OK, iso é bo. Entón, talvez este usuario quere ver unha páxina web. E quizais sexa mesmo contido estático, algo que cambia raramente, ou nunca. E parece ser unha operación moi sinxelo. Entón, talvez nós imos arbitrariamente, pero razoablemente, digamos, servidor 1, o seu propósito na vida é só para servir contido estático, arquivos que raramente, ou nunca, cambio. Quizais sexa as imaxes na páxina. Quizais sexa o texto na páxina ou outro tal tipo de cousas desinteressante, nada transacional, nada dinámico. Por outra banda, se o usuario A está comprobando fóra do seu carro de compras que require unha base de datos, un lugar para almacenar e lembra que a transacción, así quizais esta proposta debe ir ao servidor 2. Entón, iso é bo. Así, podemos subir equilibrio baseado do tipo de solicitudes. Como máis podemos facer iso? o que outro-- Audiencia: Baseado no servidor uso e capacidade. DAVID Malan: Certo, OK. Entón, mencionar que antes, Kareem. Así que se nos das algunha entrada no [inaudível] entre os servidores 1, 2, e 3 do presente balance de carga para que están só constantemente informando o balance de carga que o seu estado é? Como, hey, balance de carga, Estou no uso do 50%. Noutras palabras, eu teño metade do número de usuarios como podo realmente soster agora. Hey, balance de carga, eu son o uso de 100%. Hey, balance de carga, 0% de utilización. O balance de carga, se é deseñado dun xeito que pode tomar eses comentarios como entrada, pode, entón, decidir, ooh, número 2 está 100%. Déixeme non enviar solicitudes futuras para el ademais dos usuarios xa conectados. Este cara é de 0%. Imos enviar unha morea de tráfico para el. Este cara dixo que está no 50%. Imos enviar un tráfico para el. Así que sería un ingrediente, que poderiamos tomar carga en conta. E iso vai cambiar co paso do tempo. Así, as decisións van cambiar. Entón, iso é realmente unha boa técnica, un que é comunmente usado. O que máis poderiamos facer? E imos realmente só resumir aquí. Así, as decisións poden ser aquí por tipo de tráfico, eu vou chamalo. Pode ser baseado na carga. Imos ver se non podemos veña con algúns outros. Audiencia: [inaudível] DAVID Malan: Localización. Entón, iso é unha boa. Entón localização-- como pode vostede alavancar esta información? Audiencia: [inaudível] DAVID Malan: Oh, iso é bo. E sobre cantos milisegundos sería diminuír con base no que vimos este mañá, diría? Audiencia: [inaudível] DAVID Malan: Ben, en base nas rutas de seguimento vimos anteriormente, que non é máis unha medida aproximada de algo, polo menos canto tempo leva de datos para ir de A para B Se sente como nada locais era, o que, como 74 milisegundos, máis ou menos? E entón nada 100 máis, 200 máis probabelmente no exterior. E así con base nesa só, parece razoable supoñer que para un usuario en EEUU para acceder a un servidor Europea pode levar dúas ou tres veces tal, mesmo en milisegundos, que podería tomar que servidor localizáronse aquí xeograficamente, ou viceversa. Entón, cando eu propuxen antes que todo xa que cruza esa 200 milisegundos limiar, máis ou menos, humanos que comezan a notar. E a ruta do trazo é só asumindo datos en bruto, desinteressante. Cando ten un sitio web, ten que obter o usuario a descarga de imaxes ou película arquivos, gran cantidade de texto, as solicitudes posteriores. Vimos cando visitamos, o que era Lo, Facebook ou Amazon antes, hai unha morea de cousas que ten que ser descargado. Entón, que vai sumar. Entón varias segundos pode non ser razoable. Tan bo, a xeografía é un ingrediente. Así, en empresas de feitos como Akamai, se xa escoitou falar deles, ou outros hai moito tomadas xeografía en conta. E verifícase que, por natureza, un enderezo IP, o enderezo IP do meu portátil, podes deducir, con algunha probabilidade, onde está no mundo. E, de feito, hai servizos de terceiros Vostede Pode pagar que manteñen bases de datos de enderezos IP e xeografías que, con alta confianza será certo cando proceda, onde no mundo Este enderezo IP? E así, de feito, o que outras empresas usan iso? Se tes Hulu ou Netflix, se xa foi viaxar ao exterior, e tenta ver algo na Hulu, e non está en Estados Unidos, verás unha mensaxe dicindo, non en Estados Unidos. Sentímolo, non pode ver este contido. Audiencia: [inaudível] DAVID Malan: Ah, realmente? Pero si, entón en realidade iso é unha aplicación perfecta algo moi técnico a un problema real. Se fose para VPN dende Europa ou en Asia ou en calquera lugar no mundo ao seu corporativo sede en Nova York ou onde queira que estea, está vai crear a aparencia a sitios externos que está realmente en New York, aínda que estea fisicamente moi lonxe. Agora o usuario está indo sei que está, obviamente, de distancia. Pero tamén vai sentir-lo porque destes milisegundos adicionais. Esa distancia adicional ea cifrado que está pasando na VPN vai retardar as cousas. Por iso, pode ou non ser unha gran experiencia. Pero Hulu e Netflix verá Lo como sentado nalgún lugar en Nova York, como claramente adquirida. ¿Que é unha perfecta solución para iso. Todo ben, entón a xeografía é unha decisión. Que máis podemos utilizar para decidir como para rotear o tráfico de A, B, e C a 1, 2, e 3, de novo, poñendo o sombreiro de enxeñaría en? Isto todo soa moi complicado. Uh, eu non sei mesmo onde para comezar a aplicar esas. Déame algo que é máis sinxelo. Cal é o xeito máis sinxelo para tomar esta decisión? Audiencia: É o servidor dispoñible? DAVID Malan: É o servidor dispoñible? Entón, non é malo. Iso é bo. Isto é unha especie de nuanças de carga. Entón, imos manter isto na categoría de carga. Se está dispoñible, eu son só enviará os datos alí. Pero isto pode saír pola culata rapidamente. Porque se eu usar esa lóxica, e se eu sempre pedir 1, está, está, está, se a resposta é sempre si, Eu estou indo a enviar o 100% do tráfico para el, 0% para todos os demais. E nalgún momento, nós estamos indo bater que a desaceleración ou o sitio web non dispoñible. Entón, o que é lixeiramente mellor que iso, senón que moi sinxelo e non case tan intelixente como tomando todas Estes datos adicionais en conta? Audiencia: Custo por servidor. DAVID Malan: Custo por servidor. OK, entón deixe-me tirar que na categoría de carga, tamén. Porque o que vai atopar en unha empresa, demasiado-- que se actualizar os seus servidores co paso do tempo ou mercar máis, que pode non ser capaz de obter exactamente as mesmas versións de hardware. Porque cae fóra da data. Non podes mercar máis. Os prezos varían. Entón vostede pode ter diferentes servidores no seu conxunto, por así dicir. Isto é totalmente ben. Pero o hardware do ano pode ser dúas veces máis rápido, dúas veces tan capaces como os deste ano. Así, podemos lanza que na categoría de carga. Este ciclo de feedback entre o 1, 2 e 3 no balance de carga seguramente podería dicir que, hey, eu estou no 50% da capacidade. Pero ao parecer, eu tamén teñen o dobre de núcleos. Use esta información. Mesmo simpler-- e iso vai ser un tema en ciencia da computación. En caso de dúbida, ou cando quere unha simple solución que xeralmente funciona ben co paso do tempo, non escoller o mesmo servidor o tempo, pero choose-- Audiencia: un acaso? DAVID Malan: -Un servidor aleatorio. Si, escoller un ou outro. Así aleatoriedade é realmente este ingrediente moi poderoso en ciencia da computación, e en enxeñaría máis en xeral, especialmente cando quere para tomar unha decisión sinxela rapidamente sen complicarse con toda destes moi intelixente, pero tamén moi intelixente, que requiren solucións aínda máis enxeñaría, todo canto máis pensamento, cando realmente, por que non me só unha especie de lanzar unha moeda ou unha tres caras da moeda, e neste caso e decidir se quere ir 1, 2, 3? Isto pode saír pola culata probabilisticamente, pero moi parecido as probabilidades de virar cabezas de novo e de novo e de novo e de novo e de novo e de novo é posible en Super reality--, super improbable. Entón, ao longo do tempo, as probabilidades son só o envío usuarios aleatoriamente a 1, 2, 3 e vai traballar perfectamente. E esta é unha técnica xeralmente coñecido como round robin. Ou, en realidade, iso non é round robin. Esta sería a visión aleatoria. E se queres ser aínda un pouco máis simple do que iso, round robin sería, primeira persoa vai para 1, segunda persoa a 2, terceira persoa a 3, a unha cuarta persoa. E é aí onde reside o round robin. Só tipo de ir ao redor nun ciclo. Agora, ten que ser intelixente sobre iso. Non debe cegamente enviar ao usuario número do servidor de un, o que é o caso? Se é a capacidade máxima, ou é só non responsabilidade. Así, idealmente quere algunha tipo de loop de producto. Se non, acaba de enviar dos seus usuarios para unha rúa sen saída. Pero que poden ser tomadas en conta, tamén. Polo tanto, non so a apreciar o valor da só aleatoriedade, que é moi frecuente unha solución para este tipo de problemas. E nós imos escribir o round robin. Así como algunhas empresas aplicar round robin ou aleatoriedade ou calquera destas decisións? Ben, por desgraza, facer cousas como esta. Déixeme puxar arriba outra imaxe rápida. De feito, imos facer dous. Non sei por que estamos quedando todos estes pratos. Isto é moi estraño. Todo ben, o que realmente quere é unha captura de pantalla. Isto é raro. Todo ben, entón eu podo falsificar iso. Non sei o que máis lonxe Quero seguir desprazamento. Entón, moi comunmente, vai atopar-se nun enderezo como www.2.acme.com, quizais www.3 ou 4 ou 5. E manter un ollo para iso. Non ve que moitas veces. Pero cando o fai, iso medio que tende a ser maior, máis vellos, empresas stodgier que tecnoloxicamente realmente non parecen saber o que están facendo. E ves isto en empresas de tecnoloxía ás veces, os máis vellos. Entón, o que están facendo? Como están aplicando balance de carga, ía parecer? Se atopa-se como o user dixitación www.something.com, e de súpeto está www.2.something.com, o que ten a súa carga balance probablemente feito? Audiencia: [inaudível] DAVID Malan: Si, de xeito que o balance de carga é de supoñer tomar unha decisión baseada nun dos estes toma de decisións processes-- Realmente non importa cal. Pero así como eu deseño a os números no cadro aquí, os servidores non só chamado 1, 2, e 3. Están probablemente chamada www1, www2, www3. E verifícase que dentro unha solicitude HTTP é este recurso. E eu vou simular este como segue. Vou abrir esta mesma separador Developer Network como antes só para que poidamos ver o que está pasando por baixo do capuz. Eu estou indo a limpar a pantalla. E eu estou indo a ir, imos dicir, http://harvard.edu. Agora, para o que razóns de negocios, Harvard decidiu, como moitos, moitos outros sitios, para estandarizar a sitio www.harvard.edu tanto para técnicos e razóns de marketing. É só unha especie de en voga para ter o www. Así, o servidor en Harvard ten redireccionar algún usuario, como eu sigo dicindo, de un URL para outra. Como é que isto funciona? Ben, deixe-me ir adiante e prema Intro. E teña en conta o URL de feito rapidamente cambiado www.harvard.edu. Déixeme rolar cara atrás neste historia e premer nesta depuración información de diagnóstico, se quere. Déixeme mirar a miña petición. Entón aquí está o pedido que fixen. E teña en conta que é consistente co tipo de solicitar que fixen de Facebook antes. Pero teña en conta a resposta. Que é diferente en a resposta desta vez? Audiencia: [inaudível] DAVID Malan: Si, por iso non é un 200 OK. Non é un 404 Not Found. É un 301 movido permanentemente, o que é unha especie de unha maneira divertida de dicir: Harvard elevou e trasladouse noutros lugares para www.harvard.edu. Os 301 significa que este é unha redirección. E para que o usuario debe aparentemente ser redirixido? Hai un rumor adicional de información privilexiada que sobre. E cada unha destas liñas será agora comezar a chamar unha cabeceira HTTP. Header é só un valor de clave pair-- algo colon algo. É unha peza de información. Onde debe ser o novo localización aparentemente ser? Teña en conta a última liña Entre as cabeceiras. Audiencia: [inaudível] DAVID Malan: Si, por iso hai Información adicional. A primeira liña que eu teño resaltado di 301 movido permanentemente. Ben, por onde se cambiou? A última linha-- e non ten que ser nesa orde. Pode ser aleatoria. Localización colon significa, hey navegador, vaia este URL no seu lugar. Entón navegadores entender redireccións HTTP. E iso é moi, moi forma común de ir o usuario dun lugar a outro. Por exemplo, se xa intentou para visitar un sitio web que non está engadiu, pode de súpeto considerar -se nunha nova URL completo sendo solicitada a entrar. Como é que isto funciona? O servidor, probabelmente está enviando unha 301. Hai tamén outros números, como 302, un pouco diferente en significado, que envialo a outro URL. E, a continuación, o servidor, xa que dentro do sistema, pode enviar-lle de volta a onde realmente pretendía. Entón, o que, entón, son mal sitios de enxeñaría está facendo? Cando visita www.acme.com, e eles simplemente ocorrer de ter chamado seus servidores www1, www2, www3, etc., son moi simply-- que é xusto, pero moi tipo de foolishly-- redirixido vostede para en realidade, un servidor diferente chamado. E funciona perfectamente ben. É agradable e doado. Vimos como sería feito por baixo do capuz no sobre virtual. Pero por que isto é, sen dúbida, un decisión de enxeñaría malo? E por que eu son unha especie de condescendencia desta enxeñaría especial visión? Argumentan por que iso é malo. Ben? Audiencia: [inaudível] DAVID Malan: Cada servidor tería que ter unha copia duplicada web. Eu estou ben con iso. E, de feito, é o que eu son supoñendo para toda esta historia, xa que, se ben wanted-- en realidade, con excepción de Dan do anterior suxestión, onde se ten diferentes servidores facendo cousas diferentes, entón quizais eles poderían realmente ser funcionalmente facer cousas distintas. Pero, aínda así, nalgún momento, o seu base de datos vai estar resaltado. O seu servidor de activos estática Vai estar resaltado. Entón, en algún momento, estamos volta a esta historia, onde nós necesita varias copias da mesma cousa. Entón, eu estou ben con iso. Audiencia: [inaudível] DAVID Malan: OK, entón algunhas páxinas pode ser desproporcionalmente popular. E así fixarse ​​en un enderezo non é necesariamente o mellor. [Inaudível]? Audiencia: [inaudível] DAVID Malan: Que quere dicir con iso? Audiencia: [inaudível] DAVID Malan: Si, exactamente. Entón non quere necesariamente have-- certamente non queren que os seus usuarios escribindo a man no www1 ou www2. Unha perspectiva de branding, que só parece un pouco ridículo. Se quere só unha especie de limpo, experiencia elegante, Tendo este tipo de forma aleatoria URL numeradas realmente non é bo. Porque, entón, os usuarios son certamente vai copiar e cola-los en correos electrónicos ou mensaxería instantánea. Agora están propagando. Agora está tipo de confundir o menos público técnico, que pensa o seu enderezo web é www2.something.com. Non hai ningunha semántica convincentes para iso. El só pasa a ser un subxacente detalles técnicos que ten numerados seus servidores deste xeito. E peor aínda, e se, por exemplo, quizais na época do Nadal, cando negocio é realmente crecendo, tes www1 través www99, pero en xaneiro e febreiro e en diante, desactiva a metade dos así só ten www1 través www50? Cal é a implicación agora para que decisión de negocio moi razoable? Audiencia: [inaudível] DAVID Malan: Debe xestionar todos os que aínda están. Audiencia: [inaudível] DAVID Malan: Exactamente. Este é un tipo de captura alí. Se os seus clientes teñen o costume de bookmarking cousas, enviando-os, só gardar o URL nalgún lugar, ou se é só na súa auto completar no seu navegador para que estean Non realmente escribindo a intencionalmente, é só a ocorrer, eles poderían, durante 11 meses do ano efectivamente, chegar a unha rúa sen saída. E só o máis astuto de usuarios notarás, talvez debese manualmente eliminar ese número. Quero dicir, el simplemente non vai ocorrer con moitos usuarios, tan malo para os negocios, mala enxeñaría de aplicación sabio. Entón, por sorte, non é necesario. Acontece que o que balance de carga pode facer é máis que dicir, cando a fai unha request-- hey A, ir a un. Noutras palabras, no canto de envío de que redirección de tal xeito que un paso neste proceso é o movemento aquí, é, entón, dixo para ir a outro lugar. E así o paso tres é, que vai a outro lugar. en vez diso pode continuar a ruta, a continuar a utilizar ese termo, todos os datos da a través do balance de carga para que nunca contactos 1, 2, ou 3 directamente. Todo o tráfico non estar "encamiñado" polo balance de carga propia. E agora somos tipo de deliberadamente borrar as liñas Entre estes distintos dispositivos. Un balance de carga pode encamiñar os datos. É só unha función que ten. Así, un balance de carga, tamén, é unha peza de software, en realidade. E un router é unha peza de software. E pode absolutamente ter dúas pezas de software dentro dun ordenador físico para unha carga balance pode facer estas varias cousas. Polo tanto, hai outra forma Ao facelo, o que realmente remóntase a especie de primeiros principios DNS, o que falamos de antes das vacacións. DNS foi Domain Name System. Lembre que pode pedir a un servidor DNS, o que é o enderezo IP google.com, facebook.com? E podemos realmente facer iso. A ferramenta non usan anteriormente é un que é tan accesible, chamado nslookup, para investigación de servidor de nomes. E eu estou indo só para escribir facebook.com. E vexo que o IP do Facebook dirección, ao parecer, é iso. Deixe-me ir adiante e copiar diso, vai a un navegador, e vaia http: // e que enderezo IP e prema Intro. E por suposto, parece funcionar. Agora a traballar para atrás, o que era dentro do sobre virtual que Facebook respondeu con cando Visitei que IP directamente? Porque o aviso previo, onde estou agora? Onde estou agora, a dirección? Audiencia: [inaudível] DAVID Malan: Na versión segura, e no www.facebook.com. Polo tanto, non é mesmo só o enderezo IP seguro. Facebook tomou sobre si quere dicir, iso é ridículo. Non estamos indo a mantelo neste URL mirando feo que é numérico. Estamos indo para enviar un HTTP redirixido a través de que mesmo encabezado que vimos antes-- localización colon algo. E así isto significa simplemente que, baixo o capó aínda é este enderezo IP. Cada ordenador en internet ten un enderezo IP, ao parecer. Pero non teñen necesariamente para expoñer que para o usuario. E así como de volta ao día, hai foi 1-800-Collect, 1-800-C-O-L-L-E-C-T, en Estados Unidos, era unha forma de facer a cobrar chama a través dun teléfono moi facilmente memorable número ou 1-800-colchón para mercar unha cama, e mnemônicos similares que mesmo ver no teléfono tipo de tipo de aínda que as cartas mapeiam para números. Agora, por que isto? Ben, é moito máis fácil de memorizar 1-800-colchón ou 1-800-Collect vez de 1-800 algo algo algo algo algo algo algo, onde cada daqueles é un díxito. Do mesmo xeito, o mundo aprendeu rapidamente que non debemos ter persoas Recordar enderezos IP. Iso sería tolería. Nós imos empregar nomes no seu lugar. E é por iso DNS naceu. Todo ben, entón o que dixo, en termos de balance de carga, imos tratar yahoo.com. Ben, iso é interesante. Yahoo parece estar volvendo tres IPs. Entón inferir a partir diso, se puidese, o que é outra forma que puidésemos aplicar esa noción de balance de carga quizais mesmo sen usar un físico dispositivo, este novo dispositivo físico? Noutras palabras, podo aproveitar o financiamento que ten para o balance de carga e dicir-lle para usar algún xa existente peza de hardware para aplicar esa noción de balance de carga? E o spoiler é, si, pero que, ou como? Qué é o Yahoo quizais facendo aquí? Kareem? OK, Chris? Audiencia: [inaudível] DAVID Malan: Si, todo tres deses traballos. Entón, aleatoriedade, round robin, localização-- pode só alavancar unha parte existente do puzzle que falamos anteriormente do DNS sistema e simplemente dicir, cando o primeiro usuario do día pide yahoo.com, darlles o primeiro enderezo IP, como aquel que termina en 45 alí enriba. E a próxima vez que un usuario solicita o enderezo IP do yahoo.com dalgún lugar no mundo, darlles a segunda IP, a continuación, o terceiro IP, a continuación, o primeiro PI, a continuación, o segundo. Ou ser intelixente sobre iso e facelo gráficamente. Ou facelo de forma aleatoria e non só facer Lo round robin deste xeito. E neste caso, entón nós nin sequera ten para introducir este negro en caixa para a nosa imaxe. Non necesitamos un novo dispositivo. Estamos simplemente dicindo ordenadores para ir para os servidores directamente, eficazmente, pero non por medio do seu nome. Nunca que saber o nome. Están só a ser dito que yahoo.com mapas para calquera destes enderezos IP. El envía exactamente a mesma solicitude. Pero do lado de fóra o sobre, simplemente pon a IP que foi informado da. E, deste xeito, tamén, podería nós balancear as solicitudes por só enviar o sobre un distinto dos propios servidores de Yahoo? E se seguimos a escavación, veremos probablemente outras empresas con máis. CNN ten dous expostos ao público. Aínda que, en realidade, se facemos iso de novo e novamente-- cnn.com-- verás están cambiando fin, en realidade. Entón, o mecanismo é CNN usando aparentemente? Audiencia: aleatoria. DAVID Malan: Ben, pode ser aleatoria, aínda parece ser o ciclismo e cara atrás. Por iso é probablemente round robin, onde están só cambiando a orde de xeito que eu vou supoñer tomar a primeira. O meu ordenador vai levar o primeiro de cada vez. Entón, iso é o balance de carga. E iso nos permite, en definitiva, para mapear os datos, ou peticións de mapa, en varios servidores. Entón, que tipo de problemas agora aínda existe? Parece que só realmente resolveu un problema bo. Temos usuarios distintos servidores. Mas-- oh, e Chris, fixo ten unha pregunta antes? Audiencia: [inaudível] DAVID Malan: depende totalmente. Entón, o que está pasando aquí? E podemos realmente ver iso. Entón, imos tratar o Yahoo. De feito, imos para Facebook. Porque sabemos que se traballa. Entón eu vou para copiar este enderezo IP de novo. Vou pechar todas estas guías. Eu estou indo a ir aberto que separador de rede especial aquí abaixo. E eu vou visitar só http: //. E agora eu vou bater Intro. E imos ver o que pasou. Se eu ollar para esta proposta, previo que meu-- Facebook é un mal exemplo. Porque eles teñen un técnica super sofisticado que esconde este detalle de nós. Déixeme usar Yahoo instead-- http: // que o IP. Imos abrir a nosa rede guía, preservar rexistro. E aquí imos nós, Intro. É divertido. OK, entón aquí está o famoso 404 mensaxes. Que é divertido é que probablemente nunca estará de volta. Porque non hai, probablemente, non algo de malo per se. Teñen só deliberadamente decidiu non apoiar a forma numérica de enderezo. Entón, o que estamos realmente a ver na guía Rede, se eu conseguir isto aquí enriba, é, como dixen, o famoso 404, onde se eu ollar para as cabeceiras de resposta, este é o que eu teño aqui-- 404 Not Found. Entón, imos tratar outro. Imos ver se CNN coopera coa xente. Vou coller un dos enderezos IP da CNN, limpar isto, http, dá, dá, dá, dá. Así, en resposta a Chris de pregunta, que se traballou. E imos para cabeceiras de resposta. En realidade non, todo ben, eu son loitando para atopar un exemplo de traballo. Entón CNN decidiu, imos deixalo en calquera dirección que realmente visitar, cuestións de marca de lado. Pero o que non estaría pasando, se puidésemos velo no caso de Facebook, é que sería un 301 Moved Permanentemente, moi probablemente, dentro do cal é Localización: https: //www.facebook.com. E as probabilidades son www.facebook.com é un Alias ​​para exactamente o mesmo servidor que acabamos fun. Polo tanto, é un pouco contraproducente. Estamos visitar literalmente servidor. O servidor é entón a dicirnos, ir aínda. Ir estoutro enderezo. Pero só así pasar de ser vai volver a ese mesmo servidor. Pero, presuntamente, que agora permanecer nesa servidor sen este e cara atrás. Porque agora estamos usando a chamada versión do sitio, e non a numérico. Boa pregunta. OK, por iso, se nós agora assume-- nós resolver o balance de carga. Temos agora un mecanismo, se é a través de DNS, se é a través desta caixa negra, sexa se está a usar calquera destas técnicas. Podemos tomar unha solicitude do usuario e descubrir a cal servidor, 1, 2, ou 3, para enviar el ou ela. O que comeza a romper sobre o noso sitio web? Noutras palabras, temos construíu un negocio que foi anteriormente nun único servidor. Agora que o negocio está en execución en varios servidores. Que tipos de suposicións, que tipo de decisións de deseño, pode agora ser romper? Iso é menos evidente. Pero imos ver se non podemos poñer o noso dedo sobre algúns dos problemas que teño creado por nós mesmos. Unha vez máis, é unha especie de como soster baixo o baleirado na mangueira. E agora un novo problema apareceu por aquí. Audiencia: [inaudível] DAVID Malan: OK, entón temos que seguir crecendo o noso espazo no disco duro. Eu estou ben con iso agora. Porque eu creo que podo escala horizontal. Como se eu estou funcionando baixo, eu vou ir cuarto servidor, quizais unha quinta de servidores, e, a continuación, aumentar a nosa capacidade por outra o 30% ou 50% ou estante. Entón, eu estou OK con iso, polo menos por agora. Audiencia: [inaudível] DAVID Malan: OK, entón iso é un bo punto. Entón, supoña que os servidores non son idénticos. E servizo ao cliente ou o equivalente electrónico está a recibir algunha mensaxe dun usuario dicindo, iso non funciona dereito. É moi posible, ás veces, que quizais un ou máis servidores está actuando un pouco mal, pero non os outros, o que pode, por suposto, facer máis difícil para perseguir o tema. Pode ter que ollar para varios lugares. Isto é manifestación doutro tipo de erro, que é o que probablemente debería ter deseñado súa infraestrutura de xeito todo o que é verdadeiramente idénticos. Pero iso non revelar un novo problema que non tiña antes. Que máis? Audiencia: [inaudível] DAVID Malan: Si, hai máis complexidade. Hai fisicamente máis fíos. Hai outro dispositivo. En realidade, eu xa introduciu un dereito fundamental concepto e un problema fundamental aquí coñecido como un único punto de falla, o que, mesmo se nunca escoitou falar a frase, probablemente pode agora traballar para atrás e descubrir iso. O que significa que eu teño un único punto de fallo na miña arquitectura? E pola arquitectura, só significa a topoloxía do mesmo. Audiencia: [inaudível] DAVID Malan: Si, o que se o balance de carga vai para abaixo? Eu inserir este home de mediana cuxas propósito na vida é para resolver un problema. Pero eu xa introduciu un novo problema. Un novo escape xurdiu na mangueira. Porque agora o balance de carga morre ou quebras ou misfunctions, agora perder o acceso a os tres dos meus servidores. E antes, eu non fixen ten ese intermediario. E por iso este é un problema novo, sen dúbida. Nós imos volver como podemos solucionar isto. Audiencia: [inaudível] DAVID Malan: Isto sería unha visión. Si, e por iso este vai ser moi burato do rato comezan a ir para abaixo. Pero imos voltar a que en só un momento. Que outros problemas que creamos? Entón Dan mencionado base de datos antes. E mesmo se non está moi familiar tecnicamente, unha base de datos é só un servidor onde cambiar os datos son tipicamente almacenados, quizais unha orde que alguén colocado, perfil de usuario, o seu nome, o seu enderezo de correo-e, cousas que poden ser inseridos ou modificados ao longo do tempo. Anteriormente, foi o meu banco de datos sobre no mesmo servidor que o meu servidor web. Porque eu só tiña un conta de Aloxamento web. Estaba todo no mesmo sitio. Onde debo poñer o meu banco de datos Agora, no servidor 1, 2, ou 3? Audiencia: 4. DAVID Malan: 4, OK, todo ben, entón imos alí. Entón eu vou poñer o meu database-- e imos comezar a etiquetar estes www, www, www. E eu vou dicir, este é o número catro. E eu vou dicir db para base de datos. OK, me gusta diso. Que liña que eu debería presuntamente estar chegando aquí? Audiencia: [inaudível] DAVID Malan: Si, entón o código, como discutir mañá, presuntamente é o mesmo en todos os tres servidores. Pero agora se conectar non a un base de datos rodando localmente, pero noutros lugares. E iso é bo. Podemos só dar a base de datos a nomear, como temos, ou un número. E que todo funciona ben. Pero o que nós fixemos? Temos horizontal escalado por tres servidores no canto de unha que, é bo. Porque agora podemos xestionar tres veces máis carga. E mellor aínda, un ou dous destes servidores vai para abaixo, meu negocio pode continuar a operar. Porque eu teño un, aínda que eu son tipo de mancando en termos de rendemento. Pero o novo problema I introducido, movendo a base de datos a este servidor separado en vez de 1, 2, e 3? Audiencia: [inaudível] DAVID Malan: Si, entón agora eu teño outro punto único de fallo. Se o meu banco de datos morre, ou precisa ser actualizado, ou o que quere, agora seguramente, meu sitio está en liña. E podo servir estática, contido inmutable. Pero non podo deixar que os usuarios fan sesión ou modificación algo ou pedir algo, peor aínda. Porque se 4 é desconectada, logo, 1, 2, e 3 Realmente non pode falar con el por definición. OK, entón si, e entón é por iso Estou dubidando en deseñar ese. Entón, imos volver a iso. Non quero seguir a empurrar-lo fóra. Pero o cadro é moi rapidamente se ve estresante. Porque precisa para comezar ter dous de todo. En realidade, se xa viu a filme Contactar hai uns anos con Jodie Foster-- non? OK, entón para os dous nós que vin Contact, hai unha relación alí onde esencialmente compras dous de algo ao contrario dun, aínda polo dobre do prezo. Por iso, foi unha especie de brincallón comentar na película. É unha especie de relación a iso. Poderiamos absolutamente facelo. E acaba de custo -Nos dúas veces máis diñeiro. Pero imos voltar a iso. Entón nós resolvemos isto. Entón vostede sabe o que? Isto é como unha ladeira escorregadia. Non quero xestionar ter de ter unha base de datos duplicada. É moito diñeiro. Vostede sabe o que? Quero ter o meu banco de datos así como na versión dun onde cada servidor ten o seu propio banco de datos local. Entón, eu estou indo só para deseñar db en cada unha delas. Polo tanto, agora cada servidor web é o mesmo que na medida xa que ten o mesmo código, o mesmo activos estáticos, mesmas imaxes e texto e así por diante. E cada un ten o seu propio banco de datos. Fixei o único punto de problema de falla. Agora eu teño unha base de datos. Non importa que dous ou un destes cousas morren, sempre hai unha esquerda. Pero o novo problema creei que a solución da Dan evitado? Audiencia: [inaudível] DAVID Malan: Si, eu Ten que sincronizalo los, non? Porque ou eu teño para sincronizar quen vai where-- noutras palabras, Se Alicia visita miña local, e ela pasou para de forma aleatoria ou redondo robined ou o que quere, a número un servidor, despois diso teño que sempre manda-la para o servidor 1. Por que? Porque se eu enviala ao servidor 2, que vai para ollar como se non existe alí. Eu non estou indo a ter o seu historial de solicitudes. Non vou ter o seu perfil alí. E iso só se sente como está invitando problemas. E cando Bob visita, I Ten que envialo sempre para o mesmo servidor, 2, ou calquera un, e Charlie para un terceiro, e consistente. Isto non é razoable, a pesar de todo. Isto chámase particionamento de base de datos. E de feito iso era o que Facebook fixo no inicio. Se seguiu a historia do Facebook, que comezou aquí no campus como www.thefacebook.com. A continuación, el evolucionou xa Mark comezou estendendo a outros campus e para ser harvard.thefacebook.com mit.thefacebook.com, e probablemente bu.thefacebook.com, e semellantes. E iso foi porque en principio, eu non creo que podería ter amigos en todo campus. Pero iso é bo. Porque ninguén de Harvard teño enviado a este servidor. Calquera de BU teño enviado a este servidor. Calquera de MIT enviou para este server-- en teoría. Non sei ben toda a detalles de implementación subxacentes. Pero a xente presuntamente dividida por seu campus, onde a rede era. Entón, iso é bo ata o punto que precisa de dous servidores para Harvard, ou tres servidores para Harvard. E despois que a sinxeleza tipo de quebra. Pero iso é unha visión razoable. Imos sempre enviar Alice para o mesmo lugar, enviar sempre Bob ao mesmo lugar. Pero o que acontece se Alicia de servidor estar conectado? Bob e Charlie aínda pode mercar cousas e facer sesión no sitio web. Pero Alicia non pode. Entón xa perdeu un terzo da súa base de usuarios. Quizais iso é mellor que o 100%? Pero quizais sería bo se puidésemos aínda apoio 100% dos nosos usuarios mesmo cando un terzo da nosa servidores estar desconectado. Para que puidésemos sincronizar o que? Nin os usuarios, por si só, pero o base de datos en todos estes servidores. Entón, agora nós medio que precisa dalgún tipo de interconexión aquí, para que os propios servidores Pode sync-- razoable. E, de feito, esta tecnoloxía existe. No mundo dos bancos de datos, non hai a noción de bases de datos master-slave, ou primaria-secundaria, onde, entre as características non é só para almacenar datos e responder cos datos, pero tamén só para sempre sincronizar co outro. Entón cada vez que escribe ou gardar algo a ese banco de datos, Lo inmediatamente "replicado" para as outras bases de datos así. E calquera momento que lelo, Non importa onde está. Porque, en teoría, todos eles sincronizados, está indo para obter o mesmo punto de vista dos datos. Entón, iso soa perfecto. Ten que haber unha captura. O que pode ser a captura? Audiencia: [inaudível] DAVID Malan: Si, por iso tres veces tanta cousa podería dar mal. Isto é unha realidade. Todo isto podería ser o mesmo en espírito. Pero alguén ten que configuralo los. Hai unha maior probabilidade de que algo vai dar mal. Só combinatoria ten máis cousas propenso a erros. O que máis é malo potencialmente? Audiencia: [inaudível] DAVID Malan: Si, entón sincronización pode ser malo. Mesmo como ten que saber desde backups e tal, se só está facendo cegamente backups, o que si algo dar mal nunha base de datos? Eliminar algo que non debería. Vostede inmediatamente replicada este problema en calquera outro lugar. Entón, Victoria foi backups talking-- sería bo aquí. E por iso imos volver a iso. E para ser claro, estamos falando non se trata de copias de seguridade aquí per se. Estamos a falar sobre a verdadeira replicación ou sincronización entre os servidores. Están todos en directo. Eles non están feitos para pode usar para copias de seguridade. Audiencia: [inaudível] DAVID Malan: ¿Que é iso? Audiencia: Higher-- DAVID Malan: custo máis elevado. Xa triplicou o custo para Comproba se, aínda que, polo menos en canto do hardware. Xa que é unha base de datos só unha peza de software. E un servidor web é unha peza de software. Probablemente é libre se estamos usando calquera número de cousas de código aberto. Pero se estamos a usar algo así como Oracle, estamos a pagar a Oracle máis diñeiro por licenzas ou Microsoft para acceso. Ten que haber algún outro problema aquí. Non pode ser tan sinxelo. Entón, para o seu punto, creo que foi Kareem, á xeografía earlier-- ou non, Romana, era, por geography-- supoña que estamos a ser intelixentes sobre iso, e estamos poñendo un dos nosos servidores, e á súa vez os nosos bancos de datos, en Estados Unidos, e outra en Europa, na outra Sudamérica, outro en África, outra en Asia, en calquera lugar que Pode querer todo o mundo. Xa sabemos da nosa trace rutas que punto A eo punto B, se eles están máis distantes, van levar máis tempo. E algúns de vostedes teñen usado ferramentas, como Facebook ou Twitter ou calquera destes sitios estes días que están constantemente a cambiar por mor do usuario datos creados, ás veces, se bateu Recargar ou abrir a mesma páxina noutro navegador, ve versións diferentes, case. Podes ver o estado de alguén actualizar aquí, pero non aquí, e entón actualizar, e entón aparece e recargar novo, e desaparece. Noutras palabras, manter un ollo para iso, polo menos, se está a usar sociais creación de redes especialmente. Unha vez máis, só porque o datos está cambiando tan axiña, por veces, os servidores non estar fóra de sincronía. E quizais sexa un super fiestra. Pero 200 milisegundos, quizais aínda máis que isso-- é Vai levar moito valor distinto de cero de tempo para estes bancos de datos para sincronizar. E non somos só falando dunha solicitude. Se unha empresa ten miles de usuarios utilizando o mesmo tempo, poden tamponar. Noutras palabras, pode ser unha fila ou unha liña de espera antes de todo base de datos consultas poden obter sincronizados. Entón quizais sexa realmente uns segundos. E de feito iso é verdade creo que mesmo a este día con Facebook, a través do cal cando sincronizar desde Costa Leste á Costa Oeste, que ten un non-trivial o atraso de propagación, por así dicir, que acaba de tipo de ter que tolerar. E por iso non é moi un erro, xa que é unha realidade que os usuarios non poden ver os datos de corrección para, polo menos uns segundos. Eu vexo iso en Twitter un lote realmente onde ás veces eu vou Twittear nunha ventá, abra outro para logo velo para confirmar que realmente subiron, e non está alí aínda. E eu teño que tipo de actualizar, actualizar, reload-- oh, aí está. E iso non é porque non foi gardado. El só non ten propagado para outros servidores. Polo tanto, este trade-off, demasiado-- realmente quere expoñer ao risco que, se o usuario vai á súa orde historia, en realidade non é alí aínda? Eu vexo iso en certos bancos. El sempre me irrita cando, así, por unha banda, só se pode ir como seis meses nos seus extractos bancarios nalgúns bancos, aínda que en teoría deberían poder ter todo en liña. Eles coller o material offline ás veces. Ás veces, demasiado-- web é? Hai um-- oh, é GoDaddy, eu creo. GoDaddy, cando check-out a compra dun nome de dominio ou algo así, eles moitas veces darlle unha ligazón para o seu recibimento. E se fai clic na ligazón á dereita distancia, que moitas veces non funciona. El só di, rúa sen saída, nada aquí. E iso é moi debido á estes atrasos de propagación. Porque por calquera motivo, eles está tomando un pouco de tempo para xerar efecto que. Polo tanto, esta é unha especie de como quere tirar o seu pelo para fóra nalgún punto. Porque todo o que estás facer é resolver un problema sinxelo. E seguimos a creación de novos problemas para nós mesmos. Entón, imos ver se nós Pode tipo de desfacer esa. Acontece que a combinación bases de datos en todos os seus servidores web non é realmente a mellor práctica. Xeralmente, o que un enxeñeiro faría, ou arquitecto de sistemas, sería ter diferentes niveis de servidores. E só por mor do espazo, eu vou deseñar o seu banco de datos ata aquí. Poderiamos base de datos e número do servidor de catro aquí que ten conexións con cada un destes servidores aquí. Polo tanto, esta pode ser a nosa fronte acabar con capas, como as persoas ían dicir. E esta sería a nosa capa de back-end. E isto significa exactamente iso estes afrontar o usuario. E os bancos de datos non afrontan o usuario. Ningún usuario pode directamente acceder á base de datos. Entón, imos agora quizais ir para abaixo o percorrido proposto Victoria. Este é un único punto de fallo. Tanto me deixa incómoda. Entón, o que é quizais o máis solución obvia? Audiencia: [inaudível] DAVID Malan: Sentímolo, dicir que de novo. Audiencia: [inaudível] DAVID Malan: servidor non-produción. Que queres dicir? Audiencia: [inaudível] DAVID Malan: Oh, ben, entón backups. OK, para que puidésemos facer iso, seguramente. E, de feito, iso é moi comunmente feito. Este pode ser o número de bases de datos cinco. Pero iso é só ligado ao número de catro. E pode chamalo de un hot Spare. Estas dúas bases de datos pode ser configurada para só constantemente sincronizar uns a outros. E por iso, se esta máquina morre, por calquera que sexa estúpido razón o disco duro morre, alguén tropezar o cabo, algúns software é fallo e os traba o servidor ou crashes-- podería ter un ser humano literalmente desactive esta do muro e no seu lugar activar este en. E, a continuación, dentro de, digamos, un poucos minutos, quizais media hora, está de volta en liña. Non é grande, pero tampouco é horrible. E non se preocupe sobre os problemas de sincronización. Porque todo xa está aí. Porque tiña unha perfecta de seguridade preparado para ir. Podería ser un pouco extravagante sobre iso, como algunhas persoas acostuman facer, onde Pode que o número de bases de datos de catro aquí, número de base de datos cinco aquí, que están falando entre si. Pero tamén ten esa tipo de arrangement-- e deliberadamente parece confuso, porque é-- onde toda a servidores front-end pode falar con todos os servidores de back-end. E por iso, se ese banco de datos non responder, estes servidores front-end teñen ter programación código neles que di: se non un conexión a este banco de datos, a principal comeza inmediatamente falando ao secundario. Pero esta empurra o momento a complexidade do código. E agora os seus desenvolvedores, o seu programa desenvolvedores, ten que saber sobre iso. E está tipo de amarre o código que está escribindo para o back-end real detalles de implementación, que fai máis difícil, especialmente nunha maior empresa ou unha web grande, onde non necesariamente Quere que os programadores de para saber como a base de datos enxeñeiros están facendo o seu traballo. Pode querer manter estas funcións tipo de funcionalmente distintos para que hai esta capa de abstracción entre ambos. Entón, como podemos solucionar isto? Ben, nós medio que resolto este problema xa antes. Por que non imos poñer un dos estas cousas aquí, onde fala en vez de número catro e cinco, todos os servidores web front-end falar con este intermediario, eo intermediario nas rutas de transformar os seus datos? En realidade, o que podería ser un bo nome para esa cousa? Audiencia: [inaudível] DAVID Malan: OK, director de base de datos. Pero o que pode un termo menos que poderiamos reutilizar para este dispositivo? Estamos equilibrar. É, polo tanto, en realidade, son non sendo xusto aquí. Así, un balance de carga implicaría que estamos alternando adiante e cara atrás aquí, que non necesita ser realmente o caso. Polo tanto, hai algunhas formas que pode facelo. Se este é de feito un equilibrador de carga, o historia é exactamente a mesma de antes. Algúns dos pedidos ir a 4. Algúns deles van para 5. E iso é bo. Porque agora podemos xestionar o dobre da renda. Pero esta conexión aquí é super importante. Teñen de manter-se constantemente sincronizada e esperanza non son xeograficamente moi distantes así que a sincronización é esencialmente instantánea. Se non, pode ter un problema. Entón iso non é malo. Pero, de novo, temos introducido un novo problema. O problema foi que eu só recreado? Punto único de fallo. Entón, cal é a solución para isto? Así como Victoria de fond de gastar diñeiro, podemos levar este cara a fóra e facelo. E eu só vou mover aquí espazo suficiente. E iso vai ser un pouco confuso. Eu estou indo a manter as liñas de deseño. Supoñamos que todos estas liñas van a ambos? Unha técnica moi común aquí sería de utilizar unha técnica chamada de batear cardíaco en que cada un destes dispositivos, balance de carga de dereita e esquerda, ou o que quere chamalos, está constantemente dicindo, eu estou vivo, Estou vivo, eu estou vivo, eu estou vivo. Un deles, por defecto actúa como fondo. Entón, todo o tráfico está a ser encamiñado a través a esquerda, por exemplo, por defecto, de forma arbitraria. Pero logo que a cara da dereita non escoitar a cara esquerda máis, a da dereita é programado para automaticamente, por exemplo, asumir a dirección IP do unha á esquerda, e, polo tanto, facer-se o fondo, e quizais envíe un correo-e ou unha mensaxe de texto para os seres humanos para dicir, hey, a principal esquerda é fóra de liña. Vou facer primario para agora. Así, torna-se vicepresidente presidente, por así dicir. E alguén ten que ir salvar o presidente, se queres. Porque agora temos un temporal punto único de fallo. Así como complicado ou estresante como isto pode parecer para comezar a ser, Isto é como resolver estes problemas. Fai xogar o diñeiro para el. Xoga hardware para el. Pero desgraciadamente ten engadir complexidade para el. Pero o resultado, en definitiva, que é ten un moito máis, en teoría, arquitectura robusta. Aínda non é perfecto. Porque aínda que poderiamos have-- non ter un único punto de fallo. Temos agora puntos dobres de fracaso. Pero dúas cousas van mal, o que absolutamente podía, aínda imos estar fóra de liña. E así moi común no industria é describir seu tempo en termos de noves. É unha especie de meta a aspirar é de 99,999% do tempo o seu sitio está en liña. Ou mellor aínda, engadir unha algúns noves a iso. Desafortunadamente, estes noves son moi caros. E imos realmente facelo. Entón, se eu abrir a miña calculadora grande de novo, 365 días ao ano, 24 horas nun día, 60 minutos nunha hora, e 60 segundos nun minuto, iso é cantos segundos hai nun ano se eu fixese iso correctamente. Entón, se nós veces iso por 0,99999, iso é canto tempo queremos aspirar. Entón isto significa que temos que estar se desta cantidade de segundos durante o ano. Entón, se eu agora restar o valor orixinal, ou mellor, este novo valor do first-- 316 segundos, que, por suposto, é de cinco minutos. Entón, se a súa web ou o seu negocio é alegando "cinco noves", no que está ata 99,99% do tempo, que significa que é mellor ser intelixente dabondo e rápida suficiente e lave o suficiente con recursos que os seus servidores son só desconectado cinco minutos fóra do ano. É un caro e cousa difícil de aspirar. Polo tanto, é un trade-off, tamén. 99,999% do tempo é moi duro danado e caro. Cinco minutes-- apenas consegue ao servidor de substituír fisicamente algo que deu mal. E é por iso que comezamos a fiación cousas xuntos máis complicados priori de xeito que os ordenadores Pode clasificar de corrixir-se. Si. Audiencia: [inaudível] DAVID Malan: o problema podería estar en calquera número de prazas. E en fact-- Audiencia: [inaudível] DAVID Malan: Absolutamente, absolutamente. E como a imaxe é quedando máis complicado, Podería ser a servidores web. Pode ser a enerxía para o edificio. Podería ser algo físico, como os cables quedou desgastado ou expulsado. Pode ser a base de datos non está a responder. Pode ser que actualiza o seu funcionamento sistema e algo está colgado. Polo tanto, hai tantas outras partes móbiles. E entón unha morea de enxeñaría que ten que ir detrás desta é realmente só o comercio offs, como forma moito tempo, canto diñeiro é, en realidade, paga a pena, e cales son as ameazas está realmente preocupado? Por exemplo, no cursos que ensinan en Harvard, usan unha morea de computación en nube, que comezaremos dando un ollo a agora, En realidade, onde usamos Amazon Web Services. Só porque esa é a aquel que comezou con. Pero hai cada vez máis nos días de hoxe Google e Microsoft e outros. E nós conscientemente optar por poñer todo de máquinas virtuais dos nosos cursos, como son chamados, na Creo é Virxinia Occidental do centro de datos. A maioría dos nosos alumnos terá lugar a ser os Estados Unidos, aínda que existen certamente Nalgúns internacionalmente. Pero a realidade é que é só máis simple e é máis barato para nós poñer todos os ovos na cesta Virxinia, aínda que sabe que algo sae mal en Virxinia, como ten ocasionalmente happened-- como se hai un furacán ou dalgún tempo evento como este, se hai algunha problema rede eléctrica ou a como-- todo dos datos dos nosos cursos pode estar fóra de liña para algún número de minutos ou horas ou máis. Pero a cantidade de complexidade que sería necesaria, e da cantidade de diñeiro que sería ser necesaria, para operar todo en paralelo en Europa ou en California simplemente non fai moito sentido. Polo tanto, é un comercio racional off, pero un doloroso cando está realmente ter ese tempo de inactividade. Ben, imos transición agora algunhas das solucións baseadas na nube para algúns destes problemas. Todo o que teño sido ata agora discutir é unha especie de problemas que teñen estado connosco por moito tempo, se ten o seu propio servidores de empresas, se ir a un co-location poñer como un centro de datos e compartir espazo con outra persoa, ou hoxe en día na nube. E o que é agradable sobre a nube é que todos destas cousas que eu son deseño como obxectos físicos Agora pode ser pensado como tipo de obxectos virtuais na nube que son simulado co software. Noutras palabras, a ordenadores hoxe, servidores de hoxe, como a imaxe Dell Eu mostre anteriormente, son tan rápidos, teñen tanta RAM, tanto CPU, tanto en disco espazo, que as persoas teñen escrito software para partición virtualmente un servidor para dentro da ilusión de que sendo dous servidores, ou 200 servidores, de forma que cada un de nós clientes ten a ilusión de ter non só unha conta nalgún web hospedar, pero a nosa propia máquina que estamos aluguer de outra persoa. Pero é unha máquina virtual en na medida en que un servidor Dell, Lo novo pode ser particionado para dentro dúas ou 200 ou máis máquinas virtuais, todo o que dar a alguén administrativa acceso, pero dunha forma onde ningún de nós sabe ou pode acceder outra virtual máquinas no mesmo hardware. Entón, para pintar un cadro en láminas de hoxe, Eu teño ese tiro aquí a partir dun sitio web chamado Dock. Polo tanto, este é un pouco máis detalles do que realmente precisa. Pero se ves isto como seu infrastructure-- entón só o seu propio hardware, seus servidores, as baldas, os datos centro, e todos isso-- faría tipicamente realizar un sistema operativo anfitrión. Polo tanto, algo como-- podería Windows. Non sería VOS. Porque iso non é realmente empresa os días de hoxe. Polo tanto, sería Linux ou Solaris ou Unix ou BSD ou FreeBSD ou calquera número de outros sistemas operativos que son gratuítos ou comercial. E entón realizar un programa, programa especial, chamado hypervisor, ou monitor de máquina virtual, o VMM. E estes son os produtos, se está familiar, como VMware ou VirtualBox ou o Virtual PC ou outros. E o que estes programas fan é exactamente que característica que eu describe anteriormente. Ela crea a ilusión que unha máquina física Pode haber varias máquinas virtuais. E así estas caixas de cores enriba da parte superior é pintando un retrato do seguinte. Este hypervisor, este peza de software, chamalo VMware, rodando nalgún outro sistema operativo, chamalo de Linux, está creando a ilusión de que este equipo físico é, en realidade, un, dous, tres ordenadores virtuais. Entón eu agora compras, como o propietario este hardware, un ordenador físico. E agora eu estou alugando para tres clientes. E estes tres clientes todos pensan eles teñen unha máquina virtual dedicada. E non é Bait and Switch. É máis difusión que está a usar unha máquina virtual. Pero tecnoloxicamente, todos ten total control administrativo sobre cada un dos invitados sistemas operativos, o que podería ser calquera número de sistemas operativos. Podo instalar o que eu queira. Podo actualiza-lo como quero. E eu nin sequera teñen que saber ou se preocupan o outro operativo sistemas nese ordenador, as outras máquinas virtuais, a non ser que o propietario de todo isto gris material está sendo un pouco ganancioso e é esaxerar os seus recursos. Entón, se está tomando un máquina física e vendelo a 200, pero non 400 clientes, nalgún momento imos tropezar aqueles mesmos problemas de rendemento como antes. Porque só ten unha finita cantidade de disco ea RAM e así por diante. E unha máquina virtual é só un programa que é finxindo ser un ordenador de pleno dereito. Entón comeza o que paga aquí. Entón vai atopar en liña que pode pagar unha sona empresa quizais $ 100 por mes para a súa propia máquina virtual, ou seu propio servidor virtual privada, que é outro termo para iso. Ou pode atopar algunha mosca pola noite onde pagar US $ 5,99 por mes para a súa propia máquina virtual. Pero as probabilidades son que non ten case tanto o rendemento dispoñible para ti, porque foron esaxerar lo así, que faría co maior nivel de servizo ou de mellor provedor. Entón o que iso realmente significa para nós? Entón deixe-me ir a este. Eu estou indo a ir a aws.amazon.com. Só porque teñen un bo abano de opcións. Pero estes mesmos ensinanzas aplica-se a un Toda chea de outros provedores de nube. Desafortunadamente, é moitas veces máis comercialización falar do que calquera cousa. E esta segue a cambiar. Entón vai a un sitio como este. E iso realmente non fai dicirlle moito. E aínda que eu, como eu ollar para iso, non Realmente sabe o que calquera destas cousas necesariamente facer ata que eu mergullo. Pero imos comezar á esquerda, Compute. E eu vou prema isto. E agora a Amazon ten un francamente esmagadora número de servizos estes días. Pero Amazon EC2 é quizais o máis sinxelo. Amazon EC2 creará para nós exactamente a imaxe que vimos hai pouco. É así que eles fan unha chea de seu diñeiro na nube. Ao parecer, Netflix e outros están na nube con eles. Isto todo é tipicamente marketing falar gordo. Entón, o que quero facer é ir a Pricing-- ou mellor, imos para Instancias primeiro só para pintar unha imaxe deste. Entón, iso vai variar segundo provedor. E nós non precisamos ir moi profundamente no as herbas daniñas aquí de como todo funciona. Pero o xeito no que Amazon, por exemplo, aluga-lle unha máquina virtual ou un servidor na nube é que teñen este tipo de nomes divertido, como t2.nano, o que significa pequeno, ou t2.large, o que significa que gran. Cada un deles dálle tanto un ou dous CPUs virtuais. Por que é unha CPU virtual? Ben, a máquina física pode ter 64 ou máis CPUs reais. Pero, de novo, a través de software, crean a ilusión que unha máquina que pode ser dividiron a varios usuarios. Así, podemos pensar niso como ter un CPU Intel ou dous. créditos de CPU por hour-- eu ía Ten que ler a copia fina sobre o que iso realmente significa. Isto significa que a cantidade da máquina pode usar por hora vis-a-vis outros clientes nese hardware. Aquí é o que de memoria RAM ou memoria que get-- quere metade dun gigabyte, ou 500 megabytes ou 1 gigabyte, ou 2. E, a continuación, o almacenamento refírese a só que tipo de discos que lle dan. Hai almacenamento diferente tecnoloxías que ofrecen. Pero o máis interesante do que iso a continuación, pode ser o prezo. Entón, se é o CTO ou un enxeñeiro que non pretende realizar un servidor na súa oficina, por calquera motivo, e é demasiado complicado ou caro comprar servidores e co-localízase los e pagar o aluguer nalgún espazo gaiola física somewhere-- só quere sentir no seu portátil tarde de noite, escribir a súa información de tarxeta de crédito, e alugar servidores no cloud-- ben, podemos facelo aquí. Eu estou indo a ir para abaixo a-- Linux é un sistema operativo popular. E imos ter unha noción das cousas. Whoops-- moi grande. Entón, imos ollar para o seu menor máquina virtual, que parece, para os nosos propósitos, un CPU e 500 megabytes de memoria RAM. Isto é moi pequena. Pero, francamente, servidores web non o fan que facer todo o que moito. Ten mellores características no seu portátil. Pero non precisa aqueles Ficha estes días para as cousas. Vai pagar R $ 0,0065 por hora. Entón imos ver. Se hai 24 horas nun día, e estamos pagando ese tanto por hora, que vai custa US $ 0,15 para alugar que nomeadamente servidor na nube. E iso é só por un día. Se facemos iso 365-- $ 57 a alugar este servidor particular. Por iso soa super barato. Isto tamén é super baixo rendemento. Entón, nós, para os cursos de ensino aquí, tenden usar Creo t2.smalls ou t2.mediums. E podemos ter algúns centenares usuarios, algúns miles de usuarios, total. É moi modesto. Entón, imos ver o que iso custa. Entón, se eu fai iso veces custo 24 horas veces 365, este $ 225. E para os cursos Eu ensino, xeralmente executar dous de todo, por redundancia e tamén para o desempeño. Así, poderiamos gastar, polo tanto, US $ 500 para os servidores que pode ter por ano. Agora, se precisa de máis performance-- imos dar un ollo a memoria. Nós falamos sobre a memoria un pouco. E se precisa de máis memory-- e 64 gigabytes é o número que mantivo mentioning-- iso é case US $ 1 por hora. E pode moi rapidamente ver onde este goes-- así 24 horas veces 365. Polo tanto, agora é US $ 8.000 por ano para un servidor decente. Entón, nalgún momento, non hai este punto de inflexión onde agora podería gastar US $ 6.000 Probablemente, e mercar unha máquina como esta e amortizar o seu custo ao longo quizais dous, tres anos, a vida útil da máquina. Pero o que pode empurralo lo favorecer ou desfavor de transacción unha máquina na nube como este? Unha vez máis, esta é comparable, probablemente, a un destes servidores Dell vimos retratado un pouco atrás. Audiencia: [inaudível] DAVID Malan: Si, iso é unha enorme vantaxe. Porque non estamos a mercar o máquina, non temos a unbox-lo. Non temos para levantala-la. Non temos a liga-lo na nosa rack. Non temos a liga-lo. Non teñen que pagar a conta de enerxía eléctrica. Non debemos virar o aire acondicionado conectado. Cando un disco duro morre, non temos para conducir en no medio da noite resolve-lo. Non temos para configurar o seguimento. Non temos a-- a lista continúa e na de todas as cousas físicas non precisa facer por mor da "nube". E para quedar claro, a computación en nube é este termo moi usado en demasia. É realmente significa só pagar alguén outra para realizar servidores para ti, ou alugar o espazo en servidores de outra persoa. Así, o termo "cloud computing" é nova. A idea é décadas de idade. Entón, iso é moi convincente. E o que máis recibe? Ben, tamén terá a capacidade de facer todo nun portátil na casa. Noutras palabras, as fotos que eu estaba só drawing-- e non foi hai moito tempo que, aínda Estaba rastreando nun piso servidor conectando os cables para cada unha das liñas que ve, e actualizar o operativo sistemas, e os cambios de unidades ao redor. Hai unha morea de fisicalidade para todo isto. Pero o que é fermoso sobre Virtual máquinas, como o nome tipo de suxire, agora non están baseados na web as interfaces que se quere o equivalente dunha liña dende servidor a outro, escriba, tipo, tipo, clic e arrastra, faga clic en Enviar e listo, telo preso enriba virtualmente. Porque todo está feito no programa. E a razón é feito en software é de novo porque temos tanta RAM e así moi CPU dispoñible para nós hoxe en día, aínda que todos ese material leva tempo, é máis lento para realizar as cousas no programa que hardware, así como é máis lento para usar unha mecánica dispositivo como un disco duro de memoria RAM, algo puramente electrónico. Temos tantos recursos dispoñible para nós. Nós, seres humanos son unha especie de invariabelmente lenta. E agora as máquinas poden facer máis por unidade de tempo. Temos estas habilidades para facer as cousas practicamente. E eu vou dicir a cursos Eu ensino, por exemplo, aquí, temos uns quizais unha ducia ou de xeito total de máquinas virtuais así sendo executado nun dato tempo facendo cousas front-end, facendo de volta o material final. Temos todo o noso almacenamento. Así, calquera vídeos, incluso cousas como esta que estamos filmando, imos acabar poñendo en nube. Amazon ten servizos chamados Amazon S3, o seu servizo de almacenamento simple, que é só como espazo en disco na nube. Teñen algo Chamado CloudFront, que é o servizo CDN, un contido servizo de rede de distribución, que significa toman os seus arquivos e para ti automaxicamente réplica lo arredor do mundo. Así, non facelo cautelarmente. Pero a primeira vez que alguén India solicita o arquivo, van potencialmente cache-lo localmente. Por primeira vez en China, o primeira vez no Brasil que pasa, eles van comezar a caché lo localmente. E non ten que facer nada diso. E por iso é tan incrible convincente nos días de hoxe para mover as cousas na nube. Porque ten esa capacidade, literalmente, para seres humanos non teñen que facer case tanto traballo. E literalmente non ten que tantos os seres humanos facer estes traballos anymore-- "Ops", ou funcións operativas, máis. Realmente só ten promotores e menos enxeñeiros que poden só facer cousas practicamente. De feito, só para dar -lle un sentido a iso, deixe-me ir para a fixación de prezos outro produto aquí. Veremos algo CDN S3. Polo tanto, este é esencialmente un disco duro virtual na nube. E se desprácese cara pricing-- por iso é $ 0,007 por gigabyte. E that's-- como imos facelo? Creo que é por mes. Entón, se isto é por month-- ou por día? Dan, é este día? Este é por mes, OK. Entón, se isto é por month-- Sentímolo, é o US $ 0,03 por mes. Hai 12 meses do ano. Así, a cantidade de datos pode almacenar na nube? Un gigabyte non é enorme, pero eu Non sei, como 1 terabyte, así como 1.000 destes. Isto non é tanto así. E US $ 368 para almacenar un terabyte de datos na nube de Amazon. Entón, cales son algunhas das as solucións de compromiso, entón? Non poden todos ser bo. Nada que falamos hoxe é especie de sen catch ou un custo. Entón, o que é malo sobre a roda todo para a nube? Audiencia: Seguridade. DAVID Malan: OK, o que quere dicir? Audiencia: [inaudível] DAVID Malan: Si, por suposto. E realmente quere algúns enxeñeiros aleatorios no Amazon que nunca vai atopar a ter acceso físico aos ordenadores, e se realmente quería, o acceso virtual? E aínda que en teoría software-- ben, A criptografía pode absolutamente protexe-lo contra iso. Entón, se o que está almacenar os seus servidores encrypted-- é unha preocupación menor. Pero así que un ser humano ten física acceso a unha máquina, cifrado de lado, todas as apostas son unha especie de off. Podes saber doutros tempos que os PCs, especialmente, mesmo se tivese esas cousas chamados "contrasinais do BIOS," eran cando o seu escritorio arrincado, lle será solicitada cunha contrasinal Non ten nada que ver con Windows, pode normalmente basta abrir o chasis do máquina, atopar minúsculos pinos, e usar algo chamado un Jump e pode conectar estes dous fíos a preto de un segundo, completando así un circuíto. E que ía eliminar o contrasinal. Entón, cando ten acceso físico a un dispositivo, pode facer cousas así. Pode eliminar o disco duro. Pode ter acceso a el desa forma. E así é por iso que, en caso de Dropbox, por exemplo, é un pouco preocupante que non só eles ten os datos, aínda que sexa criptografía, eles tamén teñen a clave. Outras preocupacións? Audiencia: [inaudível] DAVID Malan: Si, é moi true-- os Googles, as mazás, as Microsofts do mundo. E, de feito, hai canto tempo tivo o seu iPhone para? Si, máis ou menos. Audiencia: [inaudível] DAVID Malan: Eu sinto moito? Está entre os que ten un iPhone, non? Audiencia: Si. DAVID Malan: Canto xa tivo o seu iPhone? Audiencia: [inaudível] DAVID Malan: OK, entón Apple literalmente sabe onde estivo cada hora de o día durante os últimos cinco anos. Audiencia: [inaudível] DAVID Malan: Cal é un recurso marabilloso. Audiencia: [inaudível] DAVID Malan: Si, pero trade-off con certeza. Audiencia: [inaudível] DAVID Malan: Si, é moi fácil. Audiencia: [inaudível] DAVID Malan: Outras desvantaxes? Audiencia: [inaudível] DAVID Malan: Absolutely-- tecnoloxicamente, economicamente, é moi atractivo para tipo de gañar estas economías de escala e mover todo o chamado nube. Pero probablemente non quere ir con algúns dos peixes, as amazonas, o Googles, o Microsofts-- Rackspace é moi big-- e outros poucos, e non necesariamente voar por persoas noite para quen é moi fácil de facer este tipo de técnica hoxe en día. E iso é para quen pode pagar US $ 5,99 por mes para. Pero certamente vai obter o que paga. Cando di que [inaudível], que é cando cousas como estas cinco noves vir cara arriba, segundo o cal aínda tecnoloxicamente non podemos garantir 99.999, imos construír en algún tipo da pena ao contrato de xeito que, se isto acontecer, polo menos, hai algún custo para nós, o provedor. E iso é o que faría normalmente ser levalos a aceptar. Audiencia: [inaudível] DAVID Malan: E o unha especie de bendición é que, aínda que ir para abaixo, para instancia, ou mesmo algunhas empresas, a realidade é Amazon, por exemplo, ten tantos clientes danado, clientes ben coñecidos, que operan a partir de determinados centros de datos que cando algo realmente sae mal, como actos de Deus e tempo e tal, se hai calquera tipo de forro de prata, é que está en moi boa compañía. O seu sitio pode estar fóra de liña. Pero así é como a metade Internet popular. E por iso é sen dúbida algo máis palatável para os seus clientes ser máis dunha Internet cousa que unha cousa acme.com. Pero iso é un pouco de unha fraude. Así, en termos de outras cousas para ollar, só para que non descartan outras, se vai para Microsoft Azure, eles ter ambos Linux e cousas de Windows que é comparable ao de Amazon. Se vai a Google Compute Engine, eles teñen algo semellante tamén. E só para completar estas ofertas de nube, Vou facer mención dunha outra cousa. Este é un sitio popular que é representante dunha clase de tecnoloxías. Os Acabamos de falar sobre, Amazon, sería IaaS, Infraestrutura como servizo, onde tipo de hardware físico como un servizo. Hai SaaS. De feito, déixeme anotar estes para abaixo. Infraestrutura IAAS-- Como un servizo, SaaS e Paas, que son siglas moi confusas que describen tres diferentes tipos de cousas. E as propias siglas Realmente non importa. Este é todo o material nube que acabamos falando, o material nivel inferior, o virtualización de hardware e almacenamento no así chamado nube, sexa Amazon, Microsoft, Google ou outro. Software como un serviço-- todos tipo de usar este. Se usa Google Apps a Gmail ou o calendario, calquera destes WEB- aplicacións que 10 anos, tería iconas dobre premendo noso escritorio, software como servizo é agora realmente aplicación web. E plataforma como un Servizo tipo de depende. E un exemplo que eu vou che dar aquí no contexto da nube computing-- hai unha empresa que é moi populares nos días de hoxe, Heroku. E son un servizo, unha plataforma, se quixeren, que roda enriba do infraestrutura de Amazon. E só facelo aínda máis fácil para os desenvolvedores e enxeñeiros para aplicacións web-based on-line. É unha dor, inicialmente, para usar Amazon Web Services e outras cousas. Porque realmente ten coñecer e comprender sobre bases de datos e servidores web e balance de carga e todas as cousas Acaba de falar. Porque toda a Amazon fixo non é oculto estes retos de deseño. Eles acabaron virtualizado los e mover los nun navegador, en software en vez de hardware. Pero empresas como Heroku e outros provedores de Paas, plataforma como servizo, empregan estes fundamentos barebone que acabamos de falar, e máis fácil de construír usar o software enriba dela de xeito que, se quere obter un WEB- solicitude en liña hoxe en día, certamente ten que sabe como programar. Debe saber Java ou Python ou PHP ou Ruby ou unha morea de outras linguas. Pero tamén precisa dun lugar para poñelas. E falamos antes sobre recibindo unha empresa de hospedaxe. Isto é unha especie de como mediados dos anos 2000 visión para a obtención de algo en liña. Hoxe en día pode, en vez pagar alguén como Heroku algúns dólares por mes. E, esencialmente, unha vez que feito algunha configuración inicial, para actualizar o seu sitio web, escriba un comando nunha fiestra. E calquera código que escribiu aquí no seu portátil inmediatamente distribúese a calquera número de servidores na nube. E Heroku encárgase de toda a complexidade. Eles imaxinan todo a base de datos material, todo o balance de carga, todas as dores de cabeza que temos só escrito na tarxeta, e ocultar todo isto para ti. E, en cambio, só paga-los un pouco máis. Entón tes esas infraestruturas como un servizo, plataformas como un servizo, e logo, software como un servizo. É, unha vez máis, este abstracción ou capas. Dúbidas sobre a nube ou construción da propia infraestrutura? Todo ben, iso era moito. Por que non podemos ir adiante e levar a nosa pausa de 15 minutos aquí. Imos volver con algúns novos conceptos e un pouco de hands-on oportunidades antes da noite acabou.