sábado, 30 de enero de 2010

¿ QUÉ HAY DETRAS DE HOTMAIL ? BACKSTAGE



¿Què hay detrás de Hotmail ?
Alguna vez te lo haz preguntado, haz imaginado cuanta cantidad información maneja o cuantas cuentas de correo existen. Pues aqui te ayudamos a despejar un poco tus dudas y veas un poco de la enorme ingenierìa que hay detras de este servicio favorito por todos. 



Para dar inicio me gustaría darle un vistazo detrás de las escenas en Hotmail, y les dirá más acerca de lo que se necesita para crear, implementar y ejecutar el servicio Windows Live Hotmail en una escala tan masiva global.

El alojamiento de su correo electrónico y datos (y nuestros propios datos!) En nuestros servidores es una gran responsabilidad y nos tomamos la calidad, rendimiento y fiabilidad muy en serio. Hacemos grandes inversiones en ingeniería y de infraestructura para ayudar a mantener Hotmail en funcionamiento las 24 horas del día, día tras día, año tras año. Rara vez se oye hablar de estos esfuerzos - que sólo se lee acerca de ellos en las raras ocasiones en que algo va mal y nuestro servicio se ha topado con un problema.

Hotmail es un servicio gigante en todas las dimensiones. Éstos son algunos de los aspectos más destacados:
Somos un servicio de todo el mundo, ofreciendo versiones localizadas de Hotmail a 59 mercados regionales, en 36 idiomas.

Acogemos más de 1,3 mil millones bandejas de entrada (algunos usuarios tienen múltiples bandejas de entrada)

Más de 350 millones de personas están utilizando activamente Hotmail en una base mensual (fuente: comScore, agosto de 2009).

Nosotros nos encargamos de más de 3 mil millones de mensajes al día y filtrar más de 1 mil millones de mensajes de spam - correo electrónico que nunca ves en tu bandeja de entrada.

Estamos creciendo de almacenamiento de más de 2 petabytes al mes (un petabyte es ~ 1 millón de gigabytes o terabytes ~ 1000).

Actualmente tenemos más de 155 petabytes de almacenamiento desplegados (70% de almacenamiento se ha incorporado con archivos adjuntos, por lo general las fotos).

Somos la más grande red SQL Server 2008 de despliegue en el mundo (que supervisar y gestionar miles de servidores SQL).

Usted puede imaginar que la interfaz de usuario de Hotmail que ves en el navegador es sólo la punta del iceberg - Muchas de las innovaciones ocurren bajo la superficie. En este post voy a dar una visión de alto nivel de cómo es la arquitectura del sistema. Vamos a hacer inmersiones más profundas en algunas características específicas de los puestos más adelante.

Arquitectura
 
Hotmail y nuestros otros servicios Windows Live están alojados en DATACENTERS en todo el mundo. Nuestro servicio de Hotmail es organizado en lógica "unidades de la escala", o clusters. Por otra parte, Hotmail dispone de una infraestructura que se comparte entre los grupos en cada centro de datos:
 
Servidores para manejar el correo entrante y saliente.

Filtros de Spam (vamos a hablar más sobre el spam en un blog futuro).

De almacenamiento de datos y la agregación de nuestros sistemas de control de servicios de salud.

Seguimiento y la infraestructura de respuesta a incidentes.

Infraestructura para gestionar la implantación del código automatizado y actualizaciones de configuración.

Los clusters reciben a millones de usuarios (el número depende de la edad del hardware) y es un conjunto independiente de servidores, incluyendo:

Servidores de la interfaz - Servidores de hacer check en busca de virus y de acogida del código que habla con tu navegador o cliente de correo electrónico, utilizando protocolos como POP3 y DeltaSync.

Servidores backend - SQL y servidores de archivos de almacenamiento, los filtros de spam, almacenamiento de datos y control de spam, los agentes de directorios y servidores de la gestión del correo entrante y saliente.

Balanceadores de carga - Hardware y software utilizados para distribuir la carga de manera más uniforme para un rendimiento más rápido.

La prevención de las interrupciones y la pérdida de datos es nuestra principal prioridad y tener sumo cuidado para evitar que suceda. Hemos diseñado nuestro servicio para controlar la insuficiencia, nuestra hipótesis es que cualquier cosa que puede no lo hará con el tiempo. Tenemos los fallos de hardware, con cientos de miles de unidades de disco duro en uso, algunos están destinados a fracasar. Afortunadamente, gracias a la arquitectura y la gestión de procesos que hemos hecho en el lugar, los clientes rara vez experimentan un impacto de estos fracasos.
Aquí están algunas de las formas de guardar los fallos que figuran:
 

La redundancia - Utilizamos una combinación de arreglos de almacenamiento de SQL Server para alojar nuestros datos. Usamos activa y tecnologías de conmutación por error pasivas. Esta es una manera elegante de decir que tenemos varios servidores y copias de sus datos que están constantemente sincronizados. Si un servidor tiene un fallo, otro está dispuesto a asumir en segundos. Con todo seguimos cuatro copias de sus datos en varias unidades y los servidores para reducir al mínimo la posibilidad de pérdida de datos debido a un fallo de hardware. 

Otro beneficio de esta arquitectura es que podemos llevar a cabo mantenimiento planificado (como el código de la implementación de actualizaciones o parches de seguridad) sin tiempo de inactividad para usted. Piezas clave de nuestro equipo de la red también están duplicados para minimizar la posibilidad de la red relacionados con los apagones. 

Seguimiento - Tenemos un elaborado sistema de control de hardware y software. Miles de servidores de supervisar los servicios de salud, las transacciones (por ejemplo, enviando un e-mail) y el rendimiento del sistema para clientes de todo el mundo. Porque somos tan grandes, estamos de seguimiento de las métricas de rendimiento y tiempo de actividad en su conjunto, así como a nivel de cluster, y por la geografía. Queremos asegurarnos de que sus experiencias individuales se reflejan de nuevo a nosotros, y no perderse cuando nos fijamos en los promedios para todo el sistema. Nos preocupamos por cada usuario de la experiencia. Hablaremos más sobre el rendimiento y el seguimiento en un futuro post. 

Centro de Respuesta - Tenemos alrededor al equipo de respuesta de reloj centro que vela por nuestros sistemas de vigilancia mundial y actúa inmediatamente cuando hay un problema. Tenemos un proceso de escalamiento, que pueden comprometer a nuestro personal de ingeniería dentro de unos minutos cuando sea necesario.

Proceso de Ingeniería 
 
He hablado un poco sobre nuestra arquitectura y las medidas que estamos tomando para asegurar un servicio ininterrumpido. Ningún servicio es estático sin embargo, además del crecimiento debido al uso, nos empuje a cabo actualizaciones de forma regular. Así que nuestros procesos de ingeniería son tan importantes como nuestra arquitectura para ofrecerle un gran servicio. De parches para actualizaciones menores para las versiones principales, tenemos una gran cantidad de precauciones durante nuestro proceso de desarrollo y despliegue.

Pruebas y despliegue - Para todos los desarrolladores en nuestro personal tenemos un ingeniero de pruebas que trabaja mano a mano con él o ella para dar entrada en el diseño y especificaciones, crear una infraestructura de pruebas, escribir y automatizar los casos de prueba para las nuevas características, y la medida de calidad. Cuando hablamos de calidad, queremos decir que en la definición más amplia de la palabra: no sólo la estabilidad y fiabilidad, sino también la facilidad de uso, rendimiento, seguridad, accesibilidad (para clientes con discapacidad), la privacidad, la escalabilidad y funcionalidad en todos los navegadores y los clientes que apoyamos, en todo el mundo. Habida cuenta de nuestra escala, esto no es una tarea fácil.

Y porque somos un servicio gratuito financiado en gran parte por la publicidad, tenemos que ser muy eficiente en una base operativa. Así que el despliegue, configuración y mantenimiento de nuestros sistemas son altamente automatizadas. La automatización también reduce el riesgo de error humano.

Código de despliegue y gestión del cambio - Tenemos miles de servidores en nuestro laboratorio de pruebas en la que implementar y el código de prueba y antes de que entre a nuestros clientes. En el centro de datos que tenemos algunos grupos de reserva para pruebas de "comida para perros", y versiones beta en las etapas finales de un proyecto. Probamos todos los cambios en nuestros laboratorios, ya sea una actualización del código, el cambio de hardware o de revisión de seguridad, antes de desplegar a los clientes.


Después de todos los equipos de ingeniería han firmado en un comunicado (incluyendo la prueba y de Ingeniería de Sistemas) empezamos a mejorar poco a poco los grupos en el centro de datos para impulsar los cambios a los clientes en todo el mundo. 


 Normalmente lo hacemos en un período de pocos meses -, no sólo porque se necesita tiempo para realizar las actualizaciones sin afectar a los clientes con el tiempo de inactividad, pero también nos permite observar y asegurarse de que no hay pérdida de calidad y rendimiento.

También puede activar las características individuales de encendido o apagado. A veces implementar las actualizaciones de posponer o retrasar, pero convirtiéndolos. En raros casos se han convertido temporalmente características fuera de, digamos por razones de seguridad o rendimiento.






Conclusión
Esto debería comenzar a dar una idea del tamaño y el alcance de la ingeniería que se dedica a suministrar y mantener el servicio de Hotmail.


 Estamos comprometidos con la excelencia de la ingeniería y la mejora continua de nuestros servicios para usted. Seguimos aprendiendo como el servicio crece, y nos tomamos en serio a todos sus comentarios, así que me dejen un comentario con tus ideas y preguntas. Soy un apasionado de nuestros servicios y así son todos los miembros del equipo de Windows Live - podemos ser ingenieros, pero nosotros usamos los servicios de nosotros mismos, junto con cientos de millones de nuestros clientes.

Arthur de Haan 

Director de la Prueba de Windows Live y de Ingeniería de Sistemas 

0 comentarios:

Publicar un comentario

Twitter Delicious Facebook Digg Stumbleupon Favorites More