Organizations with many servers that host multiple applications find it difficult to maintain their servers. An applications running on a server may be dependent on some application running on another server. An outage in one server may lead to abandoning of job in multiple related servers.
This can lead to tedious efforts in rolling back dependent jobs that would be in an inconsistent state because of outage. If the outage timings are known beforehand, the jobs in dependent servers can be planned accordingly.
The basic objective of this tool is to help the project members obtain information about planned outages and get SMS and mail alerts in case of unplanned outages.
The architecture of the tool could be split into:-
1. Backend – Sql SERVER 2008
2. Front end – ASP.NET (One Windows batch application and a web application)
3. Scheduler- Windows job scheduler
Front end involves developing forms to get the inputs from the user like name of server, location, start and end time and impacted day. The user can enter any or all of the details, based on which a dynamic query will be generated in the backend to fetch impacted servers. The details of impacted servers will be displayed in a gridview.
The user will be provided an option to export the details to excel sheet as well.
Backend involves the data model, development of scripts & loading the tables with server and job details. Details of location of server, planned outage duration and day of the week on which the job is run are among the important details that are to be captured. A stored procedure must be written to generate a dynamic query based on user input and execute the generated query to obtain details of impacted servers.
Another form will be provided to users to register their contact details and name of desired server for which they would want to update details of future planned outages. If any entry is added in outage tables for the specified server, the user will be sent an alert.
There is one more windows application written to ping servers at frequent intervals. If any server that does not have an entry in outage tables of database is unable to be reached, an alert mail and message is sent to recipients configured in web.config file.
A list of jobs that are to be run mandatorily are also configured in a table along with the expected start and end timings. Once a server is found reachable, a job status check is carried out. If the job runs beyond the expected time or fails to run, an alert is sent to configured recipients.
At times of network outage, situations may arise to use systems not connected to cognizant or client network. If there is a power outage, the process running on the system may get impacted. Hence a job is written to send alert mails in case the power state of a system goes offline.
The details of jobs that have failed are added to database. A dashboard showcasing the list of servers that are unexpectedly down and list of processes that have failed for the current day is to be designed. The dashboard will set to be refreshed every 10 minutes.
Reduces time and effort in rolling back transactions that are dependent on server that unexpectedly has an outage Helps to plan tasks that are dependent on the servers with planned outage.
Water Fall method of software development will be used for developing the tool. Various phases are as given below:
• Refining the requirements
• High level design (backend and front end)
• Detailed design (backend and front end)
• Coding and Unit testing (developing the scripts & front end frames)
• System testing & Data validation
• Integration testing
• User acceptance testing (UAT)
Tools and Technologies:
Operating System : Windows, Android
Languages : SQL, ASP.NET
Framework : Bootstrap
Database : SQL server using ODBC connection
Messaging : N/A
Web server : N/A
Application Server : N/A
Commercial Packages (COTS): N/A
Testing Others: Manual testing
DOES THE WORK INVOLVE BOTH CODING AND TESTING?
Yes, this work involves coding and testing.
DOES THE WORK INVOLVE ONLY DESIGN AND NO CODING?
My work involves design, coding and testing.
DOES THE WORK INVOLVE A NEW OR AN EMERGING TECHNOLOGY?
This involves Bootstrap, a new powerful mobile first front-end framework.
HOW WILL THE THESIS BE OF USE TO COGNIZANT? DO YOU ENVISAGE THAT YOUR PROJECT CAN BE IMPLEMENTED IN THE ORGANIZATION OR CLIENT’S PREMISES?
Yes, I envision that this work will attract interests from both CTS and Clients because of the amount of time, effort and money this work saves by reducing impacts of both planned and unplanned outages of servers.
DOES THE DISSERTATION WORK FORM PART OF YOUR REGULAR PROJECT WORK THAT YOU ARE DOING FOR A CLIENT?
No. The proposal work is NOT part of my project work which I am performing for the Client.