DAVID MALAN: Muy bien, bienvenido de nuevo. Antes de profundizar en la computación en nube, Que pensé en hacer una pausa por un momento si hay cualquier pregunta pendiente o temas que surgieron durante el almuerzo que ahora podría ser de su interés. AUDIENCIA: [inaudible] DAVID MALAN: OK. Oh, está bien. AUDIENCIA: [inaudible] DAVID MALAN: No, por supuesto. OK, bueno espero que la totalidad de su surgen problemas en las próximas horas y mañana todo. Sin embargo, vamos a echar un vistazo, a continuación, en donde la última discusión sobre la configuración de un sitio web conduce, en general cuando se trata de la computación en nube, la creación de una arquitectura de servidor, el tipo de decisiones que los ingenieros y desarrolladores y administradores que hacer cuando se trata de a hacer algo más que la suscripción a un $ 10 por mes de alojamiento web cuando en realidad se quiere construir a cabo su propia infraestructura. Y vamos a tratar de atar esto de nuevo, por ejemplo, para Dropbox y otros como ellos. Así que vamos a empezar a considerar ¿Qué problemas surgen como negocio consigue buenas y buenas surgen problemas. Así, en el caso más simple de tener alguna empresa que tiene un servidor web, que pueda tener, digamos, un servidor que sólo tendremos que extraemos que se parece a esto. Y en estos días, la mayoría de servers-- y dejar en realidad poner una imagen a esta tan que es un poco menos nebuloso. Así rack Dell server-- de vuelta en el día, hay eran los ordenadores centrales que se llevó a cuartos enteros. En estos días, si usted fuera para conseguir un servidor, puede tener un aspecto un poco algo como esto. Los servidores se miden en lo se llaman unidades de rack, o EF. Y una empresa ferroviaria es de 1,5 pulgadas, que es un estándar de la industria. Así que esto se parece a un servidor de dos RU. Por lo que es de 3 pulgadas de alto. Y son generalmente 19 pulgadas de ancho, lo que significa todo esto tipo de cosas está estandarizado. Así que si nos fijamos en un center-- datos no sólo en un servidor, pero vamos a echar un vistazo a Google de centro de datos y ver si ver una buena foto en Google. Esto es mucho mejor de lo que encendió típicamente encontrar, y mucho sexy buscando como resultado. Pero esto es lo que parece ser una pareja cientos de servidores en todo por eso mismo tamaño, En realidad, en los bastidores entren después bastidores entren en un centro de datos. Algo así- Esto bien puede ser de Google, ya que en Google de Google. Pero podría ser representativa de forma más general un centro de datos en la que muchos las empresas están normalmente ubicados conjuntamente. Y co-ubicada generalmente significa que vas a un lugar como Equinix u otros vendedores que tienen grandes almacenes que tienen un montón de energía, un montón de refrigeración, es de esperar mucha seguridad, y jaulas individuales que encierra bastidores de servidores, y que o bien alquilar los bastidores o lograr que los bastidores en. Y las empresas individuales, arranques en especial, tendrá algún tipo de biometría para entrar en su jaula, o una clave, o una tarjeta de acceso. Usted abre la puerta. Y dentro de allí es sólo una huella de pies cuadrados que usted está pagando, en el interior de que se puede poner lo que quieras. Y normalmente paga por la energía. Y que paga por las huellas. Y luego se paga usted mismo para los servidores que está puesta en ese espacio. Y lo que entonces tiene el opción que hacer es pagar a alguien para su conexión a servicios de Internet. Usted puede pagar cualquier cantidad de vendedores, todos los cuales suelen entrar en ese centro de datos. Pero la cuestión es realmente interesante, lo que realmente ocurre en esos bastidores? Se podría muy bien parecerse a lo que acabamos de ver. Pero que realizan diversas funciones y puede ser que necesite para hacer cosas diferentes. Y dejar de realidad motivar a esta discusión con la pregunta de, ¿qué problema comienza a surgir si tiene éxito? Así que tienes un sitio web que se ha construido. Y puede que vende reproductores o algo así. Y que ha estado haciendo muy bien con ventas en línea de widgets. Y se empieza a experimentar algunos de los síntomas, su sitio web. ¿Cuáles podrían ser algunos de los síntomas técnicas que los usuarios reportan como negocio está creciendo y en pleno auge y su sitio web es se beneficia de eso? AUDIENCIA: [inaudible] DAVID MALAN: Sí, exactamente. Lo que podría tener una desaceleración de su sitio web. Y por qué podría suceder? Pues bien, si suponemos, por En aras de la discusión en este momento, que estás en uno de estas empresas de hosting que hemos hablado antes del almuerzo, que pague alguna cantidad de dólares a por mes, y que ya ha pagado el coste anual de su dominio nombre, que es probablemente de alojamiento web overselling sus recursos hasta cierto punto. Lo que podría tener un nombre de usuario y la contraseña en su servidor. Pero lo mismo podría varios otros, o varios docenas de otros, o tal vez incluso varios otros cien, a los usuarios. Y sitios web viven físicamente en el mismo servidor. ¿Por qué es esto posible? Bien en estos días, servidores como esto normalmente tener múltiples unidades de disco duro, tal vez tantos como seis o más unidades de disco duro, cada uno de los cuales pueden ser tanto como 4 terabytes en estos días. Lo que podría tener 24 terabytes de espacio en tan sólo un poco de servidor de esta manera. E incluso si usted roba algo de ese espacio para la redundancia, para fines de copia de seguridad, es todavía un montón de espacio. Y, desde luego, una página web típica no necesita mucho espacio. Sólo se registran usuarios y almacenar registros de órdenes no toma todo lo que mucho espacio. Por lo que puede particionar bastante un poco y dar a cada usuario sólo una pequeña porción de eso. Mientras tanto, un ordenador como esta en estos días típicamente tiene múltiples CPUs-- no sólo una, tal vez dos, tal vez cuatro, tal vez 16, o incluso más. Y cada uno de esos CPUs tiene algo que se llama un núcleo, que es algo así como un cerebro dentro de un cerebro. Así que, de hecho, casi todo el mundo aquí con ordenadores portátiles modernos tienen probablemente un doble núcleo o CPU-- de cuatro núcleos y probablemente sólo dentro de una CPU de un ordenador portátil en estos días. Pero las computadoras de escritorio y equipos de rack como esto podría tener un buen número más CPU, y en los núcleos de giro. Y, francamente, incluso en nuestros Macs y PCs de Hoy en día, usted realmente no necesita dos núcleos o cuatro núcleos para comprobar su correo electrónico. Si hay algún cuello de botella cuando se trata de usar una computadora, que el ser humano es probablemente el Lo más lenta sobre ese equipo. Y no vas a ser capaz de consultar su correo electrónico más rápido si tienen cuatro veces el número de CPUs o núcleos. Pero la misma es una especie de verdad de un servidor. Un sitio web no solo podría necesariamente se necesita más de una CPU o un núcleo, una cerebro pequeño en el interior haciendo todo el pensamiento y el procesamiento. Así que los fabricantes tienen de manera similar comenzado a cortar a esos recursos por lo que tal vez su sitio web recibe una núcleo, la Página Web atrae un núcleo, o tal vez estamos compartiendo un tal núcleo. También estamos compartiendo espacio en disco. Y también estamos compartiendo memoria RAM, o memoria de acceso aleatorio de antes, de los cuales también hay una cantidad finita. Y esa es la clave. No importa qué tan caro el equipo era, todavía hay un número finito cantidad de recursos en el mismo. Y así, la cada vez más se tratar de consumir esos recursos, las cosas más lentas podrían llegar a ser. ¿Pero por qué? ¿Por qué las cosas más despacio como una síntoma de un servidor sobrecargado? ¿Que está pasando? AUDIENCIA: [inaudible] DAVID MALAN: Sí, exactamente. He propuesto anteriormente que RAM es un tipo de memoria. Es volátil, por lo que es donde las aplicaciones y los datos son almacenada cuando están siendo utilizados. Y por lo tanto no hay sólo un número finito de cosas que puede hacer parecer a la vez. Y también es más rápido, Lo que es algo bueno. Pero también es más caro, que es una mala cosa. Y también es, por tanto, presente en menor cantidades que el espacio en disco, disco duro espacio, que tiende a ser más barato. En otras palabras, podría tener 4 terabytes de espacio en disco en su computadora. Sin embargo, es posible que tenga 4 gigabytes, o 64 gigabytes, en orden de magnitud, un factor de 1.000 menos de su RAM en su ordenador. ¿Qué hace una computadora? Bien, supongamos que usted no tener 64 gigabytes de RAM en un servidor de esta manera, que sería bastante común, si no baja estos días. Pero supongamos que tiene tantos los usuarios que hacen tantas cosas que clase de tipo de necesitará 65 gigabytes de memoria para manejar todo eso uso simultáneo? Bueno, usted podría decir: Lo sentimos, cierto número de usuarios simplemente no puede acceder al sitio. Y esa es la medida de última instancia, sin duda. O bien, como el operativo sistema, como el Windows o Mac OS o Linux o Solaris o cualquier número de otros sistemas operativos en ese servidor, podría simplemente decidir, ¿sabes qué? Sólo tengo 64 gigabytes de memoria RAM. Yo como que necesito 65. Así que ya saben qué? Voy a tomar de 1 gigabyte el valor de los datos en la RAM que era lo menos se ha accedido recientemente y sólo se mueven en el disco temporalmente, literalmente, copiarlo del rápido memoria a la memoria más lenta de manera que entonces puedo manejar eso 65ª necesidad gigabyte de memoria, hacer algún cálculo sobre el mismo. Luego, cuando he terminado de hacer eso, Voy a la moción de que en el disco, mover esa otra memoria RAM que poner temporalmente en el disco nuevo en el hardware real de modo que yo soy una especie de multitarea. Así que estoy especie de poner las cosas temporalmente en este espacio más lento por lo que se crea la ilusión de manejar todos. Pero hay una desaceleración. ¿Por qué? Pues bien, en el interior de estos duros Discos de estos días es qué? Más bien, lo que hace que un disco unidad diferente de la RAM lo mejor que sabe ahora? AUDIENCIA: [inaudible] DAVID MALAN: OK, es cierto. AUDIENCIA: [inaudible] DAVID MALAN: Así que es muy cierto. Y eso es un efecto secundario o característica el hecho de que la memoria RAM es de hecho más rápido. Y por lo tanto desea utilizarlo para su uso actual. Y un disco es más lenta. Pero es permanente o no volátil. Así que lo utilizan para el almacenamiento a largo plazo. Pero en términos de aplicación, si miro hacia arriba lo que se llama un módulo DIMM, memoria dual en línea Módulo, esto es lo que un trozo de memoria RAM normalmente podría ser similar. Así que dentro de nuestra Mac-- que es un insecto. Dentro de nuestros Macs y PCs de escritorio, nuestra computadoras tendrían cartuchos de memoria, como se puede llamar, o módulos DIMM o SIMM vuelta en el día, de la memoria que se parecen a esto. Nuestros ordenadores portátiles probablemente tienen cosas que son un tercio del tamaño o la mitad del tamaño. Son un poco más pequeño, pero el mismo pequeño idea-- piezas de silicio verde oblea o plástico que tiene pequeñas fichas negras en ellos con mucha de los cables de interconexión todo. Es posible que tenga un montón de estos en el interior de su ordenador. Pero la comida para llevar es aquí es totalmente electrónica. Sólo hay electrones que fluye en este dispositivo. Por el contrario, si miramos el interior de un disco duro y tire hacia arriba una imagen aquí, lo haría en su lugar ver algo como esto, que sí tiene electricidad en última instancia, a través de él. Pero lo que también salta a la vista a usted acerca de esta cosa? AUDIENCIA: [inaudible] DAVID MALAN: Sí, hay al parecer, las piezas en movimiento. Es algo así como un viejo disco jugador o jugador fonógrafo. Y es más o menos. Es un poco más elegante que que- mientras que un jugador fonógrafo utilizado ranuras en el registro, en realidad esto utiliza partículas magnéticas pequeñas diminutas que no podemos ver bien. Pero si un poco de partículas magnéticas se parece a esto, se considera un 1. Y si se ve como este, norte-sur en lugar de sur a norte, que podría ser un 0. Y veremos mañana cómo podemos construir de ahí a las cosas más interesantes. Pero todo lo que es tiene que mover físicamente seguramente va a ir más lento que la velocidad de la luz, que en teoría es lo un electrón podría fluir a, aunque no del todo realista. devices-- de manera mecánica mucho más lento. Pero son más baratos. Y usted puede caber tanto más datos dentro de ellos. Así que el hecho de que hay que existe en el mundo algo llamada memoria virtual, el uso de un disco duro como éste como si fuera RAM transparente para el usuario, simplemente mediante el movimiento de datos desde la RAM en el disco duro, a continuación, moviéndolo hacia atrás cuando se necesita otra vez, crea la desaceleración. Debido a que tiene literalmente copiarlo de un lugar a otro. Y lo que estás copia a traves de es en realidad más lenta que la RAM donde quiera que sea. La solución alternativa aquí-- si no te gusta que reducir la velocidad, y la memoria virtual es clase de ser sobrecargado, ¿Cuál es otra solución a este problema? AUDIENCIA: [inaudible] DAVID MALAN: Bueno, el aumento de la memoria virtual que hagamos esto en una escala aún mayor. Podríamos manejar 66 gigabytes de las necesidades de memoria, o 67 gigabytes. Pero supongo que no me gusta esta desaceleración, de hecho Quiero desactivar virtuales memoria si eso es posible, ¿Qué más podía lanzar en este problema para resolverlo, donde quiero manejar más usuarios y más requisitos de memoria que tengo físicamente en este momento? AUDIENCIA: [inaudible] DAVID MALAN: Desafortunadamente no. Por lo que la CPU y los núcleos de Son en son un recurso finito. Y no hay análogo en ese contexto. Buena pregunta, sin embargo. Así que para ser claro, también, si dentro de este equipo es, digamos, un palo de memoria RAM que se ve así- y así lo vamos a llamar esta memoria RAM. Y aquí es la unidad de disco duro. Y sólo voy a llamar esta pictóricamente como un pequeño círculo. Hay de 0 y 1 de en ambos these-- de datos, vamos a generalizar como. Y, esencialmente, si un usuario es ejecutar una aplicación como, digamos, un sitio web que requiere este la cantidad de RAM por usuario, lo que estoy proponiendo, por medio de esta cosa llamada memoria virtual, es mover solo temporalmente que por aquí por lo que ahora puede mover la memoria de otra persona requisitos allí. Y luego, cuando se hace eso, Puedo copiar este por encima del y esto va aquí, moviendo con ello lo que quería en ese país a otro sitio en conjunto. Así que hay sólo un montón de switcheroo, es la comida para llevar aquí. Así que si no te gusta esto, y no lo hace quiere poner nada en el disco duro, lo que es una especie de lo obvio La solución de la persona de negocios al problema, o el ingeniero de solución, para el caso, también? AUDIENCIA: [inaudible] DAVID MALAN: Sí, quiero decir, literalmente, tirar el dinero en el problema. Y, de hecho, esta es la perfecta segue a algunos de nivel superior discusiones de la computación en nube. Debido a que muchos de ellos está motivado por las decisiones financieras, ni siquiera necesariamente tecnológico. Si 64 gigas de RAM es demasiado poco, bueno, por qué no obtener 128 gigabytes de memoria RAM? Por qué no conseguir 256 gigabytes de memoria RAM? ¿Bueno, por qué no? AUDIENCIA: [inaudible] DAVID MALAN: Bueno, cuesta más dinero, claro. Y si ya tiene repuesto espacio en el disco duro, de manera efectiva, o equivalentemente, espacio en disco duro es tan mucho más barato que también podría utilizarlo. Así que de nuevo, hay una compensación que vimos aún más temprano en la mañana, donde no hay realmente necesariamente una respuesta correcta, sólo hay una respuesta mejor o peor en base a lo que realmente importa. Así también hay realidades tecnológicas. No puedo comprar un ordenador, que yo sepa, con un billón de gigabytes de RAM en este momento. Es sólo físicamente no existe. Así que hay una cierta cota superior. Pero si alguna vez has incluso hizo compras para un consumidor Mac o PC, también, generalmente hay esta curva de características en las que podría ser una buena, una mejor y un mejor equipo. Y los rendimientos marginales en su compra de dólares el mejor equipo frente el mejor equipo podría no ser tan alta como pasar un poco más de dinero y conseguir el mejor equipo sobre el buen ordenador. En otras palabras, está pagando una prima para obtener la parte superior de la línea. Y lo que veremos en el discusión de la computación en nube es que lo que es muy común en estos días, y lo que compañías como Google popularizado desde el principio, no estaba prestando para la construcción y realmente de lujo, caros trucados ordenadores con una montones y montones de todo, sino más bien la compra o construcción de bastante equipos modestos, pero muchos de ellos, y el uso de algo que es generalmente llamada escala horizontal en vez de la escala vertical. Así escalado vertical significaría obtener más RAM, disco más, más de todo, y una especie de invertir verticalmente en su hardware por lo que acaba de entrar el mejor de los mejores de los mejores, pero que está pagando por ello. la escala horizontal es una especie de obtener el cosas grada inferior, el buen modelo, o incluso el peor modelo, pero conseguir un montón de ellos. Pero tan pronto como se obtiene gran cantidad de ellos-- por ejemplo, en este caso, servidores web, si un servidor o un sitio de acogida es insuficiente, a continuación, sólo intuitivamente, la solución a este problema de carga o sobrecarga de los servidores es o bien conseguir un servidor más grande o, lo que estoy proponiendo aquí en vez de escalar verticalmente por así decirlo, sería, ¿sabes qué? Acaba de obtener una segunda de éstas. O tal vez incluso obtener una tercera. Pero ahora que hemos creado un problema de ingeniería por la naturaleza de este negocio o decisión financiera. ¿Cuál es el problema de ingeniería ahora? AUDIENCIA: [inaudible] DAVID MALAN: Sí, ¿cómo hacer conectarlos y- lo siento? AUDIENCIA: [inaudible] DAVID MALAN: Derecha, porque todavía tener-- si yo me reintroducir en esta imagen, si este es mi ordenador portátil en alguna parte en el Internet, que ahora está entre la compañía y yo estamos hablando, ahora tengo que averiguar, a la que servidor puedo enviar este usuario en particular? Y si hay otros usuarios, como esto, y entonces éste por aquí, y tal vez este es el usuario A, este es el usuario B, este es el usuario C, y este es el servidor 1, 2, y ahora 3-- una respuesta intuitiva podría ser justo aquí, se entregará al usuario A 1 y B a 2 y C a 3. Y podemos manejar 3 veces el número de usuarios. Pero eso es una simplificación excesiva. ¿Cómo se decide quién enviar dónde? Así que vamos a tratar de razonar a través de este. Así que supongamos que los ordenadores A, B, y C son clientes, y servidores de 1, 2, y 3 son horizontalmente reducido servidores. Por lo que son una especie de idéntica. Todos están ejecutando el mismo software. Y que pueden hacer la misma cosa. Pero la razón por la que tenemos tres de ellos es por lo que podemos manejar tres veces el número de personas a la vez. Por lo que sabemos de nuestra discusión antes del almuerzo que hay hardware entre los ordenadores portátiles y los servidores. Pero sólo tendremos que tipo de generalizar que ahora, como Internet o la nube. Pero sabemos que en mi casa, es probable que haya un router en casa. Cerca de los servidores, es probable que haya un router, servidor DNS, DHCP. No puede haber nada que queremos en esta historia. Entonces, ¿cómo empezar a decidir, cuando el usuario A va a something.com, qué servidor para encaminar al usuario? ¿Cómo podemos empezar a contar esta historia? PÚBLICO: El equilibrio de carga? DAVID MALAN: El equilibrio de carga. ¿Qué quieres decir con eso? AUDIENCIA: Volviendo donde el uso es más y la que se tiene la la mayoría de los recursos disponibles. DAVID MALAN: OK, así que permítanme introducir un nuevo tipo de hardware que todavía no hemos discutido, el cual es exactamente eso, un equilibrador de carga. Esto también podría ser sólo un servidor. Podría ser exactamente igual la que vimos hace un momento. Un equilibrador de carga es muy sólo una pieza de software que se ejecuta en una pieza de hardware. O se puede pagar a un vendedor, como Citrix u otros, Cisco u otros. Usted puede pagar por su propio hardware, que es un equilibrador de carga de hardware. Pero eso sólo significa que pre-instalado el equilibrio de carga software en su hardware y vendió a todos ustedes juntos. Por lo que sólo tendremos que dibujar como una rectángulo para nuestros propósitos. ¿Cómo ahora puedo implementar un equilibrador de carga? En otras palabras, cuando el usuario A quiere visite mi sitio, de alguna manera su solicitud u otro, probablemente por medio de las routers que hablamos anteriormente, va a llegar, finalmente, este equilibrador de carga, que luego tiene que tomar una decisión de enrutamiento-similares. Pero ha de encaminamiento para ordenar de un propósito más alto ahora. No se trata sólo de conseguir desde el punto A al punto B. Se trata de decidir qué el punto B es el mejor entre ellos-- 1, 2, o 3 en este caso. Entonces, ¿cómo puedo decidir si ir a 1, a 2, a 3? ¿Cómo sería esta caja de negro, por lo que hablar, estar haciendo en el interior? Esto también es otro ejemplo en el ciencias de la computación de la abstracción. literalmente, he dibujado un equilibrador de carga como un cuadro negro en tinta negro, en el interior de los cuales es un poco interesante lógica, o la magia, incluso, de los cuales tiene que venir una en decisión 1, 2, o 3. Y la entrada es sólo A. AUDIENCIA: [inaudible] DAVID MALAN: Lo siento? AUDIENCIA: [inaudible] DAVID MALAN: Muy bien, ¿cómo podemos categorizar los tipos de transacciones ¿aquí? AUDIENCIA: la visualización de una página web frente a la consulta de una base de datos. DAVID MALAN: OK, eso es bueno. Así que tal vez este usuario A quiere ver una página web. Y tal vez es incluso contenido estático, algo que cambia rara vez, o nunca. Y que parece una operación bastante simple. Así que tal vez sólo tendremos que forma arbitraria, pero razonablemente, por ejemplo, el servidor 1, su propósito en la vida es que acaba de servir contenido estático, archivos que rara vez, o nunca, el cambio. Tal vez sea las imágenes de la página. Tal vez sea el texto de la página o otros tal tipo de cosas sin interés, transaccional nada, nada dinámico. Por el contrario, si el usuario A está comprobando fuera de su carrito de la compra que requiere una base de datos, un lugar para almacenar y recordar que la transacción, así tal vez esa solicitud debe ir al servidor 2. Y eso es bueno. Así que podemos carga basado en el equilibrio del tipo de peticiones. ¿Cómo más podemos hacer esto? Qué otro-- AUDIENCIA: Basado en el servidor de utilización y capacidad. DAVID MALAN: Derecha, Aceptar. Así que usted ha mencionado anteriormente que, Kareem. Entonces, ¿qué si proporcionamos alguna entrada en [inaudible] entre los servidores de 1, 2, y 3 de este equilibrador de carga de manera que sólo están constantemente informando el equilibrador de carga lo que es su estado? Al igual que, bueno, equilibrador de carga, Estoy en la utilización del 50%. En otras palabras, no tengo la mitad de los usuarios como realmente puedo manejarme en este momento. Hey, equilibrador de carga, estoy al 100% de utilización. Hey, equilibrador de carga, 0% de utilización. El equilibrador de carga, si es diseñado de una manera que puede tomar en esos comentarios como entrada, se puede entonces decidir, ooh, el número 2 está al 100%. Permítanme no enviar solicitudes futuras a él aparte de los usuarios ya conectados. Este tipo es del 0%. Vamos a enviar una gran cantidad de tráfico a él. Este hombre dijo que está en el 50%. Vamos a enviar algo de tráfico a él. Así que sería un ingrediente, que podríamos tomar en cuenta la carga. Y que va a cambiar con el tiempo. Así que las decisiones van a cambiar. Así que esa es una muy buena técnica, uno que se utiliza habitualmente. ¿Qué más podriamos hacer? Y vamos a resumir en realidad sólo aquí. Por lo tanto las decisiones que aquí podrían ser por tipo de tráfico, lo llamaré. Puede estar basada en la carga. Vamos a ver si no podemos subir con algunos otros. AUDIENCIA: [inaudible] DAVID MALAN: Ubicación. Así que es una buena idea. Así ubicación: ¿cómo podría aprovechar esa información? AUDIENCIA: [inaudible] DAVID MALAN: Oh, eso es bueno. Y sobre el número de milisegundos sería disminuir por en base a lo que vimos este mañana, le diría? AUDIENCIA: [inaudible] DAVID MALAN: Bueno, basada en las rutas de rastreo hemos visto anteriormente, que es justo una medida aproximada de algo, al menos el tiempo que tarda para los datos para llegar de A a B se siente como algo local era, lo que, como 74 milisegundos, más o menos? Y luego nada 100 más, 200 más probablemente en el extranjero. Y así, en base a que por sí sola, parece razonable suponer que para un usuario en los EE.UU. acceder a un servidor Europea podría tomar dos o tres veces siempre, incluso en milisegundos, de lo que podría tomar en caso de que servidor se encuentra aquí geográficamente, o viceversa. Así que cuando me propuse anterior que especialmente Una vez que cruce que 200 milisegundos umbral, más o menos, los seres humanos empiezan a notar. Y el trazado de ruta es simplemente suponiendo, datos sin interés primas. Cuando usted tiene un sitio web, usted tiene que conseguir que el usuario la descarga de imágenes o películas archivos, gran cantidad de texto, las solicitudes posteriores. Vimos cuando visitamos, lo que era que, Facebook o Amazon anterior, hay un montón de cosas que necesita ser descargado. Así que va a sumar. Así multi-segundos podría No sería razonable. Así que bueno, la geografía es uno de los ingredientes. Por lo tanto en las empresas como de hecho Akamai, si has oído hablar de ellos, o que otros han considerado durante mucho tiempo geografía en cuenta. Y resulta que por la naturaleza de una dirección IP, la dirección IP de mi ordenador portátil, se puede inferir, con cierta probabilidad, en qué parte del mundo. Y, de hecho, no hay Servicios de terceros le puede pagar que mantienen bases de datos de direcciones IP y geografías que con alta confianza será cierto cuando se le preguntó, en qué lugar del mundo es esta dirección IP? Y así, de hecho, lo otras empresas utilizan esto? Si usted tiene Hulu o Netflix, si ¿Alguna vez has estado viajando en el extranjero, y intenta ver algo en Hulu, y usted no está en los EE.UU., es posible que aparezca un mensaje decir, no en los EE.UU.. Lo sentimos, no puedes ver este contenido. AUDIENCIA: [inaudible] DAVID MALAN: ¿En serio? Pero sí, lo que en realidad eso es una aplicación perfecta de algo muy técnico a un problema real. Si se va a VPN desde Europa o Asia o en cualquier lugar en el mundo para su corporativo sede central en Nueva York o donde quiera que estés, eres va a crear la apariencia a sitios web externos que en realidad estás en Nueva York, a pesar de que eres físicamente bastante lejos. Ahora que el usuario va a sabe que está obviamente lejos. Pero también se va a sentir porque de esos milisegundos adicionales. Esa distancia adicional y la cifrado que está sucediendo en la VPN se va a retrasar las cosas. Por lo que pueden o no pueden será una gran experiencia. Sin embargo, Hulu y Netflix van a ver que como sentarse en algún lugar de Nueva York, como se haya claridad obtenida. Lo que es una perfecta solución para eso. Muy bien, por lo que la geografía es una decisión. ¿Qué más podríamos utilizar para decidir cómo para enrutar el tráfico de la A, B, y C a 1, 2, y 3, de nuevo, poner el sombrero de la ingeniería en? Todo esto suena muy complicado. Uh, yo no sé ni por dónde para comenzar a implementar esos. Dame algo que es más simple. ¿Cuál es la forma más sencilla para tomar esta decisión? AUDIENCIA: ¿Está disponible el servidor? DAVID MALAN: ¿Está disponible el servidor? Así que no está mal. Eso es bueno. En cierto modo es una matización de carga. Así que vamos a mantener que en la categoría de carga. Si está disponible, sólo soy va a enviar los datos allí. Pero eso podría ser contraproducente rápidamente. Porque si uso esa lógica, y si Siempre pregunte a 1, está usted, ¿está usted en, está usted, si la respuesta es siempre sí, Voy a enviar 100% del tráfico a él, 0% a todos los demás. Y en algún momento, vamos a golpear que la desaceleración o no está disponible el sitio. Entonces, ¿qué es un poco mejor que que pero todavía bastante simple y no es tan inteligente como teniendo todos estos datos adicionales en cuenta? AUDIENCIA: Coste por servidor. DAVID MALAN: Coste por servidor. OK, así que me muevo que en la categoría de carga, también. Debido a lo que encontrará en una empresa, también-- que si actualizar sus servidores con el tiempo o comprar más, puede que no sea capaz de obtener exactamente las mismas versiones de hardware. Porque cae fuera de fecha. No se puede comprar más. Los precios cambian. Lo que podría tener servidores dispares en el clúster, por así decirlo. Eso es totalmente bien. Pero el hardware del próximo año podría ser el doble de rápido, dos veces tan capaz como la de este año. Así que podemos tirar de que en la categoría de carga. Este bucle de retroalimentación entre 1, 2 y 3 en el equilibrador de carga Ciertamente se podría decir que, Hey, estoy en capacidad de 50%. Pero por cierto, también tener el doble de núcleos. Utilizar esa información. Incluso simpler-- y esto va siendo un tema de la informática. En caso de duda, o cuando se desea un simple solución que generalmente funciona bien con el tiempo, no elija la misma servidor todo el tiempo, pero choose-- AUDIENCIA: al azar? DAVID MALAN: --un servidor aleatorio. Sí, elegir uno u otro. Así aleatoriedad es en realidad este ingrediente muy potente en ciencias de la computación, y en la ingeniería más en general, especialmente cuando se desea para tomar una decisión sencilla rápida sin complicar con todo de ellas muy inteligente, pero también muy inteligentes, soluciones que requieren aún más la ingeniería, todo cuanto más pensamiento, cuando Realmente, ¿por qué no me sólo un poco de lanzar una moneda, o una tres caras de la moneda, en este caso, y decidir si ir 1, 2, 3? Eso podría ser contraproducente probabilísticamente, pero al igual que las probabilidades en el lanzamiento de la cabeza de nuevo y una y otra y otra vez y una y otra vez que es posible en reality-- súper, súper poco probable. Así que con el tiempo, las probabilidades son simplemente enviar a los usuarios al azar a 1, 2 y 3 se va a trabajar perfectamente bien. Y esta es una técnica generalmente conocido como round robin. O en realidad, eso no es round robin. Este sería el enfoque aleatorio. Y si quieres ser aún un poco más simple que eso, round robin sería, en primer persona va a 1, segunda persona para 2, tercera persona a 3, cuarta persona a 1. Y ahí está el round robin. Usted sólo tipo de giras en un ciclo. Ahora, usted debe ser inteligente al respecto. Usted no debe enviar al usuario a ciegas Número de servidor de uno si lo es el caso? Si es en la capacidad máxima, o es simplemente ya no responden. Así que lo ideal es que quiere un poco tipo de bucle de realimentación. De lo contrario, simplemente envía todo de sus usuarios a un callejón sin salida. Pero eso puede ser tenido en cuenta, también. Así que no se apreciarán por debajo del valor de acaba de aleatoriedad, que es muy a menudo una solución a este tipo de problemas. Y vamos a escribir abajo round robin. Entonces, ¿cómo poner en práctica algunas empresas round robin o aleatoriedad o cualquiera de estas decisiones? Bueno, por desgracia, hacer cosas como esta. Déjame sacar otra captura de pantalla rápido. En realidad, vamos a hacer dos. No sé por qué estamos conseguir todos estos platos. Eso es muy extraño. Está bien, lo que realmente es una captura de pantalla que desee. Eso es raro. Muy bien, así que puede suplantar esto. No sé cuánto más lejos Quiero mantener el desplazamiento. Así que con mucha frecuencia, se encontrará en una dirección como www.2.acme.com, tal vez www.3 o 4 o 5. Y mantener un ojo para esto. Usted no lo ve tan a menudo. Pero cuando lo hace, es como que tiende a ser más grande, más viejo, empresas stodgier que en realidad no tecnológicamente parecen saber lo que están haciendo. Y ve esto en las empresas de tecnología A veces, los de mayor edad. Entonces, ¿qué están haciendo? ¿Cómo están implementando balanceo de carga, ¿os parecería? Si usted se encuentra como el www.something.com usuario escribir, y de repente estás en www.2.something.com, lo que tiene su carga equilibrador probablemente hecho? AUDIENCIA: [inaudible] DAVID MALAN: Sí, por lo que la equilibrador de carga es de suponer tomar una decisión basada en una de éstos haciendo processes-- decisión en realidad no importa cuál. Pero al igual que he dibujado la números en el tablero aquí, los servidores no son sólo llamada 1, 2, y 3. Probablemente están llamados www1, www2, www3. Y resulta que en el interior de una petición HTTP es esta característica. Y yo voy a simular este como sigue. Voy a abrir esa misma pestaña red de desarrolladores que antes solo para que podamos ver lo que está pasando de debajo del capó. Voy a limpiar la pantalla. Y voy a ir, vamos a decir, http://harvard.edu. Ahora por cualquier razones de negocios, Harvard ha decidido, como muchos, muchos otros sitios web, estandarizar su sitio web en www.harvard.edu tanto para la técnica y las razones de marketing. Es sólo en el tipo de de moda para tener la www. Por lo que el servidor de la Universidad de Harvard tiene para redirigir de alguna manera el usuario, como sigo diciendo, desde una URL a la otra. ¿Cómo funciona? Bueno, déjame ir por delante y pulsa enter. Y observe la URL de hecho rápidamente cambiado a www.harvard.edu. Déjame desplazarse hacia atrás en este historia y haga clic en este depuración información de diagnóstico, si se quiere. Quiero ver a mi petición. Así que aquí está la solicitud que hice. Y note que es consistente con el tipo de la solicitud que hice de Facebook antes. Pero note la respuesta. Lo que es diferente en la respuesta esta vez? AUDIENCIA: [inaudible] DAVID MALAN: Sí, así que no es un 200 OK. No es un 404 Not Found. Es un 301 Movido permanentemente, lo cual es una especie de una manera divertida de decir, Harvard ha subido y se trasladó en otros lugares para www.harvard.edu. Los 301 significa que esto es una redirección. Y donde el usuario debe parecer ser redirigido? Hay un dato adicional de información dentro de ese sobre. Y cada una de estas líneas ahora empieza a llamar a una cabecera HTTP. Cabecera es sólo un valor de clave pair-- algo de colon algo. Es una pieza de información. ¿Dónde está el nuevo ubicación parecer ser? Observe la última línea entre todas aquellas cabeceras. AUDIENCIA: [inaudible] DAVID MALAN: Sí, por lo que hay Información Adicional. La primera línea que He destacado 301 Moved dice de forma permanente. Bueno, dónde les ha movido? La última line-- y no lo hacen tiene que ser en este orden. Puede ser aleatorio. Ubicación de colon significa, hey navegador, vaya a esta dirección URL en su lugar. Así navegadores entienden redirecciones HTTP. Y este es un muy, muy forma común de rebote el usuario de un lugar a otro. Por ejemplo, si usted ha intentado alguna vez para visitar un sitio web que no está iniciado sesión en, puede encontrarse de repente usted mismo en una nueva dirección URL completo siendo se le pide que ingrese. ¿Cómo funciona? El servidor es, probablemente, el envío de un 301. También hay otros números, como 302, algo diferente en el significado, que envíe a otra dirección URL. Y a continuación, el servidor, una vez que haya entrado en el sistema, le enviará de vuelta al lugar donde en realidad se pretende. Entonces, ¿qué, entonces, son pobremente sitios web de ingeniería haciendo? Cuando visites www.acme.com, y que sólo sucede que tiene el nombre de sus servidores www1, www2, www3, y así sucesivamente, que son muy simply-- que es justo, pero muy tipo de foolishly-- que volver a dirigir a un servidor de realidad diferente nombre. Y funciona perfectamente bien. Es agradable y fácil. Hemos visto cómo sería hecho debajo de la campana en el sobre virtual. Pero ¿por qué es esto posiblemente una mala decisión de ingeniería? Y ¿por qué estoy especie de condescendencia hacia este particular de la ingeniería ¿enfoque? Argumentar por qué esto es malo. Ben? AUDIENCIA: [inaudible] DAVID MALAN: Cada servidor tendría que tener un duplicado de la página web. Estoy bien con eso. Y de hecho, eso es lo que soy suponiendo para toda esta historia, ya que si bien wanted-- de hecho, a excepción de Dan antes de sugerencia, en la que si usted tiene diferentes servidores de hacer las cosas diferentes, a continuación, tal vez ellos podrían ser en realidad funcionalmente hacer las cosas diferentes. Pero incluso entonces, en algún momento, su base de datos va a sobrecargarse. Su estática del servidor activos va a sobrecargarse. Por lo tanto, en algún momento, estamos de vuelta en esta historia, en la que necesitará varias copias de una misma cosa. Así que estoy de acuerdo con eso. AUDIENCIA: [inaudible] DAVID MALAN: OK, por lo que algunas páginas podría ser desproporcionadamente popular. Y así fijarse en una dirección no es necesariamente lo mejor. [INAUDIBLE]? AUDIENCIA: [inaudible] DAVID MALAN: ¿Qué quiere decir con eso? AUDIENCIA: [inaudible] DAVID MALAN: Sí, exactamente. Por lo que no quiere necesariamente que sin duda tener-- no quieren que sus usuarios escribir manualmente en www1 o www2. Desde una perspectiva de marca, se sólo se ve un poco ridículo. Si lo que desea es una especie de limpio, elegante experiencia, que tiene este tipo de azar URL numeradas realmente no es bueno. Porque entonces los usuarios son, sin duda va a copiar y pegar en correos electrónicos o mensajes instantáneos. Ahora se están propagando. Ahora que estás tipo de confundir su menos audiencia técnica, que piensa su dirección web es www2.something.com. No hay ninguna semántica de peso para ello. Que sólo pasa a ser un subyacente detalles técnicos que usted tiene numerada sus servidores de esta manera. Y lo que es peor, ¿y si, por ejemplo, tal vez alrededor de la época de Navidad, cuando negocio está realmente en auge, tienes www1 través www99, pero en enero y febrero y en adelante, se apaga la mitad de los por lo que sólo tiene www1 través www50? ¿Cuál es la implicación de que ahora decisión de negocios muy razonable? AUDIENCIA: [inaudible] DAVID MALAN: Es necesario gestionar todos los que siguen. AUDIENCIA: [inaudible] DAVID MALAN: Exactamente. Eso es una especie de la captura allí. Si sus clientes están en el hábito de bookmarking cosas, envío por correo electrónico, simplemente ahorro de la URL en alguna parte, o si es sólo en su auto completar en su navegador para que estén no es realmente escribiendo intencionalmente, es simplemente pasando, podrían, durante 11 meses al año efectivamente, llegar a un callejón sin salida. Y sólo el más astuto de los usuarios se van a dar cuenta, tal vez debería manualmente suprimir este número. Quiero decir, simplemente no va a suceder con muchos usuarios, por lo malos para los negocios, mala aplicación de ingeniería inteligente. Así que por suerte, no es ni siquiera necesario. Resulta que lo equilibradores de carga pueden hacer es en lugar de decir, cuando A realiza una request-- ey A, vaya a 1. En otras palabras, en vez del envío de ese redireccionamiento de tal manera que el paso uno en este es el proceso de ir aquí, A continuación, se le dice que ir a otro lugar. Y así el paso tres es decir, que va a otra parte. En su lugar puede seguir la ruta, a seguir usando ese término, todos los datos de una a través del equilibrador de carga de modo que él nunca los contactos 1, 2, 3 o directamente. Todo el tráfico tiene "enviados" por el equilibrador de la carga en sí. Y por lo que ahora estamos especie de borrando deliberadamente las líneas Entre estos diversos dispositivos. Un equilibrador de carga puede enrutar datos. Es sólo una función que tiene. Por lo que un equilibrador de carga, también, es una pieza de software, de verdad. Y un router es una pieza de software. Y usted puede tener absolutamente dos piezas de software dentro de de un equipo físico por lo que una carga equilibrador puede hacer estas cosas múltiples. Así que hay otra manera para hacer esto, que en realidad se remonta a la clase de primeros principios de DNS, lo que nos referimos antes de las vacaciones. DNS Sistema de Nombres de Dominio. Recuerde que puede pedir a un servidor DNS, lo que es la dirección IP del google.com, facebook.com? Y que realmente podemos hacer esto. Una herramienta que no usamos anterior es uno que es tan accesible, denominada nslookup, para la búsqueda de servidor de nombres. Y yo sólo voy a escribir facebook.com. Y veo que la propiedad intelectual de Facebook Dirección aparentemente es esto. Déjame ir por delante y copiar que, ir a un navegador, y vaya a http: // y que dirección IP y pulse Enter. Y, efectivamente, parece que funciona. Ahora trabajando hacia atrás, lo que era dentro de la envolvente virtual que respondió con Facebook cuando Visité que aborda directamente IP? Debido aviso, ¿dónde estoy ahora? ¿Dónde estoy ahora, la dirección? AUDIENCIA: [inaudible] DAVID MALAN: En la versión segura, y en el www.facebook.com. Así que no es incluso sólo la dirección IP segura. Facebook ha tomado sobre sí mismo decir, esto es ridículo. No vamos a mantenerlo en este URL fea apariencia que es numérico. Vamos a enviar un HTTP redirigir a través de la misma cabecera que vimos antes-- ubicación algo colon. Y así, esto simplemente significa que por debajo el capó sigue siendo esta dirección IP. Cada ordenador en Internet tiene una dirección IP, lo que parece. Pero no necesariamente tiene para exponer que para el usuario. Y al igual que en su día, hay Fue 1-800-COLLECT, 1-800-C-O-L-L-E-C-T, en los EE.UU., era una forma de hacer a cobro revertido llamadas a través de un teléfono muy fácil de recordar número, o al 1-800-Mattress para comprar una cama, y mnemotécnicos similares que incluso se ven en el teléfono tipo de especie de todavía, que las letras se asignan a los números. Ahora, ¿por qué? Bueno, es mucho más fácil de memorizar 1-800-colchón o al 1-800-COLLECT vez de 1-800 algo algo algo algo algo algo algo, donde cada de los que es un dígito. Del mismo modo, el mundo aprendió rápidamente que no debemos tienen gente memoriza las direcciones IP. Eso sería una tontería. Vamos a utilizar los nombres de lugar. Y es por eso nació DNS. Muy bien, así que con eso dijo, en términos de equilibrio de carga, vamos a tratar de yahoo.com. Bueno, eso es interesante. Yahoo parece estar regresando tres direcciones IP. Así inferir de esto, si pudiera, lo que es Otra forma en que podríamos aplicar esta noción de equilibrio de carga tal vez incluso sin utilizar un examen físico dispositivo, este nuevo dispositivo físico? En otras palabras, ¿puedo quitar el financiación que tiene para el equilibrador de carga y le dirá a utilizar algunas existente pieza de hardware para implementar esta noción de equilibrio de carga? Y el alerón es, Sí, pero ¿qué, o cómo? ¿Qué es Yahoo quizás haciendo aquí? Kareem? OK, Chris? AUDIENCIA: [inaudible] DAVID MALAN: Sí, todo tres de los trabajos. Así aleatoriedad, round robin, ubicación: sólo se puede aprovechar una pieza existente del rompecabezas que hemos hablado antes del DNS sistema y simplemente decir, cuando la primera usuario del día solicita yahoo.com, darles la primera dirección IP, como el que se termina en 45 hasta allí. Y la próxima vez que un usuario solicita la dirección IP del yahoo.com desde algún lugar del mundo, darles el segundo IP, entonces la tercera IP, entonces el primera IP, entonces el segundo. O ser inteligente al respecto y hacerlo de forma gráfica. O hacerlo de forma aleatoria y no sólo hacer se round robin de esta manera. Y en este caso, a continuación, que ni siquiera necesitamos introducir este negro la caja dentro de nuestra imagen. No necesitamos un nuevo dispositivo. Simplemente estamos diciendo a los ordenadores ir a los servidores de forma directa, efectivamente, pero no por medio de su nombre. Ellos nunca necesitan saber el nombre. Ellos simplemente están diciendo que yahoo.com Los mapas a cualquiera de estas direcciones IP. Por lo que envía la misma petición exacta. Pero en el exterior de el sobre, simplemente pone el IP que se le informó de. Y de esta manera, también, podría que equilibran la carga de las solicitudes sólo enviando el sobre a una uno diferente de los propios servidores de Yahoo? Y si mantenemos la excavación, ya veremos probablemente otras empresas de más. CNN ha expuesto públicamente dos. Aunque en realidad, si hacemos esto otra vez y otra vez-- cnn.com-- se puede ver que están cambiando fin, en realidad. Entonces, ¿cuál es el mecanismo CNN usando, por lo visto? AUDIENCIA: Random. DAVID MALAN: Bueno, podría ser aleatoria, aunque parece ser un ciclo de ida y vuelta. Así que es probable que la operación por turnos donde que sólo están cambiando el orden de modo que voy a suponer que el primer tomo. Mi equipo se llevará la primera cada vez. Así que ese es el equilibrio de carga. Y eso nos permite, en última instancia, para mapear los datos, o las solicitudes de mapas, a través de múltiples servidores. Entonces, ¿qué tipo de problemas que ahora existen todavía? Se siente como que realmente resuelto un buen problema. Llegamos a los usuarios a diferentes servidores. Pero-- oh, y Chris, hizo Tiene una pregunta antes? AUDIENCIA: [inaudible] DAVID MALAN: depende totalmente. Entonces, ¿qué está pasando aquí? Y en realidad podemos ver esto. Así que vamos a tratar de Yahoo. En realidad, vamos a ir a Facebook. Porque sabemos que uno trabaja. Así que voy a copiar que la dirección IP de nuevo. Voy a cerrar todas estas fichas. Voy a ir a voces que pestaña de red especial aquí abajo. Y voy a visitar solamente http: //. Y ahora voy a presionar Enter. Y vamos a ver lo que pasó. Si miro a esa petición, la notificación mi-- que Facebook es un mal ejemplo. Debido a que tienen una técnica de super lujoso que esconde ese detalle de nosotros. Permítanme usar Yahoo instead-- http: // que la propiedad intelectual. Vamos a abrir nuestra red pestaña, preservar registro. Y aquí vamos, ENTER. Eso es gracioso. OK, así que aquí está el mensaje famoso 404. Lo curioso aquí es que se probablemente nunca estará de regreso. Debido a que es probable que haya No algo malo per se. Tienen de forma deliberada decidió no apoyar la forma numérica de su dirección. Así que lo que en realidad estamos viendo en el ficha Red, si tiro esto aquí, es, como digo, el famoso 404, donde si miro a las cabeceras de respuesta, esto es lo que me dieron aquí-- 404 no encontrado. Así que vamos a probar otra. Vamos a ver si la CNN coopera con nosotros. Voy a agarrar una de las direcciones IP de la CNN, claro esta, http, bla bla, bla bla. Así que en respuesta a Chris de pregunta, que uno trabajó. Y vamos a ir a las cabeceras de respuesta. En realidad no, está bien, yo soy luchando por encontrar un ejemplo de trabajo. Así CNN ha decidido, sólo tendremos que dejamos en cualquier dirección que en realidad visitar, cuestiones de marca a un lado. Pero lo que no estaría sucediendo, si lo pudimos ver en el caso de Facebook, está nos encontraremos con un 301 Moved De forma permanente, lo más probable, dentro de los cuales es Ubicación: https: //www.facebook.com. Y las probabilidades son www.facebook.com es una alias para el mismo servidor que acabamos exacta fui a. Así que es un poco contraproducente. Estamos, literalmente, visitando el servidor. El servidor está a continuación, nos dice, desaparece. Vaya a esta otra dirección. Pero acabamos de modo toca estar volver a ese mismo servidor. Pero es de suponer que ahora permanecen en esa servidor sin este ir y venir. Porque ahora estamos usando la nombramos versión del sitio, no el numérico. Buena pregunta. OK, así que si ahora nos assume-- han resuelto el equilibrio de carga. Ahora tenemos un mecanismo, ya sea a través de DNS, ya sea a través de este cuadro de negro, ya sea se trata de utilizar cualquiera de estas técnicas. Podemos tomar una petición del usuario y averiguar a qué servidor, 1, 2, o 3, a él o ella enviar. Lo que empieza a romper nuestra web? En otras palabras, tenemos construido un negocio que estaba anteriormente en un único servidor. Ahora que el negocio está en marcha a través de múltiples servidores. ¿Qué tipo de supuestos, qué tipo de decisiones de diseño, Ahora podría estar rompiendo? Esto es menos evidente. Pero vamos a ver si no podemos poner nuestra dedo en algunos de los problemas que hemos creado por nosotros mismos. De nuevo, es algo así como la celebración de por la fuga en la manguera. Y ahora un nuevo tema ha aparecido por aquí. AUDIENCIA: [inaudible] DAVID MALAN: OK, así que tenemos que mantener el crecimiento de nuestro espacio en el disco duro. Estoy de acuerdo con eso en este momento. Porque creo que puedo la escala horizontal. Al igual que si estoy corriendo bajo, sólo voy a conseguir una cuarta servidor, tal vez un quinto servidor, y luego aumentar nuestra capacidad por otro 30% o 50% o lo que sea. Así que estoy de acuerdo con eso, al menos por ahora. AUDIENCIA: [inaudible] DAVID MALAN: OK, así que es un buen punto. Así que supongamos que los servidores no son idénticos. Y servicio al cliente o el correo electrónico equivalente es conseguir un poco de mensaje de un usuario diciendo, esto no está funcionando bien. Es muy posible que, a veces, que tal vez uno o más servidores está actuando un poco mal, pero no los otros, lo que sin duda puede hacen que sea más difícil de perseguir a la cuestión. Es posible que tenga que buscar múltiples lugares. Es decir manifestación de otro tipo de insecto, y es que probablemente debería han diseñado su infraestructura para todo lo que es realmente idéntica. Pero sí revela un nuevo problema que no teníamos antes. ¿Qué más? AUDIENCIA: [inaudible] DAVID MALAN: Sí, hay más complejidad. Hay físicamente más cables. Hay otro dispositivo. De hecho, he introducido un elemento fundamental concepto y un problema fundamental aquí conocido como un único punto de fallo, el cual, incluso si usted nunca ha oído la frase, probablemente pueda Ahora trabajar hacia atrás y averiguarlo. ¿Qué significa que tengo una sola punto de fallo en mi arquitectura? Y en la arquitectura, sólo significar la topología de la misma. AUDIENCIA: [inaudible] DAVID MALAN: Sí, ¿y si el equilibrador de carga deja de funcionar? He insertado este hombre cuya media propósito en la vida es para resolver un problema. Pero he introducido un nuevo problema. Una nueva filtración ha surgido en la manguera. Porque ahora si el equilibrador de carga muere o se rompe o misfunctions, Ahora pierdo el acceso a los tres de mis servidores. Y antes, no lo hice tener este intermediario. Y por lo que este es un problema nuevo, sin duda. Volveremos a cómo podríamos arreglar eso. AUDIENCIA: [inaudible] DAVID MALAN: Eso sería un enfoque. Sí, y por lo que este va a ser bastante agujero de la rata empezamos a bajar. Pero volvamos a que en un momento. ¿Qué otros problemas hemos creado? Así Dan mencionó base de datos antes. E incluso si no estás técnicamente muy familiar, una base de datos es sólo un servidor donde cambiar los datos normalmente se almacena, tal vez una orden que alguien ha colocado, su perfil de usuario, su nombre, su dirección de correo electrónico, las cosas que pueden ser introducido o cambiado con el tiempo. Anteriormente, era mi base de datos en el mismo servidor que mi servidor web. Debido a que sólo tenía una cuenta de hospedaje web. Todo estaba en el mismo lugar. ¿Dónde debo poner mi base de datos Ahora, en el servidor 1, 2, o 3? PÚBLICO: 4. DAVID MALAN: 4, OK, todo bien, así que vamos a ir allí. Así que voy a poner mi database-- y dejar de iniciar el etiquetado de estos www, www, www. Y voy a decir, este es el número cuatro. Y voy a decir DB para la base de datos. OK, me gusta esto. ¿Qué línea debo presumiblemente estar llegando aquí? AUDIENCIA: [inaudible] DAVID MALAN: Sí, por lo que el código, como veremos mañana, presumiblemente es el mismo en los tres servidores. Pero ahora necesita conectarse no a una base de datos que se ejecutan localmente pero en otros lugares. Y eso está bien. Sólo podemos dar a la base de datos de una nombrar, como lo hemos hecho, o un número. Y que todo funciona bien. Pero ¿qué hemos hecho? Hemos escalados horizontalmente por tener tres servidores en lugar de uno, los cuales es bueno. Porque ahora podemos manejar tres veces más de carga. Y mejor aún, si uno o dos de esos servidores cae, mi negocio pueda seguir funcionando. Porque todavía tengo uno, incluso si estoy tipo de cojeando en cuanto al rendimiento. Pero lo nuevo problema que tienen introducido moviendo la base de datos a este servidor independiente en lugar de en 1, 2, y 3? AUDIENCIA: [inaudible] DAVID MALAN: Sí, así que ahora tengo otro punto único de fallo. Si mi base de datos muere, o necesita actualizarse, o lo que sea, ahora seguro, mi página web está en línea. Y puedo servir estática, contenido que no cambia. Pero no puedo permitir que los usuarios accedan o el cambio nada ni para nada, peor aún. 4 Porque si es fuera de línea, a continuación, 1, 2, y 3 Realmente no se puede hablar con él por definición. Aceptar así que sí, y por lo que esta es la razón Estoy dudando dibujar esto. Así que vamos a volver a eso. No me refiero a seguir empujando fuera usted. Sin embargo, el panorama es muy rápidamente va a conseguir estresante. Debido a que necesita para empezar tener dos de todo. De hecho, si alguna vez has visto la Contacto película hace unos años con Jodie Foster-- no? OK, así que para los dos nosotros que hemos visto de contacto, hay una relación allí donde esencialmente comprado dos de algo en lugar de uno, aunque al doble del precio. Así que fue una especie de lúdico comentar en la película. Es una especie de relación con esto. Podríamos hacer absolutamente eso. Y usted acaba de coste somos el doble de dinero. Pero vamos a volver a eso. Para ello hemos resuelto este. Así que ya saben qué? Esto es como una pendiente resbaladiza. No quiero tener que lidiar con tener una base de datos duplicada. Es demasiado dinero. ¿Sabes que? Quiero tener mi base de datos al igual que en la versión uno donde cada servidor tiene su propia base de datos local. Así que sólo voy a dibujar dB en cada una de ellas. Así que ahora cada uno de los servidores Web es idéntico en la medida en ya que tiene el mismo código, el mismo activos estáticos, las mismas imágenes y texto Etcétera. Y cada uno tiene su propia base de datos. He arreglado el único punto del problema del fallo. Ahora tengo una base de datos. No importa que dos o uno de éstos las cosas mueren, siempre hay una izquierda. Pero lo que tengo nuevo problema creé que la solución de Dan evitarse? AUDIENCIA: [inaudible] DAVID MALAN: Sí, tienen que sincronizar ellos, ¿verdad? Porque, o que necesito para sincronizar ¿quién va where-- en otras palabras, si Alicia visita mi sitio, y ella pasó para obtener al azar o redonda robined o lo que sea, al número del servidor de uno, a partir de entonces tengo que siempre enviarla al servidor 1. ¿Por qué? Porque si le envío al servidor 2, que va para que parezca que no existe allí. No voy a tener a su historial de pedidos. No voy a tener su profile ahí. Y que sólo se siente como está invitando a los problemas. Y cuando Bob visitas, tener que enviar siempre al mismo servidor, 2, o cualquier uno, y Charlie a un tercero, y consistente. Esto no es razonable, sin embargo. Se llama particionar su base de datos. Y, de hecho, esto fue lo Facebook hizo desde el principio. Si ha seguido la historia de Facebook, que comenzó aquí en el campus como www.thefacebook.com. Luego evolucionó una vez Mark comenzó extendiéndose a otros campus ser harvard.thefacebook.com y mit.thefacebook.com, y probablemente bu.thefacebook.com, y similares. Y eso fue porque desde el principio, no creo usted podría tener amigos a través de los campus. Pero eso está bien. Porque cualquiera de Harvard fue enviado a este servidor. Cualquier persona de BU fue enviado a este servidor. Cualquier persona de MIT fue expulsado a este server-- en teoría. No sé muy bien todo el detalles de la implementación. Pero es de suponer que se repartió por las personas su campus, donde estaba su red. Y eso es bueno hasta el momento donde necesita dos servidores de Harvard, o tres servidores para Harvard. Y después de que la sencillez tipo de falla. Pero eso es un enfoque razonable. Vamos a enviar siempre Alice al mismo lugar, Siempre enviar a Bob al mismo lugar. Pero, ¿qué ocurre si Alicia de servidor se cierra? Bob y Charlie todavía se puede comprar cosas e iniciar sesión en el sitio. Pero Alice no puede. Así que usted ha perdido un tercio de su base de usuarios. Tal vez eso es mejor que el 100%? Pero tal vez sería bueno si pudiéramos Todavía apoyar 100% de nuestros usuarios incluso cuando un tercio de nuestra servidores queda sin conexión. Así que podríamos sincronizar qué? No los usuarios, per se, pero la la base de datos a través de todos estos servidores. Así que ahora necesitamos un poco de tipo de tipo de interconexión aquí, así que los propios servidores puede sync-- no excesivo. Y de hecho, esta tecnología existe. En el mundo de las bases de datos, no hay la noción de bases de datos maestro-esclavo, o primaria a la secundaria, donde entre las características no sólo para almacenar datos y responder con los datos, sino sólo para constantemente sincronizar entre sí. Así que cada vez que escribir o guardar algo que esta base de datos, inmediatamente se hace "replicado" a las otras bases de datos, así. Y cada vez que al leerlo, no importa dónde se encuentre. Porque si en teoría Todos ellos han sincronizado, eres va a conseguir la misma vista de los datos. Así que esto suena perfecto. Tiene que haber una trampa. ¿Cuál podría ser el truco? AUDIENCIA: [inaudible] DAVID Malan: Sí, por lo que tres veces como la cantidad de cosas puede salir mal. Eso es una realidad. todo lo que podría ser el mismo en espíritu. Pero alguien tiene que configurar estos. Hay una mayor probabilidad de que algo va a salir mal. Sólo tiene forma combinatoria más cosas propenso a errores. Lo demás es malo potencialmente? AUDIENCIA: [inaudible] DAVID MALAN: Sí, por lo la sincronización puede ser malo. A pesar de que se puede saber las copias de seguridad y tal, si lo que está haciendo a ciegas copias de seguridad, lo que si algo ir mal en una base de datos? Se elimina algo que no debería. Usted ha replicado inmediatamente ese problema en cualquier otro sitio. Así que Victoria estaba copias de seguridad talking-- sería una buena cosa aquí. Y así nos pondremos en contacto con eso. Y para que quede claro, que estamos hablando No se trata de copias de seguridad aquí per se. Estamos hablando de una verdadera respuesta o la sincronización a través de servidores. Están todos en vivo. No están destinados a ser utilizado para copias de seguridad. AUDIENCIA: [inaudible] DAVID MALAN: ¿Qué es eso? AUDIENCIA: Higher-- DAVID MALAN: mayor costo. Hemos triplicado el costo de Seguro, aunque al menos en términos del hardware. Debido a que una base de datos es sólo una pieza de software. Y un servidor web es una pieza de software. Es probable que sea libre si estamos usando cualquier número de cosas de código abierto. Pero si estamos utilizando algo así como Oracle, estamos pagando Oracle más dinero por licencias o Microsoft para el acceso. Tiene que haber algún otro truco aquí. No puede ser tan sencillo. Así que para su punto, creo que fue Kareem, para la geografía antes les hablé o no, Romano, que era, por suponer geography-- que estamos siendo inteligentes sobre esto, y estamos poniendo a uno de nuestros servidores, Y a su vez nuestras bases de datos, en los EE.UU., y otro en Europa, en otro América del Sur, otro en África, otra en Asia, en cualquier lugar que puede ser que desee en todo el mundo. Ya sabemos de nuestra traza rutas que el punto A y el punto B, si están más separados, se va a tomar más tiempo. Y si algunos de ustedes han utilizado herramientas, como Facebook o Twitter o cualquiera de estos sitios en estos días que están cambiando constantemente debido a usuario los datos creados, a veces, si Recargar golpear o abrir la misma página en otro navegador, que se ve diferentes versiones, casi. Es posible ver el estado de una persona actualizar aquí, pero no aquí, y luego se vuelve a cargar, y luego se aparece y vuelve a cargar de nuevo, y desaparece. En otras palabras, mantener un ojo a esto, al menos si está usando sociales en especial la creación de redes. Una vez más, sólo porque el datos está cambiando tan rápidamente, A veces los servidores no pierden la sincronización. Y tal vez es un super pequeña ventana. Pero, tal vez 200 milisegundos incluso más de lo que es que- Va a tomar algún cantidad no nula de tiempo para estas bases de datos se sincronicen. Y no sólo estamos hablando de una petición. Si una empresa tiene miles de usuarios utilizando simultáneamente, que podrían amortiguar. En otras palabras, puede ser una cola o una línea de espera antes de que todos los que la base de datos consultas pueden sincronizarse. Así que tal vez es en realidad un par de segundos. Y de hecho esto es cierto creo que incluso a día de hoy con Facebook, con lo cual cuando se sincronizan desde Costa este a la costa oeste, que tiene un no trivial retardo de propagación, por así decirlo, que acaba de tipo de tener que tolerar. Y lo que no es tanto un error, ya que es una realidad que los usuarios no vean los datos correctos para, al menos, unos pocos segundos. Veo esto en Twitter mucho en realidad donde a veces voy a pío en una ventana, abrir otro para luego verlo para confirmar que, efectivamente, subió, y que no está allí todavía. Y tengo que tipo de recargar, recargar, reload-- oh, ahí está. Y eso no es porque no se ha guardado. Simplemente no se ha propagado a otros servidores. Así que esta disyuntiva, también-- es lo que realmente querer exponerse al riesgo que si el usuario va a su fin la historia, no es realmente allí todavía? Veo esto en ciertos bancos. Siempre me molesta cuando, además, por su parte, sólo se puede ir al igual que hace seis meses en sus estados de cuenta bancarios en algunos bancos, a pesar de que en teoría deberían ser capaz de tener todo en línea. Que acaba de tomar las cosas fuera de línea veces. A veces, lo que demasiado-- página web es? Hay uno-- oh, es GoDaddy, creo. GoDaddy, cuando se echa un vistazo la compra de un nombre de dominio o algo así, que a menudo le darán un enlace a su recibo. Y si hace clic en ese enlace derecha de distancia, a menudo no funciona. Sólo dice, callejón sin salida, nada aquí. Y eso es también a causa de estos retardos de propagación. Debido a que por cualquier razón, están tomando un poco de tiempo para generar realmente que. Así que esto es algo así como usted quiere tirar de los pelos en algún momento. Porque todo lo que está tratando de hacer es resolver un problema sencillo. Y seguimos creando nuevos problemas por nosotros mismos. Así que vamos a ver si nos puede deshacer este tipo de. Resulta que la combinación bases de datos en todos los servidores web no es realmente la mejor práctica. En general, lo que un ingeniero haría, o arquitecto de sistemas, sería tener diferentes hileras de servidores. Y sólo por el bien de espacio, voy a dibujar su base de datos aquí. Podríamos tener la base de datos y Número de servidor de cuatro aquí que tiene conexiones a cada uno de estos servidores aquí. Por lo que este podría ser nuestro frente terminar de nivel, como diría la gente. Y esto sería nuestro nivel de back-end. Y eso sólo significa que éstos se enfrentan al usuario. Y las bases de datos no se enfrentan al usuario. Ningún usuario puede directamente acceder a la base de datos. Así que ahora puede que descienden la ruta Victoria propuso. Se trata de un único punto de fallo. Eso me hace incómodo. Entonces, ¿cuál es quizás el la solución más obvia? AUDIENCIA: [inaudible] DAVID MALAN: Lo sentimos, dicen que de nuevo. AUDIENCIA: [inaudible] DAVID MALAN: servidor no de producción. ¿Qué quieres decir? AUDIENCIA: [inaudible] DAVID MALAN: Oh, está bien, por lo que las copias de seguridad. Aceptar, por lo que podríamos hacer eso, sin duda. Y en realidad esto se realiza con mucha frecuencia. Este podría ser el número de bases de datos de cinco. Pero eso es sólo comuniquen con el número cuatro. Y que se podría llamar un repuesto de emergencia. Estas dos bases de datos podrían estar configurados que acaba de sincronizar constantemente El uno al otro. Y por lo que si esta máquina muere, por cualquiera que sea estúpida reason-- el disco duro muere, alguien se tropieza con el espinal, algunos software es defectuoso y los bloqueos de equipo o crashes-- usted podría tener un humano, literalmente, desconecte éste de la pared y en lugar de enchufar éste en. Y luego dentro de, digamos, una pocos minutos, tal vez media hora, que está de vuelta en línea. No es grande, pero tampoco es horrible. Y usted no tiene que preocuparse acerca de cualquier problema de sincronización. Porque todo está ya allí. Debido a que tenía una perfecta copia de seguridad listo para funcionar. Usted podría ser un poco colombófilo sobre esto, ya que algunas personas hacen a menudo, en el que podría tener un número de bases de datos de cuatro aquí, número de bases de datos de cinco aquí, que están hablando el uno al otro. Pero también tiene este tipo de arrangement-- y deliberadamente se ve desordenado, porque es-- donde toda la servidores front-end puede hablar con todos los servidores de back-end. Y por lo que si esta base de datos no lo hace responder, estos servidores front-end tienen tener programación código en los que dice, si no recibe una conexión con esta base de datos, la primaria se inicia inmediatamente hablando con el secundario. Pero esto ahora empuja el complejidad al código. Y ahora sus desarrolladores, el software desarrolladores, tienen que saber de esto. Y estás tipo de atar el código que usted está escribiendo a su parte final real detalles de implementacion, lo cual hace que sea más difícil, especialmente en una más grande empresa o un sitio web más grande, en el que no necesariamente quiere que los programadores tengan saber cómo la base de datos Los ingenieros están haciendo su trabajo. Es posible que desee mantener esas funciones tipo de funcionalmente distinta manera que hay de esta capa abstracción entre los dos. Así que, ¿cómo podemos solucionar este problema? Bueno, que tipo de resolvimos este problema de una vez antes. ¿Por qué no ponemos una de estas cosas aquí donde se habla a su vez a la número cuatro y cinco, todos los servidores web front-end hablar con este intermediario, y el intermediarios en las rutas de vuelta a sus datos? De hecho, lo que podría ser una buen nombre para esta cosa? AUDIENCIA: [inaudible] DAVID MALAN: OK, gestor de base de datos. Pero lo que es un término que podría ser podríamos volver a usar con este dispositivo? Estamos equilibrio. Sí, así que en realidad, estoy no siendo justo aquí. Por lo que un equilibrador de carga que implicaría estamos de ir y venir aquí, que no tiene que ser en realidad el caso. Así que hay algunas maneras que podríamos hacer esto. Si este es, de hecho, un equilibrador de carga, la historia es exactamente el mismo que antes. Algunas de las peticiones de ir a la 4. Algunos de ellos van a 5. Y eso es bueno. Porque ahora podemos manejar el doble de rendimiento. Pero esta conexión aquí es súper importante. Tienen que permanecer constantemente sincronizada y es de esperar no son geográficamente muy alejadas por lo que la sincronización es esencialmente instantáneo. De lo contrario podríamos tener un problema. Así que eso no es malo. Pero, de nuevo, hemos introdujo un nuevo problema. ¿Qué problema es lo que acabo recreado? Punto único de fallo. ¿Cuál es la solución para eso? Así como del aficionado a gastar dinero Victoria, podemos llevar a cabo este tipo y hacer esto. Y yo sólo voy a mover aquí espacio suficiente. Y va a ser un poco desordenado. Voy a mantener las líneas de dibujo. Supongamos que todos esas líneas van en ambos? Una técnica muy común aquí sería utilizar una técnica llamada latido del corazón donde cada uno de estos dispositivos, equilibradores de carga de izquierda y derecha, o como queramos llamarlos, está constantemente diciendo, estoy vivo, Estoy vivo, estoy vivo, estoy vivo. Uno de ellos de forma predeterminada actúa como el principal. Así que todo el tráfico se enruta a través de el otro a la izquierda, por ejemplo, de forma predeterminada, de manera arbitraria. Pero tan pronto como el tipo de la derecha no escuchar al chico izquierda más, el de la derecha está programado para automáticamente, por ejemplo, hacerse cargo de la dirección IP de la una a la izquierda, y por lo tanto convertido en el principal, y tal vez enviar un correo electrónico o un mensaje de texto a los seres humanos que decir, bueno, la primaria a la izquierda no está en línea. Que se convertirá en primaria por ahora. Así se convierte en vicepresidente presidente, por así decirlo. Y alguien tiene que ir a salvar el presidente, si lo desea. Porque ahora tenemos un temporal punto único de fallo. Así como complicado o estresante como esto podría parecer que empezar a ser, esta es la forma de resolver estos problemas. Lo haces tirar el dinero en ella. Usted lanza hardware en ella. Pero, lamentablemente, añadir la complejidad de la misma. Pero el resultado, en última instancia, es que usted tiene una mucho más, en teoría, arquitectura robusta. Todavía no es perfecto. Porque incluso cuando nos podríamos tener-- no tener un único punto de fallo. Ahora tenemos dos puntos de fallo. Pero si dos cosas van mal, la cual absolutamente podría, estamos todavía va a estar fuera de línea. Y así, muy común en el industria es describir su tiempo en términos de punta en blanco. Y en cierto modo el objetivo es aspirar a 99,999% de las veces que su sitio está en línea. O mejor aún, añadir una unos más que a punta en blanco. Desafortunadamente, estos nueves son muy caros. Y vamos a hacer realidad esto. Así que si abro mi calculadora grande de nuevo, 365 días en un año, 24 horas en un día, 60 minutos en una hora, y 60 segundos en un minuto, que es la cantidad de segundos que hay en un año si lo hiciera esto correctamente. Así que si veces este por .99999, eso es la cantidad de tiempo que queremos aspirar. Por lo que significa que debemos ser hasta esta cantidad de segundos durante el año. Así que si ahora le resto del valor original, o más bien este nuevo valor de la primero-- 316 segundos, que por supuesto es de cinco minutos. Así que si su sitio web o su empresa está afirmando que "cinco nueves", con el cual fuisteis hasta 99,99% de las veces, que significa una mejor han sido lo suficientemente inteligente y rápido suficiente y lo suficientemente ras con recursos que sus servidores están fuera de línea única cinco minutos fuera del año. Es un costoso y cosa difícil de aspirar. Así que es una solución de compromiso, también. 99,999% de las veces es bastante rematadamente difícil y costoso. Cinco minutos-- apenas se puede conseguir al servidor para reemplazar físicamente algo que ha ido mal. Y es por eso que comenzamos cableado cosas juntos más complicados a priori para que los equipos puede especie de fijar ellos mismos. Sí. AUDIENCIA: [inaudible] DAVID MALAN: El problema podría estar en cualquier número de lugares. Y de hecho-- AUDIENCIA: [inaudible] DAVID MALAN: Absolutamente, absolutamente. Y a medida que la imagen es cada vez más complicada, que podría ser los servidores web. Podría ser la alimentación de la construcción. Podría ser algo físico, como consiguieron los cables deshilachados o expulsados. Podría ser la base de datos no está respondiendo. Podría ser que actualiza su operativo sistema y algo está colgando. Así que hay muchas otras partes móviles. Y así un montón de la ingeniería que tiene que ir detrás de este es realmente sólo compensaciones, como la forma Cuánto tiempo, cuánto dinero es en realidad vale la pena, y cuáles son las amenazas usted es realmente preocupa? Por ejemplo, en el cursos que imparto en Harvard, utilizamos una gran cantidad de computación en la nube, lo cual vamos a empezar a echar un vistazo a ahora, de hecho, en la que usamos Amazon Web Services. El hecho de que esa es la Empezamos con uno. Pero hay cada vez más en estos días de Google y Microsoft y otros. Y nosotros elegimos conscientemente poner todo de máquinas virtuales nuestros cursos ', como se les llama, en el pienso es occidental del centro de datos Virginia. La mayoría de nuestros estudiantes pasará a ser de los EE.UU., aunque sin duda hay algunos internacionalmente. Pero la realidad es que es sólo más simple y es más barato para nosotros poner todos los huevos en la cesta de Virginia, aunque sé si algo que va mal en Virginia, al igual que de vez en cuando como happened-- si hay un huracán o un poco de clima evento similar que, si hay alguna cuestión red eléctrica o la como- todo de los datos de nuestros cursos pueden desconectarse ' para algún número de minutos o horas o incluso más tiempo. Pero la cantidad de complejidad que se necesitaría, y la cantidad de dinero que haría se requiere, para funcionar todo en paralelo en Europa o en California simplemente no tiene mucho sentido. Así que es una operación racional fuera, sino una dolorosa cuando en realidad estás que tiene que el tiempo de inactividad. Bueno, vamos a la transición en este momento para algunas de las soluciones basadas en la nube a algunos de estos problemas. Todo lo que hemos discutir hasta ahora es una especie de problemas que tienen estado con nosotros desde hace algún tiempo, si usted tiene su propio servidores de la empresa, si vas a un co-ubicación colocar como un centro de datos y compartir espacio con otra persona, u hoy en día en la nube. Y lo que es bueno de la nube es que todos de estas cosas que estoy dibujo como objetos físicos ahora puede ser considerado como tipo de objetos virtuales en la nube que son simulado con software. En otras palabras, los ordenadores de hoy en día, servidores de hoy en día, como la imagen de Dell Me presenté anteriormente, son tan rápidos, tienen tanta memoria RAM, por lo que la cantidad de CPU, tanto en disco espacio, que la gente ha escrito software de partición prácticamente un servidor para arriba en la ilusión de que siendo dos servidores, o 200 servidores, por lo que cada uno de nosotros los clientes tiene la ilusión de tener no sólo una cuenta en alguna web anfitrión, pero nuestra propia máquina que estamos el alquiler de otra persona. Pero es una máquina virtual en la medida en que en un servidor Dell, de nuevo podría ser dividida hasta en dos o 200 o más máquinas virtuales, todo lo cual da a alguien administrativa el acceso, pero de una manera que ninguno de nosotros sabe o puede recurrir a otras virtuales máquinas en el mismo hardware. Así que para pintar un cuadro en diapositivas de hoy en día, He aquí el disparo de un sitio web acoplable llamada. Así que esto es un poco más detalle lo que realmente necesitamos. Pero si ve esto como su infrastructure-- por lo que sólo el hardware de su cuenta, sus servidores, los bastidores, los datos centro, y todos que- lo haría normalmente ejecutar un sistema operativo anfitrión. Así que algo como- podría ser Windows. No sería Mac OS. Debido a que no es realmente la empresa en estos días. Por lo que sería Linux o Solaris o Unix o BSD o FreeBSD o cualquier número de otros sistemas operativos que son gratuitos o comercial. Y a continuación, se ejecuta una programa, programa especial, llamado un hipervisor, o un monitor de máquina virtual, VMM. Y estos son los productos, si estás familiar, como VMware o VirtualBox o Virtual PC u otros. Y lo que hacen estos programas es exactamente característica que he descrito anteriormente. Se crea la ilusión que una máquina física puede haber múltiples máquinas virtuales. Y por lo que estas cajas de colores encima de la tapa es pintar un cuadro de lo siguiente. Este hipervisor, esta pieza de software, lo llaman VMware, que se ejecuta en algún otro sistema operativo, lo llaman Linux, está creando la ilusión de que este equipo físico es realmente uno, dos, tres ordenadores virtuales. Así que ahora que he comprado, como el dueño de este hardware, un equipo físico. Y ahora estoy alquilando a tres clientes. Y esos tres clientes todos piensan tienen una máquina virtual dedicada. Y no es el cebo y cambiar. Es más que la revelación está utilizando una máquina virtual. Pero tecnológicamente, todos tener un control administrativo completo sobre cada uno de los invitados sistemas operativos, lo que podría ser cualquier número de sistemas operativos. Puedo instalar lo que quiera. Puedo actualizarlo como yo quiero. Y ni siquiera tiene que saber o preocuparse por el otro operativo Los sistemas de ese equipo, las demás máquinas virtuales, a menos que el dueño de todo esto gris cosas es ser un poco codicioso y se overselling sus recursos. Así que si usted está tomando una máquina física y su venta a no 200 400 pero clientes, en algún momento vamos a tropezar en los mismos problemas de rendimiento como antes. Ya que sólo tiene un número finito cantidad de disco y la memoria RAM y así sucesivamente. Y una máquina virtual es simplemente un programa que es pretendiendo ser un completo equipo hecho y derecho. Así se obtiene lo que se paga. Por lo que encontrará en línea que se podría pagar una empresa de confianza tal vez $ 100 al mes para su propia máquina virtual, o su propio servidor privado virtual, que es otro término para ello. O es posible encontrar algunos vuelan por noche en las que paga $ 5.99 al mes para su propia máquina virtual. Pero las probabilidades son que no tiene casi tanto el rendimiento disponible para usted, porque han sido overselling se así, que lo haría con la mayor categoría de servicio o en el mejor proveedor. Entonces, ¿qué significa esto realmente para nosotros? Así que déjame ir a este. Voy a ir a aws.amazon.com. El hecho de que tienen un buen menú de opciones. Sin embargo, estas mismas lecciones se aplican a una Gran cantidad de los otros proveedores de la nube. Por desgracia, es a menudo más comercialización hablar de cualquier cosa. Y esto no deja de cambiar. Así que ir a un sitio web como este. Y esto realmente no lo hace dirá mucho de nada. E incluso, cuando miro a esto, no hago realmente saber lo que cualquiera de estas cosas necesariamente hacer hasta sumergirme. Pero vamos a empezar a la izquierda, en Calcular. Y voy a hacer clic en este. Y ahora Amazon tiene francamente una número abrumador de los servicios estos días. Sin embargo, Amazon EC2 es tal vez el más simple. Amazon EC2 va a crear para nosotros exactamente la imagen que vimos hace un momento. Es la forma en que hacen mucho su dinero en la nube. Aparentemente Netflix y otros están en la nube con ellos. Todo esto es típicamente esponjoso comercialización hablar. Así que lo que quiero hacer es ir a Pricing-- o mejor dicho, vamos a ir a las instancias primero sólo para pintar un cuadro de esto. Así que esto variará según el proveedor. Y no es necesario para obtener demasiado profundo en las malas hierbas aquí de cómo funciona todo esto. Pero la forma en Amazon, por ejemplo, se alquila una máquina virtual o un servidor en la nube es lo que tienen este tipo de nombres divertidos, como t2.nano, que significa pequeño, o t2.large, lo que significa grande. Cada uno de ellos le da bien uno o dos CPUs virtuales. ¿Por qué es una CPU virtual? Así, la máquina física podría tienen 64 o más CPU reales. Pero, de nuevo, a través de software, que crean la ilusión que que una máquina puede ser repartido a varios usuarios. Por lo que podemos pensar en esto como que tiene una CPU Intel o dos. créditos de CPU por hour-- lo haría tiene que leer la letra pequeña en cuanto a lo que esto significa realmente. Esto significa la cantidad de la máquina se puede utilizar por hora vis-a-vis otros clientes en ese hardware. Aquí está la cantidad de RAM o memoria que get-- ya sea la mitad de un gigabyte, o 500 megabytes, o 1 gigabyte, o 2. Y a continuación, el almacenamiento solo se refiere a qué tipo de discos que le dan. Hay diferentes de almacenamiento tecnologías que ofrecen. Pero más interesante que esto a continuación, podría ser la fijación de precios. Así que si usted es el CTO o un ingeniero que no lo hace que desee ejecutar un servidor en su oficina, por cualquier razón, y que es demasiado complicado o caro para comprar servidores y co-localizar a ellos y pagar el alquiler de algún espacio en las jaulas física somewhere-- lo que desea es sentarse en su computadora portátil a altas horas de la noche, escriba su información de tarjeta de crédito, y alquilar los servidores de la cloud-- así, podemos hacerlo aquí. Voy a bajar a-- Linux es un popular sistema operativo. Y vamos a tener una idea de las cosas. Whoops-- demasiado grande. Así que echemos un vistazo a su más mínima máquina virtual, que parece tener, para nuestros propósitos, una CPU y 500 megabytes de RAM. Eso es bastante pequeña. Pero, francamente, los servidores web no lo hacen hay que hacer todo lo que mucho. Seguro que tiene mejores características en su computadora portátil. Pero usted no necesita los Ficha de estos días para las cosas. Vas a pagar $ 0,0065 por hora. Así que vamos a ver. Si hay 24 horas en un día, y estamos pagando esta cantidad por hora, que le costará $ 0,15 a alquilar esa servidor en particular en la nube. Y eso es sólo por un día. Si hacemos esto 365-- $ 57 a alquilar ese servidor en particular. Por lo que suena super barato. Eso también es de muy bajo rendimiento. Así que, para los cursos que enseñamos aquí, tienden utilizar Creo t2.smalls o t2.mediums. Y podríamos tener unos pocos cientos usuarios, unos pocos miles de usuarios, total. Es bastante modesta. Así que vamos a ver lo que esto costaría. Así que si hago esto tiempos de costos 24 365 horas de tiempos, de éste $ 225. Y para los cursos Enseño, por lo general, ejecutar dos de todo, para la redundancia y también para el rendimiento. Así que podríamos pasar, por lo tanto, $ 500 para los servidores que puede ser que necesite por año. Ahora, si necesita más performance-- vamos a echar un vistazo a la memoria. Hemos hablado de la memoria un poco. Y si necesita más memory-- y 64 gigabytes es el número Seguí mentioning-- esto es casi $ 1 por hora. Y que prácticamente puede ver rápidamente dónde este goes-- así 24 horas Tiempos 365. Así que ahora es $ 8.000 por año para un servidor bastante decente. Por lo tanto, en algún momento, no hay este punto de inflexión donde ahora nos podía pasar $ 6000 Probablemente y comprar una máquina como esa y amortizar su coste sobre tal vez dos, tres años, la vida de la máquina. Pero lo que podría empujar en favorecer ni perjudicar de alquiler una máquina en la nube como esta? De nuevo, esto es comparable, probablemente, a uno de esos servidores Dell imaginamos que vimos hace un poco. AUDIENCIA: [inaudible] DAVID MALAN: Sí, eso es un enorme revés. Debido a que no estamos comprando el máquina, que no tenemos que desempacar él. No tenemos para levantarla. Nosotros no tenemos que enchufarlo en nuestra estantería. No tenemos que enchufarlo. No tenemos que pagar la factura eléctrica. Nosotros no tenemos que dar vuelta el aire acondicionado encendido. Cuando muere un disco duro, no tenemos conducir en en el medio de la noche arreglarlo. Nosotros no tenemos que configurar la supervisión. No tenemos a-- la lista sigue y en el de todas las cosas físicas que no es necesario hacer debido a "la nube". Y para que quede claro, la computación en nube Es este término muy usado en exceso. En realidad, sólo significa pagar a alguien más para ejecutar servidores para usted, o el alquiler de espacio en servidores de otra persona. Por lo que el término "cloud computing" es nueva. La idea tiene décadas de antigüedad. Así que es bastante convincente. Y lo que más se puede conseguir? Bueno, también te dan la posibilidad de hacer todo en un ordenador portátil en casa. En otras palabras, todas las Estaba imágenes drawing-- y no fue hace tanto tiempo que ni siquiera Estaba subiendo por una pista de servidor enchufar los cables de por cada una de las líneas que se ven, y la mejora de la operación sistemas y unidades que cambian sus alrededores. Hay un montón de físico de todo eso. Pero lo que es bello en virtuales máquinas, como el nombre sugiere clase de, ahora hay basado en la web mediante el cual las interfaces si desea que el equivalente de una línea desde este servidor a otro, sólo tiene que escribir, tipo, tipo, hacer clic y arrastrar, haga clic en Enviar, y listo, usted tiene que cableada de forma virtual. Debido a que se hace con el software. Y la razón por la que se hace en software es de nuevo porque tenemos tanta memoria RAM y por lo la cantidad de CPU disponible para nosotros en estos días, aunque todos eso lleva tiempo, es más lento para ejecutar cosas en software de hardware, al igual que es más lento para utilizar un mecánico dispositivo como un disco duro que la RAM, algo puramente electrónico. Tenemos tantos recursos disponible para nosotros. Los seres humanos somos una especie de invariantly lento. Y por lo que ahora las máquinas pueden hacer mucho más por unidad de tiempo. Tenemos estas habilidades hacer las cosas de forma virtual. Y voy a decir para los cursos Enseño, por ejemplo, aquí, Tenemos alrededor de una docena o tal vez de modo total de máquinas virtuales al igual que la ejecución en un momento dado el tiempo haciendo cosas extremo delantero, haciendo de nuevo material final. Tenemos todo nuestro almacenamiento. Por lo que cualquier vídeos, incluyendo cosas como este que estamos grabando, terminamos poniendo en la nube. Amazon tiene los servicios de llamadas de Amazon S3, su servicio de almacenamiento sencilla, que es igual que el espacio en disco en la nube. Ellos tienen algo Llamado CloudFront, que es un servicio de CDN, contenido servicio de entrega de la red, lo cual significa que ocupan todos sus archivos y para usted automagicamente replicarlo alrededor del mundo. Así que no lo hacen de forma preventiva. Pero la primera vez que alguien en la India solicita su archivo, que van potencialmente una caché local. La primera vez en China, la primera vez en Brasil que sucede, van a empezar el almacenamiento en caché de forma local. Y usted no tiene que hacer nada de eso. Y lo que es tan increíblemente obligando a estos días para mover las cosas en la nube. Debido a que tiene esta capacidad, literalmente, para no tener los seres humanos haciendo casi tanto trabajo. Y que, literalmente, no es necesario ya que muchos los seres humanos haciendo estos trabajos anymore-- "operaciones", o las funciones operativas, nunca más. Lo que realmente necesita desarrolladores y un menor número de ingenieros que acaba puede hacer las cosas de forma virtual. De hecho, sólo para dar que un sentido de esto, quiero ir a la fijación de precios para otro producto aquí. Vamos a ver algo así como CDN S3. Así que esto es esencialmente una disco duro virtual en la nube. Y si nos desplazamos hacia abajo para pricing-- por lo que es $ 0.007 por gigabyte. Y es-- ¿cómo hacemos esto? Creo que es por mes. Así que si eso es por mes-- o por día? Dan, está presente por día? Esto es por mes, en Aceptar. Así que si esto es por mes-- lo siento, es el $ 0.03 por mes. Hay 12 meses al año. Así que la cantidad de datos podría se almacenan en la nube? Un gigabyte no es enorme, pero yo no sé, al igual que 1 terabyte, así como 1.000 de ellos. Eso no es todo lo que mucho. Se trata de $ 368 a almacenar un terabyte de los datos en la nube de Amazon. ¿Cuáles son algunas de las las compensaciones, entonces? No todo puede ser bueno. Nada de lo que hemos hablado hoy es especie de retén o sin un costo. Entonces, ¿qué hay de malo en movimiento todo en la nube? AUDIENCIA: Seguridad. DAVID MALAN: OK, ¿qué quiere decir? AUDIENCIA: [inaudible] DAVID MALAN: Sí, claro. Y lo que realmente quiere algunos ingenieros azar en Amazon que usted nunca encontrará a tener el acceso físico a los equipos, y si realmente querido, acceso virtual? Y a pesar de que en La teoría software-- así, cifrado puede absolutamente proteger de esta. Así que si lo que buscas almacenar en sus servidores se encrypted-- menos de una preocupación. Pero tan pronto como un ser humano tiene física acceso a una máquina, a un lado de cifrado, todas las apuestas son una especie de fuera. Usted puede saber de antaño que PCs especialmente, incluso si tuviera esas cosas llamadas "contraseñas de BIOS," eran cuando su escritorio arrancado, que se tendría pedirá una contraseña que no tiene nada que ver con Ventanas, normalmente puede basta con abrir el chasis de la máquina, encontrar pequeños pernos pequeños, y el uso de algo que se llama un puente y sólo tiene que conectar esos dos cables para alrededor de un segundo, completando de este modo un circuito. Y eso sería eliminar la contraseña. Así que cuando se tiene acceso físico a una dispositivo, puede hacer cosas por el estilo. Se puede quitar el disco duro. Se puede acceder a ella de esa manera. Y así, esta es la razón, en el caso de Dropbox, por ejemplo, que es un poco preocupante que no sólo se tener los datos, aunque es encriptado, también tienen la clave. Otras preocupaciones? AUDIENCIA: [inaudible] DAVID MALAN: Sí, es muy cierto-- los Googles, las manzanas, los Microsofts del mundo. Y de hecho, ¿cuánto tiempo tienen que tenía su iPhone para? Sí, más o menos. AUDIENCIA: [inaudible] DAVID MALAN: Lo siento? Usted está entre aquellos que tiene un iPhone, ¿verdad? AUDIENCIA: Sí. DAVID MALAN: ¿Cuánto tiempo ¿ha tenido su iPhone? AUDIENCIA: [inaudible] DAVID MALAN: OK, entonces Apple sabe, literalmente, dónde ha estado cada hora de el día durante los últimos cinco años. AUDIENCIA: [inaudible] DAVID MALAN: ¿Cuál es una característica maravillosa. AUDIENCIA: [inaudible] DAVID MALAN: Sí, pero comercio fuera seguro. AUDIENCIA: [inaudible] DAVID MALAN: Sí, es muy fácil. AUDIENCIA: [inaudible] DAVID MALAN: Otras desventajas? AUDIENCIA: [inaudible] DAVID MALAN: Absolutely-- tecnológicamente, económicamente, es bastante convincente para especie de ganar estas economías de escala y trasladar todo a la llamada nube. Sin embargo, es probable que desee ir con algunos de los mayores peces, las Amazonas, los Googles, la Microsofts-- Rackspace es bastante big-- y algunos otros, y no necesariamente volar por la gente de la noche para los que es muy fácil de hacer este tipo de técnica de hoy en día. Y eso es quien puede pagar $ 5.99 por mes para. Pero que sin duda va obtiene lo que se paga. Cuando usted dice [inaudible], que es cuando cosas como estas cinco nueves aparecen, por lo que incluso si tecnológicamente en realidad no podemos garantizar 99.999, sólo tendremos que construir en una especie de la pena con el contrato de modo que si eso sucede, al menos hay algún costo para nosotros, el vendedor. Y eso es lo que lo haría normalmente puede lograr que se acuerdan. AUDIENCIA: [inaudible] DAVID MALAN: Y el una especie de bendición es que incluso cuando vamos hacia abajo, para instancia, o incluso ciertas empresas, la realidad es Amazon, por ejemplo, tiene tantos clientes, clientes rematadamente bien conocidos, que operan en determinados centros de datos que cuando algo va mal en realidad, como causas de fuerza y ​​tiempo y tal, si hay cualquier tipo de revestimiento de plata, es que estás en muy buena compañía. Su sitio web puede estar fuera de línea. Pero también lo es que la mitad de internet popular. Y lo que es sin duda un poco más aceptable para sus clientes si es más de una internet Lo que una cosa acme.com. Pero eso es un poco tramposo. Así que en términos de otras cosas que ver, sólo para que no descartamos otros, si vas a Microsoft Azure, que tener ambas cosas Linux y de Windows eso es comparable a la de Amazon. Si usted va a Google Compute Engine, tienen algo similar también. Y para redondear estas ofertas de nube, Voy a hacer mención a otra cosa. Se trata de un popular sitio web eso es representativa de una clase de tecnologías. Los que acabamos de hablar aproximadamente, Amazon, sería IAAS, Infraestructura como Servicio, donde se tipo de hardware físico como un servicio. Hay SAAS. En realidad, déjenme anoto estas abajo. Infraestructura IAAS-- Como un servicio, SAAS, y PAAS, que son acrónimos muy confusos que describen tres diferentes tipos de cosas. Y los propios acrónimos realmente no importa. Esta es toda la materia nube que hemos estado hablando, las cosas de nivel inferior, la virtualización de hardware y de almacenamiento en la llamada en la nube, ya sea Amazon, Microsoft, Google, u otro. Software como servicio-- todos nosotros este tipo de uso. Si utilizas Google Apps de Gmail o de calendario, cualquiera de estos web-basado Hace aplicaciones que 10 años que tendría iconos doble click en el nuestro escritorio, el software como servicio ahora es realmente de aplicaciones web. Y la plataforma como una servicio depende del tipo. Y un ejemplo te voy a dar aquí en el contexto de la nube computing-- hay una empresa que es bastante populares en estos días, Heroku. Y son un servicio, una plataforma, si se quiere, que se ejecuta en la parte superior de la infraestructura de Amazon. Y que sólo hacen que sea aún más fácil para los desarrolladores e ingenieros para obtener aplicaciones basadas en web en línea. Es un dolor, en un principio, para usar Amazon Web Services y otras cosas. Debido a que en realidad tienen para conocer y comprender sobre bases de datos y servidores web y balanceadores de carga y todas las cosas Que acabo de hablar. Debido a que todos Amazon ha hecho no es oculta los retos de diseño. Acaban de ellos virtualizados y moverlos en un navegador, en el software en lugar de hardware. Pero empresas como Heroku y otra proveedores de PAAS, plataforma como servicio, que utilizan esos fundamentales barebone que acabamos de hablar, y construyen más fácil utilizar el software en la parte superior de la misma de modo que si usted desea conseguir una web basada solicitud en línea en estos días, que sin duda tiene que saber programar. Lo que necesita saber Java o Python o PHP o Ruby o un montón de otras lenguas. Pero también necesita un lugar para ponerlo. Y hablamos anteriormente acerca conseguir una empresa de alojamiento web. En cierto modo es como los mediados de los 2000 enfoque para conseguir algo en línea. Hoy en día es posible que en lugar de pagar a alguien como Heroku unos pocos dólares al mes. Y, esencialmente, una vez que haya hecho alguna configuración inicial, para actualizar su sitio web, sólo tiene que escribir un comando en una ventana. Y cualquiera que sea el código que has escrito aquí en su computadora portátil de inmediato se distribuye a cualquier número de los servidores en la nube. Heroku y se encarga de toda la complejidad. Calculan toda la base de datos cosas, todo el equilibrio de carga, todos los dolores de cabeza que hemos acaba de escribir en la pizarra, y ocultar todo eso para usted. Y a cambio, sólo pagar un poco más. Por lo que tiene como estas infraestructuras un servicio, plataformas como un servicio, y luego el software como servicio. Es, de nuevo, esta abstracción de múltiples capas. Para cualquier duda sobre la nube o la construcción de la propia infraestructura? Muy bien, eso era mucho. ¿Por qué no vamos adelante y tomar nuestro descanso de 15 minutos aquí. Volveremos con algunos nuevos conceptos y un poco de oportunidad práctica antes de la noche ha terminado.