# Scalability, Reliability and Maintainability [Tenglish]

*Note: This article is written in Telugu. This might look like English but it reads like Telugu.*

> Reliability, Scalability, Maintainability, Fault-tolerance, Security, Load, Bottleneck, Performance, Throughput, Response Time, p50, p90, p95, p99, p999, SLA, SLO, Contracts, Scale-up, Scale-out, Distributed load, Stateless, Stateful, Load parameters, Operability, Health monitor, Accidental Complexity, Abstraction, Evolvability, Agility, Refactoring.

Uffff…. Orey engineeru.  
Jeevitam lo eppudain veeti anniti gurinchi aalochinchav entra?

![Sagatu software mutyam after seeing these terms](https://cdn.hashnode.com/res/hashnode/image/upload/v1759077283490/e750bab3-f7b6-42ff-9e95-0aa2ab7cbb18.jpeg align="center")

**PR raise chesama. Team lead okay annada. Reviewer merge chesada.**  
*\- ide kada ammai nuvvu chesedi?*

## Konchem kochem chuddam

Some basics of a good system. See these as the 3 sides of a triangle. You can only call it a triangle if it has 3 sides and 3 vertices. *(Kalupu… geetalu geesi vadileyka)*

**Reliability:** Yenda vachina.. vaanochina system saavakudadu. Pani cheseyali.  
**Scalability:** Responding to change in load should be verrrrryy reasonable  
**Maintainability:** Pani chese prati odiki abba SaiRam anipinchali

## Reliability

> Continuing to work correctly, even when things go wrong.

Generally speaking, when you say a system is reliable, it usually means that it is tolerant to faults to a certain degree.

Edaina teda kottadanni **fault** anukunte. Teda kottina pani chesinappudu **fault tolerant** antam.

Indulo rakalu untai amma.

1. Infrastructure (Hardware) faults *(mostly ni tappu em ledu ammai)*
    
2. Software faults *(ade.. nuvvu ninna vadilesina NULL pointer eh)*
    
3. Human faults *(debba mida debba)*
    

Aite fault is not the same as a failure.

**Fault** **\-** Oka part of the system, specification nunchi deviate ayyindi  
**Failure** **\-** Mottam system eh bucket tannesindi

We generally prefer tolerating faults over preventing faults… Kani security vishayam lo idi cheste fruit aipotav bidda.

***Summary:*** *Fault-tolerance can hide certain types of faults from the end user.*

## Scalability

> Load perigite tattukuntada ni system?

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759078418627/ad7162a3-4248-4da3-8513-be58b81c40c1.jpeg align="center")

Aha.. ala kaadu bhaiah nuvvu VMs add chesestav sare. But ave enduku ani doubt.

### **Step 1: Define what is Load in your system**

> Load is basically calculated on the bottleneck of the system.

Bottleneck batti cheptam asalu scalable ah? Scale cheste ela cheyyali ani.

### **Step 2: Then define performance**

> Asalu ni system ki em avasaram? What does performance mean to your system?

For instance,  
Batch Processing - Throughput avasaram  
Online Services - Response Time avasaram

### **Step 3: Coping with Load**

> Scale-up or Scale-out and what exactly are you scaling?

Neeku extra compute kavala? Storage kavala? Memory kavala?

Gurtu pettuko

> There’s is no ***magic scaling sauce***

So ni system ki em kavalo telusukoni adi ichey.

***Summary:*** *An architecture is designed around that system’s* ***load parameters***

## **Maintainability**

> “Telugu bhasha lo naaku nachani oke okka padam” type stuff idi

Is it maintainable ante manaki ardham avvadu kabatti. Inka divide cheddam. Single person maintain cheste avvadu ga. Chala mandi unnaru.

**Operability: Operations team ki chiraku teppinchaka**

**Simplicity: Kotta mutyam vaste prashantata undali aadiki**

**Evolvability: konchem flexible ga undela cheyyu. Repu poddunne okadu vachi naaku inko feature kavali antadu**

## Conclusion

Okati pattukunte inkokati vadalaku.

> **Just like, life, career and passion.** Edi vadilesina mana jeevitaniki ardham undadu.

**Most importantly… ratri sariki ni system bratiki undadu.**
