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, ...
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
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, ...
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