Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Serverless Design Patterns and Best Practices

You're reading from   Serverless Design Patterns and Best Practices Build, secure, and deploy enterprise ready serverless applications with AWS to improve developer productivity

Arrow left icon
Product type Paperback
Published in Apr 2018
Publisher Packt
ISBN-13 9781788620642
Length 260 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Brian Zambrano Brian Zambrano
Author Profile Icon Brian Zambrano
Brian Zambrano
Arrow right icon
View More author details
Toc

Table of Contents (12) Chapters Close

Preface 1. Introduction FREE CHAPTER 2. A Three-Tier Web Application Using REST 3. A Three-Tier Web Application Pattern with GraphQL 4. Integrating Legacy APIs with the Proxy Pattern 5. Scaling Out with the Fan-Out Pattern 6. Asynchronous Processing with the Messaging Pattern 7. Data Processing Using the Lambda Pattern 8. The MapReduce Pattern 9. Deployment and CI/CD Patterns 10. Error Handling and Best Practices 11. Other Books You May Enjoy

Design patterns

With a good understanding of serverless computing behind us, let's turn our attention to design patterns.

If you've spent any amount of time working with software, you will have heard the term design pattern and may very well be familiar with them to some degree. Stepping back slightly, let's discuss what a design pattern is.

I will assert that if you ask 10 different developers to define the term design pattern, you will get 10 different answers. While we all may have our definition, and while those definitions may not be wrong, it's relatively simple to agree on the general spirit or idea of a software design pattern. Within the context of software engineering, design patterns are reusable solutions or code organization applied to a frequently occurring problem. For example, the Model-View-Controller pattern evolved to solve the problem of GUI applications. The Model-View-Controller pattern can be implemented in almost any language for nearly any GUI application.

Software design patterns evolved as a solution to help software authors be more efficient by applying well-known and proven templates to their application code. Likewise, architectural patterns provide the same benefits but at the level of the overall system design, rather than at the code level.

In this book, we won't be focusing on software design, but rather architectural design in serverless systems. In that vein, it's worth noting that the context of this book is serverless architectures and our patterns will manifest themselves as reusable solutions that you can use to organize your functions and other computing resources to solve various types of problem on your serverless platform of choice.

Of course, there is an infinite number of ways to organize your application code and hundreds of software and architectural patterns you can use. The primary focus here is the general organization or grouping of your functions, how they interact with one another, the roles and responsibilities of each function, and how they operate in isolation but work together to compose a larger and more complex system.

As serverless systems gain traction and become more and more popular, I would expect serverless patterns such as those we will discuss in this book to grow in both popularity and number.

You have been reading a chapter from
Serverless Design Patterns and Best Practices
Published in: Apr 2018
Publisher: Packt
ISBN-13: 9781788620642
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at ₹800/month. Cancel anytime