Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Serverless Building Blocks for Microservices

AWS Serverless Building Blocks for Microservices

Over the past decade, serverless technologies have evolved tremendously. Today, any software running in the cloud, uses serverless functions, at least for DevOps operations.

But what are the use cases for serverless beyond DevOps?
Can we use serverless to build Microservices?
What are the AWS offerings for serverless and what makes them so unique?

This presentation addresses these questions which I have presented in the inaugural serverless user group event happened in Sri Lanka.

Avatar for Ashan Fernando

Ashan Fernando

September 19, 2019

Other Decks in Technology

Transcript

  1. Slide 2 Simple serverless web application Let’s use the following

    technology stack • Single Page Application Frontend (e.g; Angular/React) • Backend with NodeJS • Database NoSQL (e.g; Amazon DynamoDB) • Identity Provider supporting OpenIDConnect/OAuth2 (e.g; AWS Cognito)
  2. Slide 9 What about the interactions? • Dealing with interactions

    between Microservices is harder than you think. • Interactions only using the Microservices API won't be enough.
  3. Slide 10 Let's take an example • Microservice 1 has

    a User Table in its Database, which keeps Users in the application. • Microservice 2 has an Employee Table which stores data related to Employees. • If someone changes the email in Microservice 1, this might need to reflect in Microservice 2.
  4. Slide 11 Option 1 Can't we simply call both Services

    from Frontend Client, one after the other?
  5. Slide 15 SAGA's to rescue using AWS Step Functions •

    Distributed transactions are expensive. • SAGA pattern to rescue. • Local Transactions inside Microservices. • Connected with SAGAs. • Need to rollback • You can use AWS Step Functions to implement SAGAs.
  6. Slide 17 What makes AWS serverless services unique? • These

    are actual building blocks. • Possible to connect with each other easily. • Truly Serverless Services. • Consumption based costs.