Advantages of Cloud Server over Standard Hosting Server

Cloud DeploymentCloud server is nothing but the virtual server runs on cloud computing environment. Cloud server works like the physical server and can be controlled through an administrator.

It can be called as Virtual Dedicated Servers (VDS). There are various advantages of cloud server over the standard hosting servers.

Scalability:

On Cloud platform you can customize hardware selection appropriate for your application. Eg. Your application may need a small CPU but with high storage or something similar.

But in standard hosting servers you may not have an option to choose what exactly you want, rather forced to choose a pre-defined configuration.

Elasticity:

As cloud is highly scalable you can increase or decrease the hardware needs depending high/low traffic to your application. So, no need to pay unnecessarily for a fixed hosting plan.

Run what you want:

On cloud hosting, you can choose which Operating system you want to run. You can customize the OS as your requirement. But in the standard hosting plan, this option is not available.

Downtime:

On cloud hosting chances of downtime is very remote as multiple servers are used.  In case one server goes down the others takes take care of it and virtually there is no down-time as such. But in standard hosting, if a server goes down then it takes time to resume.

Control Services:

On cloud hosting, you can control your cloud services by the API or from the web-console. This means you can start, stop, increase or decrease any service through API. This feature is not available on the standard hosting server.

Costing:

On standard hosting, we have to choose a plan for ours hosting on a periodical basis (week/ month/year), which is a fixed cost. But in Cloud, just pay as you actually consume. So, cloud-based hosting is cost-effective than a standard hosting server.

Private/Public:

There are several OpenSource apps available to configure the cloud environment. You can set up your own private cloud using cloud apps Cloudstack, Openstack, and Eucalyptus. Also, you can use the public cloud for your application hosting. Eg: AWS, Rackspace, Linode, etc.

How to improve your Apache Web server’s performance?

Apache

The performance of web application depends upon the performance of the webserver and the database server.

You can increase your web server’s performance either by adding additional hardware resources such as RAM, faster CPU, etc. or you can get better performance on the same hardware through Cloud Management, by doing some custom configuration to the webserver.

Here are some custom configurations for better performances

  • Load only the required modules:

Apache server is a modular program which includes the functionality of selecting a set of modules. So it’s suggested to run Apache with only the required modules which will reduce the memory footprint and hence the server performance.

  • Choose appropriate MPM:

Apache comes with a number of Multi-Processing Modules (MPMs) which binds the network ports to the machine. But only one MPM can be loaded at a time, so choose the appropriate MPM for your application. It depends on various factors like, whether the OS supports threads, available memory, scalability versus stability, whether non-thread-safe third-party modules are used, etc.

  • DNS lookup:

Keep “HostnameLookups off” to reduce latency to every request since the DNS lookup has to be completed before the request is finished.

  • AllowOverride:

Make “AllowOverride all” to reduce additional file system lookups.

  • FollowSymLinks:

Add the option ‘FollowSymLinks’ to make the server follow the symbolic links in the directory.

  • Content Negotiation:

Option ‘Multiviews’ scans the directory for files, which causes latency.

  • MaxClients:

‘MaxClients’ is the limit on maximum simultaneous requests. It should be set to low so that new connections are put in queue.

  • MinSpareServers, MaxSpareServers, and StartServers:

The ‘MinSpareServers’ and ‘MaxSpareServers’ determines how many child processes should be kept waiting for request. Now you can adjust it as your requirement.

Listed below are some tweaks to help you around

StartServers—2

MinSpareServers—2

MaxSpareServers—5

ServerLimit—100

MaxClients—100

MaxRequestsPerChild—4000

  • KeepAlive and KeepAliveTimeout:

The ‘KeepAlive’ directive allows multiple requests to be sent over the same TCP connection. This is useful when HTML pages use a lot of images.

KeepAlive–on

Timeout–20

  • HTTP Compression & Caching:

Use mod_deflate module for HTTP Compression. Most of the browsers are supporting it.

  • Separate server for static and dynamic content:

For dynamic contents Apache server needs 3M to 20M of RAM, while for the static contents it consumes only 1M. To reduce latency use separate servers for static and dynamic contents.

  • Reducing network load:

Use ‘mod_gzip’ to compress the data in order to reduce bandwidth. Most of the browsers are supporting it.