𝔖 Scriptorium
✦   LIBER   ✦

📁

Solutions Architect's Handbook: Kick-start your solutions architect career by learning architecture design principles and strategies

✍ Scribed by Saurabh Shrivastava; Neelanjali Srivastav


Publisher
Packt Publishing Ltd
Year
2020
Tongue
English
Leaves
475
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


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

Key Features

  • Create solutions and transform business requirements into technical architecture with this practical guide
  • Understand various challenges that you might come across while refactoring or modernizing legacy applications
  • Delve into security automation, DevOps, and validation of solution architecture

Book Description

Becoming a solutions architect gives you the flexibility to work with cutting-edge technologies and define product strategies. This handbook takes you through the essential concepts, design principles and patterns, architectural considerations, and all the latest technology that you need to know to become a successful solutions architect.

This book starts with a quick introduction to the fundamentals of solution architecture design principles and attributes that will assist you in understanding how solution architecture benefits software projects across enterprises. You'll learn what a cloud migration and application modernization framework looks like, and will use microservices, event-driven, cache-based, and serverless patterns to design robust architectures. You'll then explore the main pillars of architecture design, including performance, scalability, cost optimization, security, operational excellence, and DevOps. Additionally, you'll also learn advanced concepts relating to big data, machine learning, and the Internet of Things (IoT). Finally, you'll get to grips with the documentation of architecture design and the soft skills that are necessary to become a better solutions architect.

By the end of this book, you'll have learned techniques to create an efficient architecture design that meets your business requirements.

What you will learn

  • Explore the various roles of a solutions architect and their involvement in the enterprise landscape
  • Approach big data processing, machine learning, and IoT from an architect's perspective and understand how they fit into modern architecture
  • Discover different solution architecture patterns such as event-driven and microservice patterns
  • Find ways to keep yourself updated with new technologies and enhance your skills
  • Modernize legacy applications with the help of cloud integration
  • Get to grips with choosing an appropriate strategy to reduce cost

Who this book is for

This book is for software developers, system engineers, DevOps engineers, architects, and team leaders working in the information technology industry who aspire to become solutions architect professionals. A good understanding of the software development process and general programming experience with any language will be useful.

✦ Table of Contents


Cover
Title Page
Copyright and Credits
Dedication
About Packt
Foreword
Contributors
Table of Contents
Preface
Chapter 1: 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
Chapter 2: 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 the Agile methodology?
Agile manifesto
Agile process and terminology
Sprint ceremonies
Agile tools and terms
Agile versus waterfall
Agile architecture
Summary
Chapter 3: 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
Chapter 4: 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
Chapter 5: 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
Chapter 6: 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 a serverless architecture
Creating a 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
Chapter 7: 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 storage
Working with block storage and storage area network
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 functionality
Making the networking choice
Defining a DNS routing strategy
Implementing a load balancer
Applying autoscaling
Managing performance monitoring
Summary
Chapter 8: 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)
HSM
Data encryption at rest and in transit
Security and compliance certifications
The cloud's shared security responsibility model
Summary
Chapter 9: 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
Chapter 10: 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
Chapter 11: 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
Chapter 12: 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
Chapter 13: 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
Chapter 14: 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
Chapter 15: 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
Chapter 16: 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
Index


📜 SIMILAR VOLUMES


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

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 - Third E
✍ Saurabh Shrivastava, Neelanjali Srivastav 📂 Library 📅 2024 🏛 Packt Publishing 🌐 English

<p><span>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.</span></p><p><span>Endorsements</span></p><p><span>"Hits all