Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Title Page Copyright and Credits
Solutions Architect's Handbook
Dedication About Packt
Why subscribe?
Foreword Contributors
About the authors About the reviewer Packt is searching for authors like you
Preface
Who this book is for What this book covers To get the most out of this book
Download the color images Conventions used
Get in touch
Reviews
The Meaning of Solution Architecture
What is solution architecture? Evolution of solution architecture Why is solution architecture important? The benefits of solution architecture
Addressing the business needs and quality of delivery Selecting the best technology platform Addressing solution constraints and issues Helping in resource and cost management Managing solution delivery and project life cycle Addressing non-functional requirements
Solution architecture in the public cloud
What is the public cloud? Public clouds, private clouds, and hybrid clouds The public cloud architecture Public cloud providers and cloud service offering
Summary
Solution Architects in an Organization
Types of solution architect role
Enterprise solution architect Solution architect Technical architect  Cloud architect  Architect evangelist Infrastructure architect Network architect Data architect Security architect DevOps architect
Understanding a solution architect's responsibilities
Analyzing user requirements Defining non-functional requirements Engaging and working with stakeholders Handling various architecture constraints Making technology selections Developing a proof of concept and a prototype Designing solutions and staying through delivery Ensuring post-launch operability and maintenance Working as a technology evangelist
Solution architects in an agile organization
Why Agile methodology? Agile manifesto
Agile process and terminology Sprint ceremonies Agile tools and terms Agile versus waterfall Agile architecture
Summary
Attributes of the Solution Architecture
Scalability and elasticity
The capacity dilemma in scaling Scaling your architecture Static content scaling Server fleet elasticity Database scaling
High availability and resiliency Fault-tolerance and redundancy Disaster recovery and business continuity Extensibility and reusability Usability and accessibility Portability and interoperability Operational excellence and maintainability Security and compliance
Authentication and authorization Web security Network security Infrastructure security Data security
Cost optimization and budget Summary
Principles of Solution Architecture Design
Scaling workload
Predictive scaling Reactive scaling
Building resilient architecture Design for performance Using replaceable resources
Creating immutable infrastructure
Canary testing
Think loose coupling Think service not server Using the right storage for the right need Think data-driven design Overcoming constraints Adding security everywhere Automating everything Summary
Cloud Migration and Hybrid Cloud Architecture Design
Benefits of cloud-native architecture Creating a cloud migration strategy
Lift and Shift migration 
Rehost Replatform Relocate
Cloud-native approach
Refactor Repurchase
Retain or retire
Retain Retire
Steps for cloud migration 
Discovering your workload Analyzing the information Creating migration plan Designing the application Performing application migration to the cloud
Data migration Server migration
Integration, validation, and cutover
Live migration cutover
Operating cloud application Application optimization in the cloud
Creating a hybrid cloud architecture Designing a cloud-native architecture Popular public cloud choices Summary Further reading
Solution Architecture Design Patterns
Building an n-tier layered architecture
The web layer The application layer The database layer
Creating multi-tenant SaaS-based architecture Building stateless and stateful architecture designs Understanding SOA
SOAP web service architecture RESTful web service architecture Building an SOA-based e-commerce website architecture
Building serverless architecture Creating microservice architecture
Real-time voting application reference architecture
Building queue-based architecture
Queuing chain pattern Job observer pattern
Creating event-driven architecture
Publisher/subscriber model Event stream model
Building 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
Understanding the circuit breaker pattern Implementing the bulkheads pattern Creating a floating IP pattern Deploying an application with a container
The benefit of containers Container deployment
Database handling in application architecture
High-availability database pattern
Avoiding anti-patterns in solution architecture Summary
Performance Considerations
Design principles for architecture performance
Reducing latency Improving throughput Handling concurrency Apply caching
Technology selection for performance optimization
Making a computational choice
Selecting the server instance Working with containers
Docker Kubernetes
Going serverless
Choosing a storage
Working with block storage and storage area network (SAN) Working with file storage and network area storage (NAS) Working with object storage and the cloud data storage
Choosing the database
Online transactional processing (OLTP) Nonrelational databases (NoSQL) Online analytical processing (OLAP) Building a data search
Making the networking choice
Defining a DNS routing strategy Implementing a load balancer Applying autoscaling
Managing performance monitoring Summary
Security Considerations
Designing principles for architectural security
Implementing authentication and authorization control Applying security everywhere Reducing blast radius Monitoring and auditing everything all the time Automating everything Protecting data Preparing a response
Selecting technology for architectural security
User identity and access management
FIM and SSO Kerberos AD Amazon Web Services (AWS) Directory Service Security Assertion Markup Language (SAML) OAuth and OpenID Connect (OIDC)
Handling web security
Web app security vulnerabilities
Denial of Service (DoS) and Distributed Denial of Service (DDoS) attacks SQLi attacks XSS attacks Cross-Site Request Forgery (CSRF) attacks Buffer overflow and memory corruption attacks
Web security mitigation
Web Application Firewall (WAF) DDoS mitigation
Securing an application and its infrastructure
Application and operating system hardening Software vulnerabilities and secure code Network, firewall, and trusted boundary IDS/IPS
Host-based IDS Network-based IDS
Data security
Data classification Data encryption Encryption key management
Envelope encryption AWS Key Management Service (KMS) Hardware security module (HSM)
Data encryption at rest and in transit
Security and compliance certifications The cloud's shared security responsibility model Summary
Architectural Reliability Considerations
Design principles for architectural reliability
Making systems self-healing Applying automation Creating a distributed system Monitoring capacity Performing recovery validation
Technology selection for architecture reliability
Planning the RTO and RPO Replicating data
Synchronous versus asynchronous replication Replication methods
Planning disaster recovery
Backup and restore Pilot light Warm standby Multi-site
Applying best practices for disaster recovery
Improving reliability with the cloud Summary
Operational Excellence Considerations
Designing principles for operational excellence
Automating the operation Making incremental and reversible changes Predicting failures and responding Learning from the mistake and refining Keeping operation's runbook updated
Selecting technologies for operational excellence
Planning for operational excellence
IT Asset Management (ITAM) Configuration management
The functioning of operational excellence
Monitoring system health
Infrastructure monitoring Application monitoring Platform monitoring Log monitoring Security monitoring
Handling alerts and incident response
Improving operational excellence
ITOA RCA Auditing and reporting
Achieving operational excellence in the public cloud Summary
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
Techniques for cost optimization
Reducing architectural complexity Increasing IT efficiency Applying standardization and governance Monitoring cost usage and report
Cost optimization in the public cloud Summary
DevOps and Solution Architecture Framework
Introducing DevOps Understanding the benefits of DevOps Understanding the components of DevOps
CI/CD Continuous monitoring and improvement IaC Configuration management (CM)
Introducing DevSecOps Combining DevSecOps and CI/CD Implementing a CD strategy
In-place deployment Rolling deployment Blue-green deployment Red-black deployment Immutable deployment
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 Summary
Data Engineering and Machine Learning
What is big data architecture? Designing big data processing pipelines Data ingestion
Technology choices for data ingestion Ingesting data to the cloud
Storing data
Technology choices for data storage
Structured data stores
Relational databases Data warehousing
NoSQL databases
SQL versus NoSQL databases
Types of NoSQL data store Search data stores Unstructured data stores Data lakes
Processing data and performing analytics
Technology choices for data processing and analysis
Visualizing data
Technology choices for data visualization
Understanding IoT What is ML? Working with data science and ML Evaluating ML models – overfitting versus underfitting Understanding supervised and unsupervised ML Summary
Architecting Legacy Systems
Learning the challenges of legacy systems
Difficulty in keeping up with user demand Higher cost of maintenance and update Shortage of skills and documentation Vulnerable to corporate security issues Incompatibility with other systems
Defining a strategy for system modernization
Benefits of system modernization Assessment of a legacy application Defining the modernization approach Documentation and support
Looking at legacy system modernization techniques
Encapsulation, rehosting, and re-platforming Refactoring and rearchitecting Redesigning and replacing
Defining a cloud migration strategy for legacy systems Summary
Solution Architecture Document
Purpose of the SAD Views of the SAD Structure of the SAD
Solution overview Business context Conceptual solution overview Solution architecture  Solution delivery Solution management Appendix section of SAD
IT procurement documentation for a solution architecture  Summary
Learning Soft Skills to Become a Better Solution Architect
Acquiring pre-sales skills Presenting to C-level executives Taking ownership and accountability Defining strategy execution and 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
Other Books You May Enjoy
Leave a review - let other readers know what you think
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion