Aparentemente, de la nada aparece Rust. Toda persona que lo toca, lo ama, y se convierte en un acólita y férrea defensora, pero ¿porque? ¿Porqué Facebook, AWS, Microsoft y todos los grandes se han metido en la Rust Foundation? En esta charla veremos qué es Rust, que aporta nuevo respecto al resto de lenguajes, y cuales son sus casos de uso más interesantes. También os contaremos porqué hemos elegido Rust como lenguaje de referencia para los desarrollos de software complejos, os enseñaremos cómo lo usamos y qué utilidades nos funcionan mejor. Lo tenemos claro. Este es el camino.
IV Estudio Mobile Advertising TAPTAP 2014 (Español)TAPTAP Networks
TAPTAP Networks, la mayor red de publicidad móvil del mercado español, ha publicado el IV Estudio sobre Mobile Advertising 2014 con el objetivo de conocer con exactitud tanto el estado del sector como sus prioridades. Este análisis tiene como base una encuesta dirigida a anunciantes y agencias que se realizó durante el mes de junio de 2014. El cuestionario, se dividió en tres temas diferenciados que se corresponden con las principales tendencias del sector: redes premium, tecnología Second Screen y contextualización geográfica.
IV Mobile Advertising Study TAPTAP 2014 (English)TAPTAP Networks
TAPTAP Networks has launched the IV Mobile Advertising Study 2014 in order to know the industry status in topics such as premium networks, second screen and geo-contextualization.
As a premium audience network we like to take care of every detail. On our network advertisers do not share screen space. One ad per page, that’s all, and not just any ad. We use the most advanced targeting technology available in market to deliver ads that our audience can relate to, ads that minimize intrusiveness
Escalabilidad y alto rendimiento con Symfony2Ricard Clau
En esta charla se pretenden tocar todas las cosas que debemos tener en cuenta para sacar el máximo rendimiento y poder escalar usando Symfony2.
Se toca desde parámetros de configuración de PHP y APC, optimización de Composer, dónde optimizar, quick wins varios, cómo hacer profiling correctamente, BBDD NoSQL vs SQL y por supuesto lecciones aprendidas en mis anteriores trabajos
Symfony y 3 millones de usuarios, nuestro dia a diaJordi Llonch
Ofertix.com ha crecido hasta convertirse en un proyecto que actualmente da servicio a una base de datos de casi 3 millones de usuarios con un equipo de menos de 10 personas y menos de 20 servidores. Durante esta sesión expondremos técnicas implementadas en el proyecto, en el proyecto, su arquitectura y el sistema de deploy de código.
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
Abstract de la charla realizada en SUGAR - Scala User Group Argentina
Apache Spark [1] es un framework para procesamiento distribuído diseñado para ser amigable para Data-Scientists y programadores, con soporte nativo a muchos lenguajes y diversidad de formatos de datos es extramadamente flexible. Cambiando el modelo establecido por Hadoop v1 de Map-Reduce por un grafo de ejecución (DAG) y manteniendo los pasos intermédios en RAM, Spark brinda excelente performance y una API muy expresiva.
Gustavo Arjones [2], CTO de Socialmetrix, va contar la experiencia que tuvieron al cambiarse de Hadoop a Spark y lo que los llevaron a este cambio. Esta charla es una introducción teorica y practica a Spark y sus distintos componentes.
Los tópicos a discutir son:
• Qué és?
• Aspectos que hacen Spark tan atractivo para la comunidad
• Plataforma unificada para Data Science (Batch, Stream, ML, Graph)
• Soporte a distintos lenguajes
• Ejecución: RDD y DAG / Task Scheduller
• Tracción de la comunidad (# commits, # commiters)
• testing, etc
• Demos:
• Spark-shell: Explicar paso a paso el WordCount
• LogAnalytics - compilar y submeter al cluster
• SQL/DataFrames: Demostrar que se puede consumir directamente JSON y hacer queries con SQL
[1] http://spark.apache.org
[2] https://linkedin.com/in/arjones
Aparentemente, de la nada aparece Rust. Toda persona que lo toca, lo ama, y se convierte en un acólita y férrea defensora, pero ¿porque? ¿Porqué Facebook, AWS, Microsoft y todos los grandes se han metido en la Rust Foundation? En esta charla veremos qué es Rust, que aporta nuevo respecto al resto de lenguajes, y cuales son sus casos de uso más interesantes. También os contaremos porqué hemos elegido Rust como lenguaje de referencia para los desarrollos de software complejos, os enseñaremos cómo lo usamos y qué utilidades nos funcionan mejor. Lo tenemos claro. Este es el camino.
IV Estudio Mobile Advertising TAPTAP 2014 (Español)TAPTAP Networks
TAPTAP Networks, la mayor red de publicidad móvil del mercado español, ha publicado el IV Estudio sobre Mobile Advertising 2014 con el objetivo de conocer con exactitud tanto el estado del sector como sus prioridades. Este análisis tiene como base una encuesta dirigida a anunciantes y agencias que se realizó durante el mes de junio de 2014. El cuestionario, se dividió en tres temas diferenciados que se corresponden con las principales tendencias del sector: redes premium, tecnología Second Screen y contextualización geográfica.
IV Mobile Advertising Study TAPTAP 2014 (English)TAPTAP Networks
TAPTAP Networks has launched the IV Mobile Advertising Study 2014 in order to know the industry status in topics such as premium networks, second screen and geo-contextualization.
As a premium audience network we like to take care of every detail. On our network advertisers do not share screen space. One ad per page, that’s all, and not just any ad. We use the most advanced targeting technology available in market to deliver ads that our audience can relate to, ads that minimize intrusiveness
Escalabilidad y alto rendimiento con Symfony2Ricard Clau
En esta charla se pretenden tocar todas las cosas que debemos tener en cuenta para sacar el máximo rendimiento y poder escalar usando Symfony2.
Se toca desde parámetros de configuración de PHP y APC, optimización de Composer, dónde optimizar, quick wins varios, cómo hacer profiling correctamente, BBDD NoSQL vs SQL y por supuesto lecciones aprendidas en mis anteriores trabajos
Symfony y 3 millones de usuarios, nuestro dia a diaJordi Llonch
Ofertix.com ha crecido hasta convertirse en un proyecto que actualmente da servicio a una base de datos de casi 3 millones de usuarios con un equipo de menos de 10 personas y menos de 20 servidores. Durante esta sesión expondremos técnicas implementadas en el proyecto, en el proyecto, su arquitectura y el sistema de deploy de código.
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
Abstract de la charla realizada en SUGAR - Scala User Group Argentina
Apache Spark [1] es un framework para procesamiento distribuído diseñado para ser amigable para Data-Scientists y programadores, con soporte nativo a muchos lenguajes y diversidad de formatos de datos es extramadamente flexible. Cambiando el modelo establecido por Hadoop v1 de Map-Reduce por un grafo de ejecución (DAG) y manteniendo los pasos intermédios en RAM, Spark brinda excelente performance y una API muy expresiva.
Gustavo Arjones [2], CTO de Socialmetrix, va contar la experiencia que tuvieron al cambiarse de Hadoop a Spark y lo que los llevaron a este cambio. Esta charla es una introducción teorica y practica a Spark y sus distintos componentes.
Los tópicos a discutir son:
• Qué és?
• Aspectos que hacen Spark tan atractivo para la comunidad
• Plataforma unificada para Data Science (Batch, Stream, ML, Graph)
• Soporte a distintos lenguajes
• Ejecución: RDD y DAG / Task Scheduller
• Tracción de la comunidad (# commits, # commiters)
• testing, etc
• Demos:
• Spark-shell: Explicar paso a paso el WordCount
• LogAnalytics - compilar y submeter al cluster
• SQL/DataFrames: Demostrar que se puede consumir directamente JSON y hacer queries con SQL
[1] http://spark.apache.org
[2] https://linkedin.com/in/arjones
Mis compañeros Data Scientist ya han hecho un modelo de Machine Learning y ahora me toca a mi ponerlo en producción para los clientes y conseguir que escale de forma masiva. En esta charla vamos a ver el lado más ingenieril: decisiones tomadas, decisiones descartadas, cosas que no nos han funcionado (y por qué) y cómo nuestro viejo amigo PySpark nunca nos defrauda. Aprenderemos lo que son las UDFs de Spark y como utilizarlas en combinación con un modelo de LightGBM para hacer predicciones. Tambén veremos la importancia de poder iterar rápido y probar cosas utilizando Databricks.
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...SolidQ
Aunque SQL Server funciona bastante bien "por defecto" realmente una buena configuración puede marcar la diferencia durante un pico de carga o comprometer la estabilidad del sistema. Aprendemos cómo configurar correctamente nuestra instancia SQL Server para mejorar el rendimiento y evitar inestabilidades en su funcionamiento.
Ahorre hasta un 90% en ambientes productivos con instancias Spot - https://aws.amazon.com/es/ec2/spot/
Más informacion: http://aws.amazon.com/es/colombia/
Introducción a esta base de datos NoSQL que permite desarrollar aplicaciones altamente escalables gracias a su velocidad (100k operaciones por segundo en un ordenador corriente) y su capacidad de trabajar en varios nodos.
Migrando Rails Apps entre Cloud y Bare Metal ServersEdwin Cruz
Platica dada en MagmaRails 2012, aqui comparto mis experiencias de migrar aplicaciones rails de bare metal servers a custom cloud, de PaaS a bare metal servers y todas las combinaciones. Cualquier pregunta twitter: softr8
En esta presentación haremos una pequeña introducción a Deep Learning. Posteriormente, veremos cómo entrenar y evaluar nuestros modelos haciendo uso del servicio de Azure ML, utilizando Cntk con Python para el entrenamiento y C# para la evaluación del modelo.
Mis compañeros Data Scientist ya han hecho un modelo de Machine Learning y ahora me toca a mi ponerlo en producción para los clientes y conseguir que escale de forma masiva. En esta charla vamos a ver el lado más ingenieril: decisiones tomadas, decisiones descartadas, cosas que no nos han funcionado (y por qué) y cómo nuestro viejo amigo PySpark nunca nos defrauda. Aprenderemos lo que son las UDFs de Spark y como utilizarlas en combinación con un modelo de LightGBM para hacer predicciones. Tambén veremos la importancia de poder iterar rápido y probar cosas utilizando Databricks.
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...SolidQ
Aunque SQL Server funciona bastante bien "por defecto" realmente una buena configuración puede marcar la diferencia durante un pico de carga o comprometer la estabilidad del sistema. Aprendemos cómo configurar correctamente nuestra instancia SQL Server para mejorar el rendimiento y evitar inestabilidades en su funcionamiento.
Ahorre hasta un 90% en ambientes productivos con instancias Spot - https://aws.amazon.com/es/ec2/spot/
Más informacion: http://aws.amazon.com/es/colombia/
Introducción a esta base de datos NoSQL que permite desarrollar aplicaciones altamente escalables gracias a su velocidad (100k operaciones por segundo en un ordenador corriente) y su capacidad de trabajar en varios nodos.
Migrando Rails Apps entre Cloud y Bare Metal ServersEdwin Cruz
Platica dada en MagmaRails 2012, aqui comparto mis experiencias de migrar aplicaciones rails de bare metal servers a custom cloud, de PaaS a bare metal servers y todas las combinaciones. Cualquier pregunta twitter: softr8
En esta presentación haremos una pequeña introducción a Deep Learning. Posteriormente, veremos cómo entrenar y evaluar nuestros modelos haciendo uso del servicio de Azure ML, utilizando Cntk con Python para el entrenamiento y C# para la evaluación del modelo.
8. SSP
AdExchange
Subasta
DSP
Bidder
SDK
1.
Dame
anuncios
2.
Hay
un
escaparate
disponible,
¿cuánto
me
dais?
9. • ¿Qué
campaña
ponemos?
• ¿Cuánto
pagamos
por
ella?
• Necesitamos
muchísimas
pe1ciones
Problemas
• Tiempo
de
respuesta
<
100ms
• Siempre
hay
que
dar
una
respuesta
válida
• Almacenamos
todas
las
pe1ciones
• No
podemos
precalcular
el
resultado
Restricciones
19. • Paralelizar
Iene
un
sobre-‐coste
• La
serialización
es
cara
y
aburrida
de
programar
• No
sabemos
que
pasa
por
dentro
• “Real1me
processing”
!=
comunicación
sincrona
Lecciones
aprendidas
20. • Paralelizar
1ene
un
sobre-‐coste
• La
serialización
es
cara
y
aburrida
de
programar
Round
1
DRPCSpout
CojoBolt
RequestLog
ResponseLog
22. • Paralelizar
1ene
un
sobre-‐coste
• La
serialización
es
cara
y
aburrida
de
programar
• No
sabemos
que
pasa
por
dentro
• “Real1me
processing”
!=
comunicación
sincrona
• Redis
no
nos
sirve
como
Storage
principal
Lecciones
aprendidas
27. • Paralelizar
1ene
un
sobre-‐coste
• La
serialización
es
cara
y
aburrida
de
programar
• No
sabemos
que
pasa
por
dentro
• “RealIme
processing”
!=
comunicación
sincrona
• Redis
no
nos
sirve
como
Storage
principal
Lecciones
aprendidas
42. • En
cuanto
solucionas
un
cuello
de
botella
aparecerá
el
siguiente.
• Por
mucho
que
lo
intentemos
tendemos
a
la
op1mización
prematura.
• La
algoritmia
no
nos
ha
resuelto
el
problema.
• Busca
una
librería
de
métricas
para
tu
stack.
• Un
entorno
de
trabajo
higiénico
es
imprescindible.
Lecciones
aprendidas
43.
44. Entre
175
y
250
GB
diarios
de
datos
comprimidos
(1,6TB
en
crudo)
• Escritura
en
disco
en
diferido
• Discos
SSD
• Envío
por
lotes
a
S3
Problemas
de
almacenamiento
45. “Si
devuelve
void,
puede
esperar”
public void log(!
final RTBImplementationBean request,!
final AdExchange adExchange) {!
FutureTask futureLog = new FutureTask(new Callable() {!
@Override!
public Object call() throws Exception {!
" synchLog(request, adExchange);!
" " "return null;!
" }!
" );!
futureLog.run();!
}
Rest
Server
Worker
PubSub
DB
A
nivel
de
código
A
nivel
arquitectónico
46. • Si
necesitas
backups,
ten
en
cuenta
que
necesita
el
doble
de
memoria
de
la
que
vas
a
usar.
Redis
va
como
un
1ro
pero…
Backup
instance
48. • De
dicas
más
1empo
a:
– Programar
vs
Despelgar?
– Diagnos1car
vs
Corregir?
– Bugs
vs
Features?
• Opacidad
• Pérdida
del
control
Cuida
tu
entorno
de
trabajo
49. Cada
pieza
del
puzzle
es
mo1vo
de
preocupaciones.
Sobreingenieria
es
evil
50. • Miedo
al
cambio.
• Sen1miento
de
pertenencia.
• Ser
exesivamente
conservador.
• Fíate
de
tus
ins1ntos.
“La
inercia
te
frena
¿WTF?”