DEV Community

Nori
Nori

Posted on • Edited on

Building AWS Solution Architectures from the organisation's Reference Architecture

By: Eliana Perez
One of many approaches to developing solution architectures involves iterative trial and error. Team members propose several architectural experiments aligned to specific quality attributes and, based on the results, make decisions on design and technology choices for subsequent implementation. However, this approach can be problematic if the experiments do not meet essential criteria, such as security requirements, desired level of integration or failure to deliver tangible business value. In such cases, the consequences can be severe, resulting in wasted time, financial resources and operational inefficiencies that could have been avoided.

To address the limitations of the trial-and-error approach, forward-thinking organizations adopt a more structured methodology. Business architects meticulously design the organization's blueprints, much like how architects create detailed plans for a building. These comprehensive blueprints are then handed over to solution architects, who leverage them to propose tailored technology components that support specific business initiatives. This process leads to the development of distinct solution architectures for each initiative across the organization. Over time, a repository of these architectures accumulates, enabling potential reuse. However, merely reusing previous architectures does not inherently resolve operational inefficiencies or escalating costs. To truly optimize, a more holistic and proactive approach is necessary.

While the initial investment may seem slower, organizations can adopt a more resource-efficient and ultimately agile approach by developing their own reference architecture. This reference architecture serves as a reliable foundation that empowers the organization to address diverse technological challenges systematically. It eliminates the need to repeatedly revisit previous architectures that may be questionable or necessitate a comprehensive review across all organizational domains, whenever a new solution requires design. By establishing a cohesive and well-defined reference architecture, organizations can streamline the solution design process, fostering both efficiency and agility in the long run.

Building upon the business-oriented architecture, the reference architecture comprehensively documents the organizational processes, integration mechanisms, and technology services required to deliver business capabilities effectively. It also encompasses the existing technology infrastructure that underpins the organization's entire operational structure. Consequently, the reference architecture serves as a centralized and authoritative repository, encapsulating detailed blueprints spanning all aspects of the organization, from business domains to technological components. This multifaceted documentation enables solution architects to leverage the reference architecture as a foundation, perform necessary analysis and engineering, and iteratively derive optimized solution designs. These designs can then be systematically experimented with and subsequently implemented, with the assurance that they inherently align with the organization's overarching strategy and standards. By fostering such alignment, the reference architecture streamlines decision-making processes, ensuring that solutions are delivered in a cost-effective and efficient manner.

With the organization's reference architecture as a foundation, the solution architect's primary responsibility is to design a tailored technological structure that addresses specific business requirements. This structure must encompass a robust technology component that seamlessly integrates AWS's best practices and guidelines for architecting well-formed cloud solutions, as outlined in the Well-Architected Framework. Furthermore, the solution architect should leverage the comprehensive resources available in the AWS Architecture Center to ensure the proposed solution adheres to industry-leading design principles and architectural patterns. By harmonizing the organization's reference architecture with AWS's proven methodologies and extensive knowledge base, the solution architect can deliver an optimized and future-proof design that aligns with both business objectives and cloud-native architectural principles.

The following image shows a reference architecture and how the different solutions stem from the technology component, facilitating and streamlining the architect's work, as they only need to refer to this document to generate solutions aligned with the organization. In the example case, a CRM solution with Salesforce and a chatbot solution.

Image description

To better illustrate the concept, let's examine a practical example centered around an organization specializing in dessert sales.

Organization: Ana's Dessert
Mission: All people with diabetes feel happy and healthy when eating Ana's Dessert.
Vision: Any diabetic in Colombia will be able to buy Ana's Dessert.
2024 Goal: Any diabetic in Madrid and Alicante will be able to buy Ana's Dessert.
2024 Strategy and Strategic Actions: Increase revenue from sales through different channels.
AS-IS Business: Dessert sales are made only through instant messaging using WhatsApp. One person attends the chat 24/7.

Reference Architecture for Ana's Dessert:
Like any architecture, it has structural components, the relationships between them, and different views that facilitate decision-making for stakeholders, including the solution architect, regarding technology.

Functional View: Diagram created by business-oriented architects showing the process, channels, and mission and support services for delivering a dessert.
Integration View: Diagram including the technology mechanisms required to connect the different activities of the processes, processes, channels, and services that enable the delivery of a dessert. E.g., ESB, REST.
Information View: The data required at the business level, its structure, canonical or governance models, and data architectures that allow the delivery of a dessert. E.g., Data Lake.
Technology View: Hardware and software currently used for production solutions and authorized providers for delivering future technology solutions. (This is where AWS appears as a cloud service provider.) E.g., image of accredited providers for the company.

Technology Initiative

According to the strategy, the initiative is to expand the channels offered to dessert buyers and thus increase sales.

Going through the reference architecture, the use case is generated:
For digital customers (users),
the dessert sales service 24/7 from WhatsApp, Web, and Telephony channels is required. (Service)
So that they can select, place orders, make payments, and request delivery of their order in the cities of Madrid and Alicante. (Required business capabilities)

Solution

The technology, integration, and information views, along with the use case, form the conditions under which the solution must be generated.

Solution Design

  1. Solution Geography: Madrid and Alicante
  2. IT Services: Website chat, Voice (VoIP-PSTN), WhatsApp app, DB, CRM
  3. Users: Customers in Madrid and Alicante (5,000 users per month, 10 concurrent)
  4. Users per service: 3,000 WhatsApp, Estimated (500 Voice, 1,500 Web Chat) - 3 agents per 3 channels
  5. Communication Flow: Web 50 messages per order - Voice 4 minutes (Average call time)
  6. Technology: Here is where the conditions of the information and integration views are considered. For example: Communication via WhatsApp with agent. Voice communication with agent. Web chat communication with agent. Application for order and delivery registration for the agent and Others...

  7. Integration: Connection via REST, Connection to the data lake where order information is recorded, connection to the organization's information systems DB and CRM

  8. Definition of experiments and technology selection: Design the experiment with the expected quality attributes, e.g., security, latency, performance, etc. Subsequently, from the reference architecture, take the technology providers that will serve to design the solution and meet the organization's conditions.

  9. Designing alternative solutions and executing experiments
    Let's assume that following the analysis, the team of solution architects has devised two alternatives.

  • Omnichannel Solution: interface for agent x 3 user interfaces (WhatsApp, Webchat, and Voice)

Image description
Source: https://aws.amazon.com/es/blogs/architecture/integrating-amazon-connect-and-amazon-lex-with-third-party-systems/

  • Self-assistance Solution: 1 bot x 3 user interfaces (WhatsApp, Webchat, and Voice)

Image description

Source: https://aws.amazon.com/es/blogs/machine-learning/add-conversational-ai-to-any-contact-center-with-amazon-lex-and-the-amazon-chime-sdk/

Final solution design

After conducting thorough experimentation and evaluating the extent to which each solution alternative satisfies the defined quality attributes, the optimal architectural design is selected. This selection process is underpinned by the confidence that the chosen solution inherently aligns with the organization's strategic objectives, architectural principles, and operational guidelines, while simultaneously adhering to AWS's industry-leading best practices for cloud architecture design. By fostering such comprehensive alignment from the outset, the organization can realize significant efficiencies throughout the solution lifecycle, from the initial design phase through to the eventual development and deployment stages. Furthermore, this proactive approach facilitates seamless optimization and fine-tuning of the solution once it transitions to a production environment, enabling continuous improvement and ensuring long-term sustainability and scalability.

Breakout session: Reference architecture as a growth tool for the AWS solution architect. (Numa Labs, Architecture Day, 23-08-23)

Top comments (0)