Appendix: Application modernization questionnaire - AWS Prescriptive Guidance

Appendix: Application modernization questionnaire

Use the questionnaire in this section as a starting point to gather information for the modernization assessment and planning phases of your project. You can download this questionnaire in Microsoft Excel format and use it to record your information.

Download questionnaire

Disposition

  1. What is the application ID?

  2. What is the application type?

  3. What is the intended disposition of the application (for example, replatform, refactor, or replace)?

Revalidation of refactoring decision

  1. Is this a high-value (revenue-generating) application?

  2. Is this a customer-facing application?

  3. Is this a strategic application that requires adding or enhancing business features?

  4. Are you willing to transform the application to support an accelerated pace of innovation?

  5. Does this application use a proprietary or custom framework or library? If yes, provide the name of the proprietary framework or library.

  6. What is the application programming language framework and version? (Required for custom applications only)

Interfaces and dependencies

  1. List the applications that will be reaching to this application (inbound interfaces).

  2. List the applications that this application will reach out to (outbound interfaces). Is this a customer-facing application?

  3. What is the interface type?

  4. What is the interface protocol?

  5. Provide a list of shared services that this application uses (for example, Active Directory, logging, backup, monitoring).

  6. Provide a list of applications that are dependent on the current application's database.

  7. Are the interfaces direct, brokered, or both?

Application characteristics and profile

  1. What kind of caching strategy or technology does the application use?

  2. What kind of clustering technology does the application use?

  3. What kind of queueing service or technology does the application use?

  4. Does the application support mobile interfaces? (Required for mobile channel only)

  5. Is the application stateless?

  6. How does the application support scalability?

  7. What is the configured Java Virtual Machine (JVM) heap size for this application to run?

  8. What is the application code size, as measured in number of lines? (Required for custom applications only)

  9. Does this application provide the ability to quickly adapt to changes to regulatory requirements?

  10. Do you have unit test scripts for this application?

COTS applications

  1. Has the commercial off-the-shelf (COTS) application code been extended and customized?

  2. What is the COTS customization programming language extension?

  3. What is the size (number of lines) of the customized code extension for the COTS application?

  4. Does this COTS application require custom configuration?

  5. What is the overall effort to install, configure, and validate the application?

Database (custom)

  1. What is the size of the database (in GB)?

  2. What is the total number of database tables?

  3. What is the total number of stored procedures?

  4. What is the total size of the remote or local blobs that are stored outside the database? (Answer only if the blob is used by the application database.)

  5. What is the average number of attributes per table?

  6. How many database jobs exist for this application?

Screens, reports, and batch jobs (custom and COTS)

  1. How many screens does the application include?

  2. List all reports associated with the application.

  3. List all batch jobs and processes associated with the application, and list the control systems that run the jobs.

Security and compliance

  1. What is the source control or repository system?

  2. List all the compliance requirements for this application.

  3. What is the data classification?

  4. Provide the name of the single sign-on (SSO) integration, if any, that this application uses.

  5. Provide the name of the third-party authentication system, if any, that this application uses.

  6. How is data being protected?

Operations

  1. Is this application deployed behind a load balancer?

  2. Does this application require sticky sessions?

  3. Does this application require access to shared storage? If so, specify the size of shared storage.

  4. What is the size of static content (for example, MP3, JPEG, AVI, WMV, PNG, GIF files), in GB?

  5. What is the recovery time objective (RTO) and recovery point objective (RPO)?

  6. Does this application require high availability?

  7. Does the application require a secondary failover site for disaster recovery?

  8. How many CPUs are used to run this application?

  9. What is the memory size of the application?