How do we in KOMIX Digital understand architecture? For us, as a supplier of IT solutions for our customers, architecture in the final form means how the implemented system will work as a whole (including the interaction with the environment), what building blocks will be assembled or what technologies will be used.
The basic question we are looking for answers to within the architecture design is: How can we meet the defined requirements in the best way?
And there are many aspects concerning the solution such as:
- Implementation of the required function.
- Sufficient performance and the possibility of future performance increase if necessary.
- Ensuring the required level of security.
- Enabling and facilitating future development.
- Respecting the conditions and principles of the environment which it is going to be a part of.
- Optimality in terms of economic costs for implementation, operation and subsequent development.
We use proven “helpers” for architecture design such as:
- ArchiMate, UML or BPMN modeling languages,
- Enterprise Architect and Archi tools,
- methodological frameworks TOGAF, SAFE for Architects or Open Agile Architecture.
Thanks to our experience of implementing many diverse projects for a wide range of customers, we know there is no universal architectural approach. It is always necessary to take into account the circumstances and make the right decision when, for example:
- Use box solution vs. custom development.
- Build a monolithic application vs. group of micro services.
- Store data in a relational database vs. no-sql storage.
- Implement synchronous vs. asynchronous communication between components.
- Prefer data consistency vs. immediate availability.
A well-designed architecture is the basis for us to make building IT solutions a joy not a nightmare in the short and long term point of view.