I saw this nice post from the stack exchange people about their architecture in bullet points and I thought I should write a similar one for skroutz. This includes Skroutz.gr only, not sister sites (like Gameover.gr, Skroutzstore.gr, Soby.gr etc)
##Traffic
- 31M pageviews per month
- 400 - 450 HTTP requests per second (peak hours)
##Data Centers
- 1 Rack in our home grown DC (200 Mb fiber)
##Production Servers
- 2 (soon 3) Application Servers running Debian (total 4 CPUS, 24GB of ram)
- 1 (soon 2) Asset servers (Debian + Ngnix)
- 2 Database Servers (Master 32GB, Slave 8GB, Debian, MySQL Server, MongoDB)
- 1 Product Catalog update server (Debian)
- 1 Sun 7210 Unified storage (soon to be replaced by a clustered storage solution)
- Load balancers, DNS Routers, Firewalls etc provided by DC
##Software and Technologies Used
- Ruby / Ruby On Rails
- MySQL as main database
- MongoDB for analytics
- Memcache for caching
- Coffeescript for javascript
- Redis / EventMachine for realtime traffic monitoring
- God as a babysitter
- Redis for real time calculations (subject for another post)
- Sphinx for search
- Passenger as application server
- Capistrano / Bundler for deployment
- Git for source control
- RSpec / Shoulda for testing
- Resque / Beanstalkd for queueing
- Nginx for HTTP
- Debian / Ubuntu
- OpenVZ for virtualization
- Puppet for system automation
- Munin for server monitoring
##The team
- 7 Developers
- 1 System administrator