SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
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.

Mais conteúdo relacionado

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

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