You are on page 1of 5

COMSAT University Islamabad

Abbottabad Campus

ASSIGNMENT NO# 3

Topic: Quality Attribute Analysis on Web Application


Submitted by:
SANAULLAH
CIIT/SP23-RCS-007/ATD

Submitted to:
DR. IFTIKHAR HUSSAIN

Submission Date:
21-06-2023
Subject: ADV. SOFTWARE ENGINEERING

MS 1st SEMESTER
Department of Computer Science
SELECTED QUALTIY ATTRIBUTE:
I have selected “Recoverability” as a quality attribute to analyze particular web application.
Recoverability is the ability of any web application to recover from failures or crises & to
restore its normal operation smoothly. The primary goal of recoverability is to reduce the
downtime and maximize the availability of any system.

TASKS
1- WEB APPLICATION:
I have selected the web application named “MINT.COM” which is one of the most
common financial management web-application. The purpose of this application is to
provide user with comprehensive & convenient platform to manage their finances, track
their budget & to achieve their financial goal. It also provides interface to create & manage
new cryptocurrencies, enabling users to involve in the digital asset ecosystem. As my
selected quality attribute is Recoverability so I took financial application for analyzing
because Recoverability has very importance in “MINT.COM” finance application due to
critical financial transactions & the potential impact of failure & errors.
During analyzing the web application in Recoverability context we’ll check failure rate,
mean time to recover(MTTR), recovery time objective(RTO), recovery point
objective(RPO), recovery success rate & some other important metrics to measure ability of
application to recover from failures.

2- ARCHITECTURAL COMPONENTS & RECOVERABILITY RELATED ASPECTS


IN “MINT.COM”:
1- Redundant & Distributed Architecture:
It is very crucial for recoverability. It involves deploying the application across multiple
server to ensure availability. It allows application to recover quickly from failure.
2- Replication & Backup Mechanism:
To implement replication mechanism allow us to copy the data across multiple locations
so that in case of loss we can recover sensitive data easily. Backup mechanism allow
system to restore in to run in stable state.
3- Fault Detection & Monitoring:
This monitoring system observe the health of system, status of network & performance
of application. It is very helpful to detect fault at real-time to start recovery process.
4- Automated Recovery Process:
Automated recovery process means there will be no involvement of human for recovery
and It will also save the time
5- Error Logging & Reporting:
Logging Information about errors is helpful for effective troubleshooting & root cause
analysis.
3- METRICS USED TO MEASURE RECOVERABILITY:
1. Mean Time to Recover (MTTR):
MTTR is used to measure the time consume to recover from failure or disaster. It should
be less for better systems.

2. Recovery Point Objective (RPO):


RPO refers to the maximum amount of data loss which could be acceptable. RPO should
be effective for better system.

3. Recovery Time Objective (RTO):


RTO refers to the time taken by system to restore its normal state or time taken to
recover from failure. RTO should be as low as possible for recoverable systems

4. Mean Time Between Failures (MTBF):


MTBF refers to the intermediate time between consecutive failures occurred in systems.
MTBF should be greater so that failure occurred less time.

5. Failure Rate:
The failure rate refers to the amount of failure happened in system during specific time
duration. Failure rate should as low as possible for efficient systems

4- POTENTIAL BOTTLENECKS IN “MINT.COM” ARCHITECTURE IN CONTEXT


OF RECOVERABILITY:
1. Single Points of Failure:
As MINT.com architecture is using distributed network technology but still there are
limited systems responsible to handle daily based transactions if single system doesn’t
work it slightly affect the entire communication system. It should be eliminated

2. Data Replication and Synchronization:


As we know MINT.COM is using data replication & backup technology to avoid any
data loss but it become bottleneck during recovery process because system have to
maintain consistency & synchronization to recover properly.

3. Network Communication and Latency:


As MINT.COM comprises of large network & thousands of users do transaction on daily
basis. These transactions need wide bandwidth and strong network connection to perform
efficiently. But due to any error when recovery process start then the architecture of this
web application may cause disruption due to busy network and packet losing.

4. Recovery Time Objective (RTO) Considerations:


Whenever MINT.COM face any error and automatic recovery system starts then it takes
long time to recover. It means RTO is high. So it is a critical bottleneck of this web
application.

5. Scalability and Elasticity:


Scalability means the ability of system is to run if load increase during recovery process.
But in MINT.COM there are inadequate scalability mechanisms to survive under high
traffic.

5- PROPOSED OPTIMAZATION STARTEGIES FOR RECOVERY BOTTLENECKS


IN MINT.COM WEB APPLICTION:
To optimize the bottlenecks identified in the Mint.com web application architecture in the
context of recoverability, the following strategies can be implemented:

1. Redundancy and High Availability:


There should be duplication for sensitive components to reduce single points of
failure. Implement technologies like load balancing & clustering to ensure high
availability. It enables system to run backup resources when any of component fail to
provide service.

2. Data Replication and Synchronization Optimization:

Analyze and optimize data replication and synchronization mechanisms. Use


asynchronous replication or use technologies like distributed databases or data grids
to ensure data consistency and minimize delays. Use effective techniques for
synchronization between processes.

3. Network Performance Optimization:


There should be dedicated connection between systems and we must have to apply
Content Delivery Network – CDN to make network performance better.
4. Recovery Process Streamlining:
There should be precise and abstract recovery process. Use Automated tools for
recovery process to reduce human involvement so that time can be saved for example
use scripts, orchestration tools, or automated recovery workflows to improve the
recovery process.

5. Scalability and Elasticity Improvements:


Our system must be capable to handle load during recovery process. Each resource
must be able to allocate dynamically to any request or process. Use automated tools
for handling scalability during recovery process like auto-scaling tools etc.

6- IMPACT OF OPTIMIZATION STRATEGIES ON ARCHITECTURE OF


MINT.COM:
1. Improved Availability:
By implementing redundancy or duplication and high availability measures, such
as load balancing and clustering, the application can achieve higher uptime and
reduce downtime during failure events. This leads to improved availability, such
as Mean Time Between Failures (MTBF).

2. Reduced Recovery Time:


By précising recovery processes, automating methods, and improving resource
provisioning contribute to reduce Recovery Time Objectives (RTOs). Faster
recovery times help minimize service problem and improve customer satisfaction.

3. Improved Data Integrity:


Optimizing data replication and synchronization mechanisms ensures better data
integrity during recovery. This reduces the risk of data loss or inconsistencies,
Improving the Recovery Point Objective (RPO). Smaller RPO values represent a
smaller potential loss of data, leading to improved recoverability metrics.

4. Quick Fault Detection:


Improvement to monitoring and alerting systems enable quick detection of
failures. This reduces the time between failure occurrence. Now fault detection
measure elements will improve.

5. Scalability and Elasticity:


By implementing auto scaling techniques now our system will be able to handle
load or able to response any request during recovery process. It will lead to
facilitate the all users.

You might also like