Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Solutions Architect's Handbook
Solutions Architect's Handbook

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

Arrow left icon
Profile Icon Saurabh Shrivastava Profile Icon Neelanjali Srivastav
Arrow right icon
$32.99 $47.99
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7 (54 Ratings)
eBook Mar 2024 578 pages 3rd Edition
eBook
$32.99 $47.99
Paperback
$59.99
Subscription
Free Trial
Renews at $19.99p/m
Arrow left icon
Profile Icon Saurabh Shrivastava Profile Icon Neelanjali Srivastav
Arrow right icon
$32.99 $47.99
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7 (54 Ratings)
eBook Mar 2024 578 pages 3rd Edition
eBook
$32.99 $47.99
Paperback
$59.99
Subscription
Free Trial
Renews at $19.99p/m
eBook
$32.99 $47.99
Paperback
$59.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Solutions Architect's Handbook

Principles of Solution Architecture Design

This chapter throws light on the most important and common design principles and attributes of solution architecture. While the focus in this chapter is on the most pivotal design elements, it’s worth noting that additional design aspects might arise, contingent on the complexity of the product and the specific industry domain. As you advance on your journey toward becoming a solutions architect through this book, you’ll see these foundational principles and attributes applied in more depth, including in the crafting of various design patterns tailored to diverse scenarios and challenges.

In this chapter, you will learn the principles of designing architectures that are scalable, resilient, and optimized for performance, while ensuring robust security measures are in place to safeguard your application. You will explore strategies to navigate architectural constraints and embrace change through testing and automation, emphasizing...

Building scalable architecture design

Scalability has always been a primary factor while designing a solution. If you ask any enterprise about their solutions, scalability will be one of the key considerations. Scalability refers to allowing your system to handle growing workloads, which can apply to multiple layers, such as the application server, web app, and database. Scalability helps you fulfill user demand without impacting application performance, resulting in higher business returns.

As most applications nowadays are web-based, let’s also talk about elasticity. This is about growing your system by adding more capabilities and shrinking it to save on unnecessary costs. With the adoption of the public cloud, it has become easy to quickly grow and shrink your workload, with elasticity now replacing scalability.

Traditionally, there are two modes of scaling:

  • Horizontal scaling: Horizontal scaling is becoming increasingly popular as computing power has...

Building a highly available and resilient architecture

Creating a highly available and resilient architecture involves designing systems that can tolerate failures of individual components without disrupting the overall system functionality.

Highly available architecture

The one thing an organization wants to avoid is downtime. Application downtime can cause a loss of business and user trust, making high availability a primary factor while designing the solution architecture. The principle of high availability is “design for failure, and nothing will fail.”

The requirement for application uptime varies from application to application. If you have an external-facing application with a large user base, such as an e-commerce website or social media platform, 100% uptime becomes critical. In the case of an internal application (accessed by an employee, such as an HR system or a company intranet), it can likely tolerate some downtime. Achieving high availability...

Making your architecture fault-tolerant

High availability means your application is available to the user but it can result in degraded performance. Suppose you need four servers to handle users’ traffic. For this, you put two servers in two different physically isolated data centers. If there is an outage in one data center, user traffic can be served from another. But now you have only two servers, which means only 50% of the original capacity is available, and users may experience performance issues. In this scenario, your application has 100% high availability but is only 50% fault tolerant.

As shown in Figure 2.6, to achieve 100% fault tolerance, you need full redundancy and have to maintain the double count of the servers so that the user doesn’t encounter any performance issues during the outage of one zone.

Figure 2.6: Fault tolerance architecture

Fault tolerance is handling workload capacity if an outage occurs without compromising system performance...

Designing for performance

With the availability of fast internet, customers are seeking high-performance applications with minimal load time. Organizations have noticed that a direct revenue impact is proportional to application performance, and slowness in application load time can significantly impact customer engagement. Modern companies are setting high expectations when it comes to performance, resulting in high-performance applications becoming necessary to stay relevant in the market.

Like resiliency, the solutions architect needs to consider performance at every layer of architecture design. The DevOps team needs to put monitoring in place to check that the solution continues to perform effectively and work to improve it continuously. Better performance means increased user engagement and return on investment.

High-performance applications are designed to handle application slowness due to external factors such as a slow internet connection. For example, you may have...

Creating immutable architecture

Organizations make a significant capital investment in hardware and develop the practice of regularly refreshing it with a new version of the application and configuration. Over time, this can lead to different servers running in varied configurations, and troubleshooting them becomes tedious. Sometimes organizations must keep running unnecessary resources when they are not needed, as they are unsure which server to shut down, which may cause application failure. The inability to replace servers makes rolling out and testing any new updates in your server fleet challenging. These problems can be solved by treating your server as a replaceable resource, which enables you to move more quickly to accommodate changes, such as upgrading applications and underlying software, resulting in less downtime and fixing application issues quickly. That is why, while designing your application, you should always think of immutable infrastructure. This means that,...

Think loose coupling

A traditional application is deployed on a tightly integrated server fleet where each server has a specific responsibility. Often, applications depend on multiple servers for completeness of functionality.

As shown in the following diagram, in a tightly coupled architecture, the web server fleet has a direct dependency on all application servers, and vice versa:

Figure 2.7: Tightly coupled architecture

In the preceding architecture diagram, if one application server goes down, then all web servers will start receiving errors, as the request will route to an unhealthy application server, which may cause a complete system failure. With tightly coupled architecture, if you want to scale by adding and removing servers, it requires lots of work, as all connections need to be set up appropriately.

With loose coupling, you can add an intermediate layer, such as a load balancer or a queue, which automatically handles failures or scaling for you.

...

Think service, not server

In the previous section, you learned about loose coupling and how important it is for our architecture to be loosely coupled for scalability and fault tolerance. Developing service-oriented thinking will help to achieve a loosely coupled architecture (as opposed to server-oriented thinking, which can lead to hardware dependency and a tightly coupled architecture). Microservice-based event-driven architecture helps us to achieve ease of deployment and maintenance for our solution design.

In a RESTful architecture, you can format a message in XML, JSON, or plain text and send it over Internet using a simple HTTP protocol. RESTful architecture is popular as it is very lightweight. Microservices are based on RESTful architecture and are independently scalable, which makes it easier to expand or shrink one component of your application without impacting others.

As you can see in the following diagram, in a monolithic architecture, all components are built...

Think data-driven design

Any software solution revolves around the collection and management of data. Take the example of an e-commerce website; the software application is built to showcase product data on the website and encourage the customers to buy the products. It starts by collecting customer data when they create a login, adding a payment method, storing order transactions, and maintaining inventory data as the product gets sold. Another example is a banking application, which stores customer financial information and handles all financial transaction data with integrity and consistency. The most important thing for any application is handling, storing, and securing data appropriately. Data heavily influences solution design, and by keeping data in mind, you can apply the right design-driven solution for your needs.

It’s not just application design that revolves around data but operational maintenance and business decisions, too. You need to add monitoring capabilities...

Adding security everywhere

Security is one of the essential aspects of solution design; any gap in security can have a devastating effect on a business or organization’s future. Many organizations are compromised by security breaches, resulting in a loss of customer trust and damaging businesses’ reputations. Industry-standard regulations, such as PCI (Payment Card Industry), HIPAA (Health Insurance Portability and Accountability Act), GDPR (General Data Protection Regulation), and SOC (System and Organization Controls) compliance are pivotal frameworks securing data across distinct domains. PCI secures credit card information in finance, HIPAA safeguards patient data in healthcare, GDPR enhances data privacy in the EU, and SOC ensures data management security in service organizations, enforce security safeguards to protect consumer data while providing standard guidance to the organization. Depending on your industry and region, you must comply with local legislation...

Making applications usable and accessible

Ensuring applications are both usable and accessible is a critical aspect of design that impacts the user experience significantly. Usability refers to how easy and intuitive an application is for users to interact with, which involves a user-friendly interface, clear navigation, and efficient task-completion processes. Accessibility, on the other hand, ensures that applications are usable by people with various disabilities. Let’s learn more about these.

Achieving usability

You want your users to have a seamless experience browsing through the application. It should be so smooth that they don’t even notice how easily they can find things without any difficulties. You can do this by making your application highly usable.

Usability is how quickly the user can learn navigation logic when using your application for the first time. It’s about how quickly they can bounce back if they make a mistake and whether...

Building future-proof extendable and reusable architecture

Businesses evolve as they grow; applications scale to handle an increased user base and add more features to stay ahead and attain a competitive edge. A solution design needs to be extendable and flexible enough to modify an existing feature or add new functionality.

To achieve solution extensibility, a solutions architect must use a loosely coupled architecture wherever possible. At a high level, creating a RESTful or queue-based architecture can help develop loosely coupled communication between different modules or across applications. You will learn more about the other kinds of architecture in Chapter 4, Solution Architecture Design Patterns. In this section, we will take a simple example to explain the concept of architectural flexibility.

To modularize their application, organizations often want to build a platform with a group of features and launch them as separate applications. This is only possible with...

Ensuring architectural interoperability and portability

Architectural interoperability and portability are crucial aspects of modern software architecture, ensuring that applications can work across different environments and interact seamlessly with other systems. Let’s look at these concepts.

Making applications interoperable

Interoperability is the ability of one application to work with others through a standard format or protocol. Often, an application must communicate with various upstream systems to consume data and downstream systems to supply data, so it is essential to establish that communication seamlessly.

An e-commerce application, for example, needs to work with other applications in the supply chain management ecosystem. This includes enterprise resource planning applications to record all transactions, transportation life cycle management, shipping companies, order management, warehouse management, and labor management.

All applications should...

Applying automation everywhere

Most accidents happen due to human error, which can be avoided using automation. Automation not only handles jobs efficiently but also increases productivity and saves costs. Anything identified as a repeatable task can be automated to free up valuable human resources so team members can spend their time on more exciting work and focus on solving a real problem. It also helps to increase team morale.

When designing a solution, think about what can be automated. Think about automating any repeatable task. Consider the following components to be automated in your solution:

  • Application testing: You need to test your application every time you make any changes to ensure nothing breaks. Also, manual testing is very time-consuming and requires lots of resources. Automating repeatable test cases is better to speed up deployment and product launch. Automate your testing on a production scale and use rolling deployment techniques, such as canary...

Plan for business continuity

There may be a situation when the entire region where your data center is located goes down due to massive power grid outages, earthquakes, floods, or a security attack but your global business should continue running. In such situations, you must have a disaster recovery plan in which you will plan your business continuity by preparing sufficient IT resources in an entirely different region, perhaps even in different continents or countries, so that your business can get back up and running quickly or experience no downtime at all.

When planning disaster recovery, a solutions architect must understand an organization’s Recovery Time Objective (RTO) and Recovery Point Objective (RPO). RTO measures how much downtime a business can sustain without significant impact; RPO indicates how much data loss a business can tolerate. Reducing RTO and RPO means incurring higher costs, so it is essential to understand whether the business is mission-critical...

Design for operation

Operational excellence can be a great differentiator for your application by providing a high-quality service to customers with minimal outages. Applying operational excellence proactively also helps support and engineering teams increase productivity. Maintainability goes hand in hand with operational excellence. Easily maintainable applications help reduce costs, avoid errors, and let you gain a competitive edge.

A solutions architect needs to design for operation, including how the workload will be deployed, updated, and operated in the long term. Planning for logging, monitoring, and alerting is essential to capture all incidents and take quick action for the best user experience. Apply automation wherever possible, whether deploying infrastructures or changing the application code, to avoid human error.

Including deployment methods and automation strategy in your design is very important, as this can accelerate the time to market for any new changes...

Overcoming architectural constraints

When designing an application architecture, the significant limitations are cost, time, budget, scope, schedule, and resources. Overcoming these constraints is a significant factor that must be considered while designing a solution. You should look at the limitations as challenges that can be overcome rather than obstacles, as challenges always push you to the limit of innovation.

A solutions architect needs to make suitable trade-offs while considering the constraints. For example, a high-performance application results in more cost when you need to add additional caching in multiple layers of architecture. However, sometimes, cost is more important than performance, primarily if a system is used by internal employees, which may not directly impact revenue. Sometimes, the market is more important than launching a fully featured product, and you need to make the trade-off between scope versus speed. In such scenarios, you can take the minimum...

Summary

In this chapter, you explored an in-depth overview of design principles required to architect effective and efficient systems. Initially, we delved into scalable architecture design, detailing predictive and reactive scaling strategies, and discussing techniques for scaling architecture, including strategies for static content, session management for application server scaling, and database scaling. We also looked at the importance of elasticity.

The chapter then explored constructing a highly available and resilient architecture, emphasizing the necessity of fault tolerance and using replaceable resources for robust system design. A separate section was dedicated to performance, underscoring how to build systems that perform optimally under various conditions.

The principle of loose coupling was discussed next, highlighting its importance in modern design, followed by the approach of “services, not servers,” which is central to the serverless computing...

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • 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

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.

Who is this book 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.

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

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Mar 29, 2024
Length: 578 pages
Edition : 3rd
Language : English
ISBN-13 : 9781835084366
Languages :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Mar 29, 2024
Length: 578 pages
Edition : 3rd
Language : English
ISBN-13 : 9781835084366
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 159.97
Building LLM Powered  Applications
$49.99
Solutions Architect's Handbook
$59.99
The Machine Learning Solutions Architect Handbook
$49.99
Total $ 159.97 Stars icon

Table of Contents

19 Chapters
Solutions Architects in Organizations Chevron down icon Chevron up icon
Principles of Solution Architecture Design Chevron down icon Chevron up icon
Cloud Migration and Cloud Architecture Design Chevron down icon Chevron up icon
Solution Architecture Design Patterns Chevron down icon Chevron up icon
Cloud-Native Architecture Design Patterns Chevron down icon Chevron up icon
Performance Considerations Chevron down icon Chevron up icon
Security Considerations Chevron down icon Chevron up icon
Architectural Reliability Considerations Chevron down icon Chevron up icon
Operational Excellence Considerations Chevron down icon Chevron up icon
Cost Considerations Chevron down icon Chevron up icon
DevOps and Solution Architecture Framework Chevron down icon Chevron up icon
Data Engineering for Solution Architecture Chevron down icon Chevron up icon
Machine Learning Architecture Chevron down icon Chevron up icon
Generative AI Architecture Chevron down icon Chevron up icon
Rearchitecting Legacy Systems Chevron down icon Chevron up icon
Solution Architecture Document Chevron down icon Chevron up icon
Learning Soft Skills to Become a Better Solutions Architect Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7
(54 Ratings)
5 star 83.3%
4 star 9.3%
3 star 3.7%
2 star 1.9%
1 star 1.9%
Filter icon Filter
Top Reviews

Filter reviews by




carlos javier bazan huaman Aug 09, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
muy buenas bases te da el libro para entender sobre la arquitectura de software
Feefo Verified review Feefo
André Santos Jun 01, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Feefo Verified review Feefo
Dwayne Natwick Apr 29, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I recently obtained a copy of Packt Publishing’s Solution Architect’s Handbook – Third Edition from authors Saurabh Shrivastava and Neelanjali Srivastav. This book is an in-depth guide for architecting solutions and leveraging the benefits of the cloud. This book is 17 chapters of helpful information broken down into segments that are easy to comprehend and reference for anyone that is involved in architecting and designing infrastructure. In this revised edition, the authors have provided a focus on cloud-native technologies, generative AI, and data engineering utilizing the emerging and evolving cloud services to support these solutions. As a security professional, I was happy to see a full chapter on security considerations as well as security being aligned within the DevOps architecture. The final chapters of the guide provide input on handling legacy systems for re-engineering along with development of “soft skills” or operational skills for solutions architects. This book is helpful for anyone that is involved with designing, architecting, and supporting enterprise architectures, or just wants to know more about the technology that supports these infrastructures. Highly recommended.
Amazon Verified review Amazon
Matt H. Apr 12, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I found it quite useful that all the different Architect were broken down and explored. This really helped me understand the role, what is needed from the role, and what is needed for the role.Very much recommended.
Amazon Verified review Amazon
Brian Chan Apr 23, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book does an admirable job of keeping pace with the rapidly evolving landscape of technology. Chapters on emerging trends such as MLOps and generative AI reflect the authors' commitment to providing up-to-date guidance that is relevant in today's fast-paced industry.
Amazon Verified review Amazon