
Architecting AI Software Systems
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Explore key tools and processes to mitigate risks in AI-driven system development, ensuring timely project delivery and budget control
- Gain hands-on experience through case studies and exercises, applying architectural concepts to real-world AI systems
Book DescriptionArchitecting AI Software Systems provides a definitive guide to building AI-enabled systems, emphasizing the balance between AI's capabilities and traditional software architecture principles. As AI technologies gain widespread acceptance and are increasingly expected in future applications, this book provides architects and developers with the essential knowledge to stay competitive. It introduces a structured approach to mastering the complexities of AI integration, covering key architectural concepts and processes critical to building scalable and robust AI systems while minimizing development and maintenance risks. The book guides readers on a progressive journey, using real-world examples and hands-on exercises to deepen comprehension. It also includes the architecture of a fictional AI-enabled system as a learning tool. You will engage with exercises designed to reinforce your understanding and apply practical insights, leading to the development of key architectural products that support AI systems. This is an essential resource for architects seeking to mitigate risks and master the complexities of AI-enabled system development. By the end of the book, readers will be equipped with patterns, strategies and concepts necessary to architect AI-enabled systems across various domains.What you will learn - Understand the challenges of building AI-enabled systems and managing risks like underperformance and cost overruns
- Learn architectural tools to design and integrate AI into traditional systems
- Master AI/ML concepts like inference and decision-making and their impact on architecture
- Use architectural models to ensure system cohesion and functionality
- Simulate and optimize AI performance through prototyping and iteration
- Design scalable AI systems using patterns and heuristics
- Integrate AI into large systems with a focus on user experience and performance
Who this book is forThis book is designed mainly for software and systems architects responsible for designing and integrating AI capabilities into existing and new systems. It also serves as a valuable resource for CTOs, VPs of Engineering, and aspiring architects seeking a comprehensive understanding of the holistic approach to AI system development. Additionally, AI/ML engineers and software developers will benefit from gaining deeper insights into the architectural principles that underpin AI systems, enabling them to align their work with broader architectural goals
All prices
More details
Content
- Cover
- Title Page
- Copyright Page
- Forward
- Contributors
- Table of Contents
- Preface
- Part 1: Architecting Fundamentals
- Chapter 1: Fundamentals of AI System Architecture
- Getting the most out of this book - get to know your free benefits
- Next-gen reader
- Interactive AI assistant (beta)
- DRM-free PDF or ePub version
- Introduction to AI systems: architecting the future of intelligence
- What is an AI system?
- The pervasive impact of AI infrastructure: powering intelligent solutions across industries
- Key components of AI system architectures
- Microservice architectures: a modular approach to building complex AI systems
- Advantages of microservices for AI
- Challenges of microservice architectures
- Real-world example: conversational AI microservices implementation
- The four core microservices
- Role of the API gateway
- Conversation flow sequence
- Key aspects of microservice communication
- Implementation considerations for conversational AI microservices
- Why microservices for conversational AI?
- Considerations for an AI system
- Scalability: handling growing data and model complexity
- Performance: optimization techniques
- Reliability: fault tolerance, error handling, and redundancy
- Security: data privacy and model robustness
- Data modeling: catalogs and ontologies
- Modern AI deployment paradigms
- Cloud-native AI architectures
- Data lakes and data warehouses in AI architectures: foundations for data-driven intelligence
- Data lakes: a vast reservoir of raw data
- Data warehouses: structured repositories for analytics
- The synergy of data lakes and data warehouses
- AI on cloud computing: a game-changer for AI
- Benefits of cloud-based AI
- Major cloud AI platforms: accelerating innovation with comprehensive toolsets
- Key cloud AI platforms
- Summary
- Relevant reading
- Chapter 2: The Case for Architecture
- Consequences of architectural failures
- The origins of architecting
- The role of the architect
- Balancing vision and precision in AI architecture
- AI systems and architecture
- The holder of the vision
- The architectural cycle
- Thinking like an architect
- Maintaining architectural vision
- Modern system architecting
- Decision-making frameworks for AI architecture
- Selecting the right AI approach
- Multi-dimensional decision framework
- Business alignment
- Data science considerations
- Technical constraints
- Structured decision process
- Balancing innovation and practicality
- The language of software architecture
- Governance and compliance considerations for AI systems
- Governance framework for AI architectures
- Explainability in AI architecture design
- Regulatory compliance integration
- Implementation considerations
- Modeling and simulation
- What is software systems modeling?
- The role of modeling and simulation in AI/ML systems
- Architecture and interfaces
- Interfaces
- Interfaces and AI
- Summary
- Relevant reading
- Chapter 3: Software Engineering and Architecture
- Understanding software complexity in AI systems
- Integration complexity
- Case study: healthcare AI integration
- Functional complexity
- Technical complexity
- Verification complexity
- Example: verification in computer vision
- Human interface complexity
- Architecting in practice
- Approaches for taming software complexity
- Developing the architecture
- Integration and cohesion
- Project management
- Project initiation
- Project planning
- Project execution
- Monitoring and control
- Project closing
- Case study: AI project management in action
- Summary
- Exercises
- References
- Part 2: Architecting AI Systems
- Chapter 4: Conceptual Design for AI Systems
- Concept of Operations (CONOPS)
- CONOPS for AI-centric systems
- Understanding the current system
- Data-centric view for AI systems
- Non-functional requirements for AI systems
- The business case for AI systems
- Impact of AI technologies on business operations
- Organizational integration and human impacts
- Scenarios for AI-enabled systems
- Creating effective scenarios
- AI technology usage in scenarios
- Defining success and constraints
- Use cases for AI-enabled systems
- Structure of effective use cases
- User classes and AI interaction
- Operational modes for AI-enabled systems
- Configuration mode
- Startup mode
- Execution mode
- Maintenance mode
- Recovery mode
- Shutdown mode
- Risk mitigation through conceptual design
- Data quality risk mitigation
- Stakeholder expectation management
- Integration risk mitigation
- Case study: Retail recommendation system
- CONOPS development
- Business case
- Scenarios and use cases
- Operational modes
- Implementation challenges and lessons learned
- Summary
- Exercises
- References
- Chapter 5: Requirements and Architecture for AI Pipelines
- Development pipelines
- Data store requirements
- Data volume and velocity
- Data formats and processing approaches
- Timeliness and technology selection
- Non-functional requirements and governance
- Support operations and specialized stores
- Algorithmic development components
- Data quality checks
- Data transforms
- Data summary
- Model building, tuning, and verification
- Configuration control
- Machine learning performance
- Computation infrastructure
- Scale processing
- Model tuning and verification
- Code committal and DevOps
- Production pipeline
- Data stores
- Data operations
- Data cleansing
- Data transformation
- Model execution
- Operational status monitoring
- Model maintenance
- Results and end user stores
- Pipeline operations store
- Continuous development/integration
- Architecture patterns and tactics
- Non-functional requirements
- Reliability
- Maintainability
- Usability
- Summary
- Exercises
- References
- Chapter 6: Design, Integration, and Testing
- Design fundamentals
- Requirements
- Performance requirements
- Non-functional requirements
- Security requirements
- Compliance requirements
- Actors and use cases
- System modes
- Block definition diagrams
- Data cleansing
- Data transformation
- Machine learning model
- Pipeline operations
- Results store
- System tactics and patterns
- Key attributes
- Maintainability tactics and patterns
- Availability tactics and patterns
- Essential patterns for AI systems
- Integration and testing
- Types of integrations
- Integration harness
- Testing types
- Requirements testing
- Use case and scenario testing
- Load testing
- Model prediction testing
- Data quality testing
- Error and fault recovery testing
- Compliance testing
- User interface testing
- Continuous development and integration
- Summary
- Exercises
- References
- Chapter 7: Architecting a Generative AI System - A Case Study
- The business challenge: Knowledge management crisis
- The vision: Transformation through generative AI
- Aligning business and technical objectives
- Data science objectives
- The architecture: Core components and workflow
- System overview
- Key components
- LLM: The cognitive engine
- Retrieval system (vector database): The knowledge repository
- Web search integration: Real-time information access
- From static models to dynamic agents
- LangChain agent workflow
- User query input
- Intelligent routing
- Contextual augmentation
- Web search (conditional)
- Response generation
- Feedback loop
- Technical infrastructure
- Cloud compute architecture
- End-to-end system architecture
- Client tier: User access and experience
- Presentation tier: Interface orchestration
- Application tier: Business logic
- Data tier: Information storage and retrieval
- External services: Extending capabilities
- User interaction patterns
- Use case: Query resolution
- Business impact
- Operational transformation
- Customer experience
- Financial outcomes
- Cultural evolution
- Key architectural principles
- Retrieval-Augmented Generation (RAG)
- Adaptive query routing
- Feedback-driven learning
- Summary
- References
- Chapter 8: Insights and Future Directions
- Architecture
- Building AI-enabled systems
- Data engineering
- Data analytics and models
- Conceptual design
- Design, integration, and testing
- Future directions of AI and architecture
- Moving forward
- Chapter 9: Unlock Your Book's Exclusive Benefits
- How to unlock these benefits in three easy steps
- Step 1
- Step 2
- Step 3
- Need help?
- About Packt
- Other Books You May Enjoy
- Index
2
The Case for Architecture
What would the world look like without civic architecture? Buildings would be built at random, health and safety regulations may not be implemented, there would be no coordination with municipal entities, and the actual time to build would be longer since coordination among the builders would lack an underlying cohesion. The architect, equipped with vision, purpose, processes, tools, and direction, ensures that the right system is built. Rigorously architected systems also allow for a unity of effort and ensure that the whole project team understands what is to be built.
Architecture is also needed for complex systems development. A complex system has many different engineering domains that must come together to build a system that each domain could not do by itself. There are competing demands and incomplete knowledge among all the teams. Many times, there are basic challenges of even knowing how to communicate with each other. In a complex system, there are usually different stakeholders who have demands of the final system that are at odds with each other - an architect must broker these demands.
An architect's role is to develop a unified vision, guide design that is technically achievable, and achieve system creation that meets budget goals and the development schedule.
The role of the architect has roots in antiquity and is pivotal to modern systems. The role of the architect in software systems is just as key as a civil architect. The software architect performs a critical function to ensure the correct system is built and acts as the principal advocate for the end user of the system. The architect is also responsible for ensuring that the system maintains cohesion. This is a tall order. Embracing the role and processes of architecture improves the quality and success of the end system.
Consequences of architectural failures
To start the discussion on architecture for complex software, let's do a quick thought experiment.
Imagine your team is tasked to build an application to conduct queries on a networked data store and return the results to a remote user. Now, you have four software engineers on your team: one who works on the data store, one who works on the service layer, one who integrates the user interface with the data store application, and an engineer who works on the user interface.
Here are seven practices that compromise project success:
- Undirected communication and coordination among team members, since often there is not a common understanding or reference point to unify action
- Treating all engineering assumptions as equally valid without requirement validation
- Making design decisions through majority voting rather than technical expertise
- Limiting customer communication to user interface engineers only
- Treating integration and testing as optional activities
- Eliminating intermediate milestones and review checkpoints
- Recognizing only the final delivery date as a meaningful project milestone
In this scenario, usable software would not be delivered. Each list item not done would be considered a failure in architecture. This is a simple system - as the demands on the system grow or the domain becomes more challenging, the importance of architecture comes to the fore. AI-enabled software is exceptionally complex software.
This chapter will give some background on the concept of architecture, how it can be used to mitigate failures, and, more importantly, lay out the justification that architecture done right can allow one to deliver robust AI-enabled software.
We will cover the following main topics in this chapter:
- The origins of architecting
- The role of the architect
- The holder of the vision
- Architecting processes
- The language of architecture
The origins of architecting
The profession of architecture has roots in deep antiquity. The word architect comes from the Greek "arche," which means first, and "techion," which means builder. Thus, an architect is the person who brings forth a concept to a system that will serve a purpose. For the modern AI software architect, that means that they must grapple with making a system that can correctly make decisions or inferences in an algorithmic manner.
Ancient architects provided humanity with the pyramids of ancient Egypt, the beautiful structures to honor the Hellenistic gods, and the aqueducts of Rome, to name a few. Egyptian architects conceived and led the development of massive structures that have lasted thousands of years. They were key to the coordination of thousands of workers and the use of mathematics to guide workmanship and the dimensions of rocks, which needed to be cut and placed correctly, with amazing precision and symmetry, thus demonstrating mastery of mathematics and engineering coordination. The architects of the Hellenistic period developed techniques to build temples and structures with beautiful symmetry, utilizing design patterns and making decisions that, though usually not optimal, resulted in a beautiful yet still practical system.
They also coordinated and guided the workmanship and planning to assemble their vision. These structures were massive, and their soundness of structure and load balance have enabled them to last for thousands of years. The Roman architects built amazing coliseums and planned roadways, temples, and aqueducts. This demonstrated the capability to be flexible and have the engineering depth to guide the building of a complex system.
The aqueducts demonstrated a command not only of building structures but also of the use of hydrodynamic principles and advanced engineering to deliver water to many parts of their respective cities. This new type of structure had a transformative effect on cities. Water, as an essential liquid humans need not only for drinking but for cleansing and recreation, could be enjoyed and used by the population.
Figure 2.1: Timeline of architectural evolution
Quick tip: Need to see a high-resolution version of this image? Open this book in the next-gen Packt Reader or view it in the PDF/ePub copy.
The next-gen Packt Reader and a free PDF/ePub copy of this book are included with your purchase. Scan the QR code OR visit https://packtpub.com/unlock, then use the search bar to find this book by name. Double-check the edition shown to make sure you get the right one.
Historically, the architect was usually a single person who drove the vision of the end system to development. The architect is the integrating force that ensures the components that are built come together and realize system-level effects. The insight that architecture is both an ancient and modern art stems from ancient dictums that state that the best systems come from a single vision and that a system should exhibit certain key attributes and the use of design patterns.
With the modern age, specifically the Renaissance period of European history, the continual and accelerating development of technology exploded and has not abated. In the modern world, we have witnessed such breathtaking developments as railways, seafaring vessels, large-scale electricity, automotive vehicles, airplanes, radar, telecommunications, computers, nuclear energy, space flight, medical devices, satellites, the internet, and personal smartphones. A key system that is in its infancy in terms of being an engineering discipline is software. Before going any further, I want to clarify that this is a book on software architecture and AI-enabled systems. So, going forward, I will use the word system in the sense of a software system.
Systems architects bridge user needs and technological implementation, orchestrating complex projects through disciplinary coordination, requirement definition, and development oversight.
In AI-enabled systems, architects balance traditional software concerns with specialized challenges:
- Data pipeline management and model development workflows.
- System adaptability while maintaining output stability.
- Integration of algorithmic components with software infrastructure.
Unlike physical structures visualized through drawings, software architecture requires multiple perspectives:
- Logical models and functional specifications.
- Operational scenarios and use cases.
- Interface controls and service agreements.
- Prototypes, simulations, and analyses.
Modern complexity necessitates architectural teams collaborating with domain specialists, while maintaining clear decision authority with a single responsible architect - avoiding the pitfalls of committee-based design decisions.
The role of the architect
What is it that an architect delivers? A derogatory remark is that they are just document creators, since they deliver specifications, concept of operations documents, modeling diagrams, white papers, and technology evaluations. These are artifacts of the architecting process and communication tools that guide follow-on engineering activities. The thinking and collaboration must be done before relevant and impactful documentation is created.
For example, what would happen...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: ePUB
Copy protection: without DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use a reader that can handle the file format ePUB, such as Adobe Digital Editions or FBReader – both free (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePUB works well for novels and non-fiction books – i.e., 'flowing' text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook does not use copy protection or Digital Rights Management
For more information, see our eBook Help page.