Serverless Design Patterns and Best Practices
3.0 (6 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
43 students enrolled

Serverless Design Patterns and Best Practices

Choosing the right serverless pattern for your next project
3.0 (6 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
43 students enrolled
Created by Packt Publishing
Last updated 9/2018
English [Auto-generated]
Current price: $80.99 Original price: $124.99 Discount: 35% off
16 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4.5 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understanding of the microservices pattern and the architectural choices.
  • Use command pattern, messaging pattern, priority queue pattern, fan-out pattern, pipes and filters pattern in real-life use cases.
  • Create vendor independent serverless functions
Course content
Expand all 27 lectures 04:21:00
+ Vendor and Tools
5 lectures 49:51

This video provides an overview of the entire course.

Preview 05:23

Define serverless and the impacts of this architecture.

   •  Understand what really is

   •  Understand the benefits of a serverless architecture

Introduction to Serverless

Understand which main vendors are providing serverless solutions.

   •  Learn about AWS

   •  Learn about Google

   •  Learn about Microsoft Azure


In this video, you will get started with.

   •  Create a simple Hello World project

   •  Understand .yml

   •  Understand the scope and meaning of function handler

Serverless Framework

This video aims at building a production-ready version of hello world.

   •  Understand what production-ready means

   •  Checkout starter project

   •  Understand testing, code coverage, and CI/CD

Production Serverless
+ Serverless Use Cases and Migration
4 lectures 26:52

Learn what problems can be solved with.

   •  Understand what use cases are best suited for and what should be avoided

   •  Understand why some companies avoid

Is Serverless an OneSize Fits All Solution?

Learn how to migrate from Monolithic code to microservices.

   •  Learn about domain driven design

   •  Learn about simple migration workflow

   •  Understand with a simple use case

Moving from Monoliths to Serverless

Understand what the most common pains of serverless world are and why they are relevant.

   •  Understand coordination issues

   •  Understand service discovery issues

   •  Understand data processing issues

Pains in a Serverless World

Introduce an open source solution.

   •  Understand OpenFaaS

   •  Understand the benefits and drawbacks of OpenFaaS

Is Vendor Independent Serverless Possible?
+ Writing Microservices
2 lectures 19:46

Learn the difference between Micro and Nano services.

   •  Understand what Micro and Nano stand for

   •  Understand a simple microservice

   •  Understand the advantages of microservices over nanoservices

Preview 07:45

Learn how a Lambda function can be invoked and how to avoid cold start.

   •  Learn about Lambda synchronous and asynchronous invocation

   •  Understand the structure of an API Gateway Proxy Event

   •  Learn how to reduce Lambda cold start

Lambda Event Invocation
+ Layered Architecture
3 lectures 34:00

Learn the benefits of layered architectures.

   •  Understand the HTTP Request/Response round trip

   •  Understand what a layered architecture is

   •  Understand the advantages of layered architectures

Introduction to Layered Architectures

Learn which layers are the best to be adopted within your architecture.

   •  Understand what is a DI container

   •  Understand every layer of this architecture

Layers Description

Build a simple CRUD service.

   •  Learn what is inside the project

   •  Learn how intravenous has been used

   •  Understand how to check and read code starting from running tests

+ Architectural Patterns
3 lectures 28:30

Learn how a paradigm can be extended to managed services.

   •  Understand Amazon Kinesis and Kinesis Firehose

   •  Understand AWS Step Functions

   •  Understand AWS IoT topics and IoT Rules

Introduction to AWS Managed Services

Learn how a Message Bus pattern can be implemented in a way.

   •  Understand messaging flavors

   •  Understand architecture diagram

   •  Understand the benefits of proposed architecture

Message Bus

Implement command pattern.

   •  Understand how Lambda can ease out the difficulties of command pattern implementations

   •  Learn how to implement a Lambda-only architecture

   •  Learn how to implement using Step Functions

Command Pattern
+ Managing Dependencies
3 lectures 28:50

Learn what can go wrong with microservices.

   •  Understand the many types of failures

   •  Understand the differences between failures in runtime using promises

   •  Understand the CloudWatch service and its capabilities, together with Dead Letter Queue

Handling Services Failures

Learn how a Lambda function can be invoked and how to avoid cold start.

   •  Learn what Step Function is

   •  Deep-dive into the console and execution graph

   •  Understand how Step Functions can help in coordinating Lambdas

Orchestration with Step Functions

Understand the CoR pattern and possible implementations.

   •  Learn what Chain of Responsibility is and when it can be applied

   •  Understand an implementation using StepFunctions

   •  Understand an implementation using SQS

Chain of Responsibility
+ Use Cases and Examples
2 lectures 19:05

Learn how REST can be addressed with CRUD data modeling.

   •  See how CRUD modeling works

   •  Understand the limits of CRUD

   •  Understand where CRUD is best suited

REST Endpoints

Learn how CQRS can solve a number of use cases where CRUD is not sufficient.

   •  Learn how CQRS is composed

   •  Understand CQRS’s use cases

   •  Understand CQRS’s limits

+ Data Pipelines
3 lectures 32:37

FaaS is not the only way to have architectures.

   •  Understand how HTTP is just one of many Lambda triggers

   •  Understand the list of Lambda triggers

Serverless Beyond FaaS

Learn what throughput is and how it can be handled at architectural level.

   •  Learn what stream is

   •  Learn what throughput is

   •  Fan-in/Fan-out can be implemented with AWS services

Fan-in/Fan-out, Pipes, and Filters

Learn how can be used to implement reactive services.

   •  Learn the features of reactive services

   •  Learn how functional programming can be implemented by services

Functional Serverless
+ Use Cases and Wrap-Up
2 lectures 21:29

Learn common data pipeline use cases.

   •  Learn about user interaction

   •  Learn about analytics streams

   •  Learn about machine learning implementation with technologies

Use Cases

Summarize the course.

Course Wrap-Up
  • Prior knowledge of programming and basic serverless computing is assumed.

This course describes reusable serverless patterns for event-driven data processing, web applications, mobile and IoT applications, application ecosystems, and event workflows. You will learn about the various patterns such as the command pattern, messaging pattern, priority queue pattern, and fan-out pattern, and gain insights into when to use which one. Patterns related to authentication, automation, data management, and error handling will also be covered. We also delve into DevOps concepts and take you through CI and CD. Finally you'll master patterns involved in testing, securing, and scaling your cloud-native applications

About the Author

Luca Bianchi with 10+ years' expertise in software development and architectures, serves as the CTO and Principal Product Engineer at Neosperience, shaping the future of the digital customer experience with a microservice- and 100% serverless-product architecture, taken from project to production and actively maintained constantly by adopting cutting-edge technologies.

Software architectures and serverless technologies are the main component of Luca's everyday activities both as a programmer and a researcher evaluating best solutions for a given set of constraints. 

Who this course is for:
  • This course is intended for developers, architects, system operators, and anyone who wants to build serverless applications and would like to master the relevant patterns to become a better software engineer.