High availability: Introduction

This entry is the first one of multiples I will write about high availability systems, being this one an introduction to necessary basic concepts to understand what is and why is it for. The articles will be focused on software high availability.

The entry will serve both newcomers or people managing computer services which aren’t technical and those introduced into the subject who wants to refresh their concepts or correct me on that he/she believes appropiate.

As we move forward on entries, they’ll become more technical and will require a deeper knowledge. Terminal usage on a Linux distribution, software installation and file editing will become essential requisites.

Along them some services will be configured on high availability, like web servers o database servers, in a way the concepts can be captured into something tangible and that can be implemented with a theoretical component.

After this introduction, lets start.

A computer services world

Today’s computing cannot be conceived without that so called “services”. Services are a mix of software and hardware running 100% of the time, permanently connected to a computer network and whose mission is information transformation and transmission.

If any of the software or hardware aren’t working, then the service cannot be used and we cannot get or transform the information we want.

A service will be very simple such as an unique program on an unique server (or domestic PC) or very complex to be formed with multiple computer programs and hardware. Very popular sites like Google or Facebook runs many programs on thousands of servers and other gear to serve their search, maps, photograpy, social network, etc. services.

When we talk about services we refer to all necessary things (software, hardware, etc.) that composes it to be used for.

Some software used to serve servicios will be “Apache HTTPD Server” which allows to serve web pages with an unique program, or “Postfix” which serves email and uses multiple programs for it. They both can be run on an unique server or domestic PC.

What is availability?

Before we can answer what is high availability, we must know what is availability.

This term, on compute world, refers than an existing service is accesible. A typical service will be a web server, where there are pages stored and accessed from web browsers like this blog.

When an user through his/her web browser tries to visit an existing web site -we correctly wrote it- and it doesn’t load, we say it’s “unavailable” and we cannot view it.

Therefore, “availability” is what allows an existing service being accessed and used without inconvenience.

Availability time

Availability can be measured with a yearly percentage, in minutes. From 0% (0 minutes) to 100% (525600 minutes, approximately). An 1% corresponds to 5260 minutes or 87.6 hours or 3.65 days.

This percentage is called “availability time” or “(service) uptime”. And the time the service hasn’t been available is called “downtime”.

In some services it’s calculated from the first day of the year and on others it’s calculated in annual periods since its activation day.

What is high availability?

We can define the high availability as the used technique to provide uninterrupted service, allowing one or more elements (software, servers, network gear, etc.) of such service to be on failure state without impact on the operation or it is not noticeable to the end user.

High availability is achieved through redundancy of the elements of the service: network gear (switches, routers), servers and server components (two or more hard disks, two or more ECC type RAM memory, two or more processors, two or more power supplies) connected to two or more electrical sockets on two or more power strips -each one from an independent electrical supplier-, etc. And most importantly, the programs that provide the service are ready in all that redundant infrastructure to operate.

There is also an article dedicated to high availability in Wikipedia.

Why is it high availability for?

From an user point of view, thanks to high availability we can access a service at any time and put it to use.

For a professional or business, the high availability translates to a better professional image. What will happen if our users cannot access to our website? They cannot see it. And, what will happen if, well, we are hosting providers and let many users with their websites unavailable? Many users that have placed their trust in our business will see how over a time interval their websites aren’t accesibles with the harm that will cause them; and to the business if it must compensate economically for such unavailability.

It can be worse: Lets imagine a bank service responsible of moving money between entities stops working; or the service which gives employee payroll; or the service information exchange between medical consultations.

High availability allows services to be always available. To a user lets enjoy them, and a professional or business ensure their services can be always enjoyed the maximum possible time, trying to be very close to 100%.

 

I have a blog! (one more time)

It has rained much since the 26th of September, 2007. That day was the last I wrote on my old blog, with one exception in March, 2009.

I have been thinking around resume my blog since shortly after. Or to start, as in some attempts the closest I was, was in 2007. I used blogger, bitacoras.com, my own domain (blog.daijo.org) with Drupal and WordPress and finally for some reason or another: none.

8 years later is a good moment for it. I’m now over thirty and raise I should do what I want to do and have not done without justified reason more than my own me fighting against myself to put me on it or not.

Today, 19th of July of 2016, with 40ºC of pleasant freshness in Ciudad Real, I retake my blog. I have not set any publication rate, each entry will appear when I consider it is ready to be published and discussed.

Yesteryear, the blog had a title (or subtitle, depending of the time) “The cauldron of topics”. Like then, I will mix various topics: computer engineering, both views and personal opinions, team management, how computer engineering companies should be today as “I think”, etc. I am a classic mixing apples with oranges.

This time I’ll try that entries appears in both Spanish and English, as time allows me and for what I’ll use the WPML plugin. I have enhance my written English and the use of expressions in the right way as an objective, and I will be grateful to everyone who spot both expression or writing errors.

I was tempted to reinsert the old blog entries I had on blog.daijo.org, however, they are indexed thanks to the wayback machine from archive.org. The links are as follows:

– Between December, 2005 and May, 2006 (using Drupal).

– Between December, 2006 and October, 2007 (using WordPress)

I should not forget that to comply with Spanish legislation, I adapted the “Legal Notice and Privacy Policy” template that “Ciudadano 2.0” web offers in its free downloads zone for its readers. Thanks to its author, Raquel Rubín, for sharing.