Top 8 Areas to Consider for Application Architecture Review

0
This article represents top 8 areas to consider when you are going to review an application architecture. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos.
  1. Hardware and Operating System: Following areas need to be reviewed:
    • Hardware and operating system choices
    • Financial analysis
    • Processes for evaluating hardware and operating system
    • System capabilities involved in high-frequency, high volume data transfers
  2. Software Services and Middleware: Following areas need to be covered:
    • Coding standards
    • Data structures
    • Architecture layers
    • Design patterns (stateful vs stateless)
    • Design for change
    • Communication protocols
    • Code review processes
    • Unit testing
  3. Applications
    • Infrastructure: In case, the applications are infrastructure applications, one must examine if the functionaility provided is unique and not met by one or more of the standard products.
    • Business: As like above, one must validate the functionaility provided are unique enough.
    • Integration Approach: Integration touch-points and techniques are reviewed.
  4. Information Management
    • Data values: Business processes/actions around data management (creation, update, delete)
    • Data Definition: Data model definitions, data modeling
    • Data security
    • Hosting, Data types, and sharing: Which DBMS and why?
    • Common services: Standardized distributed data management services (consistency checks, data edits, validation, encryption etc).
    • Access methods
  5. Security: Following key areas need to be reviewed:
    • Authentication: Process flow of user authentication with the application
    • Authorization: Process flow in relation with how users access the application and associated data.
    • Access controls including external access considerations
    • Audit trails, Audit logs
    • Data security (Data at rest, Data in motion): How data is protected in rest (sitting in database) and in motion is reviewed.
  6. System Management: Following areas are covered as part of system management review:
    • Software configuration management
    • System administration
    • Monitoring
    • System audit logs
  7. Overall Architecture
    • General: Areas such as following needs to be reviewed:
      • Integration touchpoints
      • Computing resources requirements
      • Programming languages
      • Performance requirements (User requests volume, stress test techniques etc)
    • Client-server architecture
    • Client: Following areas need to be reviewed:
      • Look & feel consistency
      • Whether functions other than presentation is performed on UI side
      • Screen-to-screen user navigation
      • Async and sync coomunication support from the client
      • Local data storage
    • Application server: Areas such as dedicated vs shared server need to be investigated. Dependencies with other applications on same application server need to be examined.
    • Data server: Areas such as dedicated vs shared data server need to be investigated.
  8. Methods & Tools: It is mostly focused around reviewing the processes laid down for SDLC governance. Following areas need to be reviewed:
    • Processes used to manage different part of the projects
    • Documentation around processes
    • Team awareness of these processes
    • Tools in place to support the processes
    • Issues management and related processes
    • Metrics to review the processes
    • Process improvement metrics
Ajitesh Kumar

Ajitesh Kumar

Ajitesh is passionate about various different technologies including programming languages such as Java/JEE, Javascript, PHP, C/C++, mobile programming languages etc, and, computing fundamentals related with cloud-native technologies, application security, cloud computing platforms, mobile apps, big data etc.

He has also authored the book, Building Web Apps with Spring 5 and Angular.
Ajitesh Kumar

Leave A Reply

Time limit is exhausted. Please reload the CAPTCHA.