# Serverless Architecture <!-- Put the link to this slide here so people can follow --> slides: https://hackmd.io/@fQQDF_CASym1hHuH4BoWSw/serverless-talk-05-20-2021#/ ---- ## Who am I? - Senior Specialist Solutions Architect - Work @ Red Hat - I love Open Source Technology ---- ## Serverless Architecture Defined as application designs that incourprate third-party "Backend as a Service" (BaaS) services. They can also include clustom code that is run or managed in epcheremal containers on "Functions as a Service" (FaaS). ---- ### Principles of FaaS: * Complete management of servers * Invocation based billing * Event-driven and instantaneously scalable ---- ### Monolith Architecture Review Monolith Architecture ```graphviz # Place the cursor inside "graph" to get some refactoring options strict digraph { "Client (browser)" [shape="ellipse" style="filled" fillcolor="green"] "Server" [shape="polygon" style="filled" fillcolor="orange"] "Database" [shape="cylinder" style="filled" fillcolor="yellow"] "Client (browser)" -> "Server" -> "Database" [fillcolor="#a6cee3" color="#1f78b4"] } ``` ---- ### Serverless architecture Serverless architecture ```graphviz strict digraph { "3. Client (browser)" [shape="ellipse" style="filled" fillcolor="white"] "1. Autentication Service" [shape="ellipse" style="filled" fillcolor="green"] "API Gateway" [shape="ellipse" style="filled" fillcolor="orange"] "5. Purchase Function" [shape="polygon" style="filled" fillcolor="orange"] "4. Search Function" [shape="polygon" style="filled" fillcolor="orange"] "Purchase Database" [shape="cylinder" style="filled" fillcolor="yellow"] "2. Product Database" [shape="cylinder" style="filled" fillcolor="yellow"] "5. Purchase Function" -> "Purchase Database" "1. Autentication Service" -> "3. Client (browser)" "3. Client (browser)" -> "API Gateway" "API Gateway" -> "5. Purchase Function" "API Gateway" -> "4. Search Function" "3. Client (browser)" -> "2. Product Database" "4. Search Function" -> "2. Product Database" } ``` ---- ### Serverless Use Cases * Auto Scaling websites and APIs * Event Streaming * Image and Video Manipulation * Processing Events and SaaS ---- ### Serverless Providers - AWS Lambda - Azure Functions by Microsoft - Google Cloud Functions (GCF) - IBM OpenWhisk - Knative - kubeless - Alibaba Function Compute - Iron Functions - Auth0 Webtask - Oracle Fn Project ---- ### Demos and Examples - [Introduction: Build a Serverless Web Application (Using AWS Lambda)](https://aws.amazon.com/getting-started/hands-on/build-serverless-web-app-lambda-apigateway-s3-dynamodb-cognito/) - [Serverless Examples](https://www.serverless.com/examples/) - [Knative CLI Demo On OpenShift 4.7](https://github.com/tosin2013/openshift-demos/blob/master/serverless/knative-cli-demo-on-openshift-4.7.md) - [Instructions for deploying Serverless Store without using Cloud Build](https://github.com/GoogleCloudPlatform/serverless-store-demo/blob/master/docs/deployment.md) ---- ### Links - [Serverless Architectures](https://martinfowler.com/articles/serverless.html#InherentDrawbacks) - [Serverless Infrastructure Providers](https://www.serverless.com/framework/docs/providers/) - [Serverless on AWS](https://aws.amazon.com/serverless/) - [Google Cloud Functions (GCF)](https://cloud.google.com/functions/docs) - [Azure Functions documentation](https://docs.microsoft.com/en-us/azure/azure-functions/) - [What is serverless?](https://www.redhat.com/en/topics/cloud-native-apps/what-is-serverless) ---- ### Thank you! You can find me on - GitHub - https://github.com/tosin2013 - Twitter - @tech0827 - LinkedIn - https://www.linkedin.com/in/tosinakinosho/
{"metaMigratedAt":"2023-06-16T00:33:53.362Z","metaMigratedFrom":"YAML","title":"Serverless Architecture","breaks":true,"description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"7d040317-f080-4b29-b584-7b87e01a164b\",\"add\":6767,\"del\":2880}]"}
    158 views