SlideShare a Scribd company logo
Shoe Lovers @ dev.f 
Octubre 2014
Retos 
• Hacer lo que te apasiona. 
• Las recompensas vienen solas. 
• Utilizar todas las herramientas a tu alcance.
Shoe Lovers 
• Comunidad con 25,000,000 de seguidores en 
Facebook. 
• Más de 8,000,000 de interacciones al día. 
• Social Commerce (uso de interacciones sociales 
para facilitar y promovers transacciones 
electrónicas de compra/venta). 
• Un reto técnico pero al final un negocio rentable.
Primeros Hacks 
¿Comprar o construir?
Escalando 
• Infraestructura 
• Equipos
Nuestro Stack 
• LAMP (SoftLayer, AWS) 
• Google Cloud
LAMP AWS 
• EC2 (Elastic Compute Cloud, instance types, zones) 
• S3 (Simple Storage Service) 
• Load Balancer (Sessions) 
• RDS (Relational Database Server) 
• Managed vs. Self Managed 
• Master & Read Replica(s) -> delay 
• Redshift, DynamoDB, ElastiCache, SES, SQS 
• Autoscaling (cloudwatch) 
• Caching (redis, memcache) 
• Optimizar para costos de operación
LAMP AWS 
http://techblog.netflix.com/2012/06/asgard-web-based-cloud-management-and.html
Google Cloud 
• App engine 
• Datastore (BigTable) (stats) 
• Blobstore (image service) (demo) 
• Memcache (ndb datastore api) 
• CloudSQL 
• Map-Reduce 
• Compute Engine
Requests, Latency, Instances
class PostLike(ndb.Model): 
Datastore 
parent_id=ndb.StringProperty() 
sender_id=ndb.StringProperty() 
verb=ndb.StringProperty() 
created_time=ndb.IntegerProperty() 
source= ndb.StringProperty() #the source can be facebook or the website 
deleted = ndb.BooleanProperty(default=False) 
created = ndb.DateTimeProperty(auto_now_add=True) 
modify = ndb.DateTimeProperty(auto_now=True) 
post_picture=ndb.StringProperty() 
user_picture=ndb.StringProperty() 
! 
newLike= localmodels.PostLike(parent_id =parent_id, sender_id = sender_id, verb=verb, 
created_time=created_time , source=‘FBRT') 
! 
newLike.put() 
! 
newLike.key.delete() 
! 
likesPost= localmodels.PostLike.query(localmodels.PostLike.parent_id==post_id).fetch(10)
Datastore
Datastore 
6 días de ‘Likes’
Datastore 
6 días de ‘Comments’
Blobstore & Image Service 
class BlobstoreUploadHandler(blobstore_handlers.BlobstoreUploadHandler): 
def post(self): 
upload_files = self.get_uploads('file') 
blob_info = upload_files[0] 
blob_key=blob_info.key() 
serving_url= images.get_serving_url(blob_key) 
return serving_url 
! 
! 
! 
POST multipart/form-data 
! 
!
Blobstore & Image Service 
Blob key: 
AMIfv96pxt34ek2mz_aS8i24hTJW7ZAnELPf15B8rp2XYzCg8yz6JklfBejG1izZrnxeReS 
dvhlX6cXIkGABNu2esQQB5ocPxAumYCKdLqgGx8RRFTTTg7HvNiemHoEXi7u82ucz 
HRolloLenagWJ9ASl-QHng2SRXvFZP_0045-Y8QjOGvRMkI 
! 
Serving URL (crop, resize):! 
http://lh3.ggpht.com/ 
IhESBu6X7DGzTRc5F6LhfMEKN-3UhPXjv9_7d0nkg_2EOuQFhzu_TdBSnSi08mHVCl 
WZ_po-j3lsFTISJPFJffP1e3o_xg=s0 
! 
http://lh3.ggpht.com/ 
IhESBu6X7DGzTRc5F6LhfMEKN-3UhPXjv9_7d0nkg_2EOuQFhzu_TdBSnSi08mHVCl 
WZ_po-j3lsFTISJPFJffP1e3o_xg=s200 
! 
http://lh3.ggpht.com/ 
IhESBu6X7DGzTRc5F6LhfMEKN-3UhPXjv9_7d0nkg_2EOuQFhzu_TdBSnSi08mHVCl 
WZ_po-j3lsFTISJPFJffP1e3o_xg=s200-c
Memcache 
data = memcache.get(key) 
! 
if data is None: 
data=getDataFromDB(key) 
memcache.add(key, data) 
return data
Memcache
Challenge 
• Extract value from all that info: 
• Patterns 
• Trends 
• Recommendations
Future 
• Big Query 
• Backends 
• Prediction.io 
• Apache Spark (ML) 
• Cassandra (Datastax)
References 
• https://github.com/coto/gae-boilerplate 
• https://www.udacity.com/course/cs253 
• http://es.slideshare.net/kigster/scaling-wanelocom-100x-in-six-months 
• https://spark.apache.org/ 
• https://github.com/Netflix/asgard 
• http://techblog.netflix.com/
“Focus on where you want to go, not on 
what you fear.” 
–Anthony Robbins

More Related Content

What's hot (12)

Introduction to Underscore.js
Introduction to Underscore.jsIntroduction to Underscore.js
Introduction to Underscore.js
David Jacobs
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
Doris Chen
 
Why Django
Why DjangoWhy Django
Why Django
Idan Gazit
 
JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)
jeresig
 
Freebase and the iPhone
Freebase and the iPhoneFreebase and the iPhone
Freebase and the iPhone
Alec Flett
 
bcgr3-jquery
bcgr3-jquerybcgr3-jquery
bcgr3-jquery
tutorialsruby
 
Django class based views (Dutch Django meeting presentation)
Django class based views (Dutch Django meeting presentation)Django class based views (Dutch Django meeting presentation)
Django class based views (Dutch Django meeting presentation)
Reinout van Rees
 
Intro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate JavascriptIntro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate Javascript
Andrew Lovett-Barron
 
Introduction to jQuery (Ajax Exp 2007)
Introduction to jQuery (Ajax Exp 2007)Introduction to jQuery (Ajax Exp 2007)
Introduction to jQuery (Ajax Exp 2007)
jeresig
 
Painless Persistence in a Disconnected World
Painless Persistence in a Disconnected WorldPainless Persistence in a Disconnected World
Painless Persistence in a Disconnected World
Christian Melchior
 
jQuery Introduction
jQuery IntroductionjQuery Introduction
jQuery Introduction
Arwid Bancewicz
 
Understanding backbonejs
Understanding backbonejsUnderstanding backbonejs
Understanding backbonejs
Nick Lee
 
Introduction to Underscore.js
Introduction to Underscore.jsIntroduction to Underscore.js
Introduction to Underscore.js
David Jacobs
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
Doris Chen
 
JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)
jeresig
 
Freebase and the iPhone
Freebase and the iPhoneFreebase and the iPhone
Freebase and the iPhone
Alec Flett
 
Django class based views (Dutch Django meeting presentation)
Django class based views (Dutch Django meeting presentation)Django class based views (Dutch Django meeting presentation)
Django class based views (Dutch Django meeting presentation)
Reinout van Rees
 
Intro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate JavascriptIntro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate Javascript
Andrew Lovett-Barron
 
Introduction to jQuery (Ajax Exp 2007)
Introduction to jQuery (Ajax Exp 2007)Introduction to jQuery (Ajax Exp 2007)
Introduction to jQuery (Ajax Exp 2007)
jeresig
 
Painless Persistence in a Disconnected World
Painless Persistence in a Disconnected WorldPainless Persistence in a Disconnected World
Painless Persistence in a Disconnected World
Christian Melchior
 
Understanding backbonejs
Understanding backbonejsUnderstanding backbonejs
Understanding backbonejs
Nick Lee
 

Similar to Devf (Shoe Lovers) (20)

Django at Scale
Django at ScaleDjango at Scale
Django at Scale
bretthoerner
 
Backbone.js introduction workshop
Backbone.js introduction workshopBackbone.js introduction workshop
Backbone.js introduction workshop
Yifat Kanfi
 
Data Migrations in the App Engine Datastore
Data Migrations in the App Engine DatastoreData Migrations in the App Engine Datastore
Data Migrations in the App Engine Datastore
Ryan Morlok
 
SharePoint and jQuery Essentials
SharePoint and jQuery EssentialsSharePoint and jQuery Essentials
SharePoint and jQuery Essentials
Mark Rackley
 
REST APIs in Laravel 101
REST APIs in Laravel 101REST APIs in Laravel 101
REST APIs in Laravel 101
Samantha Geitz
 
Rails and alternative ORMs
Rails and alternative ORMsRails and alternative ORMs
Rails and alternative ORMs
Jonathan Dahl
 
Django Pro ORM
Django Pro ORMDjango Pro ORM
Django Pro ORM
Alex Gaynor
 
Modern, Scalable, Ambitious apps with Ember.js
Modern, Scalable, Ambitious apps with Ember.jsModern, Scalable, Ambitious apps with Ember.js
Modern, Scalable, Ambitious apps with Ember.js
Mike North
 
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
GeeksLab Odessa
 
Real World MVC
Real World MVCReal World MVC
Real World MVC
James Johnson
 
初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料
Shinichi Ogawa
 
huhu
huhuhuhu
huhu
Dung Trương
 
Performance and Optmization - a technical talk at Frontend London
Performance and Optmization - a technical talk at Frontend LondonPerformance and Optmization - a technical talk at Frontend London
Performance and Optmization - a technical talk at Frontend London
thomas alisi
 
Python & Django TTT
Python & Django TTTPython & Django TTT
Python & Django TTT
kevinvw
 
12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat
Jonathan Linowes
 
Amazon Web Services for PHP Developers
Amazon Web Services for PHP DevelopersAmazon Web Services for PHP Developers
Amazon Web Services for PHP Developers
Jeremy Lindblom
 
Async. and Realtime Geo Applications with Node.js
Async. and Realtime Geo Applications with Node.jsAsync. and Realtime Geo Applications with Node.js
Async. and Realtime Geo Applications with Node.js
Shoaib Burq
 
Progressive Enhancment with Rails and React
Progressive Enhancment with Rails and ReactProgressive Enhancment with Rails and React
Progressive Enhancment with Rails and React
Tyler Johnston
 
Big data week presentation
Big data week presentationBig data week presentation
Big data week presentation
Joseph Adler
 
SXSW 2012 JavaScript MythBusters
SXSW 2012 JavaScript MythBustersSXSW 2012 JavaScript MythBusters
SXSW 2012 JavaScript MythBusters
Elena-Oana Tabaranu
 
Backbone.js introduction workshop
Backbone.js introduction workshopBackbone.js introduction workshop
Backbone.js introduction workshop
Yifat Kanfi
 
Data Migrations in the App Engine Datastore
Data Migrations in the App Engine DatastoreData Migrations in the App Engine Datastore
Data Migrations in the App Engine Datastore
Ryan Morlok
 
SharePoint and jQuery Essentials
SharePoint and jQuery EssentialsSharePoint and jQuery Essentials
SharePoint and jQuery Essentials
Mark Rackley
 
REST APIs in Laravel 101
REST APIs in Laravel 101REST APIs in Laravel 101
REST APIs in Laravel 101
Samantha Geitz
 
Rails and alternative ORMs
Rails and alternative ORMsRails and alternative ORMs
Rails and alternative ORMs
Jonathan Dahl
 
Modern, Scalable, Ambitious apps with Ember.js
Modern, Scalable, Ambitious apps with Ember.jsModern, Scalable, Ambitious apps with Ember.js
Modern, Scalable, Ambitious apps with Ember.js
Mike North
 
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
GeeksLab Odessa
 
初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料
Shinichi Ogawa
 
Performance and Optmization - a technical talk at Frontend London
Performance and Optmization - a technical talk at Frontend LondonPerformance and Optmization - a technical talk at Frontend London
Performance and Optmization - a technical talk at Frontend London
thomas alisi
 
Python & Django TTT
Python & Django TTTPython & Django TTT
Python & Django TTT
kevinvw
 
12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat12 core technologies you should learn, love, and hate to be a 'real' technocrat
12 core technologies you should learn, love, and hate to be a 'real' technocrat
Jonathan Linowes
 
Amazon Web Services for PHP Developers
Amazon Web Services for PHP DevelopersAmazon Web Services for PHP Developers
Amazon Web Services for PHP Developers
Jeremy Lindblom
 
Async. and Realtime Geo Applications with Node.js
Async. and Realtime Geo Applications with Node.jsAsync. and Realtime Geo Applications with Node.js
Async. and Realtime Geo Applications with Node.js
Shoaib Burq
 
Progressive Enhancment with Rails and React
Progressive Enhancment with Rails and ReactProgressive Enhancment with Rails and React
Progressive Enhancment with Rails and React
Tyler Johnston
 
Big data week presentation
Big data week presentationBig data week presentation
Big data week presentation
Joseph Adler
 
SXSW 2012 JavaScript MythBusters
SXSW 2012 JavaScript MythBustersSXSW 2012 JavaScript MythBusters
SXSW 2012 JavaScript MythBusters
Elena-Oana Tabaranu
 

Recently uploaded (20)

DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
π0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalizationπ0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalization
NABLAS株式会社
 
International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)
samueljackson3773
 
ELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdfELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdf
Shiju Jacob
 
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Journal of Soft Computing in Civil Engineering
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.
anuragmk56
 
The Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLabThe Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLab
Journal of Soft Computing in Civil Engineering
 
Raish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdfRaish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdf
RaishKhanji
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
DSP and MV the Color image processing.ppt
DSP and MV the  Color image processing.pptDSP and MV the  Color image processing.ppt
DSP and MV the Color image processing.ppt
HafizAhamed8
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
charlesdick1345
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
π0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalizationπ0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalization
NABLAS株式会社
 
International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)
samueljackson3773
 
ELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdfELectronics Boards & Product Testing_Shiju.pdf
ELectronics Boards & Product Testing_Shiju.pdf
Shiju Jacob
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.Fort night presentation new0903 pdf.pdf.
Fort night presentation new0903 pdf.pdf.
anuragmk56
 
Raish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdfRaish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdf
RaishKhanji
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
DSP and MV the Color image processing.ppt
DSP and MV the  Color image processing.pptDSP and MV the  Color image processing.ppt
DSP and MV the Color image processing.ppt
HafizAhamed8
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
charlesdick1345
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 

Devf (Shoe Lovers)

  • 1. Shoe Lovers @ dev.f Octubre 2014
  • 2. Retos • Hacer lo que te apasiona. • Las recompensas vienen solas. • Utilizar todas las herramientas a tu alcance.
  • 3. Shoe Lovers • Comunidad con 25,000,000 de seguidores en Facebook. • Más de 8,000,000 de interacciones al día. • Social Commerce (uso de interacciones sociales para facilitar y promovers transacciones electrónicas de compra/venta). • Un reto técnico pero al final un negocio rentable.
  • 6. Nuestro Stack • LAMP (SoftLayer, AWS) • Google Cloud
  • 7. LAMP AWS • EC2 (Elastic Compute Cloud, instance types, zones) • S3 (Simple Storage Service) • Load Balancer (Sessions) • RDS (Relational Database Server) • Managed vs. Self Managed • Master & Read Replica(s) -> delay • Redshift, DynamoDB, ElastiCache, SES, SQS • Autoscaling (cloudwatch) • Caching (redis, memcache) • Optimizar para costos de operación
  • 9. Google Cloud • App engine • Datastore (BigTable) (stats) • Blobstore (image service) (demo) • Memcache (ndb datastore api) • CloudSQL • Map-Reduce • Compute Engine
  • 11. class PostLike(ndb.Model): Datastore parent_id=ndb.StringProperty() sender_id=ndb.StringProperty() verb=ndb.StringProperty() created_time=ndb.IntegerProperty() source= ndb.StringProperty() #the source can be facebook or the website deleted = ndb.BooleanProperty(default=False) created = ndb.DateTimeProperty(auto_now_add=True) modify = ndb.DateTimeProperty(auto_now=True) post_picture=ndb.StringProperty() user_picture=ndb.StringProperty() ! newLike= localmodels.PostLike(parent_id =parent_id, sender_id = sender_id, verb=verb, created_time=created_time , source=‘FBRT') ! newLike.put() ! newLike.key.delete() ! likesPost= localmodels.PostLike.query(localmodels.PostLike.parent_id==post_id).fetch(10)
  • 13. Datastore 6 días de ‘Likes’
  • 14. Datastore 6 días de ‘Comments’
  • 15. Blobstore & Image Service class BlobstoreUploadHandler(blobstore_handlers.BlobstoreUploadHandler): def post(self): upload_files = self.get_uploads('file') blob_info = upload_files[0] blob_key=blob_info.key() serving_url= images.get_serving_url(blob_key) return serving_url ! ! ! POST multipart/form-data ! !
  • 16. Blobstore & Image Service Blob key: AMIfv96pxt34ek2mz_aS8i24hTJW7ZAnELPf15B8rp2XYzCg8yz6JklfBejG1izZrnxeReS dvhlX6cXIkGABNu2esQQB5ocPxAumYCKdLqgGx8RRFTTTg7HvNiemHoEXi7u82ucz HRolloLenagWJ9ASl-QHng2SRXvFZP_0045-Y8QjOGvRMkI ! Serving URL (crop, resize):! http://lh3.ggpht.com/ IhESBu6X7DGzTRc5F6LhfMEKN-3UhPXjv9_7d0nkg_2EOuQFhzu_TdBSnSi08mHVCl WZ_po-j3lsFTISJPFJffP1e3o_xg=s0 ! http://lh3.ggpht.com/ IhESBu6X7DGzTRc5F6LhfMEKN-3UhPXjv9_7d0nkg_2EOuQFhzu_TdBSnSi08mHVCl WZ_po-j3lsFTISJPFJffP1e3o_xg=s200 ! http://lh3.ggpht.com/ IhESBu6X7DGzTRc5F6LhfMEKN-3UhPXjv9_7d0nkg_2EOuQFhzu_TdBSnSi08mHVCl WZ_po-j3lsFTISJPFJffP1e3o_xg=s200-c
  • 17. Memcache data = memcache.get(key) ! if data is None: data=getDataFromDB(key) memcache.add(key, data) return data
  • 19. Challenge • Extract value from all that info: • Patterns • Trends • Recommendations
  • 20. Future • Big Query • Backends • Prediction.io • Apache Spark (ML) • Cassandra (Datastax)
  • 21. References • https://github.com/coto/gae-boilerplate • https://www.udacity.com/course/cs253 • http://es.slideshare.net/kigster/scaling-wanelocom-100x-in-six-months • https://spark.apache.org/ • https://github.com/Netflix/asgard • http://techblog.netflix.com/
  • 22. “Focus on where you want to go, not on what you fear.” –Anthony Robbins