How did we move from microservices spaghetti to completely serverless FaaS and GraphQl.
Serverless API in Go, with AWS Lambda, API Gateway and DynamoDB.: https://almouallem.net/2019/04/28/serverless-api-in-go-with-aws-lambda-api-gateway-and-dynamodb/
4. What is FaaS
A paradigm to allow developers to Build, Deploy, and Scale applications at the
FUNCTION level.
5. What is serverless
Serverless is more about the configuration and management of your services in
the cloud, where scaling is managed for you.
6. Serverless is not
only Lambda
functions.
● S3
● ECS fargate
● AppSync
● SQS
● SNS
● API Gateway
FaaS
BaaS
7. Why FaaS
● Simplify the way developers write and run cloud applications
● It helps to apply the principle of least privilege (POLP) which means every
part of the application has minimal access to the data it needs.
15. History
Previously we had spaghetti architecture where we have N of backend services, talk to what we call
backend to frontend which also talk to each others and channels which talk to multiple backend to
frontend.
Backend services: is a microservices with their own API, documentations and setup.
Backend to frontend: is a microservices with their own API, documentations and setup tailored down to
serve a front application
Channel: is a the user touch point and served by backend to frontend.
.
35. What do we need to automate
Functions
● Test
● Build
● Zip
● Upload to storage
● Generate Terraform
code
Infrastructure
● Provisioning resources
● AppSync Schema
● AppSync Resolvers
Other stuff
● Grafana dashboard
● Alert
● Logs