Solutions Architect's Handbook Kick-Start Your Career with Architecture Design Principles, Strategies, and Generative AI Techniques
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 adv...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, England :
Packt Publishing Ltd
[2024]
|
Edición: | Third edition |
Colección: | Expert insight.
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009810644506719 |
Tabla de Contenidos:
- 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.