Software Architecture Patterns for Serverless Systems: Architecting for innovation with event-driven microservices and micro frontends
, Second Edition
Gain insights from a seasoned CTO on best practices for designing enterprise-grade software systems
Deepen your understanding of system reliability, maintainability, observability, and scalability with real-world examples
Elevate your skills with software design patterns and architectural concepts, including securing in-depth and running in multiple regions
Description
Organizations undergoing digital transformation rely on IT professionals to design systems to keep up with the rate of change while maintaining stability. With this edition, enriched with more real-world examples, you’ll be perfectly equipped to architect the future for unparalleled innovation.
This book guides through the architectural patterns that power enterprise-grade software systems while exploring key architectural elements (such as events-driven microservices, and micro frontends) and learning how to implement 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 the low-level event and data patterns that support the entire architecture while getting up and running with the different autonomous service design patterns.
This edition is tailored with several new topics on security, observability, and multi-regional deployment. It focuses on best practices for security, reliability, testability, observability, and performance. You'll be 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.
Who is this book 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 experience 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.
What you will learn
Explore architectural patterns to create anti-fragile systems
Focus on DevSecOps practices that empower self-sufficient, full-stack teams
Apply microservices principles to the frontend
Discover how SOLID principles apply to software and database architecture
Gain practical skills in deploying, securing, and optimizing serverless architectures
Deploy a multi-regional system and explore the strangler pattern for migrating legacy systems
Master techniques for collecting and utilizing metrics, including RUM, Synthetics, and Anomaly detection
Defines the why and the how of architecting, designing, and building robust, fault-tolerant applications, adapting time-honored patterns, principles, and practices, and adapting them to the Cloud. References many proven methodologies and puts them together in an innovative yet practical way. There is much meaty food for thought as well as instructions for the practical application of the patterns and principles. As has been mentioned in other reviews, there is also sample code available.Lacking experience in those time-honored principles, patterns, and methodologies? This book contains abundant references to resources that will bring you up to speed. The last chapter provides instructions to help organizations "dip their toes in the water" and get started quickly.With 40+ years in the software industry, I recognize that this book is full of better ways of thinking about architecture, design, and implementation of software applications. I look forward to designing and building my next application using the patterns described in this book.
Amazon Verified review
Henry YehMar 22, 2024
5
This book is both an excellent intro into the world of serverless computing in the cloud, as well as a guide for experienced engineers who are attempting to modernize their stack. It’s a good reference with easy to find sections written in a way that’s not condescending to the technically minded.
Amazon Verified review
ekekoApr 28, 2024
5
Bei meiner Reise in die Welt der Cloud-Technologien hat sich dieses Buch als wertvolle Ressource erwiesen. Es präsentiert einen pragmatischen Ansatz, der auf den persönlichen Erfahrungen des Autors basiert und dem Inhalt eine menschliche Note verleiht. Besonders schätze ich die praktischen Beispiele und Vorlagen, die zur Verdeutlichung komplexer Konzepte beitragen.Ein bemerkenswerter Aspekt des Buches ist für mich die Einführung von FinOps, die sich mit dem finanziellen Aspekt von Cloud-Lösungen befasst. Obwohl dies ein wichtiges Thema ist, insbesondere für technische Fachleute, gestaltet sich die Handhabung manchmal schwierig.Zusammenfassend bietet dieses Buch wertvolle Einblicke in Cloud-Architekturen, indem es praktische Weisheit mit realen Erfahrungen kombiniert. Trotz einiger Einschränkungen bei den Sprachbeispielen (alle in JavaScript) bleibt es ein lohnenswertes Leseerlebnis für alle, die sich durch die Komplexität der Cloud-Technologien bewegen möchten.
Amazon Verified review
ElmerAApr 07, 2024
5
Much of my review stems from my background: I've been in software development for 25 years running and I'm involved with maintaining and evolving legacy monolithic systems. So I've gone through a good chunk of the history pretty much - from client-server, to web-based and now to cloud-native systems. Suffice to say I'm always in the lookout for material that shows the state-of-the-art and how systems are being designed, developed, tested and operationalized currently.It is rare to find a book that not just explains what or how an architecture is to be implemented but also the why. It is truly insightful to know how much of the pitfalls of the engineering trends and decisions made before have contributed to where we are today. People my age - who have done their share of development and might either be working as managers, enterprise architects, or department leaders - need to appreciate how critical it is for current systems to be designed to adapt to change (as cliche as that sounds) and how necessary the mindset is of architecting systems with change and speed as the driving principle. This book does an outstanding job of setting the reader's mindset by showing the whys through a walkthrough on the barriers that prevent us from shipping software fast and responsive to change.While the book presents the current approach (or one of possible approaches) in designing software, it doesn't shoehorn that down to the reader's throat and has actually presented the potential pitfalls of modern design (i.e. the microservices Death Star). This has been particularly refreshing for me to hear since all we hear about currently is how microservices is the way forward from monolithic and the Holy Grail of solving all of our development issues.I recommend this book for those who want an overview of modern software architecture design with a focus on serverless, with a sound exposition on how we got here and the reasons for doing so. It's difficult to find this kind of information out there as most jump immediately to implementation details.
Amazon Verified review
Guy HardingMay 03, 2024
5
As a software systems architect, there is a lot to wrap your head around when considering serverless. I've been designing and fixing software systems for 20+ years, but I had not done a deep dive into serverless until reading this book.The book explains why serverless is important today, details the principles & objectives of a serverless architecture, and provides a practical catalog of useful architectural patterns (even if you're not implementing a purely serverless approach).I've already applied several concepts to my current projects, and look forward to implementing several more as I build.I highly recommend for architects and engineers who want to understand serverless better and add serverless approaches to their tool chest.
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.
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.
A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content
How can I cancel my subscription?
To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.
What are credits?
Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.
What happens if an Early Access Course is cancelled?
Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.
Where can I send feedback about an Early Access title?
If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team.
Can I download the code files for Early Access titles?
We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.
When we publish the book, the code files will also be available to download from the Packt website.
How accurate is the publication date?
The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.
How will I know when new chapters are ready?
We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.
I am a Packt subscriber, do I get Early Access?
Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.
How is Early Access delivered?
Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.
How do I buy Early Access content?
Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.
What is Early Access?
Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.