SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Softwares
on Large Scale Internet Services
2013/07/18 at Tokyo Univ.
SATOSHI TAGOMORI (@tagomoris)
LINE Corp.
topics
About LINE Corp.
Service scales
Large is worse
Internet (Web) service architecture
Case studies on LINE Corp.
Q&A
TAGOMORI Satoshi (@tagomoris)
LINE corp.
tagomoris: 田籠 聡
-2005.03:
東京大学計数工学科システム情報工学コース
新研究室
2005.04-2006.03: 朝日ネット
2006.03-2010.06: NTTデータ先端技術
2010.08-:
ライブドア → NHN Japan → LINE
Service scales
small, middle, large and huge scale
Scale(1): Users, traffics, data amount, market share, ...
Scale(2): Servers, programmers, lines of code, ...
Service scales
small middle large huge
users ∼100k ∼1m ∼10m 100m∼
servers 1, 2 or 3 ... tens handreds
thousands
or more
ex. … …
livedoor blog
cookpad
Ameba, 楽天, ...
Google, Twitter
Facebook
Amazon, ...
More/less servers
Servers
less: computing power-- / management cost--
more: computing power++ / management cost++
Server types (complexity)
less: efficiency-- / management cost--
more: efficiency++ / management cost++
Large is worse:
more traffics needs more computing power
less server types more server types
less servers
more servers
small middle
huge large
Small scale internet (web) service
server-side architecture
Users (PC, smartphone, mobilephone, ...)
Database
(RDBMS, NoSQL)
Web Server + Application Server
(Apache + PHP, nginx + passenger(ruby), ...)
External API
Middle scale internet (web) service
server-side architecture
Users (PC, smartphone, mobilephone, ...)
Database
(RDBMS, NoSQL)
External API
Application Server
(Java, Perl, Ruby, ...)
Caches
(memory, disk)
Web Server (Apache, nginx, ...)
Large scale internet (web) service
server-side architecture
Users (PC, smartphone, mobilephone, ...)
Database
(RDBMS, NoSQL)
External API
Application Server
(Java, Perl, Ruby, ...)
Caches
(memory, disk)
CDN
Storage
Service
Web Server (Apache, nginx, ...)
Data
analysis
Huge scale internet (web) service
server-side architecture
Users (PC, smartphone, mobilephone, ...)
Distributed datastore
(GFS+BigTable, HDFS+HBase, ...)
Application server farm (IaaS, PaaS)
Web server cluster + CDN
Software engineering:
for large scale services
Performance: application, database, storage, cpu
Stability: network, high availability, monitoring, logging
Low costs: deployment, continuous testing
Incomes: response time, data analysis, visualization
Our scope in server side
Users (PC, smartphone, mobilephone, ...)
Database
(RDBMS, NoSQL)
External API
Application Server
(Java, Perl, Ruby, ...)
Caches
(memory, disk)
CDN
Storage
Service
Web Server (Apache, nginx, ...)
Data
analysis
Our scope in server side
Users (PC, smartphone, mobilephone, ...)
Database
(RDBMS, NoSQL)
External API
Application Server
(Java, Perl, Ruby, ...)
Caches
(memory, disk)
CDN
Storage
Service
Web Server (Apache, nginx, ...)
Data
analysis
BREAK.
CASE STUDIES OF
LINE CORP.
LINE secret sale:
traffic spike
Heavy traffic on sale time
transactions
remaining updates
image outbounds
SSD
Application tuning
transactions
cache updates
LINE manga:
content delivery
content (image) delivery
STF
distributed object
storage
livedoor blog:
heavy traffic
STF based image storage
+ cache
CDN
MySQL database cluster
Server Side Include (SSI)
Access analysis tools
system administration:
server setup, deployment, monitoring, ...
server setup / deployment:
automation(kickstart), testing(serverspec)
itempotent deployment(chef, puppet)
transactional operation
monitoring:
server/switch metrics
CDN API integration
Service monitoring:
Hadoop, stream processing, ...
Daily service metrics (hadoop+hive)
Pageviews, Unique users, ...
(Semi-)Real-time service metrics (fluentd+norikra)
Req/sec, Error rate, Response time percentile, ...
+ system integration
autoscaling, service status for end users, ...
micro level tunings
Log archive server
linux md raid-6 → hardware raid-1+0
I/O performance dramatically decreased
I/O schedular: CFQ → deadline
Stream processing node (ruby, fluentd)
Increasing memory usage (fragmentation)
Memory allocator: glibc malloc → jemalloc
Our scope in server side
Users (PC, smartphone, mobilephone, ...)
Database
(RDBMS, NoSQL)
External API
Application Server
(Java, Perl, Ruby, ...)
Caches
(memory, disk)
CDN
Storage
Service
Web Server (Apache, nginx, ...)
Data
analysis
Our scope of computer stack
PC/smartphone browser iOS/Android App
web servers / application servers
application code
language runtime object stores RDBMS / KVS
OS
server, NIC, memory, HDD/SSD, ...
network, firewall, load balancing
authentication(policies), audit
logger / watchdogs / cron / ...
HTML/CSS, Javascript ...
Softwares
on large scale internet services
All of available things!
linux, lvs, haproxy, apache, nginx, squid, varnish,
memcached, mysql, kyoto tycoon, mongodb,
cassandra, redis, riak, perl, ruby, php, python, java,
javascript, node.js, hadoop, hbase, hive, fluentd, ...
except for
global-scale distributed systems
processor design
ALL OPTIONS
ARE AVAILABLE
IN
SERVICE PROVIDERS.

Weitere ähnliche Inhalte

Ähnlich wie Softwares on Large Scale Internet Services

Advanced Open IoT Platform for Prevention and Early Detection of Forest Fires
Advanced Open IoT Platform for Prevention and Early Detection of Forest FiresAdvanced Open IoT Platform for Prevention and Early Detection of Forest Fires
Advanced Open IoT Platform for Prevention and Early Detection of Forest FiresIvo Andreev
 
Python Ireland Dec Talks - Windows Azure -- The Nuts and Bolts
Python Ireland Dec Talks - Windows Azure -- The Nuts and BoltsPython Ireland Dec Talks - Windows Azure -- The Nuts and Bolts
Python Ireland Dec Talks - Windows Azure -- The Nuts and BoltsPython Ireland
 
Cloud computingintroduction
Cloud computingintroductionCloud computingintroduction
Cloud computingintroductionKhelender Sasan
 
Technology Overview
Technology OverviewTechnology Overview
Technology OverviewLiran Zelkha
 
Engineering practices in big data storage and processing
Engineering practices in big data storage and processingEngineering practices in big data storage and processing
Engineering practices in big data storage and processingSchubert Zhang
 
Engineering Presentation for Careers@Directi
Engineering Presentation for Careers@DirectiEngineering Presentation for Careers@Directi
Engineering Presentation for Careers@DirectiDirecti Group
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDBDenny Lee
 
What to Expect for Big Data and Apache Spark in 2017
What to Expect for Big Data and Apache Spark in 2017 What to Expect for Big Data and Apache Spark in 2017
What to Expect for Big Data and Apache Spark in 2017 Databricks
 
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...Adrian Cockcroft
 
Data Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshData Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshJeffrey T. Pollock
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaborationJulien Pivotto
 
Alex Wade, Digital Library Interoperability
Alex Wade, Digital Library InteroperabilityAlex Wade, Digital Library Interoperability
Alex Wade, Digital Library Interoperabilityparker01
 
Big Data Session 1.pptx
Big Data Session 1.pptxBig Data Session 1.pptx
Big Data Session 1.pptxElsonPaul2
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend
 
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20....Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...Javier García Magna
 
High-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsHigh-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsClusterpoint
 
Informatica
InformaticaInformatica
Informaticamukharji
 

Ähnlich wie Softwares on Large Scale Internet Services (20)

Advanced Open IoT Platform for Prevention and Early Detection of Forest Fires
Advanced Open IoT Platform for Prevention and Early Detection of Forest FiresAdvanced Open IoT Platform for Prevention and Early Detection of Forest Fires
Advanced Open IoT Platform for Prevention and Early Detection of Forest Fires
 
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
 
Python Ireland Dec Talks - Windows Azure -- The Nuts and Bolts
Python Ireland Dec Talks - Windows Azure -- The Nuts and BoltsPython Ireland Dec Talks - Windows Azure -- The Nuts and Bolts
Python Ireland Dec Talks - Windows Azure -- The Nuts and Bolts
 
Cloud computingintroduction
Cloud computingintroductionCloud computingintroduction
Cloud computingintroduction
 
Technology Overview
Technology OverviewTechnology Overview
Technology Overview
 
Engineering practices in big data storage and processing
Engineering practices in big data storage and processingEngineering practices in big data storage and processing
Engineering practices in big data storage and processing
 
Engineering Presentation for Careers@Directi
Engineering Presentation for Careers@DirectiEngineering Presentation for Careers@Directi
Engineering Presentation for Careers@Directi
 
Introduction to Azure DocumentDB
Introduction to Azure DocumentDBIntroduction to Azure DocumentDB
Introduction to Azure DocumentDB
 
What to Expect for Big Data and Apache Spark in 2017
What to Expect for Big Data and Apache Spark in 2017 What to Expect for Big Data and Apache Spark in 2017
What to Expect for Big Data and Apache Spark in 2017
 
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
 
Data Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshData Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to Mesh
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaboration
 
Alex Wade, Digital Library Interoperability
Alex Wade, Digital Library InteroperabilityAlex Wade, Digital Library Interoperability
Alex Wade, Digital Library Interoperability
 
Big Data Session 1.pptx
Big Data Session 1.pptxBig Data Session 1.pptx
Big Data Session 1.pptx
 
Serverless architecture
Serverless architectureServerless architecture
Serverless architecture
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data Platform
 
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20....Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
 
High-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsHigh-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutions
 
Informatica
InformaticaInformatica
Informatica
 
agile microservices @scaibo
agile microservices @scaiboagile microservices @scaibo
agile microservices @scaibo
 

Mehr von SATOSHI TAGOMORI

Ractor's speed is not light-speed
Ractor's speed is not light-speedRactor's speed is not light-speed
Ractor's speed is not light-speedSATOSHI TAGOMORI
 
Good Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/OperationsGood Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/OperationsSATOSHI TAGOMORI
 
Invitation to the dark side of Ruby
Invitation to the dark side of RubyInvitation to the dark side of Ruby
Invitation to the dark side of RubySATOSHI TAGOMORI
 
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)SATOSHI TAGOMORI
 
Make Your Ruby Script Confusing
Make Your Ruby Script ConfusingMake Your Ruby Script Confusing
Make Your Ruby Script ConfusingSATOSHI TAGOMORI
 
Hijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in RubyHijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in RubySATOSHI TAGOMORI
 
Lock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive OperationsLock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive OperationsSATOSHI TAGOMORI
 
Data Processing and Ruby in the World
Data Processing and Ruby in the WorldData Processing and Ruby in the World
Data Processing and Ruby in the WorldSATOSHI TAGOMORI
 
Planet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: BigdamPlanet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: BigdamSATOSHI TAGOMORI
 
Technologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise BusinessTechnologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise BusinessSATOSHI TAGOMORI
 
Ruby and Distributed Storage Systems
Ruby and Distributed Storage SystemsRuby and Distributed Storage Systems
Ruby and Distributed Storage SystemsSATOSHI TAGOMORI
 
Perfect Norikra 2nd Season
Perfect Norikra 2nd SeasonPerfect Norikra 2nd Season
Perfect Norikra 2nd SeasonSATOSHI TAGOMORI
 
To Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT ToTo Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT ToSATOSHI TAGOMORI
 
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersThe Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersSATOSHI TAGOMORI
 
How To Write Middleware In Ruby
How To Write Middleware In RubyHow To Write Middleware In Ruby
How To Write Middleware In RubySATOSHI TAGOMORI
 
Modern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real WorldModern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real WorldSATOSHI TAGOMORI
 
Open Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud ServiceOpen Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud ServiceSATOSHI TAGOMORI
 
Fluentd Overview, Now and Then
Fluentd Overview, Now and ThenFluentd Overview, Now and Then
Fluentd Overview, Now and ThenSATOSHI TAGOMORI
 

Mehr von SATOSHI TAGOMORI (20)

Ractor's speed is not light-speed
Ractor's speed is not light-speedRactor's speed is not light-speed
Ractor's speed is not light-speed
 
Good Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/OperationsGood Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/Operations
 
Maccro Strikes Back
Maccro Strikes BackMaccro Strikes Back
Maccro Strikes Back
 
Invitation to the dark side of Ruby
Invitation to the dark side of RubyInvitation to the dark side of Ruby
Invitation to the dark side of Ruby
 
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
 
Make Your Ruby Script Confusing
Make Your Ruby Script ConfusingMake Your Ruby Script Confusing
Make Your Ruby Script Confusing
 
Hijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in RubyHijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in Ruby
 
Lock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive OperationsLock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive Operations
 
Data Processing and Ruby in the World
Data Processing and Ruby in the WorldData Processing and Ruby in the World
Data Processing and Ruby in the World
 
Planet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: BigdamPlanet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: Bigdam
 
Technologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise BusinessTechnologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise Business
 
Ruby and Distributed Storage Systems
Ruby and Distributed Storage SystemsRuby and Distributed Storage Systems
Ruby and Distributed Storage Systems
 
Perfect Norikra 2nd Season
Perfect Norikra 2nd SeasonPerfect Norikra 2nd Season
Perfect Norikra 2nd Season
 
Fluentd 101
Fluentd 101Fluentd 101
Fluentd 101
 
To Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT ToTo Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT To
 
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersThe Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and Containers
 
How To Write Middleware In Ruby
How To Write Middleware In RubyHow To Write Middleware In Ruby
How To Write Middleware In Ruby
 
Modern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real WorldModern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real World
 
Open Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud ServiceOpen Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud Service
 
Fluentd Overview, Now and Then
Fluentd Overview, Now and ThenFluentd Overview, Now and Then
Fluentd Overview, Now and Then
 

Kürzlich hochgeladen

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Kürzlich hochgeladen (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

Softwares on Large Scale Internet Services

  • 1. Softwares on Large Scale Internet Services 2013/07/18 at Tokyo Univ. SATOSHI TAGOMORI (@tagomoris) LINE Corp.
  • 2. topics About LINE Corp. Service scales Large is worse Internet (Web) service architecture Case studies on LINE Corp. Q&A
  • 4. tagomoris: 田籠 聡 -2005.03: 東京大学計数工学科システム情報工学コース 新研究室 2005.04-2006.03: 朝日ネット 2006.03-2010.06: NTTデータ先端技術 2010.08-: ライブドア → NHN Japan → LINE
  • 5.
  • 6. Service scales small, middle, large and huge scale Scale(1): Users, traffics, data amount, market share, ... Scale(2): Servers, programmers, lines of code, ...
  • 7. Service scales small middle large huge users ∼100k ∼1m ∼10m 100m∼ servers 1, 2 or 3 ... tens handreds thousands or more ex. … … livedoor blog cookpad Ameba, 楽天, ... Google, Twitter Facebook Amazon, ...
  • 8. More/less servers Servers less: computing power-- / management cost-- more: computing power++ / management cost++ Server types (complexity) less: efficiency-- / management cost-- more: efficiency++ / management cost++
  • 9. Large is worse: more traffics needs more computing power less server types more server types less servers more servers small middle huge large
  • 10. Small scale internet (web) service server-side architecture Users (PC, smartphone, mobilephone, ...) Database (RDBMS, NoSQL) Web Server + Application Server (Apache + PHP, nginx + passenger(ruby), ...) External API
  • 11. Middle scale internet (web) service server-side architecture Users (PC, smartphone, mobilephone, ...) Database (RDBMS, NoSQL) External API Application Server (Java, Perl, Ruby, ...) Caches (memory, disk) Web Server (Apache, nginx, ...)
  • 12. Large scale internet (web) service server-side architecture Users (PC, smartphone, mobilephone, ...) Database (RDBMS, NoSQL) External API Application Server (Java, Perl, Ruby, ...) Caches (memory, disk) CDN Storage Service Web Server (Apache, nginx, ...) Data analysis
  • 13. Huge scale internet (web) service server-side architecture Users (PC, smartphone, mobilephone, ...) Distributed datastore (GFS+BigTable, HDFS+HBase, ...) Application server farm (IaaS, PaaS) Web server cluster + CDN
  • 14. Software engineering: for large scale services Performance: application, database, storage, cpu Stability: network, high availability, monitoring, logging Low costs: deployment, continuous testing Incomes: response time, data analysis, visualization
  • 15. Our scope in server side Users (PC, smartphone, mobilephone, ...) Database (RDBMS, NoSQL) External API Application Server (Java, Perl, Ruby, ...) Caches (memory, disk) CDN Storage Service Web Server (Apache, nginx, ...) Data analysis
  • 16. Our scope in server side Users (PC, smartphone, mobilephone, ...) Database (RDBMS, NoSQL) External API Application Server (Java, Perl, Ruby, ...) Caches (memory, disk) CDN Storage Service Web Server (Apache, nginx, ...) Data analysis
  • 19. LINE secret sale: traffic spike Heavy traffic on sale time transactions remaining updates image outbounds SSD Application tuning transactions cache updates
  • 20. LINE manga: content delivery content (image) delivery STF distributed object storage
  • 21. livedoor blog: heavy traffic STF based image storage + cache CDN MySQL database cluster Server Side Include (SSI) Access analysis tools
  • 22. system administration: server setup, deployment, monitoring, ... server setup / deployment: automation(kickstart), testing(serverspec) itempotent deployment(chef, puppet) transactional operation monitoring: server/switch metrics CDN API integration
  • 23. Service monitoring: Hadoop, stream processing, ... Daily service metrics (hadoop+hive) Pageviews, Unique users, ... (Semi-)Real-time service metrics (fluentd+norikra) Req/sec, Error rate, Response time percentile, ... + system integration autoscaling, service status for end users, ...
  • 24. micro level tunings Log archive server linux md raid-6 → hardware raid-1+0 I/O performance dramatically decreased I/O schedular: CFQ → deadline Stream processing node (ruby, fluentd) Increasing memory usage (fragmentation) Memory allocator: glibc malloc → jemalloc
  • 25. Our scope in server side Users (PC, smartphone, mobilephone, ...) Database (RDBMS, NoSQL) External API Application Server (Java, Perl, Ruby, ...) Caches (memory, disk) CDN Storage Service Web Server (Apache, nginx, ...) Data analysis
  • 26. Our scope of computer stack PC/smartphone browser iOS/Android App web servers / application servers application code language runtime object stores RDBMS / KVS OS server, NIC, memory, HDD/SSD, ... network, firewall, load balancing authentication(policies), audit logger / watchdogs / cron / ... HTML/CSS, Javascript ...
  • 27. Softwares on large scale internet services All of available things! linux, lvs, haproxy, apache, nginx, squid, varnish, memcached, mysql, kyoto tycoon, mongodb, cassandra, redis, riak, perl, ruby, php, python, java, javascript, node.js, hadoop, hbase, hive, fluentd, ... except for global-scale distributed systems processor design