(Updated) Antony Ashwin SA Assignment
(Updated) Antony Ashwin SA Assignment
(Updated) Antony Ashwin SA Assignment
Software Architecture-Assignment 1
05 Diagrams→
1 Serve AI inference with low latency and high Performance High Medium Significant impact on business
throughput. outcomes while technical approaches
require medium effort optimisations and
additions to the system architecture.
2 Continuous availability across diverse Reliability High Medium Continuous availability is crucial for the
services, ensuring uninterrupted accessibility AI Core reliability and user satisfaction,
and accurate predictions holding high business value. Moderate
architectural adjustments ensure
consistent service without major
complexity or cost overruns, sustaining
operations while preserving user trust.
3 Seamless connections with container Interoperability High Medium Interactions with other systems by
registry, github workflows, and cloud storage providing proper authentication will
affect the architectural layout of the
system.
4 Ensure security through authorisation and Security Medium High Authentication through assigned
authentication role collections, ensuring both
authentication and authorization for
secure and controlled system
access
# ASR QA Business Impact on Justification
value architecture
6 Integrating AI core service to other softwares Interoperability High Low Significant impact on the business
via plugins. value as it makes the platform easy to
access for the users.
7 Reduce response times by keeping commonly Performance High Low Critical performance metric but these
used nodes reserved and avoiding cold starts. techniques do not require any major
changes to the underlying system
architecture.
8 Execute pipelines as a batch job,use docker Reusability Low Medium Medium impact on architecture due to
images,Synchronize AI content from git making deployment consistent across
repository various environments contributing to a
more efficient, scalable, and secure AI
development and deployment process.
04
Tactics used to
achieve top 5 ASRs→
Performance (H,M)
Serve AI inference with low latency and high throughput.
Parallel processing: Inference requests coming to deployed trained models can be processed in
parallel with the help of a parameter in a predictor’s KServe called ‘containerConcurrency’ that
specifies how many requests can be processed concurrently.
Reduce resource consumption: SAP AI Core includes parameters to reduce the number of nodes used
based on current consumption or impose usage limits during periods of high consumption. These
parameters allow your workload the flexibility to scale based on demand, control resource demand and
consumption, and therefore costs.
Faster resources: If any workload needs GPU acceleration, it can use one of the GPU-enabled resource
plans. Otherwise, a resource plan can be chosen based on the anticipated CPU and memory need of
the workloads.
Reduce response times: Implement a global node pool, which keeps commonly used nodes reserved.
Cold starts can be avoided completely by scaling to 1. This keeps a single node warm, even when it is
not needed, reducing response time.
Reliability (H,M)
Continuous availability across diverse services, ensuring uninterrupted accessibility and
accurate predictions
Fault-Tolerant Design Framework: Employing fault-tolerant design principles within the existing
architecture to enhance reliability without imposing extensive architectural modifications, balancing
high availability with moderate architectural impact.
Flexible Integration Interfaces: Designing the system with flexible integration interfaces that support
various object storage and code repository solutions. This flexibility ensures compatibility with both
existing and emerging technologies.
Plugin Architecture: Implement a modular and extensible architecture that supports plugins for
different interfaces. This allows users to easily integrate SAP AI Core with their preferred tools,
promoting a diverse and adaptable ecosystem.
AI API: The AI API lets you manage your AI assets (such as training scripts, data, models, and model
servers) across multiple runtimes. Argo workflows and serving templates, as well as their execution
and deployment, are managed using the SAP AI Core implementation of the AI API.
Choice of Data Model: The syntax and semantics of the major data abstractions that may be
exchanged among interoperating systems. Ensuring that these major data abstractions are consistent
with data from the interoperating systems. Data transformations have to be done to and from the
data abstractions of systems with which we interoperate.
Security (M,H)
Ensure security through authorisation and authentication
Authenticate and authorise actors: Utilise user management and authentication mechanisms
provided by SAP BTP Authorization and Trust Management Service (XSUAA). Provide for
default role collections that one can assign to users. The role collections determine which
actions a user is able to carry out in SAP AI Core
Intrusion Detection: Customer’s communication with the service, including data upload and
download should protected by encryption using the transport layer security (TLS) protocol.
Customer’s systems must use the supported protocol versions and cipher suites to set up
secure communication with the services, and must validate the certificates against the
services’ domain names to avoid man-in-the-middle attacks.
Open Source Vulnerability scan: Any Open Source component used by the product must be
scanned for vulnerabilities. Vulnerable OSS components must be patched.
Reusability (L,M)
Execute pipelines as a batch job,use docker images,Synchronize AI content from git
repository.
Use Standard Libraries and Frameworks: Leverage established AI libraries and frameworks. Popular
libraries like TensorFlow, PyTorch, or scikit-learn have reusable components that can be easily
integrated into various projects.
Reusable Models: Pre-trained Models: Utilize pre-trained models when applicable. Transfer learning
and reusing models trained on similar tasks can save significant training time and resources.
Version Control: Use version control systems like Git for tracking changes to code, configurations, and
model weights. This ensures traceability and facilitates collaboration.
Documentation: Clear documentation facilitates understanding and reuse by team members or other
stakeholders.
05
Diagrams→
Context Diagram
Module decomposition Diagram
Component and Connector Diagram
Deployment Diagram
Docker Hub
06
Description of the
system→
Description
SAP AI Core can be used to train and deploy machine learning platforms. A
developer writes a machine learning code, containerize it and upload it in a
docker repository. He now creates an AI core instance in his SAP BTP
subaccount. He can create a resource group which authenticates and syncs his
docker and github repository. He can upload his data into a cloud object store,
and provides it's reference into the resource group. A workflow template will be
created within the git repository.
The user can create a configuration selecting workflow and dataset, with which
he can create any number of executions. Each executions will output a model
which will be stored into the cloud object store. These models can be accessed
by a serving template. The configuration of a serving template can be used to
make any number of deployments, which can be used by business analysts.
07
Key learnings→
KEY LEARNINGS
● Explored strategies to identify Architecturally Significant Requirements (ASRs), gaining
a comprehensive understanding of the techniques involved.
● Investigated an existing system, gaining deep insights into its functions and
architectural intricacies.
● Developed various architectural diagrams, comprehending their diverse roles in
illustrating software system structures and functionalities.
● Cultivated teamwork skills for effective collaboration within a software development
team.
● Improved the ability to discern both functional and non-functional requirements,
strategically prioritizing quality attributes based on specific architectural needs.