DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
11 Monitoring and Observability Tools for 2023
Learn more
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. Application Assessment Questions for Migration Projects

Application Assessment Questions for Migration Projects

Most applications/projects are moving to Cloud platforms/On-premise. Therefore, assessing the existing application is critical concerning application complexity and risk.

Ravi Kiran Mallidi user avatar by
Ravi Kiran Mallidi
CORE ·
Kiran Kumar A user avatar by
Kiran Kumar A
·
Jan. 10, 23 · Review
Like (3)
Save
Tweet
Share
3.21K Views

Join the DZone community and get the full member experience.

Join For Free

Most existing applications/projects are moving to cloud platforms/on-premise using microservices architectures. Assessment of the existing application is critical concerning application complexity and risk. An appropriate strategy has to define to analyze the current application to determine the risk and complexity of the existing application landscape. The assessment considers factors like overall architecture, presentation layer, business layer, data layer, security, deployment, technology, infrastructure, performance, and monitoring for existing applications. Collect the information from the different parameters and decide which is the best option for migration strategies like rehost, refactor, rearchitect, and rebuild. For each parameter, the architect fills in the information by studying the existing application/collecting the information from the application stack holders. Application assessment helps the organization to understand the following:

  • Understanding of the existing application architecture and critical findings.
  • Integration points across applications (upstream and downstream).
  • Infrastructure and software usage.
  • Pain areas related to business users.
  • Road map to target system platform using any one of the migration strategies.

There are a number of assessment criteria that information will need to be gathered for to provide an assessment of the applications as below:

  • Business and technical value contributions like; reliability, scalability, and flexibility.
  • Risk exposures like; strategic, operations, and technology risks.
  • Cost of operations with respect to application, project, and business. 
  • The attractiveness of system, business, and delivery.

Each and every application assessment team create a template to prepare and identify the appropriate questionnaire related to the above criteria. Based on the assessment report, the application owner can decide to migrate the application to the cloud/on-premise. The below diagram shows a very high-level process flow for application assessment.

  shows a very high-level process flow for application assessment

The below table describes questions for each of the assessment parameters listed above. The application architect's score must be based on his experience. For each and every question, the architect has to assign some score and finally decide whether the assessment application can be moved to the target architecture or not. The application architect has to answer the below questions before proposing the target architecture in the assessment phase.

Assessment Parameter

Questions to Ask as Part of the Assessment for Migration 

Application Architecture

  • Is it distributed architecture?
  • Follow the layered architectural model.
  • Loosely coupled.
  • Required level of abstraction without any vendor lock-in at any layer.
  • Appropriate integration techniques between different systems for synchronous and asynchronous operations.
  • Does the architecture follow SOA / microservices design principles?

Presentation Layer

  • GUI screens are more appealing in look and feel and easy to navigate with context-sensitive help enabled.
  • The website is a portal based on standard products with out-of-box portal features.
  • GUI design is based on templates such as Apache tiles which can be applied across the GUI screens for faster screen building and roll-out.
  • GUI uses reusable render components.
  • Supports cross-browser compatibility.
  • Supports mobile-enabled services?
  • View exercises any caching technique to cache the static content to improve performance.

Business Layer

  • Is the business layer loosely coupled with the presentation layer?
  • Does it use any separation of concerns and loose coupling?
  • Does the business layer invoke any remote objects / APIs running in a distributed environment? What is the mode of invoking?
  • Does the business layer use any workflow? 
  • Does the business layer integrate with external systems? What is the mode of integration?
  • Does the business layer consider the network latency and bandwidth while invoking remote objects?
  • Does the business layer use any ESB for service orchestration or message transformation?

Data Layer

  • Does the architecture use any DAO pattern? 
  • Does this layer leverage the DB connection pool out-of-box feature of the application server?
  • Does this layer use the ORM tool to persist Java objects?
  • Does this layer use application server transaction management? 
  • Does this layer use JPA for portability?
  • Does the application use Data base per business / single database for all microservices?
  • Is there any downtime while deploying application changes to the production environment?

Security

  • Does the system enable a Single sign-on capability?
  • Does the wire communication enable SSL encryption?
  • Does user role administration control by a separate administration module?
  • Does the system ensure Role-based access to various screens and menus of the system?

Deployment

  • Are firewalls protected?
  • Does the system use a load balancer?
  • Do the application servers launch in a cluster configuration?
  • Does the system deploy in a container? Please elaborate

The conclusion is that the questionnaire is not limited to the above. The questions can be extended, and assign values for each question to arrive appropriate assessment of the existing application. Then, based on the report, the application owner can make proper migration decisions. Finally, provide the application migration conclusions and recommendations as part of the migration road map document. 

Architecture application Risk-based testing Scalability Cloud Data (computing) security

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Unlocking the Power of Elasticsearch: A Comprehensive Guide to Complex Search Use Cases
  • Spring Boot vs Eclipse Micro Profile: Resident Set Size (RSS) and Time to First Request (TFR) Comparative
  • Create a REST API in C# Using ChatGPT
  • Required Knowledge To Pass AWS Certified Solutions Architect — Professional Exam

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: