<p><b>A quick start guide to learning essential software architecture tools, frameworks, design patterns, and best practices</b></p><h4>Key Features</h4><ul><li>Apply critical thinking to your software development and architecture practices and bring structure to your approach using well-known IT st
Software Architecture for Busy Developers: Talk and act like a software architect in one weekend
โ Scribed by Stรฉphane Eyskens
- Publisher
- Packt Publishing
- Year
- 2021
- Tongue
- English
- Leaves
- 174
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
A quick start guide to learning essential software architecture tools, frameworks, design patterns, and best practices
Key Features
- Apply critical thinking to your software development and architecture practices and bring structure to your approach using well-known IT standards
- Understand the impact of cloud-native approaches on software architecture
- Integrate the latest technology trends into your architectural designs
Book Description
Are you a seasoned developer who likes to add value to a project beyond just writing code? Have you realized that good development practices are not enough to make a project successful, and you now want to embrace the bigger picture in the IT landscape? If so, you're ready to become a software architect; someone who can deal with any IT stakeholder as well as add value to the numerous dimensions of software development.
The sheer volume of content on software architecture can be overwhelming, however. Software Architecture for Busy Developers is here to help. Written by Stรฉphane Eyskens, author of The Azure Cloud Native Mapbook, this book guides you through your software architecture journey in a pragmatic way using real-world scenarios. By drawing on over 20 years of consulting experience, Stephane will help you understand the role of a software architect, without the fluff or unnecessarily complex theory.
You'll begin by understanding what non-functional requirements mean and how they concretely impact target architecture. The book then covers different frameworks used across the entire enterprise landscape with the help of use cases and examples. Finally, you'll discover ways in which the cloud is becoming a game changer in the world of software architecture.
By the end of this book, you'll have gained a holistic understanding of the architectural landscape, as well as more specific software architecture skills. You'll also be ready to pursue your software architecture journey on your own - and in just one weekend!
What you will learn
- Understand the roles and responsibilities of a software architect
- Explore enterprise architecture tools and frameworks such as The Open Group Architecture Framework (TOGAF) and ArchiMate
- Get to grips with key design patterns used in software development
- Explore the widely adopted Architecture Tradeoff Analysis Method (ATAM)
- Discover the benefits and drawbacks of monoliths, service-oriented architecture (SOA), and microservices
- Stay on top of trending architectures such as API-driven, serverless, and cloud native
Who this book is for
This book is for developers who want to move up the organizational ladder and become software architects by understanding the broader application landscape and discovering how large enterprises deal with software architecture practices. Prior knowledge of software development is required to get the most out of this book.
Table of Contents
- Introducing Software Architecture
- Exploring Architecture Frameworks
- Understanding ATAM and Software Quality Attributes
- Reviewing Historical Architectural Styles
- Design Patterns and Clean Architecture
- Impact of the Cloud on Software Architecture Practices
- Architectural Trends and Summary
โฆ Table of Contents
Cover
Title Page
Copyright and Credits
Contributors
Table of Contents
Preface
Section 1: Introduction
Chapter 1: Introducing Software Architecture
Software architecture in a nutshell
A software architect's duties
Introducing the different architecture disciplines
EA
Positioning software architecture within the global architecture landscape
Summary
Section 2: The Broader Architecture Landscape
Chapter 2: Exploring Architecture Frameworks and Methodologies
Introducing frameworks and methodologies
Delving into TOGAF, ArchiMate, and related tools โ EA
Introducing TOGAF's ADM
Building blocks
Architecture patterns
EA wrap-up
Introducing security frameworks
COBIT for risk
NIST
ITIL in a nutshell
Summary
Chapter 3: Understanding ATAM and the Software Quality Attributes
Introducing ATAM
Understanding sensitivity points, trade-off points, risks, and non-risks
Exploring quality attributes
Getting started with quality-attribute scenarios
Practical use case
Utility trees
Quality-attribute scenarios
Identified sensitivity points
Architectural approaches
ATAM and agile at scale
Summary
Section 3: Software Design Patterns and Architecture Models
Chapter 4: Reviewing the Historical Architecture Styles
Introducing architecture styles
Starting with monoliths
Benefits of monoliths
Challenges of monoliths
Continuing with service-oriented architecture (SOA)
Benefits of SOA
Challenges of SOA
Microservices
Benefits of microservices
Challenges of microservices
Hosting microservices
Microservices in action
Summary
Chapter 5: Design Patterns and Clean Architecture
Technical requirements
Understanding design patterns and their purpose
Reviewing the GoF
Delving into the most recurrent patterns and applying them to a use-case scenario
Understanding the DI pattern
Exploring the singleton design pattern
Factory method
Lazy loading/initialization pattern
Strategy pattern
Mediator pattern
Facade design pattern
Repository design pattern
Design patterns use case
Looking at clean architecture
My top 10 code smells
Summary
Section 4: Impact of the Cloud on Software Architecture Practices
Chapter 6: Impact of the Cloud on the Software Architecture Practice
Technical requirements
Introducing cloud service models, the cloud, and cloud-native systems
Software as a Service (SaaS)
Function as a Service (FaaS)
Platform as a Service (PaaS)
Containers as a Service (CaaS)
Infrastructure as a Service (IaaS)
Anything as a Service (XaaS or *aaS)
Service models and software quality attributes
Cloud versus cloud native
Mapping cloud services to architecture styles and patterns
Reviewing cloud and cloud-native patterns
The Cache-Aside pattern
Understanding the SAGA pattern
Command Query Request Segregation (CQRS)
Event sourcing
Summary
Section 5: Architectural Trends and Summary
Chapter 7: Trendy Architectures and Global Summary
Technical requirements
API-driven architectures
Hands-on with a microservice architecture example
Service discovery and communication
Exploring the essential parts of the code
Deploying the application
Testing the application
Hands-on with a serverless architecture example
Event publisher code
Deploying the required infrastructure
Testing the application
Summary
Postface
Other Books You May Enjoy
Index
๐ SIMILAR VOLUMES
A comprehensive guide to exploring software architecture concepts and implementing best practices Key Features โข Enhance your skills to grow your career as a software architect โข Design efficient software architectures using patterns and best practices โข Learn how software architecture relates
<p><b>A comprehensive guide to exploring software architecture concepts and implementing best practices</b><p><b>Key Features</b><p><li>Enhance your skills to grow your career as a software architect<li>Design efficient software architectures using patterns and best practices<li>Learn how software a
A comprehensive guide to exploring software architecture concepts and implementing best practices Key Features Enhance your skills to grow your career as a software architect Design efficient software architectures using patterns and best practices Learn how software architecture relates to an organ
A developer-friendly guide to software architecture, technical leadership and the balance with agility<br>This book is a practical and pragmatic guide to lightweight software architecture for developers. Youll learn:<br>The essence of software architecture.<br>Why the software architecture role shou
A developer-friendly guide to software architecture, technical leadership and the balance with agility This book is a practical and pragmatic guide to lightweight software architecture for developers. You'll learn: The essence of software architecture. Why the software architecture ro