Choosing Hardware

Choosing Hardware 





Regardless of whether you outsource hosting and operation or you host your own website, you should know some aspects of computing hardware platform. 


The hardware platform means that all the basic computing component which the system utilizes to accomplish its e-commerce features. Your aim is to have sufficient platform capacity to handle peak demand, but not in that much excess that you waste money. In case fails to match peak demand, then that means your website is actually crashing or is slow. 


It is required to have knowledge about the aspects which have effect on capacity, speed and scalability of an e-commerce website.

 
Right-Sizing Your Hardware Platform : 

The Demand Side 


The demands which customers put on your e-commerce website is major factor affecting your website’s speed. 


Based on the kind of website you operate, demands on your website may become complex. The number of concurrent users in peak time, the type of customer requests, kind of content, required security, the number of products in inventory, number of page requests and speed of legacy applications which may be required to provide data to web pages are all important factor in overall demand on a website application.


One of the important factor to consider is the number of concurrent users who will likely to visit your website. In general, the load created by a single user on website server is limited and for short time. A session initiated by user on your website is stateless, which means that you server does not have to worry about maintaining an ongoing, dedicated communication with user. On web page request a web session is initiated, once the server responds to the request the session ends. Performance of system may decrease as increasing number of concurrent users request service. 


For serving static web page requests, I/O operations are required rather than heavyduty processing power capability. Due to which Performance of website is majorly dependent on telecommunication connection and I/O limitation of server, rather than speed of server’s processor. 


The nature of content and user profile are some other factors which needs to be considered while projecting the demand on the website. Demands on the server’s processors will go up in case user requests registration forms, searches and accepting order through shopping cart. 


Right-Sizing Your Hardware Platform : 

The Supply Side 


Once the demand on your website is projected, you will have to think about scaling up your website in order to meet the demand. One of the solution is that outsourcing the hosting part of your site to cloud based service. Service of Content Delivery Network (CDN) like Akamai, can also taken. 


However, in case you host your own website, scalability will remain an important consideration. Scalability mean the capability of a website to increase in size as demand increases. There are three steps by which you can meet the demands for service at your website : horizontal scaling of hardware, vertical scaling of hardware, and/ or enhance the processing architecture of the website. 


Increasing individual component’s processing power is known as vertical scaling. Adding multiple computers to increase the footprint of installation and to share the workload is known as horizontal scaling. 


By upgrading the servers from single processor to multiple processor you will be able to scale your website vertically. Based on the operating system and for upgrading to faster chip speed, you can keep on adding processors to a computer. 


There are two disadvantages to vertical scaling. First, along with every growth cycle purchasing additional processors will become costly, and second, your complete website becomes dependent on a smaller number of powerful computers. In case you have two such computers and one goes down, then either half or complete website can become unavailable. 


Horizontal scaling contains adding multiple single processor server to your website and performing loan balancing among those servers. You can then divide the loan so some server are assigned for handling database application, whereas some servers handles only HTML web page requests. To navigate incoming request to different server, you will require a special loan balancing software. 


There are various advantages to horizontal scaling. It is cheap and can be achieved by using older computers which otherwise could have been disposed. Horizontal scaling also introduces concept of redundancy i.e. in case one computer fails, chances are that another computer can take up the loan dynamically. However, when your website grows from single computer to 15 to 20 computer then the size of physical capacity needed to store also increases and this adds to management complexity. 


A third option, improving the processing architecture, is a combination of horizontal and vertical scaling, combined with artful design decisions. Below are few common technique that can be taken to improve performance of your website: 
  • Separate dynamic and static content : For every kind of workload make use of specialized server 
  • Cache static content: RAM size to be increased to GB range and store static content in RAM 
  • Cache database lookup tables : Use cache tables used to look up for records in database 
  • Consolidate business logic on separate server : Put credit card processing, shopping cart and any other CPU intensive task on separate server 
  • Optimize source code and database schema 

Many of these techniques includes dividing the workload into CPU-intensive activities and I/O intensive task. Once you have divided the work, for every kind of workload you can fine tune the server. One of the less costly fine tuning technique is adding RAM to some servers and store all your HTML pages in RAM. This increases the processing speed by reducing load on your hard drives. RAM is cheap 


The next course of action is to migrate all CPU intensive tasks like order taking, onto high-end, multiple processor server which is particularly assigned to handle order and accessing required databases. 


Taking these steps can allow you to reduce the number of server needed to responds to thousands of concurrent users from 100 down to 20, according to estimate.







Post a Comment

0 Comments