O'Reilly logo

97 Things Every Software Architect Should Know by Richard Monson-Haefel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 68. You Have to Understand Hardware, Too

Kamal Wickramanayake is an IT and software architect who lives in Sri Lanka. He is TOGAF-certified by The Open Group.

Kamal Wickramanayake
image with no caption

FOR MANY SOFTWARE ARCHITECTS, hardware capacity planning is a topic that lies beyond their comfort zone, yet it remains an important part of the architect's job. There are a number of reasons why software architects often fail to properly consider hardware, but they mostly have to do with a lack of understanding and unclear requirements.

The primary reason we neglect hardware considerations is that we are focused on software and tend to ignore hardware demands. In addition, we are naturally isolated from hardware by high-level languages and software frameworks.

Unclear requirements are also a factor, as they may change or may be poorly understood. As the architecture evolves, hardware considerations will also change. In addition, our clients may not understand or be able to predict the size of their own user base or system usage dynamics. Finally, hardware is constantly evolving. What we knew about hardware in the past does not apply today.

Without hardware expertise, predicting hardware configurations for systems to be developed is highly error prone. To compensate, some software architects use large safety factors. Such safety factors are generally not based on objective assessments or founded in any ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required