La empresa sostenible: Principales Características, Barreras para su Avance y...
Tecnologías Detrás de las Redes Sociales
1. DETRÁS DE LAS REDES SOCIALES
PROFESOR: EDDIE CHRISTIAN MALCA VICENTE
ALUMNO: ANTHONY JOSÉ CASTRO RÁEZ
L
E
N
G
U
A
J
E
D
E
P
R
O
G
R
A
M
A
C
I
Ó
N
2
2. Ohh todo lo que se
puede hacer con un
click, esto parece
magia.
SI CLARO!!!
MAGIA.
3. Tecnología detrás de las redes
sociales
• En estos últimos años las redes sociales han tenido una
acogida de una manera muy rápida, y que nos hacen la vida
un poco mas fácil y poder tener una comunicación mas rápida
con las personas de nuestro entorno. Pero la mayoría de le
gente solo se queda con lo que este servicio le ofrece pero no
sabe y ni tienen idea de como es que esto es posible. Eso es lo
que veremos a continuación como es que hacen posible
brindarnos este servicio.
4. Facebook
• Facebook la mayor red social de todos los
tiempos , la red social que se tumbó a HI5 y a
Myspace.
Desde su creación en febrero de 2004, Facebook ha
demostrado ser un sitio de redes sociales innovador y exitoso
utilizando sólo plataformas de software de código abierto para
construir y mantener el sitio web. Al frente de la empresa está
el fundador y CEO, Mark Zuckerberg, quien es el responsable
de la programación del sitio original y supervisar la dirección
tecnológica general del sitio existente.
5. • PHP
• Todo el sitio web de
Facebook se basa en y
alrededor del preprocesador
de hipertexto PHP. PHP es
un lenguaje de secuencia de
comandos del lado del
servidor que crea y envía las
páginas HTML dinámicas. Un
juego PHP que Facebook
utiliza ampliamente para
convertir PHP a código C++
es el HipHop para el marco
PHP. Este conjunto de
secuencias de comandos le
permite al sitio web
funcionar mejor y obtener el
máximo rendimiento de sus
servidores muy utilizados.
6. • Base de datos
• MySQL, una base de datos
de software de código
abierto, es uno de los
principales componentes
de la tecnología detrás de
Facebook. Se implementa
por medio de cientos de
miles de sitios web, ya que
escala muy bien, lo que
permite al código PHP
recuperar rápidamente
datos importantes, y
muchas veces, seguros.
Facebook cuenta con más
de 30.000 servidores y una
gran parte de estos son
servidores de bases de
datos MySQL.
7. • Almacenamiento de fotos
• Desde junio de 2011, Facebook es el mayor sitio web del
mundo para compartir fotos en internet. Para hacer frente
a la gran cantidad de fotos que subidas y vistas en el sitio
web, la empresa utiliza Haystack. Este software de código
abierto es una plataforma de almacenamiento de objetos
de alto rendimiento, que cuenta da potencia a la
característica de fotos de Facebook. La compañía ha
ajustado Haystack para guardar una foto cargada en cuatro
resoluciones diferentes para ayudar a acelerar el proceso
de recuperación, lo que depende del tamaño de la foto
requerida por el código PHP de Facebook.
8. Twitter
• Twitter la red social que solo te permite poner
140 caracteres, para que postees lo necesario
y no aburras a tus seguidores.
La compañía ha diseñado su interfaz desde el lenguaje Rubi on Rails.
Respecto a los mensajes que el usuario twittea, estos son almacenados
en un servidor paralelo de la red en programación a escala, además de
contener su propia API, la compañía de Jack, beneficiándose de esta
manera para que desarrolladores utilicen la aplicación en nuevas
funcionalidades para móviles u ordenadores además de sitios webs o
blogs.
Tal vez esto sea su rotundo éxito aunque Steven Berlin Johnson describe
a la red social como `muy simple`, y es que es muy sencilla y qué mejor
que tanta simplicidad para una red con millones de usuarios.
9. • Para mejorar la experiencia de navegación, cuentan que quisieron hacer
de Twitter un sitio tradicional en el sentido de “vínculos que llevan a otros
vínculos“. Por este motivo ahora la aplicación guarda en una caché las
páginas visitas del sitio, haciendo que la navegación sea mucho más fluida.
Por otra parte, para embeber el contenido multimedia de sitios
como Vimeo y Kiva utilizaron el estándar oEmbed mediante JSON (ya se
había comentado durante la conferencia de desarrolladores que Twitter
pondría todas sus fichas en JSON).
• Twitter dedicó un párrafo completo a su compromiso con las
tecnologías open source, recalcando que en la construcción del nuevo sitio
utilizaron casi de manera exclusiva aplicaciones y herramientas de código
abierto como jQuery, Mustache, LABjs y Modernizr. Pero la gran estrella
del nuevo sitio es, claramente, JavaScript, adoptada oficialmente como
“tecnología esencial de nuestra organización”. Indudablemente JS está
pasando por un momento genial.
10. Instagram
• La red social para subir fotos y pequeños
videos, para complacer a tus seguidores
En Instagram dicen que tienen un pequeño equipo de ingenieros pero que
han sabido aprovechar al máximo cada recurso para llegar a escalar su
infraestructura a más de 14 millones de usuarios en apenas un año.
Sus reglas básicas son:
Mantenerse simples
No reinventar la rueda
Usar tecnologías ya probadas siempre que eso sea posible
11. • Alojamiento
• Instagram usa Ubuntu Linux 11.04 en sus instancias en Amazon EC2, las
cuales manejan según las necesidades de demanda. De momento, no se
plantean utilizar servidores en sus propias instalaciones aunque no lo
descartan si el crecimiento se mantiene constante.
Servidores de
aplicaciones
Usan Django en Ama
zon High-CPU Extra
Large pasando de tan
sólo unas maquinas a
alcanzar ya más de
25. Aunque ese no es
ningún problema ya
que son capaces de
escalar
horizontalmente al
poder trabajar
independientemente
unas de otras.
Almacenamiento de
datos
Uno de los pilares de
Instagram son los datos
de las fotografias y los
usuarios. La base de
datos que se usa
es PostgreSQL .
Afirman que tiene 12
cluster de instancias de
memoria Quadruple
Extra-Large y sus 12
replicas en distintos
lugares.
12. • Tareas de notificación y push
• Para estos casos en los que se tiene que notificar a un usuario en
tempo real de una nueva foto publicada se usa Gearman, un
sistema de cola de tareas escrita originalmente en Danga. Colas
asíncronas para distribuir el trabajo pesado en segundo plano y que
las tareas más ligeras se realicen rápido.
Monitorización
Con más de cien instancias distribuidas en los distintos procesos que hemos
descrito, en Instragram usan Munin para revisar todos los parámetros gráficos de
los sistemas. Además de haber escrito varios plugin basado en Python. También se
usa Pingdom para la supervisión externa del servicio y PagerDuty para las
incidencias y las notificaciones.