Availability of Web Application - Implication of downtime and Ways to keep the App Up

Availability of Web Application - Implication of downtime and Ways to keep the App Up

What is it with High Availability of Web-Application

What do you think that how much time a web-application can have the downtime ?

Here is my small effort to explain this whole concept ...


Lets take an example of an E-commerce web application. Is it really okay for the E-Comm website to have the downtime ? If yes, how much time ? If No, why ? What are the implications ? What are the Impacts ? What are pros n cons of downtime of web application ?

Very straight forward - Round the clock availability of the site is not an option. Even few seconds of site shutdown is a huge loss to the E-commerce web-applications.

It's really critical for a company to design, develop, test, and deploy the Web applications so that they can scale well under heavy and ever-increasing load.

Site Availability means the Web-application should be accessible whenever somebody request it by accessing either in browser or on mobile application. Availability of web-app can be directly related to the uptime of the Web server and dependent servers, which can be either database, an app-server, etc.

Following are the typical types of failures which can impact the web-application availability:

  • Server failures: Think of a scenario that all the requests to web-application's services are going unanswered. May be database is not responding, making it impossible for users to submit or retrieve information from the database. Cause can be a memory issue or network issue or may be something else. Ensure that IT architecture includes network monitoring and notification software that can quickly report on the general health of network and alert about any failed servers.
  • Software failures: Software failures may involve the Operating System crash or the Webserver crash. Web-application cannot sustain on crashed or corrupted operation systems and also webserver will not function properly if it is crashed and may need a restart or reconfiguration or reinstallation.
  • Hardware failures: Hardware failures may include crashed hard drives, blown processors, and corrupted network cards. Diagnosing and fixing these kinds of issues can be a lengthy endeavour because of time spent procuring the parts. A sound strategy includes a minimum of two Web servers but preferably three.


Why there is a need of High Availability of Web-Application 

Optimising the web-application to have the high availability is really not an option. Let us see why.

For E-commerce websites, the advantage of online sales is that, they are available at any time and available to be accessible from any part of the world at anytime. If servers employ a good strategy for load balancing and failover, there's no reason why they should not provide high availability to their users.

If there is any downtime of the web-application due to any reason, expected or unexpected, the impact might be huge on the organisation. Lets see what can be the implications:

  • Revenue Loss / Profit Loss: Revenue loss is inevitable due to downtime. Imagine the downtime happens on Black Friday or Cyber Monday, the loss would be much higher. 
  • Productivity Loss: During downtime of services, the marketing and business team might have troubles to carry on the ongoing sales campaign, or Finance team may not be able to do the financial activities due to non-availability of data.
  • User Experience: If the web-application is not accessible or very slow to visit, the website usage will simply drop and that would have an impact on the sales.
  • Customer Churn: Customers may go to other options if the downtime of the web-application is unexpected. Organisation may loose the loyal customers with the complaint of unavailable service.
  • Brand will lose credibility: Visitors will associate a poorly performing website with poor performance in delivering goods or services, and the brand will suffer with credibility and get a poor reputation. App users may spread the frustrations with then services on the app store and social media. The competitors would be quick to avail the service downtime and win over the market and consumers to stay with them.
  • Lower search engine rank: If the site is inaccessible, search engines will notice. If this is only an occasional occurrence, the consequences will not impact much. Buy, if downtime happens frequently, the site will receive a lower ranking in search engine results, impacting the reachability of users to the site.


Ways to consider to keep the web-application available all the time

Now we know what we are talking about to have the web-application available all the time for the end users and why it is really really important for the company to be very careful in designing the application for its availability round the clock. Building a scalable application that has high availability is not easy and does not come automatically. Let us see the following keys to help build applications to have their high availability quotient.

  • Build the applications keeping availability in mind, even in the peak period. Example of peak periods are like Thanks Giving, Cyber Monday, Holiday season.
  • Always think about scaling the application to the next level, when it has traffic in multiple folds. New database or new server needed to share the load ? Does it need caching ? How best the cluster env be ?
  • Load Balancers provide better control on how traffic is handled in order to provide optimal performance. Load Balancer distribute requests between application servers and monitor them to ensure that client requests are always directed to a healthy machine.
  • Database load balancing also critical. For the majority of web applications, it is absolutely essential to run a reliable database. Options can be: Master Slave DB configuration, Multiple Master Slave pair, Partitioning the DB
  • Monitoring is must to know how it is performing. Application monitoring is one way to keep an eye on the application performance, and generate notifications when the application performs in abnormal ways.
  • Whenever a problem occurs, Respond to availability issues quickly in defined way. Team should be aware of what are the next steps, even if the issue is not known and need to debug or do the RCA. Company must have the standard procedures and practices for fixing problems.

To view or add a comment, sign in

More articles by Nripesh Sonavane

  • Performance of Web-Application

    What do you mean by Performance of the web-application ? In layman's term, It can be explained as follows: System…

  • Characteristics of a Web-Application

    Modern web applications have very high user expectations now a days. The web applications are expected to be available…

Others also viewed

Explore content categories