What is clusterization?

You have high traffic resource and your server CPU is 0% idle? Time to migrate your project into the cluster.

Almost in all cases the web project resources can be distributed among separate physical servers. I.e. we can run database server and HTTP server on different physical servers. By this we’ll add CPU time to resources. Next step is high availability. Some resources have to be 100% online. This is simple – some web project resources work in master-backup mode, other – run parallel with load balancing on different physical servers.

  • Share/Bookmark

Introduction to Architecting Systems for Scale

Few computer science or software development programs attempt to teach the building blocks of scalable systems. Instead, system architecture is usually picked up on the job by working through the pain of a growing product or by working with engineers who have already learned through that suffering process.

In this post I’ll attempt to document some of the scalability architecture lessons I’ve learned while working on systems at Yahoo! and Digg.
(more…)

  • Share/Bookmark

Server response time affects site ranking

Official Google Webmaster announcement reporting that now server side page generation speed will affect the site’s ranking.
(more…)

  • Share/Bookmark

Using torrent to distribute updates over servers

Murder is a method of using Bittorrent to distribute files to a large amount of servers within a production environment. This allows for scaleable and fast deploys in environments of hundreds to tens of thousands of servers where centralized distribution systems wouldn’t otherwise function. A “Murder” is normally used to refer to a flock of crows, which in this case applies to a bunch of servers doing something.

(more…)

  • Share/Bookmark

FreeBSD 6.3 EOL

The branches supported by the FreeBSD Security Officer have been updated to reflect the EoL (end-of-life) of FreeBSD 6.3.

(more…)

  • Share/Bookmark

Servers usage across all domains for last 9 years

active servers across all domains

active servers across all domains

(more…)

  • Share/Bookmark

UNIX era: 40 years

UNIX history timeline

UNIX history timeline

  • Share/Bookmark

Nagios, munin and monit as monitoring subsystem

monit and nagios

munin and nagios

Using Nagios and munin together are simple and efficient way of monitoring health and availability of the servers.


(more…)

  • Share/Bookmark

How to clusterize an application

Application

Basically, any application processing some incoming data and forming the result based on it may be clustered. First of all, parallel computing may be a part of  the application architecture. Currently, many frameworks depending on development environment are available, which allows the programming team to easily build the inter-server communication and multitasking.

Environment

CISCO PIX Firewall acting as a router and a couple of smart Ethernet switches for redundant network connection between a number of servers.

Frontend

In case of already existing client-server application originally not designed to be clustered, the frontend-backend solution may apply. See the example of Load balanced java web site.

  • Share/Bookmark

Load balanced java web site

Overview

Server software: Gentoo Linux.

Application software: PostgreSQL as database server, Apache Tomcat as application server. (more…)

  • Share/Bookmark