Top 8 Areas to Consider for Application Architecture Review

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

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking.

Recent Posts

What is Embodied AI? Explained with Examples

Artificial Intelligence (AI) has evolved significantly, from its early days of symbolic reasoning to the…

1 month ago

Retrieval Augmented Generation (RAG) & LLM: Examples

Last updated: 25th Jan, 2025 Have you ever wondered how to seamlessly integrate the vast…

4 months ago

How to Setup MEAN App with LangChain.js

Hey there! As I venture into building agentic MEAN apps with LangChain.js, I wanted to…

5 months ago

Build AI Chatbots for SAAS Using LLMs, RAG, Multi-Agent Frameworks

Software-as-a-Service (SaaS) providers have long relied on traditional chatbot solutions like AWS Lex and Google…

5 months ago

Creating a RAG Application Using LangGraph: Example Code

Retrieval-Augmented Generation (RAG) is an innovative generative AI method that combines retrieval-based search with large…

5 months ago

Building a RAG Application with LangChain: Example Code

The combination of Retrieval-Augmented Generation (RAG) and powerful language models enables the development of sophisticated…

5 months ago