Skip to main content

Command Palette

Search for a command to run...

Scalability, Reliability and Maintainability [Tenglish]

sagatu telugodi aavedana

Updated
3 min read
Scalability, Reliability and Maintainability [Tenglish]
S

Building intuitive and engaging (customer, developer, user, visual) experiences is my Ikigai.

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

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?

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.