From the paper:
“The Department of Energy (DOE) Human Genome Program and the National Institutes of Health (NIH) National Human Genome Research Institute (NHGRI) together make up the U.S. Human Genome Project. It commenced in 1990 and originally planned to continue for fifteen years. This project will accomplish six objectives. These are to 1) identify all (approximately 30,000) genes in human DNA, 2) determine sequences of the 3 billion chemical base pairs that make up human DNA, 3) store this information in databases, 4) improve tools for data analysis, 5) transfer related technologies to the private sector, and 6) address the ethical, legal, and social issues (ELSI) that may arise from the project. ”
Software Engineering – Capacity Planning Case Study
IntroductionYou are in the DevOps group at a government agency where the organization runs a case management application. They are having performance problems running the application in-house (a web server in their own data center), and there is too much downtime. They are looking to your advice about whether they need to procure one or more new web servers (Dell) or they should move to a cloud service.
There are about 1200 concurrent users on the application each day, most of them at remote locations.
Details of the application The application has a major web interface with a menu allowing the user to create a new case, update a case, find a specific case, or search for a case by a variety of terms.
Main MenuThe current front-end application requires 0.5 GB of memory to run each instance and each instance can handle a maximum of 300 concurrent users.
New Cases20% of the users create a new case when they access the system. The “new case” component calls 4 different services to collect different parts of the required information. Each service is called sequentially so only 1 service is in memory at any one time. The new case component stays in memory and takes 1.2 GB of memory. The maximum load it can take is 150 users. The maximum size of each of the services called is 0.5 GB and it can handle 50 users at the same time.
Update CasesAbout 30% of the users are simply updating one or more of the pages created as above. Again,the component has 4 different services representing each of the different parts of the information. As above, each service is called sequentially so only 1 service is in memory at only one time.
The “update case” component stays in memory and takes 0.75 GB of memory. The maximum load it can take is 300 users. The maximum size of each of the services called is 0.4GB and it can handle 300 users at one time.
Find Specific Case About 30% of the users merely use the application to retrieve data on a specific case. The component is a stand-alone application. The maximum load is 80 users and the size of the component is 0.5 GB of memory.
Search Cases The remaining 20% of users are performing searches to identify one or more relevant cases. The search system has a service to handle each of the five different search terms (e.g. topic, name, location, date, and prosecution status).
Searches can involve 2 of these topics at the same time so 2 service instance can be in memory at the same time. The search case outer module stays in memory (1.5GB) and so does 2 of the 5 services (0.4 MB) each. The module and services have maximum local factor of 100 users.
Non-Functional ConsiderationsDowntime has been a factor so the government organization wants to have at least 2 different VMs or servers. Each VM/server must have enough memory to carry the entire load in the case of failure of one of the machines (e.g., a hard disk failure).
Draw a component diagram of the application making for each module the number of instance that are necessary to adequately support the estimated workload.
Prepare a spreadsheet identifying the various component memory requirements and calculate the total memory requirements, allowing for the multiple instances necessary to support the anticipated concurrent users.
Prepare a memo to the CIO (Elizabeth Jones) with a copy to the CFO (Nathan Andrews) which summarizes the features of the 2 options, including the time it might take to provision them.
Include information on the urgency of the requests as the inspector general will be doing an audit in 3 months’ time.
In the last paragraph detail your recommendation, attached a spreadsheet showing your calculations, and the component diagram.
In addition, the application requires a Registry/Load Balancer and this is a 1.2 GB application and should be in memory at all times.
The application will require about 3 TB of data and has a service to retrieve data for each part of the system which requires 2GB of memory. It has capacity of handling 600 users.
You may recommend the cloud service of your choice but your memo should justify why you selected the cloud provider, there should be at least 3 justifications.