SlideShare a Scribd company logo
StackOverflow ArchitecturalStackOverflow Architectural
OverviewOverview
www.folio3.com@folio_3
Folio3 – OverviewFolio3 – Overview
www.folio3.com @folio_3
Who We Are
 We are a Development Partner for our customers
 Design software solutions, not just implement them
 Focus on the solution – Platform and technology agnostic
 Expertise in building applications that are:
Mobile Social Cloud-based Gamified
What We Do
 Areas of Focus
 Enterprise
 Custom enterprise applications
 Product development targeting the enterprise
 Mobile
 Custom mobile apps for iOS, Android, Windows Phone, BB OS
 Mobile platform (server-to-server) development
 Social Media
 CMS based websites for consumers and enterprise (corporate, consumer,
community & social networking)
 Social media platform development (enterprise & consumer)
Folio3 At a Glance
 Founded in 2005
 Over 200 full time employees
 Offices in the US, Canada, Bulgaria & Pakistan
 Palo Alto, CA.
 Sofia, Bulgaria
 Karachi, Pakistan
Toronto, Canada
Areas of Focus: Enterprise
 Automating workflows
 Cloud based solutions
 Application integration
 Platform development
 Healthcare
 Mobile Enterprise
 Digital Media
 Supply Chain
Some of Our Enterprise Clients
Areas of Focus: Mobile
 Serious enterprise applications for Banks,
Businesses
 Fun consumer apps for app discovery,
interaction, exercise gamification and play
 Educational apps
 Augmented Reality apps
 Mobile Platforms
Some of Our Mobile Clients
Areas of Focus: Web & Social Media
 Community Sites based on
Content Management Systems
 Enterprise Social Networking
 Social Games for Facebook &
Mobile
 Companion Apps for games
Some of Our Web Clients
www.folio3.com @folio_3
StackOverflow ArchitecturalStackOverflow Architectural
OverviewOverview
What?
 Study the architecture and design
 Compare Old & New Technology stack
 Analyze evolution of architecture and scalability
 Lessons learned over time
Introduction
 Two top bloggers and forum poster
 Jeff Atwood
 Joel Spolsky
 A very few things about stackoverflow have been made public to world (like their
data, and their WMD WYSIWYM Markdown Editor), it is highly unlikely to do it with
their code-base, as they are offering their software to generate revenue.
 It's true there's not much about their architecture. All we know is about their
machines, their tool chain, and that they use a two-tier architecture where they
access the database directly from the web server code.
 Although there are some copies of their idea out there
(cnprog.com, code.google.com/p/cnprog, code.google.com/p/stacked).
Old Technology Stack
Stack Technology
framework Microsoft ASP.NET (version 3.5 SP1)
language C#
development environment Visual Studio 2008 Team Suite
web framework ASP.NET MVC
browser framework JQuery
database SQL Server 2008
data access layer LINQ to SQL
source control Subversion
compare tool Beyond Compare 3
source control integration VisualSVN 1.5
tackOverflow technology stack
Type Dependency
Captcha ReCaptcha
Authentication DotNetOpenID
Editor
wmd initially (rewritten by
them)
jQuery charts flot
Other dependencies
Web Tier
2 x Lenovo ThinkServer RS110 1U
4 cores, 2.83 Ghz, 12 MB L2 cache
500 GB datacenter hard drives, mirrored
8 GB RAM
500 GB RAID 1 mirror array
Database Tier
1 x Lenovo ThinkServer RD120 2U
8 cores, 2.5 Ghz, 24 MB L2 cache
48 GB RAM
Hardware
Old Technology Stack
 A fourth server was added to run superuser.com. All together the
servers also run Stack Overflow, Server Fault, and Super User.
 QNAP TS-409U NAS for backups. Decided not to use a cloud solution
because the bandwidth costs of transferring 5 GB of data per day
becomes prohibitive.
 Hosting at http://www.peakinternet.com/. Impressed with their
detailed technical responses and reasonable hosting rates.
 SQL Server's full text search is used extensively for the site search and
detecting if a question has already been asked. Lucene.net is
considered an attractive alternative.
Stats Excerpt
 From highscalability.com (2009)
 16 million page views a month
 3 million unique visitors a month (Facebook reaches 77 million unique visitors a
month)
 6 million visits a month
 86% of traffic comes from Google
 9 million active programmers in the world and 30% have used Stack Overflow.
 Cheaper licensing was attained through Microsoft's BizSpark program. My
impression is they pay about $11K for OS and SQL licensing.
 Monetization strategy: unobtrusive adds, job placement ads, Dev-Days
conferences, extend the software to target other related niches (Server Fault,
Super User), develop StackExchange as a white label and self hosted version of
Stack Overflow, and perhaps develop some sort of programmer rating system.
New Technology Stack
Data Centers
1 Rack with Peak Internet in OR (Hosts our chat and Data
Explorer)
2 Racks with Peer 1 in NY (Hosts the rest of the Stack
Exchange Network)
Stack Technology
framework Microsoft ASP.NET (version 4.0)
language C#
development environment Visual Studio 2010 Team Suite
web framework ASP.NET MVC 3
View Engine Razor 3
browser framework JQuery
database SQL Server 2008 R2 (enterprise x64)
data access layer LINQ to SQL
source control
Previously Mercurial and Kiln,
now Git using a self-hosted
GitLab
compare tool Beyond Compare 3
source control integration VisualSVN 1.5
compare tool Beyond Compare 3
OS Windows Server 2008 R2 x64
Web Server IIS 7.0
Load Balancer HAProxy
Distributed Cache Redis
Automated Builds CruiseControl.NET
Search Lucene.NET
Backups Bacula
Monitoring Nagios
Logs Splunk
SQL Server monitoring SQL Monitor from Red Gate
DNS Bind
External Monitor & ping Service Pingdom
Type Dependency
Captcha ReCaptcha
Authentication DotNetOpenID
Editor
wmd initially (rewritten by
them)
jQuery charts dsnfbsdn
Source code highlight Prettify
Analytics Google Analytics
Network Monitoring Cacti
Syntax Formatting MarkdownSharp
Reverse proxy Server Nginx
Version Control Kiln
Delivering Web Static
content CDN
Resources
Host PEAK Internet
Developers 14
System Admin 2
License
Creative Commons
Attribution-Share Alike 2.5
Generic
Standards Open-Search, Atom
New Technology Stack
Web Tier
10 Dell R610 IIS web servers (3 dedicated to
Stack Overflow)
2x Intel Xeon Processor E5640 @ 2.66 GHz Quad
Core with 8 threads
16 GB RAM
Windows Server 2008 R2
Database Tier
2 Dell R710 database servers
2x Intel Xeon Processor X5680 @ 3.33 GHz
96 GB RAM
8 spindles
SQL Server 2008 R2
Proxy Servers
2 Dell R610 HAProxy servers
1x Intel Xeon Processor E5640 @ 2.66 GHz
4 GB RAM
Ubuntu Server
Radis Servers
2 Dell R610 Redis servers
2x Intel Xeon Processor E5640 @ 2.66 GHz
16 GB RAM
CentOS
Backup Servers
1 Dell R610 Linux backup server running Bacula
1x Intel Xeon Processor E5640 @ 2.66 GHz
32 GB RAM
Nagios Server
1 Dell R610 Linux management server for Nagios
and logs
1x Intel Xeon Processor E5640 @ 2.66 GHz
32 GB RAM
Domain Controller
2 Dell R610 VMWare ESXi domain controllers
1x Intel Xeon Processor E5640 @ 2.66 GHz
16 GB RAM
Networks
2 Linux routers
5 Dell Power Connect switches
Hardware
New Technology Stack
New Technology Stack
 Latently (2011 - 2012), Stack Overflow has grown up by more then
doubling in size to over 16 million users and multiplying its number of
page views nearly 6 times to 95 million page views a month.
 95 Million Page Views a Month
 800 HTTP requests a second
 180 DNS requests a second
 55 Megabits per second
 16 Million Users - Traffic to Stack Overflow grew 131% in 2010,
to 16.6 million global monthly unique
Stats excerpt
Obvious Differences Across Time
 Just More. More users, more page views, more datacenters, more
sites, more developers, more operating systems, more databases, more
machines. Just a lot more of more.
 Linux. Stack Overflow was known for their Windows stack, now they
are using a lot more Linux machines for HAProxy, Redis, Bacula, Nagios,
logs, and routers. All support functions seem to be handled by Linux,
which has required the development of parallel release processes.
 Fault Tolerance. Stack Overflow is now being served by two
different switches on two different internet connections, they've added
redundant machines, and some functions have moved to a second
datacenter.
 NoSQL. Redis is now used as a caching layer for the entire network.
There wasn't a separate caching tier before so this a big change, as is
using a NoSQL database on Linux.
Lessons Learned (from Jeff’s & Joel’s posts)
 If you’re comfortable managing servers then buy them. The two biggest problems with
renting costs were
 The insane cost of memory and disk upgrades
 The fact that they [hosting providers] really couldn’t manage anything.
 Make larger one time up front investments to avoid recurring monthly costs which are more
expensive in the long term.
 Updating all network drivers enhanced performance from 2x slower to 2x faster.
 Upgrading to 48GB RAM required upgrading MS Enterprise edition.
 Memory is incredibly cheap. Max it out for almost free performance.
 Stack Overflow copied a key part of the Wikipedia database design. This turned out to be a
mistake which will need massive and painful database refactoring to fix.
 CPU speed is surprisingly important to the database server. Going from 1.86 GHz, to 2.5 GHz,
to 3.5 GHz CPUs causes an almost linear improvement in typical query times. The exception is
queries which don’t fit in memory.
 The bottleneck is the database 90% of the time.
 At low server volume, the key cost driver is not rack-space, power, bandwidth, servers, or
software; it is Network Equipment's. You need a gigabit network between your DB and Web
tiers
Lessons Learned (from Jeff’s & Joel’s posts)
 EC2 is for scaling horizontally, that is you can split up your work across many machines (a good idea if
you want to be able to scale).
 Scaling out is only frictionless when you use open source software. Otherwise scaling up means paying
less for licenses and a lot more for hardware, while scaling out means paying less for the hardware, and
a whole lot more for licenses.
 Separate application and database duties so each can scale independently of the other. Databases
scale up and the applications scale out
 Applications should keep state in the database so they scale horizontally by adding more servers.
 With larger form factors like 7U power and cooling become critical issues. Using something between
1U and 7U might be easier to make work in your data center
 As you add more and more database servers the SQL Server license costs can be outrageous. So by
starting scale up and gradually going scale out with non-open source software you can be in a world of
financial hurt.
Lessons Learned (from Jeff’s & Joel’s posts)
 HAProxy is used instead of Windows NLB because HAProxy
is cheap, easy, free, works great as a 512MB VM
 A CDN is not used because even “cheap” CDNs like Amazon one
are very expensive relative to the bandwidth they get bundled
into their existing host’s plan
 Full Text Search in SQL Server is very badly integrated, buggy,
deeply incompetent, so they went to Lucene
 Aggressively cache everything
 For their IO system they selected a RAID 10 array of Intel X25 solid
state drives
 Intel NICs are replacing Broadcom NICs and their primary
production servers. This solved problems they were having with
connectivity loss, packet loss, and corrupted arp tables.
Badges
 Microsoft Stack Badge - The Microsoft Stack Badge was earned because
Stack Overflow uses the entire Microsoft Stack: OS, database, C#, Visual
Studio, and ASP .NET.
 Scale Up Badge - The Scale Up Badge was awarded because Stack
Overflow uses a scale up strategy to meet their scaling requirements.
When they reach a limit they scale vertically by buying a bigger machine
and adding more memory. And there are still directions they can take if
they need to scale (caching, more web servers, faster disks, more de-
normalization, more memory, some partitioning, etc). All-in-all it's a well
done and very useful two-tier CRUD application.
Conclusion
 Overall they believe that they are in a good place and have plenty
of room to grow given our current setup. As always they will
constantly be looking at our infrastructure and tweaking it to get
the best performance possible and give our users the best
experience possible.
Contact
 For more details about our services, please get in touch
with us.
contact@folio3.com
US Office: (408) 365-4638
www.folio3.com

More Related Content

What's hot

마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS VPC.pdf
AWS VPC.pdfAWS VPC.pdf
AWS VPC.pdf
Shagun Rathore
 
Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS SummitInfrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Amazon Web Services
 
Amazon EFS
Amazon EFSAmazon EFS
Orchestrating the Cloud
Orchestrating the CloudOrchestrating the Cloud
Orchestrating the Cloud
Amazon Web Services
 
Amazon ECS
Amazon ECSAmazon ECS
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon Web Services Korea
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
Andrew Dixon
 
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...
Amazon Web Services Korea
 
Introduction to Azure Event Grid
Introduction to Azure Event GridIntroduction to Azure Event Grid
Introduction to Azure Event Grid
Callon Campbell
 
Amazon EC2 Instances, Featuring Performance Optimisation Best Practices
Amazon EC2 Instances, Featuring Performance Optimisation Best PracticesAmazon EC2 Instances, Featuring Performance Optimisation Best Practices
Amazon EC2 Instances, Featuring Performance Optimisation Best Practices
Amazon Web Services
 
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
Amazon Web Services Korea
 
Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...
Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...
Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...
Amazon Web Services Korea
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
Amazon Web Services
 
ABD317_Building Your First Big Data Application on AWS - ABD317
ABD317_Building Your First Big Data Application on AWS - ABD317ABD317_Building Your First Big Data Application on AWS - ABD317
ABD317_Building Your First Big Data Application on AWS - ABD317
Amazon Web Services
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
Docker, Inc.
 
The Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - BusinessThe Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
Amazon Web Services
 
(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep Dive(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep Dive
Amazon Web Services
 
(KRUG Session) 쿠버네티스 모니터링.pdf
(KRUG Session) 쿠버네티스 모니터링.pdf(KRUG Session) 쿠버네티스 모니터링.pdf
(KRUG Session) 쿠버네티스 모니터링.pdf
Hyunjin Lee
 
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
Amazon Web Services Korea
 

What's hot (20)

마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
AWS VPC.pdf
AWS VPC.pdfAWS VPC.pdf
AWS VPC.pdf
 
Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS SummitInfrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
Infrastructure is code with the AWS CDK - MAD312 - New York AWS Summit
 
Amazon EFS
Amazon EFSAmazon EFS
Amazon EFS
 
Orchestrating the Cloud
Orchestrating the CloudOrchestrating the Cloud
Orchestrating the Cloud
 
Amazon ECS
Amazon ECSAmazon ECS
Amazon ECS
 
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...
AWS Direct Connect 및 VPN을 이용한 클라우드 아키텍쳐 설계:: Steve Seymour :: AWS Summit Seou...
 
Introduction to Azure Event Grid
Introduction to Azure Event GridIntroduction to Azure Event Grid
Introduction to Azure Event Grid
 
Amazon EC2 Instances, Featuring Performance Optimisation Best Practices
Amazon EC2 Instances, Featuring Performance Optimisation Best PracticesAmazon EC2 Instances, Featuring Performance Optimisation Best Practices
Amazon EC2 Instances, Featuring Performance Optimisation Best Practices
 
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
 
Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...
Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...
Amazon kinesis와 elasticsearch service로 만드는 실시간 데이터 분석 플랫폼 :: 박철수 :: AWS Summi...
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
ABD317_Building Your First Big Data Application on AWS - ABD317
ABD317_Building Your First Big Data Application on AWS - ABD317ABD317_Building Your First Big Data Application on AWS - ABD317
ABD317_Building Your First Big Data Application on AWS - ABD317
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
The Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - BusinessThe Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
The Fundamentals of Networking in AWS: VPC and Connectivity Options - Business
 
(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep Dive(DAT407) Amazon ElastiCache: Deep Dive
(DAT407) Amazon ElastiCache: Deep Dive
 
(KRUG Session) 쿠버네티스 모니터링.pdf
(KRUG Session) 쿠버네티스 모니터링.pdf(KRUG Session) 쿠버네티스 모니터링.pdf
(KRUG Session) 쿠버네티스 모니터링.pdf
 
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
Amazon Container 환경의 보안 – 최인영, AWS 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
 

Viewers also liked

STACK OVERFLOW DATASET ANALYSIS
STACK OVERFLOW DATASET ANALYSISSTACK OVERFLOW DATASET ANALYSIS
STACK OVERFLOW DATASET ANALYSIS
Shrinivasaragav Balasubramanian
 
Stackoverflow Data Analysis-Homework3
Stackoverflow Data Analysis-Homework3Stackoverflow Data Analysis-Homework3
Stackoverflow Data Analysis-Homework3
Ayush Tak
 
Stack Overflow slides Data Analytics
Stack Overflow slides Data Analytics Stack Overflow slides Data Analytics
Stack Overflow slides Data Analytics
Rahul Thankachan
 
Understanding Stack Overflow
Understanding Stack OverflowUnderstanding Stack Overflow
Understanding Stack Overflow
Alexander Serebrenik
 
The Hitchhiker’s Guide to StackOverflow
The Hitchhiker’s Guide to StackOverflowThe Hitchhiker’s Guide to StackOverflow
The Hitchhiker’s Guide to StackOverflow
SafeDK
 
Improving Low Quality Stack Overflow Post Detection
Improving Low Quality Stack Overflow Post DetectionImproving Low Quality Stack Overflow Post Detection
Improving Low Quality Stack Overflow Post Detection
Luca Ponzanelli
 
Marco Cecconi, Software Developer @ Stack Exchange - The architecture of Stac...
Marco Cecconi, Software Developer @ Stack Exchange - The architecture of Stac...Marco Cecconi, Software Developer @ Stack Exchange - The architecture of Stac...
Marco Cecconi, Software Developer @ Stack Exchange - The architecture of Stac...
How to Web
 
Analyzing Stack Overflow - Problem
Analyzing Stack Overflow - ProblemAnalyzing Stack Overflow - Problem
Analyzing Stack Overflow - Problem
Amrith Krishna
 
Lanubile@SSE2013
Lanubile@SSE2013Lanubile@SSE2013
Lanubile@SSE2013
Filippo Lanubile
 
All You Need to Know About Type Script
All You Need to Know About Type ScriptAll You Need to Know About Type Script
All You Need to Know About Type Script
Folio3 Software
 
Building RESTful APIs w/ Grape
Building RESTful APIs w/ GrapeBuilding RESTful APIs w/ Grape
Building RESTful APIs w/ Grape
Daniel Doubrovkine
 
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Ontico
 
E commerce data migration in moving systems across data centres
E commerce data migration in moving systems across data centres E commerce data migration in moving systems across data centres
E commerce data migration in moving systems across data centres
Regunath B
 
Mining Sociotechnical Information From Software Repositories
Mining Sociotechnical Information From Software RepositoriesMining Sociotechnical Information From Software Repositories
Mining Sociotechnical Information From Software Repositories
Marco Aurelio Gerosa
 
Collaborazione nelle comunità open source: tecniche e strumenti
Collaborazione nelle comunità open source: tecniche e strumentiCollaborazione nelle comunità open source: tecniche e strumenti
Collaborazione nelle comunità open source: tecniche e strumenti
Filippo Lanubile
 
Kaggle's WISE 2014 challenge
Kaggle's WISE 2014 challenge Kaggle's WISE 2014 challenge
Kaggle's WISE 2014 challenge
Eleftherios Spyromitros-Xioufis
 
What can Bioinformaticians learn from YouTube?
What can Bioinformaticians learn from YouTube?What can Bioinformaticians learn from YouTube?
What can Bioinformaticians learn from YouTube?
Matt Wood
 
DOs and DONT’s of Social Analytics
DOs and DONT’s of Social AnalyticsDOs and DONT’s of Social Analytics
DOs and DONT’s of Social Analytics
Christophe Lauer
 
Towards Discovering the Role of Emotions in Stack Overflow
Towards Discovering the Role of Emotions in Stack OverflowTowards Discovering the Role of Emotions in Stack Overflow
Towards Discovering the Role of Emotions in Stack Overflow
Nicole Novielli
 
Big Data and Social Media Mining in Crisis and Emergency Management
Big Data and Social Media Mining in Crisis and Emergency ManagementBig Data and Social Media Mining in Crisis and Emergency Management
Big Data and Social Media Mining in Crisis and Emergency Management
BYTE Project
 

Viewers also liked (20)

STACK OVERFLOW DATASET ANALYSIS
STACK OVERFLOW DATASET ANALYSISSTACK OVERFLOW DATASET ANALYSIS
STACK OVERFLOW DATASET ANALYSIS
 
Stackoverflow Data Analysis-Homework3
Stackoverflow Data Analysis-Homework3Stackoverflow Data Analysis-Homework3
Stackoverflow Data Analysis-Homework3
 
Stack Overflow slides Data Analytics
Stack Overflow slides Data Analytics Stack Overflow slides Data Analytics
Stack Overflow slides Data Analytics
 
Understanding Stack Overflow
Understanding Stack OverflowUnderstanding Stack Overflow
Understanding Stack Overflow
 
The Hitchhiker’s Guide to StackOverflow
The Hitchhiker’s Guide to StackOverflowThe Hitchhiker’s Guide to StackOverflow
The Hitchhiker’s Guide to StackOverflow
 
Improving Low Quality Stack Overflow Post Detection
Improving Low Quality Stack Overflow Post DetectionImproving Low Quality Stack Overflow Post Detection
Improving Low Quality Stack Overflow Post Detection
 
Marco Cecconi, Software Developer @ Stack Exchange - The architecture of Stac...
Marco Cecconi, Software Developer @ Stack Exchange - The architecture of Stac...Marco Cecconi, Software Developer @ Stack Exchange - The architecture of Stac...
Marco Cecconi, Software Developer @ Stack Exchange - The architecture of Stac...
 
Analyzing Stack Overflow - Problem
Analyzing Stack Overflow - ProblemAnalyzing Stack Overflow - Problem
Analyzing Stack Overflow - Problem
 
Lanubile@SSE2013
Lanubile@SSE2013Lanubile@SSE2013
Lanubile@SSE2013
 
All You Need to Know About Type Script
All You Need to Know About Type ScriptAll You Need to Know About Type Script
All You Need to Know About Type Script
 
Building RESTful APIs w/ Grape
Building RESTful APIs w/ GrapeBuilding RESTful APIs w/ Grape
Building RESTful APIs w/ Grape
 
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
Stack Overflow - It's all about performance / Marco Cecconi (Stack Overflow)
 
E commerce data migration in moving systems across data centres
E commerce data migration in moving systems across data centres E commerce data migration in moving systems across data centres
E commerce data migration in moving systems across data centres
 
Mining Sociotechnical Information From Software Repositories
Mining Sociotechnical Information From Software RepositoriesMining Sociotechnical Information From Software Repositories
Mining Sociotechnical Information From Software Repositories
 
Collaborazione nelle comunità open source: tecniche e strumenti
Collaborazione nelle comunità open source: tecniche e strumentiCollaborazione nelle comunità open source: tecniche e strumenti
Collaborazione nelle comunità open source: tecniche e strumenti
 
Kaggle's WISE 2014 challenge
Kaggle's WISE 2014 challenge Kaggle's WISE 2014 challenge
Kaggle's WISE 2014 challenge
 
What can Bioinformaticians learn from YouTube?
What can Bioinformaticians learn from YouTube?What can Bioinformaticians learn from YouTube?
What can Bioinformaticians learn from YouTube?
 
DOs and DONT’s of Social Analytics
DOs and DONT’s of Social AnalyticsDOs and DONT’s of Social Analytics
DOs and DONT’s of Social Analytics
 
Towards Discovering the Role of Emotions in Stack Overflow
Towards Discovering the Role of Emotions in Stack OverflowTowards Discovering the Role of Emotions in Stack Overflow
Towards Discovering the Role of Emotions in Stack Overflow
 
Big Data and Social Media Mining in Crisis and Emergency Management
Big Data and Social Media Mining in Crisis and Emergency ManagementBig Data and Social Media Mining in Crisis and Emergency Management
Big Data and Social Media Mining in Crisis and Emergency Management
 

Similar to StackOverflow Architectural Overview

Would Mr. Spok choose Open Source
Would Mr. Spok choose Open SourceWould Mr. Spok choose Open Source
Would Mr. Spok choose Open Source
vlcinsky
 
Drizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's ConferenceDrizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's Conference
Brian Aker
 
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdfNode.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
lubnayasminsebl
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
Shubhra Kar
 
Comparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris WhitepaperComparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris Whitepaper
Torry Harris Business Solutions
 
Web 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationWeb 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes Presentation
Jamie Thingelstad
 
Building Scalable .NET Web Applications
Building Scalable .NET Web ApplicationsBuilding Scalable .NET Web Applications
Building Scalable .NET Web Applications
Buu Nguyen
 
IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016
Vaidheswaran CS
 
Technology Overview
Technology OverviewTechnology Overview
Technology Overview
Liran Zelkha
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
Shubhra Kar
 
How leading financial services organisations are winning with tech
How leading financial services organisations are winning with techHow leading financial services organisations are winning with tech
How leading financial services organisations are winning with tech
MongoDB
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
Sachin Walvekar
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan Wong
Spiffy
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
Kunal Bhatia, MBA Candidate, BSc.
 
prhresumew
prhresumewprhresumew
prhresumew
Steven Schwartz
 
Dot Net Nuke Presentation
Dot Net Nuke PresentationDot Net Nuke Presentation
Dot Net Nuke Presentation
Tony Cosentino
 
Technology Stack Discussion
Technology Stack DiscussionTechnology Stack Discussion
Technology Stack Discussion
Zaiyang Li
 
Full Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future ScopeFull Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future Scope
IRJET Journal
 
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open ShiftRed Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Travis Wright
 
Engineering Presentation for Careers@Directi
Engineering Presentation for Careers@DirectiEngineering Presentation for Careers@Directi
Engineering Presentation for Careers@Directi
Directi Group
 

Similar to StackOverflow Architectural Overview (20)

Would Mr. Spok choose Open Source
Would Mr. Spok choose Open SourceWould Mr. Spok choose Open Source
Would Mr. Spok choose Open Source
 
Drizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's ConferenceDrizzle Keynote at the MySQL User's Conference
Drizzle Keynote at the MySQL User's Conference
 
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdfNode.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Comparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris WhitepaperComparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris Whitepaper
 
Web 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationWeb 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes Presentation
 
Building Scalable .NET Web Applications
Building Scalable .NET Web ApplicationsBuilding Scalable .NET Web Applications
Building Scalable .NET Web Applications
 
IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016
 
Technology Overview
Technology OverviewTechnology Overview
Technology Overview
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
How leading financial services organisations are winning with tech
How leading financial services organisations are winning with techHow leading financial services organisations are winning with tech
How leading financial services organisations are winning with tech
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan Wong
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
 
prhresumew
prhresumewprhresumew
prhresumew
 
Dot Net Nuke Presentation
Dot Net Nuke PresentationDot Net Nuke Presentation
Dot Net Nuke Presentation
 
Technology Stack Discussion
Technology Stack DiscussionTechnology Stack Discussion
Technology Stack Discussion
 
Full Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future ScopeFull Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future Scope
 
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open ShiftRed Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
Red Hat Summit 2017 - Intro to SQL Server on RHEL and Open Shift
 
Engineering Presentation for Careers@Directi
Engineering Presentation for Careers@DirectiEngineering Presentation for Careers@Directi
Engineering Presentation for Careers@Directi
 

More from Folio3 Software

Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts
Folio3 Software
 
Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development
Folio3 Software
 
Enter the Big Picture
Enter the Big PictureEnter the Big Picture
Enter the Big Picture
Folio3 Software
 
A Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer TestingA Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer Testing
Folio3 Software
 
OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)
Folio3 Software
 
Introduction to Go-Lang
Introduction to Go-LangIntroduction to Go-Lang
Introduction to Go-Lang
Folio3 Software
 
An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)
Folio3 Software
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013
Folio3 Software
 
An Overview of Blackberry 10
An Overview of Blackberry 10An Overview of Blackberry 10
An Overview of Blackberry 10
Folio3 Software
 
Enterprise Mobility - An Introduction
Enterprise Mobility - An IntroductionEnterprise Mobility - An Introduction
Enterprise Mobility - An Introduction
Folio3 Software
 
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Folio3 Software
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Folio3 Software
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
Folio3 Software
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache Cassandra
Folio3 Software
 
Regular Expression in Action
Regular Expression in ActionRegular Expression in Action
Regular Expression in Action
Folio3 Software
 
HTTP Server Push Techniques
HTTP Server Push TechniquesHTTP Server Push Techniques
HTTP Server Push Techniques
Folio3 Software
 
Best Practices of Software Development
Best Practices of Software DevelopmentBest Practices of Software Development
Best Practices of Software Development
Folio3 Software
 
Offline Data Access in Enterprise Mobility
Offline Data Access in Enterprise MobilityOffline Data Access in Enterprise Mobility
Offline Data Access in Enterprise Mobility
Folio3 Software
 
Realtime and Synchronous Applications
Realtime and Synchronous ApplicationsRealtime and Synchronous Applications
Realtime and Synchronous Applications
Folio3 Software
 
Web Performance & Scalability Tools
Web Performance & Scalability ToolsWeb Performance & Scalability Tools
Web Performance & Scalability Tools
Folio3 Software
 

More from Folio3 Software (20)

Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts Shopify & Shopify Plus Ecommerce Development Experts
Shopify & Shopify Plus Ecommerce Development Experts
 
Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development Magento and Magento 2 Ecommerce Development
Magento and Magento 2 Ecommerce Development
 
Enter the Big Picture
Enter the Big PictureEnter the Big Picture
Enter the Big Picture
 
A Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer TestingA Guideline to Test Your Own Code - Developer Testing
A Guideline to Test Your Own Code - Developer Testing
 
OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)
 
Introduction to Go-Lang
Introduction to Go-LangIntroduction to Go-Lang
Introduction to Go-Lang
 
An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)An Introduction to CSS Preprocessors (SASS & LESS)
An Introduction to CSS Preprocessors (SASS & LESS)
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013
 
An Overview of Blackberry 10
An Overview of Blackberry 10An Overview of Blackberry 10
An Overview of Blackberry 10
 
Enterprise Mobility - An Introduction
Enterprise Mobility - An IntroductionEnterprise Mobility - An Introduction
Enterprise Mobility - An Introduction
 
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
Distributed and Fault Tolerant Realtime Computation with Apache Storm, Apache...
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache Cassandra
 
Regular Expression in Action
Regular Expression in ActionRegular Expression in Action
Regular Expression in Action
 
HTTP Server Push Techniques
HTTP Server Push TechniquesHTTP Server Push Techniques
HTTP Server Push Techniques
 
Best Practices of Software Development
Best Practices of Software DevelopmentBest Practices of Software Development
Best Practices of Software Development
 
Offline Data Access in Enterprise Mobility
Offline Data Access in Enterprise MobilityOffline Data Access in Enterprise Mobility
Offline Data Access in Enterprise Mobility
 
Realtime and Synchronous Applications
Realtime and Synchronous ApplicationsRealtime and Synchronous Applications
Realtime and Synchronous Applications
 
Web Performance & Scalability Tools
Web Performance & Scalability ToolsWeb Performance & Scalability Tools
Web Performance & Scalability Tools
 

Recently uploaded

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 

Recently uploaded (20)

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 

StackOverflow Architectural Overview

  • 2. Folio3 – OverviewFolio3 – Overview www.folio3.com @folio_3
  • 3. Who We Are  We are a Development Partner for our customers  Design software solutions, not just implement them  Focus on the solution – Platform and technology agnostic  Expertise in building applications that are: Mobile Social Cloud-based Gamified
  • 4. What We Do  Areas of Focus  Enterprise  Custom enterprise applications  Product development targeting the enterprise  Mobile  Custom mobile apps for iOS, Android, Windows Phone, BB OS  Mobile platform (server-to-server) development  Social Media  CMS based websites for consumers and enterprise (corporate, consumer, community & social networking)  Social media platform development (enterprise & consumer)
  • 5. Folio3 At a Glance  Founded in 2005  Over 200 full time employees  Offices in the US, Canada, Bulgaria & Pakistan  Palo Alto, CA.  Sofia, Bulgaria  Karachi, Pakistan Toronto, Canada
  • 6. Areas of Focus: Enterprise  Automating workflows  Cloud based solutions  Application integration  Platform development  Healthcare  Mobile Enterprise  Digital Media  Supply Chain
  • 7. Some of Our Enterprise Clients
  • 8. Areas of Focus: Mobile  Serious enterprise applications for Banks, Businesses  Fun consumer apps for app discovery, interaction, exercise gamification and play  Educational apps  Augmented Reality apps  Mobile Platforms
  • 9. Some of Our Mobile Clients
  • 10. Areas of Focus: Web & Social Media  Community Sites based on Content Management Systems  Enterprise Social Networking  Social Games for Facebook & Mobile  Companion Apps for games
  • 11. Some of Our Web Clients
  • 13. What?  Study the architecture and design  Compare Old & New Technology stack  Analyze evolution of architecture and scalability  Lessons learned over time
  • 14. Introduction  Two top bloggers and forum poster  Jeff Atwood  Joel Spolsky  A very few things about stackoverflow have been made public to world (like their data, and their WMD WYSIWYM Markdown Editor), it is highly unlikely to do it with their code-base, as they are offering their software to generate revenue.  It's true there's not much about their architecture. All we know is about their machines, their tool chain, and that they use a two-tier architecture where they access the database directly from the web server code.  Although there are some copies of their idea out there (cnprog.com, code.google.com/p/cnprog, code.google.com/p/stacked).
  • 15. Old Technology Stack Stack Technology framework Microsoft ASP.NET (version 3.5 SP1) language C# development environment Visual Studio 2008 Team Suite web framework ASP.NET MVC browser framework JQuery database SQL Server 2008 data access layer LINQ to SQL source control Subversion compare tool Beyond Compare 3 source control integration VisualSVN 1.5 tackOverflow technology stack Type Dependency Captcha ReCaptcha Authentication DotNetOpenID Editor wmd initially (rewritten by them) jQuery charts flot Other dependencies Web Tier 2 x Lenovo ThinkServer RS110 1U 4 cores, 2.83 Ghz, 12 MB L2 cache 500 GB datacenter hard drives, mirrored 8 GB RAM 500 GB RAID 1 mirror array Database Tier 1 x Lenovo ThinkServer RD120 2U 8 cores, 2.5 Ghz, 24 MB L2 cache 48 GB RAM Hardware
  • 16. Old Technology Stack  A fourth server was added to run superuser.com. All together the servers also run Stack Overflow, Server Fault, and Super User.  QNAP TS-409U NAS for backups. Decided not to use a cloud solution because the bandwidth costs of transferring 5 GB of data per day becomes prohibitive.  Hosting at http://www.peakinternet.com/. Impressed with their detailed technical responses and reasonable hosting rates.  SQL Server's full text search is used extensively for the site search and detecting if a question has already been asked. Lucene.net is considered an attractive alternative.
  • 17. Stats Excerpt  From highscalability.com (2009)  16 million page views a month  3 million unique visitors a month (Facebook reaches 77 million unique visitors a month)  6 million visits a month  86% of traffic comes from Google  9 million active programmers in the world and 30% have used Stack Overflow.  Cheaper licensing was attained through Microsoft's BizSpark program. My impression is they pay about $11K for OS and SQL licensing.  Monetization strategy: unobtrusive adds, job placement ads, Dev-Days conferences, extend the software to target other related niches (Server Fault, Super User), develop StackExchange as a white label and self hosted version of Stack Overflow, and perhaps develop some sort of programmer rating system.
  • 18. New Technology Stack Data Centers 1 Rack with Peak Internet in OR (Hosts our chat and Data Explorer) 2 Racks with Peer 1 in NY (Hosts the rest of the Stack Exchange Network) Stack Technology framework Microsoft ASP.NET (version 4.0) language C# development environment Visual Studio 2010 Team Suite web framework ASP.NET MVC 3 View Engine Razor 3 browser framework JQuery database SQL Server 2008 R2 (enterprise x64) data access layer LINQ to SQL source control Previously Mercurial and Kiln, now Git using a self-hosted GitLab compare tool Beyond Compare 3 source control integration VisualSVN 1.5 compare tool Beyond Compare 3 OS Windows Server 2008 R2 x64 Web Server IIS 7.0 Load Balancer HAProxy Distributed Cache Redis Automated Builds CruiseControl.NET Search Lucene.NET Backups Bacula Monitoring Nagios Logs Splunk SQL Server monitoring SQL Monitor from Red Gate DNS Bind External Monitor & ping Service Pingdom Type Dependency Captcha ReCaptcha Authentication DotNetOpenID Editor wmd initially (rewritten by them) jQuery charts dsnfbsdn Source code highlight Prettify Analytics Google Analytics Network Monitoring Cacti Syntax Formatting MarkdownSharp Reverse proxy Server Nginx Version Control Kiln Delivering Web Static content CDN Resources Host PEAK Internet Developers 14 System Admin 2 License Creative Commons Attribution-Share Alike 2.5 Generic Standards Open-Search, Atom
  • 19. New Technology Stack Web Tier 10 Dell R610 IIS web servers (3 dedicated to Stack Overflow) 2x Intel Xeon Processor E5640 @ 2.66 GHz Quad Core with 8 threads 16 GB RAM Windows Server 2008 R2 Database Tier 2 Dell R710 database servers 2x Intel Xeon Processor X5680 @ 3.33 GHz 96 GB RAM 8 spindles SQL Server 2008 R2 Proxy Servers 2 Dell R610 HAProxy servers 1x Intel Xeon Processor E5640 @ 2.66 GHz 4 GB RAM Ubuntu Server Radis Servers 2 Dell R610 Redis servers 2x Intel Xeon Processor E5640 @ 2.66 GHz 16 GB RAM CentOS Backup Servers 1 Dell R610 Linux backup server running Bacula 1x Intel Xeon Processor E5640 @ 2.66 GHz 32 GB RAM Nagios Server 1 Dell R610 Linux management server for Nagios and logs 1x Intel Xeon Processor E5640 @ 2.66 GHz 32 GB RAM Domain Controller 2 Dell R610 VMWare ESXi domain controllers 1x Intel Xeon Processor E5640 @ 2.66 GHz 16 GB RAM Networks 2 Linux routers 5 Dell Power Connect switches Hardware
  • 22.  Latently (2011 - 2012), Stack Overflow has grown up by more then doubling in size to over 16 million users and multiplying its number of page views nearly 6 times to 95 million page views a month.  95 Million Page Views a Month  800 HTTP requests a second  180 DNS requests a second  55 Megabits per second  16 Million Users - Traffic to Stack Overflow grew 131% in 2010, to 16.6 million global monthly unique Stats excerpt
  • 23. Obvious Differences Across Time  Just More. More users, more page views, more datacenters, more sites, more developers, more operating systems, more databases, more machines. Just a lot more of more.  Linux. Stack Overflow was known for their Windows stack, now they are using a lot more Linux machines for HAProxy, Redis, Bacula, Nagios, logs, and routers. All support functions seem to be handled by Linux, which has required the development of parallel release processes.  Fault Tolerance. Stack Overflow is now being served by two different switches on two different internet connections, they've added redundant machines, and some functions have moved to a second datacenter.  NoSQL. Redis is now used as a caching layer for the entire network. There wasn't a separate caching tier before so this a big change, as is using a NoSQL database on Linux.
  • 24. Lessons Learned (from Jeff’s & Joel’s posts)  If you’re comfortable managing servers then buy them. The two biggest problems with renting costs were  The insane cost of memory and disk upgrades  The fact that they [hosting providers] really couldn’t manage anything.  Make larger one time up front investments to avoid recurring monthly costs which are more expensive in the long term.  Updating all network drivers enhanced performance from 2x slower to 2x faster.  Upgrading to 48GB RAM required upgrading MS Enterprise edition.  Memory is incredibly cheap. Max it out for almost free performance.  Stack Overflow copied a key part of the Wikipedia database design. This turned out to be a mistake which will need massive and painful database refactoring to fix.  CPU speed is surprisingly important to the database server. Going from 1.86 GHz, to 2.5 GHz, to 3.5 GHz CPUs causes an almost linear improvement in typical query times. The exception is queries which don’t fit in memory.  The bottleneck is the database 90% of the time.  At low server volume, the key cost driver is not rack-space, power, bandwidth, servers, or software; it is Network Equipment's. You need a gigabit network between your DB and Web tiers
  • 25. Lessons Learned (from Jeff’s & Joel’s posts)  EC2 is for scaling horizontally, that is you can split up your work across many machines (a good idea if you want to be able to scale).  Scaling out is only frictionless when you use open source software. Otherwise scaling up means paying less for licenses and a lot more for hardware, while scaling out means paying less for the hardware, and a whole lot more for licenses.  Separate application and database duties so each can scale independently of the other. Databases scale up and the applications scale out  Applications should keep state in the database so they scale horizontally by adding more servers.  With larger form factors like 7U power and cooling become critical issues. Using something between 1U and 7U might be easier to make work in your data center  As you add more and more database servers the SQL Server license costs can be outrageous. So by starting scale up and gradually going scale out with non-open source software you can be in a world of financial hurt.
  • 26. Lessons Learned (from Jeff’s & Joel’s posts)  HAProxy is used instead of Windows NLB because HAProxy is cheap, easy, free, works great as a 512MB VM  A CDN is not used because even “cheap” CDNs like Amazon one are very expensive relative to the bandwidth they get bundled into their existing host’s plan  Full Text Search in SQL Server is very badly integrated, buggy, deeply incompetent, so they went to Lucene  Aggressively cache everything  For their IO system they selected a RAID 10 array of Intel X25 solid state drives  Intel NICs are replacing Broadcom NICs and their primary production servers. This solved problems they were having with connectivity loss, packet loss, and corrupted arp tables.
  • 27. Badges  Microsoft Stack Badge - The Microsoft Stack Badge was earned because Stack Overflow uses the entire Microsoft Stack: OS, database, C#, Visual Studio, and ASP .NET.  Scale Up Badge - The Scale Up Badge was awarded because Stack Overflow uses a scale up strategy to meet their scaling requirements. When they reach a limit they scale vertically by buying a bigger machine and adding more memory. And there are still directions they can take if they need to scale (caching, more web servers, faster disks, more de- normalization, more memory, some partitioning, etc). All-in-all it's a well done and very useful two-tier CRUD application.
  • 28. Conclusion  Overall they believe that they are in a good place and have plenty of room to grow given our current setup. As always they will constantly be looking at our infrastructure and tweaking it to get the best performance possible and give our users the best experience possible.
  • 29. Contact  For more details about our services, please get in touch with us. contact@folio3.com US Office: (408) 365-4638 www.folio3.com