Django Application: One-Click Disaster Recovery -- 2

Job ID: 38650354

Budget: $500 – $1,000 USD

I'm seeking a proficient developer to build a Django-based application that can automate disaster recovery with just a single click. This application needs to cater to both database and file system data, supporting recovery from various cloud platforms including AWS, Google Cloud, and Azure.

Key Requirements:
- The application should feature both a web-based interface and a command-line interface.
- It should be capable of handling both database data and file system data during the recovery process.

Ideal Skills:
- Extensive experience with Django development.
- Previous work with disaster recovery applications is an advantage.
- Strong understanding and experience with AWS, Google Cloud, and Azure.
- Proficiency in creating both web-based and command-line interfaces.


Key Features:
- The app should manage recovery for various platforms: Cloud services, On-premises servers, and Network devices.
- Critical actions need to be automated during a disaster: Failover to backup systems and Data restoration.

The ideal candidate should be proficient in Django, with substantial experience in developing disaster recovery applications. Understanding of various platforms and systems is crucial. The application should be user-friendly, capable of performing complex tasks with just a single click.

T DR (Disaster Recovery) automation products are designed to streamline and manage the process of recovering IT systems and data after a disaster or outage and it will enables organizations to recover from a disruption and fastest recovery time objectives RTOs in the industry, dramatically limiting data loss and downtime.

An agentless TCP protocol connection refers to a method of communication where no software agents or specific applications are installed on the devices or systems involved in the connection. Instead, it relies on standard TCP/IP protocols to establish communication between systems. Here's a breakdown of how this works and its implications:
1. Agentless: There is no need to deploy additional software (agents) on target systems. This reduces the administrative overhead and potential impact on system performance.
2. TCP Protocol: TCP (Transmission Control Protocol) is a fundamental communication protocol used in IP networks. It provides reliable, ordered, and error-checked delivery of data between applications.
* Connection Establishment: Devices or systems communicate over TCP by initiating connections using IP addresses and ports.
* Data Transmission: Data is sent and received using TCP streams without the need for specialized software on the receiving end.
* Session Management: TCP handles session management, ensuring that data packets are delivered in the correct order and without errors.

4. Use Cases- Remote Access: Solutions for remote troubleshooting or access can operate using TCP without needing additional software on the target systems.

Below sample remote connections:

Unix/Linux - SSH protocols
Windows - WMI and Powershell protocols
Database - DB ports
Virtualisation - HTTP or HTTPS protocols and defined custom ports.
API connection using ports.

The commands execution logs will be captured and stored in the our application servers. Since the success criteria will be defined in the each commands as configurable and it should be matched outcome of the execution and logs.

Overall execution time taken should be measured for each command execution and stored in the product metadata like session start time and end time. It will help us to measure the overall RTO or times for certain jobs/tasks.

Also, have to capture the status of the execution for each execution and stored in the product metadata based on the defined logics either success or failure. So the consolidated report will be generated with status and timings for each activity and overall RTO.

In case of action failure, it provides the error logs in the screen for further troubleshooting or retry or skip options to move forward.

The product should handle the entire execution using the single session for each target device and it will help us to improve the overall execution with minimum time and will not affect the performance. After completion of execution the product should close the sessions and it should not keep the connection are active or idle.