FaaS Automation and Infrastructure

Mohamad Al moualem
Mohamad Al moualemSoftware engineer em Telia Norway
FaaS Infrastructure and,
automation.
Channel API
Outline
● Whats and Whys
● What are we building
Whats and Whys
What is FaaS
A paradigm to allow developers to Build, Deploy, and Scale applications at the
FUNCTION level.
What is serverless
Serverless is more about the configuration and management of your services in
the cloud, where scaling is managed for you.
Serverless is not
only Lambda
functions.
● S3
● ECS fargate
● AppSync
● SQS
● SNS
● API Gateway
FaaS
BaaS
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.
Blog: https://almouallem.net/2019/04/28/serverless-api-in-go-with-aws-lambda-api-gateway-and-dynamodb/
FaaS Infrastructure and,
automation.
Elements of FaaS application
● Function code
● Function configuration (Runtime, Memory, environment variables, …)
● Function pipeline
Elements of FaaS application
(Code)
● Go
● JavaScript
● Python
● Java
Elements of FaaS application
(Configuration)
Elements of FaaS application
(CI)
What are we building
Channels API
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.
.
History
Backend to
frontend
Channels
Backend to
frontend
Backend to
frontend
Backend to
frontend
Backend microservices
Channels Channels Channels
Channel API a GraphQL layer on top of NEO
Backend microservices
Channel API is a FaaS application
Channel API built and running in AWS
Channel API is completely serverless
Channel API is a collaboration between teams in DC domain.
Channel API is a FaaS application + AppSync
What is GraphQL
GraphQL is a specification by Facebook
implemented in many programming
languages.
What is GraphQL
RuntimeQuery language
Schema Resolvers
How GraphQL works
Describe what your
application can do.
Ask for what you need,
and get exactly that.
What is AppSync
Managed Graphql Platform by AWS
AppSync
RuntimeQuery language
We
Schema Resolvers
How channel API works
Project structure
Two repositories
● Channelapi-aws :
○ Infrastructure code
○ Terraform
● Channel-api-functions:
○ Functions code
○ GraphQL schema
○ Resolver mapping
○ Grafana metrics
Infrastructure
Infrastructure
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
Functions
Infrastructure
AppSync resource
AppSync resource
● To update AppSync Schema and datasoruces.
● Open source / Telia oss
● Go
● Docker
AppSync resource
AppSync resource
AppSync resource
Grafana resource
Grafana resource
● To update Grafana dashboard
● Open source / Telia oss
● Rust
● Docker
Grafana resource
Grafana resource
1 de 46

Recomendados

Presentazione Google App Engine por
Presentazione Google App EnginePresentazione Google App Engine
Presentazione Google App Enginefirenze-gtug
753 visualizações26 slides
LF_APIStrat17_The Great API Redesign por
LF_APIStrat17_The Great API RedesignLF_APIStrat17_The Great API Redesign
LF_APIStrat17_The Great API RedesignLF_APIStrat
98 visualizações32 slides
Tech talk firebase por
Tech talk   firebaseTech talk   firebase
Tech talk firebaseRishabh Dugar
52 visualizações12 slides
02 api gateway por
02 api gateway02 api gateway
02 api gatewayJanani Velmurugan
233 visualizações20 slides
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday) por
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)Codit
408 visualizações32 slides
Serverless and SAP … Oh Behave por
Serverless and SAP … Oh BehaveServerless and SAP … Oh Behave
Serverless and SAP … Oh BehaveChristian Lechner
301 visualizações30 slides

Mais conteúdo relacionado

Mais procurados

SAP ABAP Development Tools - Introduction in productive environments (EXP1779... por
SAP ABAP Development Tools - Introduction in productive environments (EXP1779...SAP ABAP Development Tools - Introduction in productive environments (EXP1779...
SAP ABAP Development Tools - Introduction in productive environments (EXP1779...SbgMartin
1.3K visualizações18 slides
SAP BTP ABAP Environment Series por
SAP BTP ABAP Environment SeriesSAP BTP ABAP Environment Series
SAP BTP ABAP Environment SeriesPavan Golesar
243 visualizações5 slides
Serving Web Apps por
Serving Web AppsServing Web Apps
Serving Web AppsAaron Gong
9.7K visualizações1 slide
A look ahead at RAP - News and Vision por
A look ahead at RAP - News and VisionA look ahead at RAP - News and Vision
A look ahead at RAP - News and VisionRalf Sternberg
686 visualizações29 slides
Google app engine por
Google app engineGoogle app engine
Google app enginePawandeep Singh
162 visualizações16 slides
Azure Web Apps por
Azure Web AppsAzure Web Apps
Azure Web AppsGaurav Madaan
193 visualizações20 slides

Mais procurados(20)

SAP ABAP Development Tools - Introduction in productive environments (EXP1779... por SbgMartin
SAP ABAP Development Tools - Introduction in productive environments (EXP1779...SAP ABAP Development Tools - Introduction in productive environments (EXP1779...
SAP ABAP Development Tools - Introduction in productive environments (EXP1779...
SbgMartin1.3K visualizações
SAP BTP ABAP Environment Series por Pavan Golesar
SAP BTP ABAP Environment SeriesSAP BTP ABAP Environment Series
SAP BTP ABAP Environment Series
Pavan Golesar243 visualizações
Serving Web Apps por Aaron Gong
Serving Web AppsServing Web Apps
Serving Web Apps
Aaron Gong9.7K visualizações
A look ahead at RAP - News and Vision por Ralf Sternberg
A look ahead at RAP - News and VisionA look ahead at RAP - News and Vision
A look ahead at RAP - News and Vision
Ralf Sternberg686 visualizações
Google app engine por Pawandeep Singh
Google app engineGoogle app engine
Google app engine
Pawandeep Singh162 visualizações
Azure Web Apps por Gaurav Madaan
Azure Web AppsAzure Web Apps
Azure Web Apps
Gaurav Madaan193 visualizações
Pariksha print publishing_competency por parikshalabs.com
Pariksha print publishing_competencyPariksha print publishing_competency
Pariksha print publishing_competency
parikshalabs.com399 visualizações
Postman: An Introduction for API Ops Professionals por Postman
Postman: An Introduction for API Ops ProfessionalsPostman: An Introduction for API Ops Professionals
Postman: An Introduction for API Ops Professionals
Postman506 visualizações
Build pipelines with TeamCity and Kotlin DSL por Anton Arhipov
Build pipelines with TeamCity and Kotlin DSLBuild pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSL
Anton Arhipov2.4K visualizações
5 ways to use node.js in the network por Lori MacVittie
5 ways to use node.js in the network5 ways to use node.js in the network
5 ways to use node.js in the network
Lori MacVittie3.9K visualizações
Mule Anypoint API Gateway por rkulandaivel
Mule Anypoint API GatewayMule Anypoint API Gateway
Mule Anypoint API Gateway
rkulandaivel313 visualizações
API Management Platform Technical Evaluation Framework por WSO2
API Management Platform Technical Evaluation FrameworkAPI Management Platform Technical Evaluation Framework
API Management Platform Technical Evaluation Framework
WSO22.7K visualizações
apiDoc Introduction por Peter Rottmann
apiDoc IntroductionapiDoc Introduction
apiDoc Introduction
Peter Rottmann6.1K visualizações
What is Enterprise Resource Planning, SAP and SAP FIORI? por Pavan Golesar
What is Enterprise Resource Planning, SAP and SAP FIORI? What is Enterprise Resource Planning, SAP and SAP FIORI?
What is Enterprise Resource Planning, SAP and SAP FIORI?
Pavan Golesar279 visualizações
Practical Application of API-First in microservices development por Chavdar Baikov
Practical Application of API-First in microservices developmentPractical Application of API-First in microservices development
Practical Application of API-First in microservices development
Chavdar Baikov90 visualizações
Blocks, Bricks & Bridges with Serverless In AWS por Ashan Fernando
Blocks, Bricks & Bridges with Serverless In AWSBlocks, Bricks & Bridges with Serverless In AWS
Blocks, Bricks & Bridges with Serverless In AWS
Ashan Fernando290 visualizações
Debugging and Profiling Cloud Apps? Sure, You Can Do It Now! por Vladimir Pavlov
Debugging and Profiling Cloud Apps? Sure, You Can Do It Now!Debugging and Profiling Cloud Apps? Sure, You Can Do It Now!
Debugging and Profiling Cloud Apps? Sure, You Can Do It Now!
Vladimir Pavlov599 visualizações
Overview of API Management Architectures por Nordic APIs
Overview of API Management ArchitecturesOverview of API Management Architectures
Overview of API Management Architectures
Nordic APIs507 visualizações
Azure Integration in Production with Logic Apps and more por BizTalk360
Azure Integration in Production with Logic Apps and moreAzure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and more
BizTalk3602.2K visualizações

Similar a FaaS Automation and Infrastructure

API Presentation por
API PresentationAPI Presentation
API Presentationnityakulkarni
667 visualizações9 slides
Api design part 1 por
Api design part 1Api design part 1
Api design part 1Ibrahim Elsawaf
215 visualizações78 slides
AWS Serverless with Lambda, ApiGateway por
AWS Serverless with Lambda, ApiGatewayAWS Serverless with Lambda, ApiGateway
AWS Serverless with Lambda, ApiGatewayRavi Soni
20 visualizações17 slides
MuleSoft London Community October 2017 - Hybrid and SAP Integration por
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationPace Integration
751 visualizações22 slides
Serverless por
ServerlessServerless
ServerlessGirish Talekar
19 visualizações5 slides
Serverless GraphQL for Product Developers por
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersSashko Stubailo
1K visualizações44 slides

Similar a FaaS Automation and Infrastructure (20)

API Presentation por nityakulkarni
API PresentationAPI Presentation
API Presentation
nityakulkarni667 visualizações
Api design part 1 por Ibrahim Elsawaf
Api design part 1Api design part 1
Api design part 1
Ibrahim Elsawaf215 visualizações
AWS Serverless with Lambda, ApiGateway por Ravi Soni
AWS Serverless with Lambda, ApiGatewayAWS Serverless with Lambda, ApiGateway
AWS Serverless with Lambda, ApiGateway
Ravi Soni20 visualizações
MuleSoft London Community October 2017 - Hybrid and SAP Integration por Pace Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP Integration
Pace Integration751 visualizações
Serverless por Girish Talekar
ServerlessServerless
Serverless
Girish Talekar19 visualizações
Serverless GraphQL for Product Developers por Sashko Stubailo
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product Developers
Sashko Stubailo1K visualizações
Cloudsolutionday 2016: Getting Started with Severless Architecture por AWS Vietnam Community
Cloudsolutionday 2016: Getting Started with Severless ArchitectureCloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless Architecture
AWS Vietnam Community290 visualizações
API workshop by AWS and 3scale por 3scale
API workshop by AWS and 3scaleAPI workshop by AWS and 3scale
API workshop by AWS and 3scale
3scale3.1K visualizações
Building your own calendly using amazon app sync por Dhaval Nagar
Building your own calendly using amazon app syncBuilding your own calendly using amazon app sync
Building your own calendly using amazon app sync
Dhaval Nagar157 visualizações
Serverless Architecture por july mon
Serverless ArchitectureServerless Architecture
Serverless Architecture
july mon294 visualizações
Getting Started with AWS Lambda and Serverless Computing por Amazon Web Services
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
Amazon Web Services6.8K visualizações
Using Terraform for AWS as the IaC tool por Lay How
Using Terraform for AWS as the IaC toolUsing Terraform for AWS as the IaC tool
Using Terraform for AWS as the IaC tool
Lay How198 visualizações
Demistifying serverless on aws por AWS Riyadh User Group
Demistifying serverless on awsDemistifying serverless on aws
Demistifying serverless on aws
AWS Riyadh User Group358 visualizações
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus... por apidays
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays73 visualizações
Laravel : A Fastest Growing Kid por Endive Software
Laravel : A Fastest Growing KidLaravel : A Fastest Growing Kid
Laravel : A Fastest Growing Kid
Endive Software562 visualizações
How to build and deploy serverless apps - AWS Summit Cape Town 2018 por Amazon Web Services
How to build and deploy serverless apps - AWS Summit Cape Town 2018How to build and deploy serverless apps - AWS Summit Cape Town 2018
How to build and deploy serverless apps - AWS Summit Cape Town 2018
Amazon Web Services347 visualizações
今Serverlessが面白いわけ v19.09 por Yoichi Kawasaki
今Serverlessが面白いわけ v19.09今Serverlessが面白いわけ v19.09
今Serverlessが面白いわけ v19.09
Yoichi Kawasaki6.4K visualizações
Connect SAP Business One using Service Layer (HANA) por APPSeCONNECT
Connect SAP Business One using Service Layer (HANA)Connect SAP Business One using Service Layer (HANA)
Connect SAP Business One using Service Layer (HANA)
APPSeCONNECT17.1K visualizações

Último

Keep por
KeepKeep
KeepGeniusee
73 visualizações10 slides
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... por
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...Deltares
6 visualizações15 slides
Navigating container technology for enhanced security by Niklas Saari por
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas SaariMetosin Oy
8 visualizações34 slides
HarshithAkkapelli_Presentation.pdf por
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdfharshithakkapelli
11 visualizações16 slides
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... por
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...HCLSoftware
6 visualizações2 slides
Software evolution understanding: Automatic extraction of software identifier... por
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Ra'Fat Al-Msie'deen
7 visualizações33 slides

Último(20)

Keep por Geniusee
KeepKeep
Keep
Geniusee73 visualizações
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... por Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 visualizações
Navigating container technology for enhanced security by Niklas Saari por Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy8 visualizações
HarshithAkkapelli_Presentation.pdf por harshithakkapelli
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdf
harshithakkapelli11 visualizações
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... por HCLSoftware
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
HCLSoftware6 visualizações
Software evolution understanding: Automatic extraction of software identifier... por Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
Ra'Fat Al-Msie'deen7 visualizações
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... por Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares16 visualizações
MariaDB stored procedures and why they should be improved por Federico Razzoli
MariaDB stored procedures and why they should be improvedMariaDB stored procedures and why they should be improved
MariaDB stored procedures and why they should be improved
Federico Razzoli8 visualizações
WebAssembly por Jens Siebert
WebAssemblyWebAssembly
WebAssembly
Jens Siebert33 visualizações
Generic or specific? Making sensible software design decisions por Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Bert Jan Schrijver6 visualizações
Software testing company in India.pptx por SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 visualizações
SAP FOR TYRE INDUSTRY.pdf por Virendra Rai, PMP
SAP FOR TYRE INDUSTRY.pdfSAP FOR TYRE INDUSTRY.pdf
SAP FOR TYRE INDUSTRY.pdf
Virendra Rai, PMP23 visualizações
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols por Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 visualizações
Tridens DevOps por Tridens
Tridens DevOpsTridens DevOps
Tridens DevOps
Tridens9 visualizações
Copilot Prompting Toolkit_All Resources.pdf por Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana6 visualizações
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... por Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares6 visualizações
Headless JS UG Presentation.pptx por Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 visualizações
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon por Deltares
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
Deltares13 visualizações
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM... por Deltares
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
Deltares7 visualizações
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... por Deltares
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
Deltares6 visualizações

FaaS Automation and Infrastructure