𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Solutions Architect's Handbook - Third Edition: Kick-start your career with architecture design principles, strategies, and generative AI techniques

✍ Scribed by Saurabh Shrivastava, Neelanjali Srivastav


Publisher
Packt Publishing
Year
2024
Tongue
English
Leaves
579
Edition
3
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


From fundamentals and design patterns to the latest techniques such as generative AI, machine learning and cloud native architecture, gain all you need to be a pro Solutions Architect crafting secure and reliable AWS architecture.

Endorsements

"Hits all the key areas" - Rajesh Sheth, VP, Elastic Block Store, AWS

"Offers the knowledge you need to succeed in the evolving landscape of tech architecture" - Luis Lopez Soria, Senior Specialist Solutions Architect, Google

"A valuable resource for enterprise strategists looking to build resilient applications" - Cher Simon, Principal Solutions Architect, AWS

Book Description

Master the art of solution architecture and excel as a Solutions Architect with the Solutions Architect's Handbook. Authored by seasoned AWS technology leaders Saurabh Shrivastav and Neelanjali Srivastav, this book goes beyond traditional certification guides, offering in-depth insights and advanced techniques to meet the specific needs and challenges of solutions architects today.

This edition introduces exciting new features that keep you at the forefront of this evolving field. Large language models, generative AI, and innovations in deep learning are cutting-edge advancements shaping the future of technology. Topics such as cloud-native architecture, data engineering architecture, cloud optimization, mainframe modernization, and building cost-efficient and secure architectures remain important in today's landscape. This book provides coverage of these emerging and key technologies and walks you through solution architecture design from key principles, providing you with the knowledge you need to succeed as a Solutions Architect. It will also level up your soft skills, providing career-accelerating techniques to help you get ahead.

Unlock the potential of cutting-edge technologies, gain practical insights from real-world scenarios, and enhance your solution architecture skills with the Solutions Architect's Handbook.

What you will learn

  • Explore various roles of a solutions architect in the enterprise
  • Apply design principles for high-performance, cost-effective solutions
  • Choose the best strategies to secure your architectures and boost availability
  • Develop a DevOps and CloudOps mindset for collaboration, operational efficiency, and streamlined production
  • Apply machine learning, data engineering, LLMs, and generative AI for improved security and performance
  • Modernize legacy systems into cloud-native architectures with proven real-world strategies
  • Master key solutions architect soft skills

Who this book is for

This book is for software developers, system engineers, DevOps engineers, architects, and team leaders who already work in the IT industry and aspire to become solutions architect professionals. Solutions architects who want to expand their skillset or get a better understanding of new technologies will also learn valuable new skills. To get started, you'll need a good understanding of the real-world software development process and some awareness of cloud technology.

Table of Contents

  1. Solutions Architecture in an Organization
  2. Principles of Solution Architecture Design
  3. Cloud Migration and Cloud Architecture Design
  4. Solution Architecture Design Patterns
  5. Cloud-Native Architecture Design Patterns
  6. Performance Considerations
  7. Security Considerations
  8. Architectural Reliability Considerations
  9. Operational Excellence Considerations
  10. Cost Considerations
  11. DevOps and Solution Architecture Framework
  12. Data Engineering for Solution Architecture
  13. Machine Learning Architecture


(N.B. Please use the Read sample option to see further chapters)

✦ Table of Contents


Cover
Copyright
Forewords
Contributors
Table of Contents
Preface
Chapter 1: Solutions Architect in an Organization
What is solution architecture?
The benefits of solution architecture
he solutions architect’s role
Generalist solutions architect roles
Enterprise solutions architect
Application Architect
Cloud Architect
Architect Evangelist
Specialist solutions architect roles
Infrastructure Architect
Network Architect
Data Architect
ML Architect
GenAI architect
Security Architect
DevOps architect
Industry Architect
Understanding a solutions architect’s responsibilities
Analyze functional requirements (FRs)
Define NFRs
Understand and engage stakeholders
Understand architecture constraints
Make technology selections
Develop a POC and prototype
Solution design and delivery
Ensuring post-launch operability and maintenance
Solution scaling and technology evangelism
Solutions architect in an Agile organization
Common challenges in the solutions architect role
Career path and skill development for solutions architects
Summary
Chapter 2: Principles of Solution Architecture Design
Building scalable architecture design
Scaling static content
Session management for application server scaling
Database scaling
Building elastic architecture
Building a highly available and resilient architecture
Highly available architecture
Resilient architecture
Achieving redundancy
Addressing component failure
Making your architecture fault-tolerant
Designing for performance
Creating immutable architecture
Think loose coupling
Think service, not server
Think data-driven design
Adding security everywhere
Making applications usable and accessible
Achieving usability
Achieving accessibility
Building future-proof extendable and reusable architecture
Ensuring architectural interoperability and portability
Making applications interoperable
Making applications portable
Applying automation everywhere
Plan for business continuity
Design for operation
Overcoming architectural constraints
Taking the MVP approach
Summary
Chapter 3: Cloud Migration and Cloud Architecture Design
Public, private, and hybrid clouds
Solution architecture in the public cloud
The public cloud architecture
Popular public cloud providers
Cloud-native architecture
Designing cloud-native architecture
Creating a cloud migration strategy
Lift and shift migration
Rehost
Replatform
Relocate
The cloud-native approach
Refactor
Repurchase
Retain or retire
Retain
Retire
Choosing a cloud migration strategy
Steps for cloud migration
Discovering your portfolio and workloads
Analyzing the information
Creating a migration plan
Designing the application
Executing application migration to the cloud
Data migration
Server migration
Integrating, validating, and cutover
Validation
Integration
The cutover process
Operating the cloud application
Application optimization in the cloud
Creating a hybrid cloud architecture
Taking a multi-cloud approach
Implementing CloudOps
CloudOps pillars
Summary
Further reading
Chapter 4: Solution Architecture Design Patterns
Building an n-tier layered architecture
The web layer
The application layer
The database layer
Creating a multi-tenant SaaS-based architecture
Understanding service-oriented architecture
RESTful web service architecture
Building a RESTful-architecture-based e-commerce website
Building a cache-based architecture
Cache distribution pattern in a three-tier web architecture
Rename distribution pattern
Cache proxy pattern
Rewrite proxy pattern
App caching pattern
Memcached versus Redis
Model-View-Controller (MVC) architecture
Applying MVC to design an online bookstore
Building Domain-Driven Design (DDD)
Understanding the circuit breaker pattern
Implementing the bulkhead pattern
Creating a floating IP pattern
Deploying an application with a container
The benefit of containers
Container deployment
Building container-based architecture
Database handling in application architecture
High-availability database pattern
Clean Architecture
Avoiding anti-patterns in solution architecture
Summary
Chapter 5: Cloud-Native Architecture Design Patterns
What is cloud-native architecture?
Building serverless architecture
Considerations for serverless architecture
Building stateless and stateful architectural designs
Stateful architecture
Stateless architecture
Creating a microservice architecture
Saga pattern
Fan-out/fan-in pattern
Service mesh pattern
Reactive architecture
Building queue-based architecture
Queuing chain pattern
Job observer pattern
Pipes-and-Filters Architecture
Creating Event-Driven Architecture
Publisher/subscriber model
Event stream model
Backend for Frontend pattern
Cloud-native architecture anti-patterns
Single point of failure
Manual scaling
Tightly coupled services
Ignoring security best practices
Not monitoring or logging
Ignoring network latency
Lack of testing
Over-optimization
Not considering costs
Summary
Chapter 6: Performance Considerations
Design principles for high-performance architecture
Reducing latency
Improving throughput
Handling concurrency
Applying caching
Technology selection for performance optimization
Making a computational choice
Working with containers
Going serverless
Making a storage choice
Working with block storage and storage area network
Working with file storage and network area storage
Working with object storage and cloud data storage
Storage for databases
Making a database choice
Online transactional processing
Nonrelational databases
Online analytical processing
Building a data search functionality
Improving network performance
Using edge computing
Defining a DNS routing strategy
Applying a load balancer
Applying auto-scaling
Performance considerations for mobile applications
Optimization of load times
Efficient use of resources
Responsive user interface (UI)
Network efficiency
Battery consumption
Cross-platform compatibility
User experience (UX) design
Effective data management
Testing and quality assurance
Performance testing
Types of performance testing
Managing performance monitoring
Summary
Chapter 7: Security Considerations
Chapter 8:Architectural Reliability Considerations
Design principles for architectural reliability
Making systems self-healing by applying automation
Quality assurance
Creating a distributed system
Monitoring and adding capacity
Performing recovery validation
Technology selection for architectural reliability
Planning the RPO and RTO
Replicating data
Synchronous versus asynchronous replication
Replication methods
Planning disaster recovery
Backup and restore
Pilot light
Warm standby
Multi-site
Applying best practices for DR
Improving reliability with the cloud
Summary
Chapter 9:Operational Excellence Considerations
Design principles for operational excellence
Automating manual tasks
Making incremental and reversible changes
Predicting failures and responding
Learning from mistakes and refining
Keeping the operational runbook updated
Selecting technologies for operational excellence
Planning for operational excellence
IT asset management
Configuration management
The functioning of operational excellence
Monitoring system health
Improving operational excellence
IT operations analytics
Root Cause Analysis
Auditing and reporting
Achieving operational excellence in the public cloud
Driving efficiency with CloudOps
Summary
Chapter 10:Cost Considerations
Design principles for cost optimization
Calculating the total cost of ownership
Planning the budget and forecast
Managing demand and service catalogs
Keeping track of expenditure
Continuous cost optimization
Understanding techniques for cost optimization
Reducing architectural complexity
Increasing IT efficiency
Applying standardization and governance
Resource cost tagging
Monitoring cost usage and reports
Driving cost optimization in the public cloud
Green IT and its influence on cost considerations
Cost-effective and green application hosting on AWS
Summary
Chapter 11:DevOps and Solution Architecture Framework
Introducing DevOps
Understanding the benefits of DevOps
Understanding the components of DevOps
Continuous integration/Continuous deployment
Continuous monitoring and improvement
Infrastructure as code
Configuration management
Introducing DevSecOps for Security
Combining DevSecOps and CI/CD
Implementing a CD strategy
In-place deployment
Rolling deployment
Blue-green deployment
Red-black deployment
Immutable deployment
Best practices for choosing the right deployment strategy
Implementing continuous testing in the CI/CD pipeline
A/B testing
Using DevOps tools for CI/CD
Code editor
Source code management
CI server
Code deployment
Code pipeline
Implementing DevOps best practices
Building DevOps and DevSecOps in the cloud
Summary
Chapter 12:Data Engineering for Solution Architecture
What is big data architecture?
Designing big data processing pipelines
Data ingestion, storage, processing, and analytics
Data ingestion
Technology choices for data ingestion
Ingesting data to the cloud
Storing data
Technology choices for data storage
Structured data stores
NoSQL databases
Search data stores
Unstructured data stores
Object storage
Vector Database (VectorDB)
Blockchain data stores
Streaming data stores
Data storage in the cloud
Processing data and performing analytics
Technology choices for data processing and analysis
Data processing in the cloud
Visualizing data
Technology choices for data visualization
Designing big data architectures
Data lake architecture
Lakehouse architecture
Data mesh architecture
Streaming data architecture
Choosing the right big data architecture
Big data architecture best practices
Summary
Chapter 13:Machine Learning Architecture
What is machine learning?
Types of machine learning
Supervised learning
Unsupervised learning
Semi-supervised learning
Reinforcement learning
Self-supervised learning
Multi-instance learning
Working with data science and machine learning
Evaluating ML modelsβ€”overfitting versus underfitting
Popular machine learning algorithms
Linear regression
Logistic regression
Decision trees
Random forests
K-Nearest Neighbours (k-NNs)
Support vector machines (SVMs)
Neural networks
K-means clustering
XGBoost
Popular machine learning tools and frameworks
Machine learning in the cloud
Building machine learning architecture
Prepare and label
Select and build
Train and tune
Deploy and manage
ML reference architecture
Design principles for machine learning architecture
Organizing the machine learning system into modules
Ensuring scalability
Ensuring reproducibility
Implementing data quality assurance
Ensuring flexibility
Ensuring robustness and reliability
Ensuring privacy and security
Ensuring efficiency
Ensuring interpretability
Implementing real-time capability
Ensuring fault tolerance
MLOps
MLOps principles
MLOps best practices
Deep learning
Deep learning in the real world
Healthcare: diagnosis and prognosis
Autonomous vehicles: navigation and safety
Manufacturing: quality control and predictive maintenance
NLP
Chatbots and virtual assistants
Sentiment analysis
Text summarization
Machine translation
Summary
Chapter 14:Generative AI Architecture
What is generative AI?
Generative AI use cases
Customer experience transformation
Employee productivity enhancement
Optimizing business operations
The basic architecture of generative AI systems
Types of generative models
Generative Adversarial Networks (GANs)
Variational Autoencoders (VAEs)
Transformer-based generative models
Other important generative models
Importance of hyperparameter tuning and regularization in architectures
Hyperparameter tuning
Regularization
Popular generative AI FMs
How to start with generative AI
For end users
For builders
Using generative AI FMs in your applications with public cloud providers
Choosing the right FM
Preventing model hallucinations
Generative AI reference architecture for building a mortgage assistant app
Challenges in implementing generative AI
Training stability issues
Mode collapse
Latent space interpolation challenges
Ethical concerns and misuse
Summary
Chapter 15:Rearchitecting Legacy Systems
Learning the challenges of legacy systems
Difficulty in keeping up with user demand
Higher cost of maintenance and updates
Shortage of skills and documentation
Vulnerability to corporate security issues
Incompatibility with other systems
Defining a strategy for system modernization
Assessment of a legacy application
Defining the modernization approach
Benefits of system modernization
Looking at legacy system modernization techniques
Encapsulation, rehosting, and replatforming
Refactoring and rearchitecting
Redesigning and replacing
Defining a cloud migration strategy for legacy systems
Documentation and support
Mainframe migration with the public cloud
Challenges of mainframe modernization
Migrating standalone applications
Migrating applications with shared code
Application decoupling using a standalone API
Application decoupling using a shared library
Application decoupling using message queues
Benefits of using the public cloud for mainframe modernization
Modernizing legacy code with generative AI
Summary
Chapter 16:Solution Architecture Document
Purpose of the SAD
Views of the SAD
Structure of the SAD
Solution overview
Business context
Conceptual solution overview
Solution architecture
Information architecture
Application architecture
Data architecture
Integration architecture
Infrastructure architecture
Security architecture
Solution implementation
Solution management
Appendix
Life cycle of the SAD
SAD best practices and common pitfalls
IT procurement documentation for a solution architecture
Summary
Chapter 17:Learning Soft Skills to Become a Better Solutions Architect
Importance of soft skills in solution architecture
Acquiring pre-sales skills
Key skills
Presenting to C-level executives
Taking ownership and accountability
Defining strategy execution with OKRs
Thinking big
Being flexible and adaptable
Design thinking
Being a builder by engaging in coding hands-on
Becoming better with continuous learning
Being a mentor to others
Becoming a technology evangelist and thought leader
Summary
PacktPage
Other Books You May Enjoy
Index


πŸ“œ SIMILAR VOLUMES


Solutions Architect's Handbook: Kick-sta
✍ Saurabh Shrivastava, Neelanjali Srivastav πŸ“‚ Library πŸ“… 2024 πŸ› Packt 🌐 English

Architect robust solutions like a pro with real-world insights and cutting-edge design techniques. Delve into advanced analytics, machine learning, generative AI, cloud-native architecture, and the key soft skills to excel as a solutions architect.

Solutions Architect's Handbook: Kick-sta
✍ Saurabh Shrivastava; Neelanjali Srivastav πŸ“‚ Library πŸ“… 2020 πŸ› Packt Publishing Ltd 🌐 English

<p><b>From fundamentals and design patterns to the different strategies for creating secure and reliable architectures in AWS cloud, learn everything you need to become a successful solutions architect</b></p>Key Features<ul><li>Create solutions and transform business requirements into technical arc

Solutions Architect's Handbook: Kick-sta
✍ Saurabh Shrivastava; Neelanjali Srivastav πŸ“‚ Library πŸ“… 2020 πŸ› Packt Publishing Ltd 🌐 English

<p><b>From fundamentals and design patterns to the different strategies for creating secure and reliable architectures in AWS cloud, learn everything you need to become a successful solutions architect</b></p>Key Features<ul><li>Create solutions and transform business requirements into technical arc

Solutions Architect's Handbook: Kick-sta
✍ Saurabh Shrivastava, Neelanjali Srivastav πŸ“‚ Library πŸ“… 2022 πŸ› Packt Publishing 🌐 English

<span><p><b>From fundamentals and design patterns to the different strategies for creating secure and reliable architectures in AWS cloud, learn everything you need to become a successful solutions architect</b></p><h4>Key Features</h4><ul><li>Transform business requirements into end-to-end technica

Solutions Architect's Handbook: Kick-sta
✍ Saurabh Shrivastava, Neelanjali Srivastav πŸ“‚ Library πŸ“… 2022 πŸ› Packt Publishing 🌐 English

<span><p><b>From fundamentals and design patterns to the different strategies for creating secure and reliable architectures in AWS cloud, learn everything you need to become a successful solutions architect</b></p><h4>Key Features</h4><ul><li>Transform business requirements into end-to-end technica