Business Application/Data Architecture

In my discussions when I use the term Application, I really mean business application only such as restaurants, banking, finance, insurance, health.

It does not refer to applications that may involve image processing, machine learning, audio/video processing, longitude/latitude coordinates.

Business Application architecture is a combination of several factors working together. No matter whether the application is small or big it is important to have a good architecture in place, so the entire application works as smooth as it can be.

  • Product mindset

    • Always keep the wholistic view of the product in mind, not just current project needs that we are working on.

    • Build the necessary components/libraries that can be used across the board.

    • Place proper error handling mechanisms.

    • Document where it works, and where it does not.

    • Develop in small pieces, but keep the bigger picture in mind.

    • Plan for future, develop for current needs.

  • Long term maintenance

    • Today we may be working on the project. We may not be there after 6 months. Someone else may take up our role. Can they easily understand what we did and why we did. Even if we are working, is it easy to remember for us what we did 6 months ago.

  • Enhancements

    • Make sure to have a good framework in place, so enhancements/modifications are done in a simple, systematic way.

  • Deployment

  • New comer training

  • Easier debugging

    • Whether we like it or not, things may not go exactly as we anticipate. Having a good debuggnig mechanism in place helps us to identify the problem quicker.

  • Smaller chunks of deployment, with bigger picture in mind


  • Guidelines/Standards

  • Application/DB Framework

  • Modeling

  • Application functionality

  • Security

  • Audit

  • History

  • Archival

  • Purge

  • Communication

  • Performance

  • Reporting

  • Analytics

  • Debugging

  • Documentation

  • Manual updates