SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Weightlifting
@
@bogdan
@SIMPLYSOCIAL
+ =
+ =
+ =?
+ =
ARCHITECTURE
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
LIFE OF A REQUEST
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 01 API N...
APP 01 APP 01 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
API 02
APP 02
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
LIFE OF A REQUEST
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
LIFE OF A REQUEST
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
LIFE OF A REQUEST
2M x
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
LIFE OF A REQUEST
USE OF PYTHON
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
USE OF PYTHON
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
USE OF PYTHON
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
USE OF PYTHON
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
USE OF PYTHON
CAN I HEAR A
BOOO FOR ?
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
USE OF PYTHON
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
USE OF PYTHON
PYTHON ON APPSERVERS
AWS EC2
Ubuntu 12.04
Chef
NGINX + PHP FPM
FABRIC
DEPLOYMENT
Metrics
Logging
USE OF PYTHON
METRICS
AWS EC2
Ubuntu 12.04
Chef
NGINX + PHP FPM
FABRIC
Metrics
Logging
INTRODUCING OSSIE
METRICS GATHERING
REPORTING STATS THROUGH A SIMPLE
WEB INTERFACE
INTERACTION WITH RUNNING PROcesses
BACKEND BY STATSD and GRAPHITE
INTRODUCING OSSIE
import ossie
stat = ossie.Client("arcade.random_worker")
stat.gauge("a_metric", 256)
stat.timer("random.metric", 1.28)
with stat.timer("random.metric.with"):
# do something that requires an amount of time
# ossie client will report the right time
USE OF PYTHON
logging
AWS EC2
Ubuntu 12.04
Chef
NGINX + PHP FPM
FABRIC
Metrics
Logging
logginG
FULL JSON logging
EVEN nginx logs json
powered by fluentd + S3
FUTURE: Logs can be searched by
elasticsearch + kibana
api.gosimplysocial.com
app.gosimplysocial.com
API 01 API 02 API N...
APP 01 APP 02 APP N...
BACKEND
01
BACKEND
02
BACKEND
N...
DBs
USE OF PYTHON
AWS EC2
Ubuntu 12.04
Chef
FABRIC
SUPERVISORD
Metrics
SUPERVISORD
Workers
Logging
AWS EC2
Ubuntu 12.04
Chef
FABRIC
WORKERS
Metrics
SUPERVISORD
Workers
Logging
INTRODUCING ARCADE
queue based workers framework
Convention over configuration
simple deployment
detailed logging and monitoring
INTRODUCING ARCADE
CRAWL INSIGHTS
CRAWL PAGES
CRAWL EVENTS
ARCADE
FACEBOOK
CRAWL
INTRODUCING ARCADE
CRAWL INSIGHTS
CRAWL PAGES
CRAWL EVENTS
ARCADE
FACEBOOK
CRAWL
queue python
workers
job types
INTRODUCING ARCADE
facebook/
!"" __init__.py
!"" common
#   !"" __init__.py
#   !"" crawler/
#   !"" exception.py
#   !"" facebook_model.py
#   !"" helper.py
#   !"" indexer/
#   !"" ...
!"" config
#   !"" __init__.py
#   !"" config.yml
#   $"" env
#   !"" __init__.py
#   !"" crawler.py
#   !"" ...
...
!"" tests
#   !"" __init__.py
#   !"" fixtures
#   #   !"" crawler_feed.yml
#   #   !"" ...
#   #   $"" stream_routing.yml
#   !"" test_crawler_feed.py
#   !"" ...
#   $"" test_stream_worker.py
$"" workers
!"" __init__.py
!"" crawler.py
!"" ...
from arcade.worker import TaskWorker
from arcade.helper import retry, task
# [...]
class FacebookCrawler(TaskWorker):
def __init__(self, dependencies):
super(FacebookCrawler, self).__init__(dependencies)
@task("default", "crawl")
def crawl_feed(self, data):
"""
Job type:
* uid
* last_crawl
"""
feed = CrawlerFeedModel(self)
feed.crawl(data)
def before_each(self, data):
# [...]
def run(dependencies):
try:
FacebookCrawler(dependencies).run()
except:
dependencies.get("exception").capture_exception()
AND MANY MORE:
continuous integration
RELIABLE ALERTING
CLOUDWATCH to STATSD
REAL USER MONITORING
Q/A
Thanks!

Más contenido relacionado

La actualidad más candente

ICGIS 2018 - Cloud-powered Machine Learnings on Geospactial Services (Channy ...
ICGIS 2018 - Cloud-powered Machine Learnings on Geospactial Services (Channy ...ICGIS 2018 - Cloud-powered Machine Learnings on Geospactial Services (Channy ...
ICGIS 2018 - Cloud-powered Machine Learnings on Geospactial Services (Channy ...
Channy Yun
 

La actualidad más candente (19)

How to make GAE adapt the Great Firewall
How to make GAE adapt the Great FirewallHow to make GAE adapt the Great Firewall
How to make GAE adapt the Great Firewall
 
.NET Fest 2018. Vagif Abilov. Akka + F# = Akkling
.NET Fest 2018. Vagif Abilov. Akka + F# = Akkling.NET Fest 2018. Vagif Abilov. Akka + F# = Akkling
.NET Fest 2018. Vagif Abilov. Akka + F# = Akkling
 
(ENT302) Cost Optimization on AWS | AWS re:Invent 2014
(ENT302) Cost Optimization on AWS | AWS re:Invent 2014(ENT302) Cost Optimization on AWS | AWS re:Invent 2014
(ENT302) Cost Optimization on AWS | AWS re:Invent 2014
 
Spark Your Legacy (Spark Summit 2016)
Spark Your Legacy (Spark Summit 2016)Spark Your Legacy (Spark Summit 2016)
Spark Your Legacy (Spark Summit 2016)
 
Libcloud presentation
Libcloud presentationLibcloud presentation
Libcloud presentation
 
Nils Mohr & Jake Pearce - 100 years of flight data at British Airways. Past, ...
Nils Mohr & Jake Pearce - 100 years of flight data at British Airways. Past, ...Nils Mohr & Jake Pearce - 100 years of flight data at British Airways. Past, ...
Nils Mohr & Jake Pearce - 100 years of flight data at British Airways. Past, ...
 
Illustrator_Sample
Illustrator_SampleIllustrator_Sample
Illustrator_Sample
 
The State of the Developer Ecosystem - .NET Conf Barcelona 2018
The State of the Developer Ecosystem - .NET Conf Barcelona 2018The State of the Developer Ecosystem - .NET Conf Barcelona 2018
The State of the Developer Ecosystem - .NET Conf Barcelona 2018
 
Knockout extender
Knockout extenderKnockout extender
Knockout extender
 
AWS Dublin Briefing - Cool AWS Use Cases
AWS Dublin Briefing - Cool AWS Use CasesAWS Dublin Briefing - Cool AWS Use Cases
AWS Dublin Briefing - Cool AWS Use Cases
 
Altitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & ApplicationsAltitude San Francisco 2018: WebAssembly Tools & Applications
Altitude San Francisco 2018: WebAssembly Tools & Applications
 
Art Data Hackathon - Klima iOS app
Art Data Hackathon - Klima iOS appArt Data Hackathon - Klima iOS app
Art Data Hackathon - Klima iOS app
 
Cypher for Gremlin
Cypher for GremlinCypher for Gremlin
Cypher for Gremlin
 
TensorFlow on GCP
TensorFlow on GCPTensorFlow on GCP
TensorFlow on GCP
 
Lettuce example using scenarios outline
Lettuce example using scenarios outlineLettuce example using scenarios outline
Lettuce example using scenarios outline
 
Business Dashboards using Bonobo ETL, Grafana and Apache Airflow
Business Dashboards using Bonobo ETL, Grafana and Apache AirflowBusiness Dashboards using Bonobo ETL, Grafana and Apache Airflow
Business Dashboards using Bonobo ETL, Grafana and Apache Airflow
 
Device status anomaly detection
Device status anomaly detectionDevice status anomaly detection
Device status anomaly detection
 
Asynchronous Python at Kumparan
Asynchronous Python at KumparanAsynchronous Python at Kumparan
Asynchronous Python at Kumparan
 
ICGIS 2018 - Cloud-powered Machine Learnings on Geospactial Services (Channy ...
ICGIS 2018 - Cloud-powered Machine Learnings on Geospactial Services (Channy ...ICGIS 2018 - Cloud-powered Machine Learnings on Geospactial Services (Channy ...
ICGIS 2018 - Cloud-powered Machine Learnings on Geospactial Services (Channy ...
 

Destacado (8)

Selenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI TestingSelenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI Testing
 
Web Application Testing with Selenium
Web Application Testing with Selenium Web Application Testing with Selenium
Web Application Testing with Selenium
 
Understanding and measuring web performance
Understanding and measuring web performanceUnderstanding and measuring web performance
Understanding and measuring web performance
 
Automation Framework 042009 V2
Automation Framework   042009  V2Automation Framework   042009  V2
Automation Framework 042009 V2
 
ATLAS Automation POC
ATLAS Automation POCATLAS Automation POC
ATLAS Automation POC
 
test_automation_POC
test_automation_POCtest_automation_POC
test_automation_POC
 
Understanding Selenium/RC, Webdriver Architecture and developing the page obj...
Understanding Selenium/RC, Webdriver Architecture and developing the page obj...Understanding Selenium/RC, Webdriver Architecture and developing the page obj...
Understanding Selenium/RC, Webdriver Architecture and developing the page obj...
 
Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation Framework
 

Similar a Weightlifting at SimplySocial

Similar a Weightlifting at SimplySocial (20)

AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호
AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호
AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호
 
How to build a social network on Serverless (AWS Community Summit)
How to build a social network on Serverless (AWS Community Summit)How to build a social network on Serverless (AWS Community Summit)
How to build a social network on Serverless (AWS Community Summit)
 
How to build a social network on serverless | Yan Cui
How to build a social network on serverless | Yan CuiHow to build a social network on serverless | Yan Cui
How to build a social network on serverless | Yan Cui
 
Amazed by AWS Series #4
Amazed by AWS Series #4Amazed by AWS Series #4
Amazed by AWS Series #4
 
How to build a social network on serverless
How to build a social network on serverlessHow to build a social network on serverless
How to build a social network on serverless
 
Itb 2021 - Bulding Quick APIs by Gavin Pickin
Itb 2021 - Bulding Quick APIs by Gavin PickinItb 2021 - Bulding Quick APIs by Gavin Pickin
Itb 2021 - Bulding Quick APIs by Gavin Pickin
 
大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度
大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度
大解密!用 PostgreSQL 提升 350 倍的 Funliday 推薦景點計算速度
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Serverless in production, an experience report
Serverless in production, an experience reportServerless in production, an experience report
Serverless in production, an experience report
 
Serveless design patterns
Serveless design patternsServeless design patterns
Serveless design patterns
 
How to build a social network on serverless
How to build a social network on serverlessHow to build a social network on serverless
How to build a social network on serverless
 
Serverless Design Patterns
Serverless Design PatternsServerless Design Patterns
Serverless Design Patterns
 
Serveless design patterns (VoxxedDays Luxembourg)
Serveless design patterns (VoxxedDays Luxembourg)Serveless design patterns (VoxxedDays Luxembourg)
Serveless design patterns (VoxxedDays Luxembourg)
 
Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)
 
Serverless Design Patterns
Serverless Design PatternsServerless Design Patterns
Serverless Design Patterns
 
Data analytics master class: predict hotel revenue
Data analytics master class: predict hotel revenueData analytics master class: predict hotel revenue
Data analytics master class: predict hotel revenue
 
GPSWKS401_Designing a Cloud Enterprise Data Warehouse
GPSWKS401_Designing a Cloud Enterprise Data WarehouseGPSWKS401_Designing a Cloud Enterprise Data Warehouse
GPSWKS401_Designing a Cloud Enterprise Data Warehouse
 
20141021 AWS Cloud Taekwon - Big Data on AWS
20141021 AWS Cloud Taekwon - Big Data on AWS20141021 AWS Cloud Taekwon - Big Data on AWS
20141021 AWS Cloud Taekwon - Big Data on AWS
 
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)
 
The Azure Cognitive Services on Spark: Clusters with Embedded Intelligent Ser...
The Azure Cognitive Services on Spark: Clusters with Embedded Intelligent Ser...The Azure Cognitive Services on Spark: Clusters with Embedded Intelligent Ser...
The Azure Cognitive Services on Spark: Clusters with Embedded Intelligent Ser...
 

Más de Bogdan Gaza (7)

[CLIW] Web testing
[CLIW] Web testing[CLIW] Web testing
[CLIW] Web testing
 
[TW] Node.js
[TW] Node.js[TW] Node.js
[TW] Node.js
 
[TW] CSS Files Optimization
[TW] CSS Files Optimization[TW] CSS Files Optimization
[TW] CSS Files Optimization
 
Fosdem2011
Fosdem2011Fosdem2011
Fosdem2011
 
RailsAdmin - the right way of doing data administration with Rails 3
RailsAdmin - the right way of doing data administration with Rails 3RailsAdmin - the right way of doing data administration with Rails 3
RailsAdmin - the right way of doing data administration with Rails 3
 
De ce sa nu folosim Ruby On Rails?
De ce sa nu folosim Ruby On Rails?De ce sa nu folosim Ruby On Rails?
De ce sa nu folosim Ruby On Rails?
 
NoSQL in the context of Social Web
NoSQL in the context of Social WebNoSQL in the context of Social Web
NoSQL in the context of Social Web
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Weightlifting at SimplySocial