Software Architecture and Decision-Making - Bookswagon UAE
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Home > Computing and Information Technology > Computer programming / software engineering > Software Engineering > Software Architecture and Decision-Making: Leveraging Leadership, Technology, and Product Management to Build Great Products
Software Architecture and Decision-Making: Leveraging Leadership, Technology, and Product Management to Build Great Products

Software Architecture and Decision-Making: Leveraging Leadership, Technology, and Product Management to Build Great Products


     0     
5
4
3
2
1



International Edition


X
About the Book

Leverage leadership knowledge to make better software architecture decisions. Think deeply but implement slowly.

 

The overarching goal of software systems (hence, for software architecture) is to build systems that meet quality standards and that provide the highest return on investment (ROI) in the long run or within a defined period of time.

 

A great product requires a combination of technology, leadership, and product management (including UX). Leadership is primarily about managing uncertainty and making the right judgment. To build great products, technical leaders need to combine technology, leadership, and product management knowledge, and make the right decisions. Many technical mistakes come from the gap between knowledge about these three items and judgment.

 

In Software Architecture and Decision-Making, Srinath Perera explains principles and concepts that software architects must understand deeply and how to employ those principles to manage uncertainty. The questions and principles discussed in this book help manage uncertainty while building software architecture and provide a framework for making decisions. This book is for all technical leaders in the software industry who make holistic judgments about the systems they build and for future leaders learning the craft.

  • Understand the importance of strong decision making with examples from great technical leaders such as the Wright brothers and Kelly Johnson
  • Leverage five key questions and seven important principles to understand uncertainties during the design process and make strategic architectural decisions
  • Approach the design systematically, first at the macro level and then the individual service level

 

This definitive guide explains principles and concepts--technical and non-technical alike--that software architects, senior software engineers, and technical leads must understand to manage the inevitable uncertainty involved in building software systems and to drive success of the products for which they are responsible.

 

Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.



Table of Contents:

Chapter 1: Introduction to Software Leadership   1

Role of Judgment   1

Goal of This Book   3

Part I: Introduction   6

Part II: Essential Background   7

Part III: System Design   7

Part IV: Putting Everything Together   8

 

Chapter 2: Understanding Systems, Design, and Architecture   9

What Is Software Architecture?    9

How to Design a System   11

Five Questions   12

Seven Principles: The Overarching Concepts   16

Designing for an Online Bookstore   24

Designing for the Cloud   27

Summary   29

 

Chapter 3: Mental Models for Understanding and Explaining System Performance   31

A Computer System   32

Models for Performance   33

Optimization Techniques   41

Intuitive Feel for Performance   46

Leadership Considerations   46

Summary   47

 

Chapter 4: Understanding User Experience (UX)    49

General UX Concepts for Architects   49

UX Design for Configurations   53

UX Design for APIs   54

UX Design for Extensions   56

Leadership Considerations   57

Summary   57

 

Chapter 5: Macro Architecture: Introduction   59

History of Macro Architecture   60

Modern Architectures   62

Macro Architectural Building Blocks   63

Leadership Considerations   66

Summary   68

 

Chapter 6: Macro Architecture: Coordination   69

Approach 1: Drive Flow from Client   69

Approach 2: Use Another Service   70

Approach 3: Use Centralized Middleware   71

Approach 4: Implement Choreography   71

Leadership Considerations   73

Summary   73

 

Chapter 7: Macro Architecture: Preserving Consistency of State   75

Why Transactions?    75

Why Do We Need to Go Beyond Transactions?    76

Going Beyond Transactions   77

Best Practices   80

Leadership Considerations   81

Summary   83

 

Chapter 8: Macro Architecture: Handling Security   85

User Management   86

Interaction Security   88

Storage, GDPR, and Other Regulations   96

Security Strategy and Advice   98

Leadership Considerations   101

Summary   103

 

Chapter 9: Macro Architecture: Handling High Availability and Scale   105

Adding High Availability   105

Understanding Scalability   109

Scaling for a Modern Architecture: Base Solution   110

Scaling: The Tools of Trade   111

Building Scalable Systems   113

Leadership Considerations   117

Summary   118

 

Chapter 10: Macro Architecture: Microservices Considerations   119

Decision 1: Handling Shared Database(s)    120

Decision 2: Securing Microservices   122

Decision 3: Coordinating Microservices    122

Decision 4: Avoiding Dependency Hell   122

Loosely Coupled, Repository-Based Teams as an Alternative to Microservices   125

Leadership Considerations   126

Summary   127

 

Chapter 11: Server Architectures   129

Writing a Service   129

Understanding Best Practices for Writing a Service   130

Understanding Advanced Techniques   132

Using These Techniques in Practice   143

Leadership Considerations   146

Summary   147

 

Chapter 12: Building Stable Systems   149

Why Do Systems Fail, and What Can We Do About Them?    149

How to Handle Known Errors   151

Common Bugs   159

How to Handle Unknown Errors   161

Graceful Degradation   163

Leadership Considerations   163

Summary   164

 

Chapter 13: Building and Evolving the Systems   165

Getting Your Hands Dirty   165

Communicating the Design   172

Evolving the System: How to Learn from Your Users and Improve the System   172

Leadership Considerations   175

Summary   176

 

Index   179



About the Author :

Srinath Perera has been an Apache open source developer for the last 20 years. He has played a major role in the architecture of Apache Axis2, Apache Airavata, WSO2 CEP (Siddhi), and WSO2 Choreo. He has designed two SOAP engines and helped build four. He is a committer (a developer who can commit to a code base) for Apache Axis, Axis2, Apache Geronimo, and Apache Airavata.

 

He joined WSO2 in 2009 after finishing his PhD. WSO2 products are used by many Fortune 500 companies such as airlines, banks, and governments. At WSO2, he has played an architecture review role for 10+ projects and 100+ releases. He reviewed hundreds of customer solution architectures and deployments and sat in on thousands of architecture reviews. He has published 40+ peer-reviewed research articles, which have been referenced by thousands of other research publications.


Best Sellers


Product Details
  • ISBN-13: 9780138249731
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison Wesley
  • Height: 232 mm
  • No of Pages: 208
  • Spine Width: 11 mm
  • Weight: 468 gr
  • ISBN-10: 0138249733
  • Publisher Date: 02 Jan 2024
  • Binding: Paperback
  • Language: English
  • Returnable: Y
  • Sub Title: Leveraging Leadership, Technology, and Product Management to Build Great Products
  • Width: 188 mm


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Software Architecture and Decision-Making: Leveraging Leadership, Technology, and Product Management to Build Great Products
Pearson Education (US) -
Software Architecture and Decision-Making: Leveraging Leadership, Technology, and Product Management to Build Great Products
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Software Architecture and Decision-Making: Leveraging Leadership, Technology, and Product Management to Build Great Products

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!