Skip to content

Latest commit

 

History

History
70 lines (43 loc) · 11.2 KB

2.1.ArchitecturePrinciples.md

File metadata and controls

70 lines (43 loc) · 11.2 KB

> Home > Solution > Architecture Principles

Architecture Principles

The following are high-level architecture principles that we shall apply to the architecture of Spotlight App:

General Architecture

Principle Rationale Implications
Modular monolyth modularity is the practice of encapsulating portions of your application into self-contained services that can be individually designed, developed, tested, and deployed with little or no dependency on other components or services in the application. Components/services can be tested/deployed with minimal business disruption. Improved availability and reliability.
Pattern based architecture Industry well recognised/proven pattern based architectures will improve re-usability.
It is necessary to understand both the structural and communication patterns that can be used for designing the product line software architecture. Structural patterns address the overall structure of the software architecture. Communication patterns address the ways in which distributed components can communicate with each other.
Less effort to build and maintain systems
Compliant with law and regulation All solutions must be law-abiding and compile with rules and guidance from regulatory bodies Rules of the road, just follow them!

ADR-007 use hybrid architecture

Automation

Principle Rationale Implications
Automated process by default and manual by exception Process automation will bring efficiencies Automated and Optimised processes. Humans can focus on more value added tasks.
Engineering Automation from start Independently testable and deployable components using CI pipelines will improve reliability. Reliability built into software means reduced time-to-market in later iterations.
12-factor application A 12-factor app is also a development methodology for building applications. And it has a couple of properties. For instance, it uses declarative formats. It offers maximum portability, and it is suitable for deployment on cloud platforms. Also it enables continuous deployment, which minimizes divergence, and it allows for easy scaling of applications.
The Four Eyes Principle This will decrease the responsibility of the developers, since they will feel that there is still a test which should find potential errors.

ADR-011 The Four Eyes Principle

ADR-011 12-factor application principles

Data

Principle Rationale Implications
Data is valuable asset In current era data collected/managed across systems in organisation can be harvested to maximise business benefit. Data does indeed represent a valuable asset Business can evolve, adapt based on insights from the data. It covers current and historical data for all objects like customer, product, sales, staff, tickets and feedback.
Access to the data Access to data of system components and humans require access to the data time-to-time. Data democratisation using appropriate governance and controls will reduce the risk of data loss or need for data replication.

Integration

Principle Rationale Implications
Inter and intra system integration through API's Services/components need to communicate Standards based Information exchange across enterprise will benefit organisations.

Security

Principle Rationale Implications
Secure from Start Security is not a after thought. Security built into system and process design will provides more security for valuable business data. Secured and protected organisation in digital era
Zero-trust security It is an extension of the white list concept: don’t allow anything unless it’s asked for. security framework requiring all users, whether in or outside the organization’s network, to be authenticated, authorized, and continuously validated for security configuration and posture before being granted or keeping access to applications and data. Requires additional steps to provide this level of security

ADR-011 12-factor application principles

Extend-ability and Maintain-ability

Principle Rationale Implications
System should be extendable New functionality will be required to support system evolution. can support changing business needs.
System should be Maintainable Regular maintenance activities, fixing bugs are essential for any operational system. Will be able to perform change reliably and effectively Least business disruption during the change

< Prev | Next >