A professional's guide to solving complex problems while designing modern software

Key Features
  • Learn best practices for designing enterprise-grade software systems from a seasoned CTO
  • Deeper your understanding of system reliability, maintainability, and scalability
  • Elevate your skills to a professional level by learning the most effective software design patterns and architectural concepts
Book Description

As businesses are undergoing a digital transformation to keep up with competition, it is now more important than ever for IT professionals to design systems to keep up with the rate of change while maintaining stability.

This book takes you through the architectural patterns that power enterprise-grade software systems and the key architectural elements that enable change (such as events, autonomous services, and micro frontends), along with showing you how to implement and operate anti-fragile systems.

First, you'll divide up a system and define boundaries so that your teams can work autonomously and accelerate innovation. You'll cover low-level event and data patterns that support the entire architecture, while getting up and running with the different autonomous service design patterns.

Next, the book will focus on best practices for security, reliability, testability, observability, and performance. You'll combine all that you've learned and build upon that foundation, exploring the methodologies of continuous experimentation, deployment, and delivery before delving into some final thoughts on how to start making progress.

By the end of this book, you'll be able to architect your own event-driven, serverless systems that are ready to adapt and change so that you can deliver value at the pace needed by your business.

What you will learn
  • Explore architectural patterns to create anti-fragile systems that thrive with change
  • Focus on DevOps practices that empower self-sufficient, full-stack teams
  • Build enterprise-scale serverless systems
  • Apply microservices principles to the frontend
  • Discover how SOLID principles apply to software and database architecture
  • Create event stream processors that power the event sourcing and CQRS pattern
  • Deploy a multi-regional system, including regional health checks, latency-based routing, and replication
  • Explore the Strangler pattern for migrating legacy systems
Who this book is for

This book is for software architects who want to learn more about different software design patterns and best practices. This isn't a beginner's manual – you'll need an intermediate level of programming proficiency and software design to get started. You'll get the most out of this software design book if you already know the basics of the cloud, but it isn't a prerequisite.

Les mer
Software Architecture Patterns for Serverless Systems is a comprehensive reference guide to designing architecture and implementing proven practices for delivering business value in a dynamic environment. As you progress, you'll cover concepts that influence the architectural decisions behind design patterns.
Les mer
Table of Contents
  1. Architecting for Innovation
  2. Defining Boundaries and Letting Go
  3. Taming the Presentation Tier
  4. Trusting Facts and Eventual Consistency
  5. Turning the Cloud into the Database
  6. A Best Friend for the Frontend
  7. Bridging Intersystem Gaps
  8. Reacting to Events with More Events
  9. Choreographing Deployment and Delivery
  10. Don't Delay, Start Experimenting
Les mer

Produktdetaljer

ISBN
9781800207035
Publisert
2021-04-23
Utgiver
Vendor
Packt Publishing Limited
Høyde
93 mm
Bredde
75 mm
Aldersnivå
P, 06
Språk
Product language
Engelsk
Format
Product format
Heftet
Antall sider
436

Biographical note

John Gilbert is a CTO with over 30 years of experience in architecting and delivering software systems across many industries. His cloud journey has spanned all the levels of cloud maturity, from lift and shift and software-defined infrastructure to microservices and continuous deployment. He was an early serverless adopter and put his first serverless workloads into production just months after AWS Lambda's introduction. He has also authored Cloud Native Development Patterns and Best Practices and JavaScript Cloud Native Development Cookbook. He finds delivering serverless solutions to be, by far, the most fun and satisfying, as they force us to rewire how we reason about systems and enable us to accomplish far more with much less effort and risk.